Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch pt-bug-7665c3532c-epsilon
Excluding Merge-Ins
This is equivalent to a diff from
2b1eb9024a
to 8c541ca76f
2014-01-23
| | |
19:05 |
|
check-in: 716b404d6d user: andreask tags: trunk
|
06:09 |
|
check-in: 99c76c4237 user: aku tags: trunk
|
00:14 |
|
check-in: 14fa6eacaa user: andreask tags: update-to-critcl3
|
2014-01-22
| | |
09:01 |
|
Closed-Leaf
check-in: 8c541ca76f user: aku tags: pt-bug-7665c3532c-epsilon
|
08:45 |
|
check-in: 66707cafa9 user: aku tags: pt-bug-7665c3532c-epsilon
|
2014-01-21
| | |
22:52 |
|
check-in: bce28f8438 user: andreask tags: pt-bug-7665c3532c-epsilon
|
19:36 |
|
check-in: a4ee06a044 user: aku tags: tcllib-1-16-rc
|
19:34 |
|
check-in: 2b1eb9024a user: aku tags: trunk
|
19:19 |
|
check-in: 6c93670d5e user: andreask tags: trunk
|
| | |
Changes to modules/pt/ChangeLog.
1
2
3
4
5
6
7
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
2014-01-22 Andreas Kupries <aku@hephaistos>
* pt_peg_from_peg.man: Fixed handling of empty strings in a
* pt_peg_from_peg.tcl: PEG. Treat as <epsilon>. Bumped to 1.0.2
* pt_peg_to_peg.man: Fixed generation of PEG from
* pt_peg_to_peg.tcl: <epsilon>. Produce a proper empty
string. Bumped to 1.0.1
* tests/data/ok/peg_container-bulk/11_epsilon: New files to test
* tests/data/ok/peg_container-incremental/11_epsilon: handling of
* tests/data/ok/peg_container-templated-bulk/11_epsilon: <epsilon>
* tests/data/ok/peg_container-templated-incremental/11_epsilon: and
* tests/data/ok/peg_cparam/11_epsilon: empty strings across the board.
* tests/data/ok/peg_cparam-critcl/11_epsilon:
* tests/data/ok/peg_json-indalign/11_epsilon:
* tests/data/ok/peg_json-indented/11_epsilon:
* tests/data/ok/peg_json-ultracompact/11_epsilon:
* tests/data/ok/peg_param/11_epsilon:
* tests/data/ok/peg_param-compact/11_epsilon:
* tests/data/ok/peg_param-inlined/11_epsilon:
* tests/data/ok/peg_param-unopt/11_epsilon:
* tests/data/ok/peg_peg/11_epsilon:
* tests/data/ok/peg_peg-ast/11_epsilon:
* tests/data/ok/peg_peg-ast-fused/11_epsilon:
* tests/data/ok/peg_peg-ast-templated/11_epsilon:
* tests/data/ok/peg_peg-ast-templated-fused/11_epsilon:
* tests/data/ok/peg_peg-fused/11_epsilon:
* tests/data/ok/peg_peg-templated/11_epsilon:
* tests/data/ok/peg_peg-templated-fused/11_epsilon:
* tests/data/ok/peg_serial/11_epsilon:
* tests/data/ok/peg_serial-canonical/11_epsilon:
* tests/data/ok/peg_serial-print/11_epsilon:
* tests/data/ok/peg_tclparam/11_epsilon:
* tests/data/ok/peg_tclparam-snit/11_epsilon:
* tests/data/ok/peg_tclparam-tcloo/11_epsilon:
2013-12-17 Andreas Kupries <[email protected]>
* pt_parse_peg.man: Added missing documentation for the PEG parser
package.
* pt_peg_op.man: Added missing documentation for this utility package.
* pt_peg_op.tcl: Exported 'minimize'.
|
︙ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Changes to modules/pt/pkgIndex.tcl.
︙ | | |
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
-
+
-
+
|
package ifneeded pt::peg::import::peg 1 [list source [file join $dir pt_peg_import_peg.tcl]]
# Export core functionality: Conversion from PEG to a specific format.
package ifneeded pt::peg::to::container 1 [list source [file join $dir pt_peg_to_container.tcl]]
package ifneeded pt::peg::to::cparam 1.0.1 [list source [file join $dir pt_peg_to_cparam.tcl]]
package ifneeded pt::peg::to::json 1 [list source [file join $dir pt_peg_to_json.tcl]]
package ifneeded pt::peg::to::param 1 [list source [file join $dir pt_peg_to_param.tcl]]
package ifneeded pt::peg::to::peg 1 [list source [file join $dir pt_peg_to_peg.tcl]]
package ifneeded pt::peg::to::peg 1.0.1 [list source [file join $dir pt_peg_to_peg.tcl]]
package ifneeded pt::peg::to::tclparam 1 [list source [file join $dir pt_peg_to_tclparam.tcl]]
# Import core functionality: Conversion from a specific format to PEG.
package ifneeded pt::peg::from::json 1 [list source [file join $dir pt_peg_from_json.tcl]]
package ifneeded pt::peg::from::peg 1 [list source [file join $dir pt_peg_from_peg.tcl]]
package ifneeded pt::peg::from::peg 1.0.2 [list source [file join $dir pt_peg_from_peg.tcl]]
# PARAM runtime.
package ifneeded pt::rde 1.0.2 [list source [file join $dir pt_rdengine.tcl]]
package ifneeded pt::rde::oo 1.0.2 [list source [file join $dir pt_rdengine_oo.tcl]]
# PEG grammar specification, as CONTAINER
package ifneeded pt::peg::container::peg 1 [list source [file join $dir pt_peg_container_peg.tcl]]
|
︙ | | |
Changes to modules/pt/pt_peg_from_peg.man.
1
2
3
4
5
6
7
|
1
2
3
4
5
6
7
|
-
+
|
[comment {--- doctools ---}]
[vset PACKAGE peg]
[vset NAME PEG]
[vset REQUIRE peg]
[vset CONFIG peg]
[vset VERSION 1]
[vset VERSION 1.0.2]
[include include/import/from.inc]
|
Changes to modules/pt/pt_peg_from_peg.tcl.
︙ | | |
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
|
+
+
-
+
+
+
+
+
-
+
|
}
proc pt::peg::from::peg::GEN::LOWER {s e} {
return [pt::pe lower]
}
proc pt::peg::from::peg::GEN::Literal {s e args} {
set n [llength $args]
if {$n == 1} {
if {[llength $args] == 1} { ; # integrated pe::op flatten
# integrated pe::op flatten, return just the char.
return [lindex $args 0]
} elseif {$n == 0} {
# No chars, empty string, IOW epsilon.
return [pt::pe epsilon]
} else {
# Series of chars -> Primary
return [pt::pe sequence {*}$args] ; # Series of chars -> Primary
return [pt::pe sequence {*}$args]
}
}
proc pt::peg::from::peg::GEN::NOT {s e} {
return [pt::pe notahead [pt::pe dot]] ; # -> Prefix (dot is placeholder)
}
|
︙ | | |
380
381
382
383
384
385
386
387
388
|
386
387
388
389
390
391
392
393
394
|
-
+
|
proc pt::peg::from::peg::GEN::XDIGIT {s e} {
return [pt::pe xdigit]
}
# ### ### ### ######### ######### #########
## Ready
package provide pt::peg::from::peg 1
package provide pt::peg::from::peg 1.0.2
return
|
Changes to modules/pt/pt_peg_to_peg.man.
1
2
3
4
5
6
7
|
1
2
3
4
5
6
7
|
-
+
|
[comment {--- doctools ---}]
[vset PACKAGE peg]
[vset NAME PEG]
[vset REQUIRE peg]
[vset CONFIG peg]
[vset VERSION 1]
[vset VERSION 1.0.1]
[include include/export/to.inc]
|
Changes to modules/pt/pt_peg_to_peg.tcl.
︙ | | |
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
-
-
+
+
|
return [list <$operator> $pe]
}
dot {
# Special form ...
return [list "." $pe]
}
epsilon {
# Special form ...
return [list "" $pe]
# Special form, represented by the empty string ...
return [list "''" $pe]
}
t {
# Character ...
lassign $arguments char
return [list "'[Char ${char}]'" $pe]
}
.. {
|
︙ | | |
405
406
407
408
409
410
411
412
413
|
405
406
407
408
409
410
411
412
413
|
-
+
|
? 3 alpha 4 space 4
}
}
# ### ### ### ######### ######### #########
## Ready
package provide pt::peg::to::peg 1
package provide pt::peg::to::peg 1.0.1
return
|
Added modules/pt/tests/data/ok/peg_container-bulk/11_epsilon.
|
1
2
3
4
5
6
7
8
9
|
+
+
+
+
+
+
+
+
+
|
snit::type a_pe_grammar {
constructor {} {
install myg using pt::peg::container ${selfns}::G
$myg start {/ {t a} epsilon}
}
component myg
delegate method * to myg
}
|
| | | | | | | |
Added modules/pt/tests/data/ok/peg_container-incremental/11_epsilon.
|
1
2
3
4
5
6
7
8
9
|
+
+
+
+
+
+
+
+
+
|
snit::type a_pe_grammar {
constructor {} {
install myg using pt::peg::container ${selfns}::G
$myg start {/ {t a} epsilon}
}
component myg
delegate method * to myg
}
|
| | | | | | | |
Added modules/pt/tests/data/ok/peg_container-templated-bulk/11_epsilon.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# -*- tcl -*-
# Parsing Expression Grammar 'TEMPLATE'.
# Generated for unknown, from file 'TEST'
package require Tcl 8.5
package require snit
package require pt::peg::container
snit::type TEMPLATE {
constructor {} {
install myg using pt::peg::container ${selfns}::G
$myg start {/ {t a} epsilon}
}
component myg
delegate method * to myg
}
package provide TEMPLATE
return
|
| | | | | | | | | | | | | | | | | | |
Added modules/pt/tests/data/ok/peg_container-templated-incremental/11_epsilon.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# -*- tcl -*-
# Parsing Expression Grammar 'TEMPLATE'.
# Generated for unknown, from file 'TEST'
package require Tcl 8.5
package require snit
package require pt::peg::container
snit::type TEMPLATE {
constructor {} {
install myg using pt::peg::container ${selfns}::G
$myg start {/ {t a} epsilon}
}
component myg
delegate method * to myg
}
package provide TEMPLATE
return
|
| | | | | | | | | | | | | | | | | | |
Added modules/pt/tests/data/ok/peg_cparam-critcl/11_epsilon.