TRegExpr(exec):超出循环堆栈;

时间:2013-01-13 16:46:18

标签: regex stack-overflow pascal

我在pascal中有程序,使用正则表达式搜索已定义的类型。 这是我的正则表达式:type\s((([\w\d]+?=(([\w\d^():]+?;)|(record.*?end;)))+?)+)

我在这个输入字符串上收到了错误:

type ElementListyWsk=^ElementListy;ElementListy=record wskaznik:pointer;nstElement:ElementListyWsk;end;OperacjaNaTypiePtr=procedure(cos:pointer);StalaWsk=^Stala;Stala=record nazwa:string;wartosc:string;end;ZmiennaWsk=^Zmienna;Zmienna=record nazwa:string;typ:string;end;TypWsk=^Typ;Typ=record nazwa:string;definicja:string;end;ProceduraWsk=^Procedura;Procedura=record deklaracja:string;stale:ElementListyWsk;zmienne:ElementListyWsk;typy:ElementListyWsk;end;

虽然我没有在较短的字符串上收到任何错误。下一个strign只是缩短了上面的一部分:

type OperacjaNaTypiePtr=procedure(cos:pointer);StalaWsk=^Stala;Stala=record nazwa:string;wartosc:string;end;ZmiennaWsk=^Zmienna;Zmienna=record nazwa:string;typ:string;end;TypWsk=^Typ;Typ=record nazwa:string;definicja:string;end;ProceduraWsk=^Procedura;Procedura=record deklaracja:string;stale:ElementListyWsk;zmienne:ElementListyWsk;typy:ElementListyWsk;end;

为什么我收到了这个错误? 如果您需要更多信息,请直接询问。

0 个答案:

没有答案