Related articles |
---|
[7 earlier articles] |
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-12) |
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-12) |
Re: Regular expression string searching & matching DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2018-03-13) |
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-13) |
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-13) |
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-17) |
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-18) |
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-20) |
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-22) |
From: | Clint O <clint.olsen@gmail.com> |
Newsgroups: | comp.compilers |
Date: | Sun, 18 Mar 2018 19:23:22 GMT |
Organization: | Newshosting.com - Highest quality at a great price! www.newshosting.com |
References: | 18-03-016 18-03-032 18-03-034 18-03-035 18-03-041 18-03-045 18-03-054 |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="60502"; mail-complaints-to="abuse@iecc.com" |
Keywords: | lex, DFA |
Posted-Date: | 19 Mar 2018 07:11:13 EDT |
On 2018-03-13, Ben Hanson <jamin.hanson@googlemail.com> wrote:
> I'd be interested to see your DFA output once you've cleaned it up a bit.
> Using derivatives is interesting too - I've seen it discussed but never tried
> to get into that.
Let's try this again:
<RegexConcat [13]=0x10b32f2b0 0x10b322cf8 0x10b322a58 'B7'>
+---<RegexConcat [11]=0x10b322cf8 0x10b32f198 0x10b322b00 'B7'>
| +---<RegexConcat [10]=0x10b32f198 0x10b322978 0x10b322d68 'B7'>
| | +---<RegexConcat [2]=0x10b322978 0x10b322a58 0x10b322b70 'B7'>
| | | +---<RegexSym [0]=0x10b322a58 '/'>
| | | `---<RegexSym [1]=0x10b322b70 '*'>
| | `---<RegexStar [9]=0x10b322d68 0x10b322f98 '*'>
| | `---<RegexOr [8]=0x10b322f98 0x10b322dd8 0x10b322e80 '|'>
| | +---<RegexSym [4]=0x10b322dd8 '^*'>
| | `---<RegexConcat [7]=0x10b322e80 0x10b322b00 0x10b32f048 'B7'>
| | +---<RegexPlus [5]=0x10b322b00 0x10b322b70 '+'>
| | | `---<RegexSym [1]=0x10b322b70 '*'>
| | `---<RegexSym [6]=0x10b32f048 '^/'>
| `---<RegexPlus [5]=0x10b322b00 0x10b322b70 '+'>
| `---<RegexSym [1]=0x10b322b70 '*'>
`---<RegexSym [0]=0x10b322a58 '/'>
q0: /B7[*]B7([^*] | [*]+B7[^/])*B7[*]+B7/
[/] q2
['\x00'-.0-C?] q1
q1: b
['\x00'-C?] q1
q2: [*]B7([^*] | [*]+B7[^/])*B7[*]+B7/
[*] q3
['\x00'-)+-C?] q1
q3: ([^*] | [*]+B7[^/])*B7[*]+B7/
[*] q4
['\x00'-)+-C?] q3
q4: ([*]*B7[^/]B7([^*] | [*]+B7[^/])*B7[*]+ | [*]*)B7/
[*] q6
['\x00'-)+-.0-C?] q3
[/] q5
q5: N5
['\x00'-C?] q1
q6: (([*]*B7[^/] | N5)B7([^*] | [*]+B7[^/])*B7[*]+ | [*]*)B7/
[*] q8
['\x00'-)+-.0-C?] q3
[/] q7
q7: ([^*] | [*]+B7[^/])*B7[*]+B7/ | N5
[*] q4
['\x00'-)+-C?] q3
q8: ((([*]*B7[^/] | N5)B7([^*] | [*]+B7[^/])* | [*]*B7[^/]B7([^*] | [*]+B7[^/])*)B7[*]+ | [*]*)B7/
[*] q8
['\x00'-)+-.0-C?] q3
[/] q7
Total DFA states: 9
Total RE instances: 35
So, q5, q7 are accepting states because they contain epsilon (empty string).
Thanks,
-Clint
Return to the
comp.compilers page.
Search the
comp.compilers archives again.