Start 2008-07-25T03:54:51 LIB=C:\PlatSDK\Lib\AMD64;C:\PlatSDK\Lib\AMD64\atlmfc INCLUDE=C:\PlatSDK\Include;C:\PlatSDK\Include\crt;C:\PlatSDK\Include\crt\sys;C:\PlatSDK\Include\mfc;C:\PlatSDK\Include\atl PATH=C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\Perl64\site\bin;C:\Perl64\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRA~2\Perforce\ Going to read C:\cpanfly\var\cpan\Metadata Database was generated on Thu, 24 Jul 2008 08:03:12 GMT Running make for F/FG/FGLOCK/v6-0.024.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/F/FG/FGLOCK/v6-0.024.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/F/FG/FGLOCK/CHECKSUMS Checksum for C:\cpanfly\var\cpan\sources\authors\id\F\FG\FGLOCK\v6-0.024.tar.gz ok v6-0.024/ v6-0.024/ChangeLog v6-0.024/HACKING v6-0.024/hello_world.pl v6-0.024/inc/ v6-0.024/inc/Module/ v6-0.024/inc/Module/Install/ v6-0.024/inc/Module/Install/Base.pm v6-0.024/inc/Module/Install/Can.pm v6-0.024/inc/Module/Install/Fetch.pm v6-0.024/inc/Module/Install/Makefile.pm v6-0.024/inc/Module/Install/Metadata.pm v6-0.024/inc/Module/Install/PMC.pm v6-0.024/inc/Module/Install/Win32.pm v6-0.024/inc/Module/Install/WriteAll.pm v6-0.024/inc/Module/Install.pm v6-0.024/lib/ v6-0.024/lib/Module/ v6-0.024/lib/Module/CompileV6.pm v6-0.024/lib/Pugs/ v6-0.024/lib/Pugs/Compiler/ v6-0.024/lib/Pugs/Compiler/Perl6.pm v6-0.024/lib/Pugs/Emitter/ v6-0.024/lib/Pugs/Emitter/Perl6/ v6-0.024/lib/Pugs/Emitter/Perl6/._Perl5.pm v6-0.024/lib/Pugs/Emitter/Perl6/Perl5.pm v6-0.024/lib/Pugs/Emitter/YAML.pm v6-0.024/lib/Pugs/Grammar/ v6-0.024/lib/Pugs/Grammar/BaseCategory.pm v6-0.024/lib/Pugs/Grammar/Circumfix.pm v6-0.024/lib/Pugs/Grammar/Expression.pm v6-0.024/lib/Pugs/Grammar/Infix.pm v6-0.024/lib/Pugs/Grammar/Operator.pm v6-0.024/lib/Pugs/Grammar/P6Rule.pm v6-0.024/lib/Pugs/Grammar/Perl6.pm v6-0.024/lib/Pugs/Grammar/Pod.pm v6-0.024/lib/Pugs/Grammar/Postcircumfix.pm v6-0.024/lib/Pugs/Grammar/Postfix.pm v6-0.024/lib/Pugs/Grammar/Prefix.pm v6-0.024/lib/Pugs/Grammar/._Quote.pm v6-0.024/lib/Pugs/Grammar/Quote.pm v6-0.024/lib/Pugs/Grammar/StatementControl.pm v6-0.024/lib/Pugs/Grammar/StatementModifier.pm v6-0.024/lib/Pugs/Grammar/._Term.pm v6-0.024/lib/Pugs/Grammar/Term.pm v6-0.024/lib/Pugs/Grammar/Ternary.pm v6-0.024/lib/Pugs/Grammar/YAML.pm v6-0.024/lib/Pugs/Runtime/ v6-0.024/lib/Pugs/Runtime/Perl5Container.pm v6-0.024/lib/Pugs/Runtime/._Perl6.pm v6-0.024/lib/Pugs/Runtime/Perl6.pm v6-0.024/lib/Pugs/Runtime/Perl6AST.pm v6-0.024/lib/Pugs/Runtime/Perl6AST.pmc v6-0.024/lib/Pugs/Runtime/Perl6Prelude.pm v6-0.024/lib/Pugs/Runtime/Perl6Prelude.pmc v6-0.024/lib/v6.pm v6-0.024/._Makefile.PL v6-0.024/Makefile.PL v6-0.024/MANIFEST v6-0.024/META.yml v6-0.024/README v6-0.024/t/ v6-0.024/t/01-sanity/ v6-0.024/t/01-sanity/01-tap.t v6-0.024/t/01-sanity/02-counter.t v6-0.024/t/01-sanity/03-equal.t v6-0.024/t/01-sanity/04-if.t v6-0.024/t/01-sanity/05-sub.t v6-0.024/t/01-sanity/06-use.t v6-0.024/t/01-sanity/07-binding.t v6-0.024/t/01-sanity/07-defined.t v6-0.024/t/01-sanity/07-end-blocks.t v6-0.024/t/01-sanity/07-for.t v6-0.024/t/01-sanity/07-isa.t v6-0.024/t/01-sanity/07-range.t v6-0.024/t/01-sanity/07-ref.t v6-0.024/t/01-sanity/07-simple-multisubs.t v6-0.024/t/01-sanity/07-split.t v6-0.024/t/01-sanity/07-substr.t v6-0.024/t/01-sanity/07-try.t v6-0.024/t/02-test-pm/ v6-0.024/t/02-test-pm/0-compile.t v6-0.024/t/02-test-pm/2-force_todo.t v6-0.024/t/02-test-pm/3-output.t v6-0.024/t/blocks/ v6-0.024/t/blocks/bare_block_with_dollar_underscore.t v6-0.024/t/blocks/defaults.t v6-0.024/t/blocks/meth_vs_sub_call.t v6-0.024/t/blocks/nested_named.t v6-0.024/t/blocks/primitive_named_params.t v6-0.024/t/blocks/splatty_with_type.t v6-0.024/t/builtins/ v6-0.024/t/builtins/math/ v6-0.024/t/builtins/math/pi_internals.t v6-0.024/t/closure_traits/ v6-0.024/t/closure_traits/exit_in_begin.t v6-0.024/t/examples/ v6-0.024/t/examples/99problems/ v6-0.024/t/examples/99problems/problem38.t v6-0.024/t/examples/99problems/problem47.t v6-0.024/t/examples/99problems/problem48.t v6-0.024/t/examples/99problems/problem55.t v6-0.024/t/examples/99problems/problem57.t v6-0.024/t/examples/99problems/problem58.t v6-0.024/t/examples/99problems/problem59.t v6-0.024/t/examples/99problems/problem60.t v6-0.024/t/examples/99problems/problem63.t v6-0.024/t/examples/99problems/problem66.t v6-0.024/t/examples/99problems/problem68.t v6-0.024/t/examples/99problems/problem69.t v6-0.024/t/examples/99problems/problem70.t v6-0.024/t/examples/99problems/problem71.t v6-0.024/t/examples/99problems/problem72.t v6-0.024/t/examples/99problems/problem73.t v6-0.024/t/examples/99problems/problem80.t v6-0.024/t/examples/99problems/problem81.t v6-0.024/t/examples/99problems/problem82.t v6-0.024/t/examples/99problems/problem83.t v6-0.024/t/examples/99problems/problem84.t v6-0.024/t/examples/99problems/problem85.t v6-0.024/t/examples/99problems/problem86.t v6-0.024/t/examples/99problems/problem87.t v6-0.024/t/examples/99problems/problem88.t v6-0.024/t/examples/99problems/problem89.t v6-0.024/t/examples/99problems/problem92.t v6-0.024/t/examples/99problems/problem93.t v6-0.024/t/examples/99problems/problem94.t v6-0.024/t/examples/99problems/problem96.t v6-0.024/t/examples/golf.t v6-0.024/t/oo/ v6-0.024/t/oo/roles/ v6-0.024/t/oo/roles/instantiation.t v6-0.024/t/operators/ v6-0.024/t/operators/brainos.t v6-0.024/t/operators/relational.t v6-0.024/t/operators/spaceship_and_datatypes.t v6-0.024/t/packages/ v6-0.024/t/packages/reflection.t v6-0.024/t/regex/ v6-0.024/t/regex/from_perl6_rules/ v6-0.024/t/regex/from_perl6_rules/anchors.t v6-0.024/t/regex/from_perl6_rules/inline.t v6-0.024/t/regex/from_perl6_rules/named_chars-00.t v6-0.024/t/regex/from_perl6_rules/named_chars-01.t v6-0.024/t/regex/from_perl6_rules/noncap.t v6-0.024/t/regex/from_perl6_rules/propcharset-00.t v6-0.024/t/regex/from_perl6_rules/propcharset-01.t v6-0.024/t/regex/from_perl6_rules/propcharset-02.t v6-0.024/t/regex/from_perl6_rules/propcharset-03.t v6-0.024/t/regex/from_perl6_rules/propcharset-04.t v6-0.024/t/regex/from_perl6_rules/propcharset-05.t v6-0.024/t/regex/from_perl6_rules/propcharset-06.t v6-0.024/t/regex/from_perl6_rules/propcharset-07.t v6-0.024/t/regex/from_perl6_rules/propcharset-08.t v6-0.024/t/regex/from_perl6_rules/propcharset-09.t v6-0.024/t/regex/from_perl6_rules/propcharset-10.t v6-0.024/t/regex/from_perl6_rules/propcharset-11.t v6-0.024/t/regex/from_perl6_rules/propcharset-12.t v6-0.024/t/regex/rx_perl5_escape.t v6-0.024/t/regex/smartparse.t v6-0.024/t/spec/ v6-0.024/t/spec/S02-builtin_data_types/ v6-0.024/t/spec/S02-builtin_data_types/array_extending.t v6-0.024/t/spec/S02-builtin_data_types/nested_arrays.t v6-0.024/t/spec/S04-statements/ v6-0.024/t/spec/S04-statements/until.t v6-0.024/t/spec/S10-packages/ v6-0.024/t/spec/S10-packages/import.t v6-0.024/t/spec/S12-class/ v6-0.024/t/spec/S12-class/inheritance-class-methods.t v6-0.024/t/spec/S12-role/ v6-0.024/t/spec/S12-role/composition.t v6-0.024/t/spec/S16-filehandles/ v6-0.024/t/spec/S16-filehandles/open.t v6-0.024/t/spec/S16-io/ v6-0.024/t/spec/S16-io/say.t v6-0.024/t/spec/S29-any/ v6-0.024/t/spec/S29-any/cmp.t v6-0.024/t/spec/S29-array/ v6-0.024/t/spec/S29-array/exists.t v6-0.024/t/spec/S29-context/ v6-0.024/t/spec/S29-context/exit-in-if.t v6-0.024/t/spec/S29-context/exit.t v6-0.024/t/spec/S29-list/ v6-0.024/t/spec/S29-list/mutating_listops.t v6-0.024/t/spec/S29-str/ v6-0.024/t/spec/S29-str/append.t v6-0.024/t/statements/ v6-0.024/t/statements/modifiers/ v6-0.024/t/statements/modifiers/if.t v6-0.024/t/statements/modifiers/unless.t v6-0.024/t/statements/until.t v6-0.024/t/statements/values_in_bool_context.t v6-0.024/t/syntax/ v6-0.024/t/syntax/lf_in_list.t v6-0.024/t/syntax/parsing/ v6-0.024/t/syntax/parsing/braces_in_rules.t v6-0.024/t/syntax/parsing/braces_in_strings.t v6-0.024/t/syntax/parsing/filetest.t v6-0.024/t/syntax/parsing/non-dotted-new-disallowed.t v6-0.024/t/syntax/parsing/pod_in_multi_line_exprs.t v6-0.024/t/syntax/parsing/postfix_if_and_is.t v6-0.024/t/syntax/single_quoted_strings.t v6-0.024/t/Test.pm v6-0.024/t/Test.pmc v6-0.024/t/var/ v6-0.024/t/var/lvalue_deep_brackets.t v6-0.024/t/var/passing_the_pair_class_to_a_sub.t v6-0.024/t/xx-uncategorized/ v6-0.024/t/xx-uncategorized/empty_kwid.t v6-0.024/t/xx-uncategorized/lexical-array-in-inner-block.t v6-0.024/t/xx-uncategorized/return_in_anonymous_subs.t v6-0.024/t/xx-uncategorized/short_circuiting.t v6-0.024/t/xx-uncategorized/smartmatch_rx_obstacle.t v6-0.024/TODO CPAN.pm: Going to build F/FG/FGLOCK/v6-0.024.tar.gz >>> C:\Perl64\bin\perl.exe Makefile.PL Warning: prerequisite Pugs::Compiler::Rule 0.33 not found. We have 0.32. Checking if your kit is complete... Looks good Writing Makefile for v6 ---- Unsatisfied dependencies detected during ---- ---- FGLOCK/v6-0.024.tar.gz ---- Pugs::Compiler::Rule [requires] Running make test Delayed until after prerequisites Running test for module 'Pugs::Compiler::Rule' Running make for F/FG/FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/F/FG/FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz Checksum for C:\cpanfly\var\cpan\sources\authors\id\F\FG\FGLOCK\Pugs-Compiler-Rule-0.33.tar.gz ok Pugs-Compiler-Rule-0.33/ Pugs-Compiler-Rule-0.33/Changes Pugs-Compiler-Rule-0.33/examples/ Pugs-Compiler-Rule-0.33/examples/adder.grammar Pugs-Compiler-Rule-0.33/examples/adder.input Pugs-Compiler-Rule-0.33/examples/digits.grammar Pugs-Compiler-Rule-0.33/examples/digits.input Pugs-Compiler-Rule-0.33/examples/._Grammar.grammar Pugs-Compiler-Rule-0.33/examples/Grammar.grammar Pugs-Compiler-Rule-0.33/examples/grammar.input Pugs-Compiler-Rule-0.33/examples/langs.grammar Pugs-Compiler-Rule-0.33/examples/langs.input Pugs-Compiler-Rule-0.33/examples/langs2.grammar Pugs-Compiler-Rule-0.33/inc/ Pugs-Compiler-Rule-0.33/inc/Module/ Pugs-Compiler-Rule-0.33/inc/Module/Install/ Pugs-Compiler-Rule-0.33/inc/Module/Install/Base.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Can.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Fetch.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Include.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Makefile.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Metadata.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Scripts.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/TestBase.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/Win32.pm Pugs-Compiler-Rule-0.33/inc/Module/Install/WriteAll.pm Pugs-Compiler-Rule-0.33/inc/Module/Install.pm Pugs-Compiler-Rule-0.33/inc/Spiffy.pm Pugs-Compiler-Rule-0.33/inc/Test/ Pugs-Compiler-Rule-0.33/inc/Test/Base/ Pugs-Compiler-Rule-0.33/inc/Test/Base/Filter.pm Pugs-Compiler-Rule-0.33/inc/Test/Base.pm Pugs-Compiler-Rule-0.33/inc/Test/Builder/ Pugs-Compiler-Rule-0.33/inc/Test/Builder/Module.pm Pugs-Compiler-Rule-0.33/inc/Test/Builder.pm Pugs-Compiler-Rule-0.33/inc/Test/More.pm Pugs-Compiler-Rule-0.33/lib/ Pugs-Compiler-Rule-0.33/lib/Pugs/ Pugs-Compiler-Rule-0.33/lib/Pugs/AST/ Pugs-Compiler-Rule-0.33/lib/Pugs/AST/Expression.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/ Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/Grammar.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/Regex.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/RegexPerl5.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/Rule.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Compiler/Token.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/ Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Grammar/ Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Grammar/Perl5.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/ Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Parsec.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5/ Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5/._CharClass.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5/CharClass.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5/Ratchet.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5/Regex.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/._Perl5.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl5.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl6/ Pugs-Compiler-Rule-0.33/lib/Pugs/Emitter/Rule/Perl6/Ratchet.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/ Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/._Base.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/Base.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/Precedence.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/Rule.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/Rule.pmc Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/Rule2.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Grammar/RulePure.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/ Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Common.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Match/ Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Match/HsBridge.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Match.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/._Regex.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Regex.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Rule.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/StrPos.pm Pugs-Compiler-Rule-0.33/lib/Pugs/Runtime/Tracer.pm Pugs-Compiler-Rule-0.33/Makefile.PL Pugs-Compiler-Rule-0.33/MANIFEST Pugs-Compiler-Rule-0.33/MANIFEST.SKIP Pugs-Compiler-Rule-0.33/META.yml Pugs-Compiler-Rule-0.33/README Pugs-Compiler-Rule-0.33/t/ Pugs-Compiler-Rule-0.33/t/00-pod-coverage.t Pugs-Compiler-Rule-0.33/t/00-pod.t Pugs-Compiler-Rule-0.33/t/01-iterator_engine.t Pugs-Compiler-Rule-0.33/t/02-grammar.t Pugs-Compiler-Rule-0.33/t/03-match.t Pugs-Compiler-Rule-0.33/t/04-compiler-grammar.t Pugs-Compiler-Rule-0.33/t/04-compiler-regex.t Pugs-Compiler-Rule-0.33/t/04-compiler-rule.t Pugs-Compiler-Rule-0.33/t/04-rule.t Pugs-Compiler-Rule-0.33/t/05-var.t Pugs-Compiler-Rule-0.33/t/06-subrule.t Pugs-Compiler-Rule-0.33/t/08-hash.t Pugs-Compiler-Rule-0.33/t/09-ratchet.t Pugs-Compiler-Rule-0.33/t/10-regex_perl5.t Pugs-Compiler-Rule-0.33/t/11-parsec.t Pugs-Compiler-Rule-0.33/t/11-quantifier.t Pugs-Compiler-Rule-0.33/t/12-plain_regex.t Pugs-Compiler-Rule-0.33/t/13-char_classes.t Pugs-Compiler-Rule-0.33/t/14-mini_perl6.t Pugs-Compiler-Rule-0.33/t/15-STD.t Pugs-Compiler-Rule-0.33/t/16-examples.t Pugs-Compiler-Rule-0.33/t/16-safemode.t Pugs-Compiler-Rule-0.33/t/16-tracer-examples.t Pugs-Compiler-Rule-0.33/t/17-tracer.t Pugs-Compiler-Rule-0.33/t/ast/ Pugs-Compiler-Rule-0.33/t/ast/00-basic.t Pugs-Compiler-Rule-0.33/t/declare/ Pugs-Compiler-Rule-0.33/t/declare/00-demo.t Pugs-Compiler-Rule-0.33/t/declare/01-sigspace.t Pugs-Compiler-Rule-0.33/t/emitter/ Pugs-Compiler-Rule-0.33/t/emitter/00-ratchet.t Pugs-Compiler-Rule-0.33/t/lib/ Pugs-Compiler-Rule-0.33/t/lib/AST.pm Pugs-Compiler-Rule-0.33/t/lib/Emitter.pm Pugs-Compiler-Rule-0.33/t/lib/Regex.pm Pugs-Compiler-Rule-0.33/t/lib/Util.pm Pugs-Compiler-Rule-0.33/TODO Pugs-Compiler-Rule-0.33/tracer/ Pugs-Compiler-Rule-0.33/tracer/jquery.js Pugs-Compiler-Rule-0.33/tracer/tracer.js Pugs-Compiler-Rule-0.33/util/ Pugs-Compiler-Rule-0.33/util/compile_p6grammar.pl Pugs-Compiler-Rule-0.33/util/gen-tracer-view.pl Pugs-Compiler-Rule-0.33/util/patch-rule-pmc.pl Pugs-Compiler-Rule-0.33/util/update-rule-pmc Pugs-Compiler-Rule-0.33/util/update-rule-pmc-obsolete Pugs-Compiler-Rule-0.33/util/update-tracer-demos CPAN.pm: Going to build F/FG/FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz >>> C:\Perl64\bin\perl.exe Makefile.PL In releng mode... Checking if your kit is complete... Looks good Writing Makefile for Pugs::Compiler::Rule >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Pugs/Emitter/Rule/Parsec.pm blib\lib\Pugs\Emitter\Rule\Parsec.pm cp lib/Pugs/Grammar/Rule2.pm blib\lib\Pugs\Grammar\Rule2.pm cp lib/Pugs/Runtime/Match.pm blib\lib\Pugs\Runtime\Match.pm cp lib/Pugs/Compiler/Rule.pm blib\lib\Pugs\Compiler\Rule.pm cp lib/Pugs/Emitter/Rule/Perl5/CharClass.pm blib\lib\Pugs\Emitter\Rule\Perl5\CharClass.pm cp lib/Pugs/Grammar/Rule.pm blib\lib\Pugs\Grammar\Rule.pm cp lib/Pugs/Emitter/Rule/Perl5.pm blib\lib\Pugs\Emitter\Rule\Perl5.pm cp lib/Pugs/Grammar/Precedence.pm blib\lib\Pugs\Grammar\Precedence.pm cp lib/Pugs/Emitter/Grammar/Perl5.pm blib\lib\Pugs\Emitter\Grammar\Perl5.pm cp lib/Pugs/Emitter/Rule/Perl5/Regex.pm blib\lib\Pugs\Emitter\Rule\Perl5\Regex.pm cp lib/Pugs/Grammar/Base.pm blib\lib\Pugs\Grammar\Base.pm cp lib/Pugs/Runtime/Rule.pm blib\lib\Pugs\Runtime\Rule.pm cp lib/Pugs/Compiler/Grammar.pm blib\lib\Pugs\Compiler\Grammar.pm cp lib/Pugs/Emitter/Rule/Perl5/._CharClass.pm blib\lib\Pugs\Emitter\Rule\Perl5\._CharClass.pm cp lib/Pugs/Runtime/._Regex.pm blib\lib\Pugs\Runtime\._Regex.pm cp lib/Pugs/Emitter/Rule/Perl5/Ratchet.pm blib\lib\Pugs\Emitter\Rule\Perl5\Ratchet.pm cp lib/Pugs/Runtime/StrPos.pm blib\lib\Pugs\Runtime\StrPos.pm cp lib/Pugs/Runtime/Match/HsBridge.pm blib\lib\Pugs\Runtime\Match\HsBridge.pm cp lib/Pugs/Compiler/Regex.pm blib\lib\Pugs\Compiler\Regex.pm cp lib/Pugs/Runtime/Common.pm blib\lib\Pugs\Runtime\Common.pm cp lib/Pugs/Runtime/Tracer.pm blib\lib\Pugs\Runtime\Tracer.pm cp lib/Pugs/AST/Expression.pm blib\lib\Pugs\AST\Expression.pm cp lib/Pugs/Runtime/Regex.pm blib\lib\Pugs\Runtime\Regex.pm cp lib/Pugs/Grammar/Rule.pmc blib\lib\Pugs\Grammar\Rule.pmc cp lib/Pugs/Emitter/Rule/._Perl5.pm blib\lib\Pugs\Emitter\Rule\._Perl5.pm cp lib/Pugs/Emitter/Rule/Perl6/Ratchet.pm blib\lib\Pugs\Emitter\Rule\Perl6\Ratchet.pm cp lib/Pugs/Grammar/RulePure.pm blib\lib\Pugs\Grammar\RulePure.pm cp lib/Pugs/Compiler/Token.pm blib\lib\Pugs\Compiler\Token.pm cp lib/Pugs/Compiler/RegexPerl5.pm blib\lib\Pugs\Compiler\RegexPerl5.pm cp lib/Pugs/Grammar/._Base.pm blib\lib\Pugs\Grammar\._Base.pm C:\Perl64\bin\perl.exe -Iinc -MExtUtils::Command -e cp util/compile_p6grammar.pl blib\script\compile_p6grammar.pl pl2bat.bat blib\script\compile_p6grammar.pl FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz nmake -- OK Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. Skip blib\lib\Pugs\Emitter\Rule\Parsec.pm (unchanged) Skip blib\lib\Pugs\Grammar\Rule2.pm (unchanged) Skip blib\lib\Pugs\Runtime\Match.pm (unchanged) Skip blib\lib\Pugs\Compiler\Rule.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl5\CharClass.pm (unchanged) Skip blib\lib\Pugs\Grammar\Rule.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl5.pm (unchanged) Skip blib\lib\Pugs\Grammar\Precedence.pm (unchanged) Skip blib\lib\Pugs\Emitter\Grammar\Perl5.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl5\Regex.pm (unchanged) Skip blib\lib\Pugs\Grammar\Base.pm (unchanged) Skip blib\lib\Pugs\Runtime\Rule.pm (unchanged) Skip blib\lib\Pugs\Compiler\Grammar.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl5\._CharClass.pm (unchanged) Skip blib\lib\Pugs\Runtime\._Regex.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl5\Ratchet.pm (unchanged) Skip blib\lib\Pugs\Runtime\StrPos.pm (unchanged) Skip blib\lib\Pugs\Runtime\Match\HsBridge.pm (unchanged) Skip blib\lib\Pugs\Compiler\Regex.pm (unchanged) Skip blib\lib\Pugs\Runtime\Common.pm (unchanged) Skip blib\lib\Pugs\Runtime\Tracer.pm (unchanged) Skip blib\lib\Pugs\AST\Expression.pm (unchanged) Skip blib\lib\Pugs\Runtime\Regex.pm (unchanged) Skip blib\lib\Pugs\Grammar\Rule.pmc (unchanged) Skip blib\lib\Pugs\Emitter\Rule\._Perl5.pm (unchanged) Skip blib\lib\Pugs\Emitter\Rule\Perl6\Ratchet.pm (unchanged) Skip blib\lib\Pugs\Grammar\RulePure.pm (unchanged) Skip blib\lib\Pugs\Compiler\Token.pm (unchanged) Skip blib\lib\Pugs\Compiler\RegexPerl5.pm (unchanged) Skip blib\lib\Pugs\Grammar\._Base.pm (unchanged) C:\Perl64\bin\perl.exe -Iinc -MExtUtils::Command -e cp util/compile_p6grammar.pl blib\script\compile_p6grammar.pl pl2bat.bat blib\script\compile_p6grammar.pl C:\Perl64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00-pod-coverage........ 1..0 # Skip We know we don't have enough POD :( skipped: We know we don't have enough POD :( t/00-pod................. 1..30 ok 1 - blib\script\compile_p6grammar.pl ok 2 - blib\lib\Pugs\AST\Expression.pm ok 3 - blib\lib\Pugs\Compiler\Grammar.pm ok 4 - blib\lib\Pugs\Compiler\Regex.pm ok 5 - blib\lib\Pugs\Compiler\RegexPerl5.pm ok 6 - blib\lib\Pugs\Compiler\Rule.pm ok 7 - blib\lib\Pugs\Compiler\Token.pm ok 8 - blib\lib\Pugs\Grammar\._Base.pm ok 9 - blib\lib\Pugs\Grammar\Base.pm ok 10 - blib\lib\Pugs\Grammar\Precedence.pm ok 11 - blib\lib\Pugs\Grammar\Rule.pm ok 12 - blib\lib\Pugs\Grammar\Rule2.pm ok 13 - blib\lib\Pugs\Grammar\RulePure.pm ok 14 - blib\lib\Pugs\Runtime\._Regex.pm ok 15 - blib\lib\Pugs\Runtime\Common.pm ok 16 - blib\lib\Pugs\Runtime\Match.pm ok 17 - blib\lib\Pugs\Runtime\Regex.pm ok 18 - blib\lib\Pugs\Runtime\Rule.pm ok 19 - blib\lib\Pugs\Runtime\StrPos.pm ok 20 - blib\lib\Pugs\Runtime\Tracer.pm ok 21 - blib\lib\Pugs\Emitter\Grammar\Perl5.pm ok 22 - blib\lib\Pugs\Emitter\Rule\._Perl5.pm ok 23 - blib\lib\Pugs\Emitter\Rule\Parsec.pm ok 24 - blib\lib\Pugs\Emitter\Rule\Perl5.pm ok 25 - blib\lib\Pugs\Runtime\Match\HsBridge.pm ok 26 - blib\lib\Pugs\Emitter\Rule\Perl5\._CharClass.pm ok 27 - blib\lib\Pugs\Emitter\Rule\Perl5\CharClass.pm ok 28 - blib\lib\Pugs\Emitter\Rule\Perl5\Ratchet.pm ok 29 - blib\lib\Pugs\Emitter\Rule\Perl5\Regex.pm ok 30 - blib\lib\Pugs\Emitter\Rule\Perl6\Ratchet.pm ok t/01-iterator_engine..... 1..58 ok 1 - use Pugs::Runtime::Regex; ok 2 - a =~ /a/ \#1 ok 3 - tail is ok ok 4 - c =~ /a/ \#2 ok 5 - anchored match ok 6 - /[a|c]+?/ \#1 ok 7 - tail is ok ok 8 - /[a|c]+?/ \#2 ok 9 - tail is ok ok 10 - /[a|c]+?/ \#3 ok 11 - tail is ok ok 12 - /[a|ab]/ multi-match continuation state \#0 ok 13 - /[a|ab]/ multi-match continuation state \#1 ok 14 - /[a|ab][b|bb]/ continuation state \#0 ok 15 - state \#1 ok 16 - state \#2 ok 17 - state \#3 ok 18 - rule 'a*' is a coderef ok 19 - /a*/ ok 20 ok 21 - /a*/ ok 22 ok 23 - matches 0 occurrences ok 24 - /a+/ ok 25 ok 26 - rejects unmatching text ok 27 - /a**{3..*}/ ok 28 - /a**{3..*}/ ok 29 - rejects unmatching text ok 30 - /[a|c]+ab/ with backtracking ok 31 - all the chars accepted ok 32 - /[a|c]+?/ ok 33 - tail is ok ok 34 ok 35 ok 36 - /[a|c]+?cb/ with backtracking ok 37 ok 38 ok 39 - /a[|a]?/ \#1 ok 40 ok 41 - /a[|a]?/ \#2 ok 42 ok 43 - /a[|a]?/ \#3 ok 44 ok 45 - /a[|a]*/ \#1 ok 46 ok 47 - /a[|a]*/ \#2 ok 48 ok 49 - /a[|a]*/ \#3 ok 50 ok 51 - /[a|c]**{2..4}?cb/ with backtracking ok 52 - /[a|c]**{2..4}?cb/ with range ok 53 - a**{2..2}cb ok 54 - c**{2..2}cb ok 55 - [a|c]**{3..3}cb ok 56 - /[a|c]**{1..2}?cb/ with bad range fails ok 57 - /[a|c]**{5..7}?cb/ with bad range fails ok 58 - empty concat ok t/02-grammar............. 1..1 ok 1 - use Pugs::Grammar::Rule; ok t/03-match............... 1..54 ok 1 - use Pugs::Compiler::Regex; ok 2 - use Pugs::Grammar::Base; ok 3 - boolean true ok 4 - stringify 1 ok 5 - stringify 2 ok 6 - stringify 4 ok 7 - stringify 5 ok 8 - stringify 6 ok 9 - stringify 7 ok 10 - stringify 1 ok 11 - stringify 1 ok 12 - stringify 1 ok 13 - stringify 1 ok 14 - stringify 2 ok 15 - stringify 3 ok 16 ok 17 - stringify 1 ok 18 - stringify 2 ok 19 - stringify 3 ok 20 - return match 1 ok 21 - return match 2 ok 22 - return match 3 ok 23 - return match 4 ok 24 - concat stringify ok 25 - two few chars ok 26 - true match ok 27 - pretended we matched "bar" ok 28 - true match ok 29 - returns correct struct ok 30 - true match ok 31 - returns correct struct ok 32 - true match ok 33 - returns correct struct ok 34 - return match ok 35 - stringify ok 36 - hashify ok 37 - hashify ok 38 - numify ok 39 - boolean true ok 40 - match->from ok 41 - match->to ok 42 - boolean true (non-anchored match) ok 43 - match->from ok 44 - match->to ok 45 - boolean false ok 46 - use Pugs::Compiler::Rule; ok 47 - use Pugs::Runtime::Match; ok 48 - boolean true ok 49 - match->from ok 50 - match->to ok 51 - boolean true (non-anchored match) ok 52 - match->from ok 53 - match->to ok 54 - boolean false ok t/04-compiler-grammar.... ok 1 - obj ok ok 2 - The object isa Pugs::Compiler::Grammar ok 3 - p5 code okay ok 4 - no error while eval ok 5 - matched ok 6 - capture okay ok 7 - capture okay ok 8 ok 9 - The object isa Pugs::Compiler::Grammar ok 10 - p5 code okay grammar: // package MyLang; use base 'Pugs::Grammar::Base'; use Pugs::Runtime::Match; use Pugs::Runtime::Regex; use Pugs::Runtime::Tracer (); # token def *def = ## ## sigspace: 0 ## ratchet: 1 do { my $rule; $rule = sub { my $grammar = $_[0]; my $s = $_[1]; $_[3] = $_[2] unless defined $_[3]; # backwards compat no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; my $bool; my @pos; # XXX :pos(X) takes the precedence over :continue ? if (defined $_[3]{p}) { push @pos, $_[3]{p} || 0; } elsif ($_[3]{continue}) { push @pos, (pos($_[1]) || 0) .. length($s); } else { push @pos, 0..length($s); } for my $pos ( @pos ) { my %index; my @match; my %named; $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ## ## pos: 32 67 ( ## ## pos: 32 39 ( ( $pad{I1197} = $pos or 1 ) && ## ## pos: 32 38 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->type( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'type'} = $match; $pos = $match->to; 1 } else { 0 } } ## || ( ( $pos = $pad{I1197} ) && 0 ) ) ## && ## ## pos: 39 45 ( ( $pad{I1198} = $pos or 1 ) && ## ## pos: 39 44 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } ## || ( ( $pos = $pad{I1198} ) && 0 ) ) ## && ## ## pos: 45 56 ( ( $pad{I1199} = $pos or 1 ) && ## ## pos: 45 55 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->var_list( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'var_list'} = $match; $pos = $match->to; 1 } else { 0 } } ## || ( ( $pos = $pad{I1199} ) && 0 ) ) ## && ## ## pos: 56 63 ( ( ( $pad{I1200} = $pos or 1 ) && ## ## pos: 56 61 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } ## || ( ( $pos = $pad{I1200} ) && 0 ) ) || ( $bool = 1 ) ) ## && ## ## pos: 63 67 ( ( $pad{I1201} = $pos or 1 ) && ## ## pos: 63 66 ( ( substr( $s, $pos, 1 ) eq ';' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1201} ) && 0 ) ) ## ) ## ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; #warn "pos2 = ", $pos, "\n"; pos($_[1]) = $pos if $_[3]{continue}; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ## ; # token type *type = ## ## sigspace: 0 ## ratchet: 1 do { my $rule; $rule = sub { my $grammar = $_[0]; my $s = $_[1]; $_[3] = $_[2] unless defined $_[3]; # backwards compat no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; my $bool; my @pos; # XXX :pos(X) takes the precedence over :continue ? if (defined $_[3]{p}) { push @pos, $_[3]{p} || 0; } elsif ($_[3]{continue}) { push @pos, (pos($_[1]) || 0) .. length($s); } else { push @pos, 0..length($s); } for my $pos ( @pos ) { my %index; my @match; my %named; $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ## ## pos: 82 110 ( ( $pad{I1202} = $pos or 1 ) && ( ## ## pos: 82 86 ( ## ## pos: 82 83 ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 83 84 ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 84 86 ( ( $pad{I1203} = $pos or 1 ) && ## ## pos: 84 85 ( ( substr( $s, $pos, 1 ) eq 't' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1203} ) && 0 ) ) ## ) ## ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1202} ) or 1 ) && ## ## pos: 87 94 ( ## ## pos: 87 89 ( ( $pad{I1204} = $pos or 1 ) && ## ## pos: 88 89 ( ( substr( $s, $pos, 1 ) eq 'f' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1204} ) && 0 ) ) ## && ## ## pos: 89 90 ( ( substr( $s, $pos, 1 ) eq 'l' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 90 91 ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 91 92 ( ( substr( $s, $pos, 1 ) eq 'a' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 92 94 ( ( $pad{I1205} = $pos or 1 ) && ## ## pos: 92 93 ( ( substr( $s, $pos, 1 ) eq 't' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1205} ) && 0 ) ) ## ) ## ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1202} ) or 1 ) && ## ## pos: 95 103 ( ## ## pos: 95 97 ( ( $pad{I1206} = $pos or 1 ) && ## ## pos: 96 97 ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1206} ) && 0 ) ) ## && ## ## pos: 97 98 ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 98 99 ( ( substr( $s, $pos, 1 ) eq 'u' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 99 100 ( ( substr( $s, $pos, 1 ) eq 'b' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 100 101 ( ( substr( $s, $pos, 1 ) eq 'l' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 101 103 ( ( $pad{I1207} = $pos or 1 ) && ## ## pos: 101 102 ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1207} ) && 0 ) ) ## ) ## ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1202} ) or 1 ) && ## ## pos: 104 110 ( ## ## pos: 104 106 ( ( $pad{I1208} = $pos or 1 ) && ## ## pos: 105 106 ( ( substr( $s, $pos, 1 ) eq 'c' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1208} ) && 0 ) ) ## && ## ## pos: 106 107 ( ( substr( $s, $pos, 1 ) eq 'h' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 107 108 ( ( substr( $s, $pos, 1 ) eq 'a' ) ? ( $pos += 1 or 1 ) : 0 ) ## && ## ## pos: 108 110 ( ( $pad{I1209} = $pos or 1 ) && ## ## pos: 108 109 ( ( substr( $s, $pos, 1 ) eq 'r' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1209} ) && 0 ) ) ## ) ## ) ) ## ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; #warn "pos2 = ", $pos, "\n"; pos($_[1]) = $pos if $_[3]{continue}; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ## ; # token var_list *var_list = ## ## sigspace: 0 ## ratchet: 1 do { my $rule; $rule = sub { my $grammar = $_[0]; my $s = $_[1]; $_[3] = $_[2] unless defined $_[3]; # backwards compat no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; my $bool; my @pos; # XXX :pos(X) takes the precedence over :continue ? if (defined $_[3]{p}) { push @pos, $_[3]{p} || 0; } elsif ($_[3]{continue}) { push @pos, (pos($_[1]) || 0) .. length($s); } else { push @pos, 0..length($s); } for my $pos ( @pos ) { my %index; my @match; my %named; $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ## ## pos: 129 173 ( ## ## pos: 129 142 ( ( ( $pad{I1210} = $pos or 1 ) && ## ## pos: 129 136 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ident( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'ident'}}, $match; $pos = $match->to; 1 } else { 0 } } ## || ( ( $pos = $pad{I1210} ) && 0 ) ) ) ## && ## ## pos: 142 149 ( ( ( $pad{I1211} = $pos or 1 ) && ## ## pos: 142 147 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } ## || ( ( $pos = $pad{I1211} ) && 0 ) ) || ( $bool = 1 ) ) ## && ## ## pos: 149 173 do { while ( ( ( $pad{I1212} = $pos or 1 ) && ## ## pos: 150 170 ( ## ## pos: 150 155 ( ( $pad{I1213} = $pos or 1 ) && ## ## pos: 151 154 ( ( substr( $s, $pos, 1 ) eq ',' ) ? ( $pos += 1 or 1 ) : 0 ) ## || ( ( $pos = $pad{I1213} ) && 0 ) ) ## && ## ## pos: 155 162 ( ( ( $pad{I1214} = $pos or 1 ) && ## ## pos: 155 160 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } ## || ( ( $pos = $pad{I1214} ) && 0 ) ) || ( $bool = 1 ) ) ## && ## ## pos: 162 170 ( ( $pad{I1215} = $pos or 1 ) && ## ## pos: 162 169 do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ident( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'ident'}}, $match; $pos = $match->to; 1 } else { 0 } } ## || ( ( $pos = $pad{I1215} ) && 0 ) ) ## ) ## || ( ( $pos = $pad{I1212} ) && 0 ) )) {}; $bool = 1 } ## ) ## ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; #warn "pos2 = ", $pos, "\n"; pos($_[1]) = $pos if $_[3]{continue}; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ## ; 1; // ok 11 - matched ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 - My::C's type okay ok 18 - My::C's var_list okay # ok 19 - My::VB's var_list okay # ok 20 - eval ok ok 21 - matched ok 22 ok 23 - closure works ok 24 - perl 5 generated ok 25 - eval ok ok 26 - matched ok 27 - capture ok ok 28 - perl 5 generated ok 29 - eval ok ok 30 - matched ok 31 - capture ok ok 32 - capture ok ok 33 - matched ok 34 - capture ok ok 35 - capture ok 1..35 ok t/04-compiler-regex...... ok 1 - grammar => 'Pugs::Grammar::Base' ok 2 - continue => 0 ok 3 - pos => undef ok 4 - ratchet => 0 ok 5 - ignorecase => 0 ok 6 - sigspace => 0 ok 7 - params okay (1) ok 8 - regex ok (1) ok 9 - grammar => 'abc' ok 10 - continue => 1 ok 11 - pos => 1 ok 12 - ratchet => 1 ok 13 - ignorecase => 1 ok 14 - sigspace => 1 ok 15 - params okay (0) ok 16 - regex ok (0) ok 17 - params are optional ok 18 - regex ok (null) ok 19 ok 20 ok 21 ok 22 - croak as expected ok 23 ok 24 - shouldn't croak this time ok 25 - reinstall works ok 26 ok 27 not ok 28 # TODO :c modifier doesn't work in non-ratchet mode # Failed (TODO) test at t/04-compiler-regex.t line 166. # got: '5:5:5' # expected: '5:6' ok 29 - backtracking works ok 30 ok 31 ok 32 ok 33 1..33 ok t/04-compiler-rule....... ok 1 - rule obj ok ok 2 - The object isa Pugs::Compiler::Regex ok 3 - ratchet defaults to 1 ok 4 - sigspace defaults to 1 ok 5 - ignorecase defaults to 0 ok 6 - grammar no overridden ok 7 - p no overridden ok 8 - continue no overridden ok 9 - no backtracking ok 10 - sigspace works ok 11 - sigspace works (2) ok 12 - ratchet defaults to 1 ok 13 - sigspace defaults to 1 ok 14 - ignorecase defaults to 0 ok 15 - grammar no overridden ok 16 - p no overridden ok 17 - continue no overridden ok 18 - backtracking works ok 19 - capture ok ok 20 - sigspace => 0 1..20 ok t/04-rule................ 1..79 ok 1 - use Pugs::Compiler::Regex; ok 2 - constant ok 3 - constant ok 4 - booleanify - unnamed rules are objects ok 5 - stringify 1 ok 6 - stringify 2 ok 7 - stringify 3 ok 8 - stringify 4 ok 9 ok 10 ok 11 - named rules are methods ok 12 - named rules are methods ok 13 - named rules are methods ok 14 - Died as expected when installing an existing unqualified rule ok 15 - Died as expected when installing an existing qualified rule ok 16 - a named subrule calls a named subrule in same grammar ok 17 - a named subrule calls a named subrule in other grammar ok 18 - built-in rule ok 19 - comma is not a special char ok 20 - escaped char ok 21 - escaped char \n ok 22 - escaped char \d ok 23 - escaped char \D ok 24 - escaped char \N ok 25 - escaped char \N \#2 ok 26 - "a?bg?" equals "a? b g?". ok 27 - 'b' is mandatory here ok 28 ok 29 ok 30 - Capture is a hashref ok 31 - $capture->{a} ok 32 - simple capture ok 33 - simple capture ok 34 - a named subrule calls a global unnamed subrule ok 35 - a named subrule calls a lexical unnamed subrule ok 36 - at-start - not ok 37 ok 38 - at-start ok 39 - at-end - not ok 40 ok 41 - at-end ok 42 - at-line-start - not ok 43 ok 44 - at-line-start ok 45 - at-line-start, pos==0 ok 46 - at-line-end - not ok 47 - at-line-end ok 48 - at-line-end, pos==end ok 49 - anchored at both sides - not ok 50 - anchored at both sides ok 51 - anchored at line start/end - not ok 52 - anchored at line start/end ok 53 - plain null ok 54 - null but true ok 55 - null between terms ok 56 - ident ok 57 - prior ok 58 - ok 59 ok 60 - works ok 61 ok 62 ok 63 - return capture ok 64 - doesn't loop forever ok 65 ok 66 ok 67 - negated rule ok 68 - x never matches ok 69 - mixed case matches ok 70 - lower case matches ok 71 - upper case matches ok 72 - mixed case matches ok 73 - lower case matches ok 74 - upper case matches ok 75 - internal ignorecase; mixed case matches ok 76 - internal ignorecase; lower case matches ok 77 - internal ignorecase; upper case matches ok 78 - boolean closure ok 79 - negative boolean closure ok t/05-var................. 1..5 ok 1 - use Pugs::Compiler::Rule; ok 2 - match $0 ok 3 ok 4 - match $1 ok 5 ok t/06-subrule............. 1..43 ok 1 - use Pugs::Compiler::Regex; ok 2 - a Regex object ok 3 - perl5 returns eval'able code not ok 4 - no ws # TODO weird rule matches 'null' before the text # Failed (TODO) test 'no ws' # at t/06-subrule.t line 29. # got: '1' # expected: '0' ok 5 - Matched at pos=0 ok 6 - Matched non-anchored ok 7 - Matched... ok 8 - Capture 1... ok 9 - Capture 2... ok 10 - Capture 3... ok 11 - No more captures ok 12 - No more captures ok 13 - Matched... ok 14 - $ is an array... ok 15 - Capture 1... ok 16 - Capture 2... ok 17 - Capture 3... ok 18 - No more captures ok 19 - Matched... ok 20 - $ is an array... ok 21 - Capture 1... ok 22 - Capture 2... ok 23 - No more captures ok 24 - backtracking subrule matched ok 25 - array... ok 26 - Capture 1... ok 27 - Capture 2... ok 28 - No more captures ok 29 - before matched ok 30 - before didn't match ok 31 - before didn't match ok 32 - <$var> matched ok 33 - <$var> didn't match ok 34 - <$var> didn't match ok 35 # SKIP named parameters don't parse correctly ok 36 # SKIP failing optional quantifier - subrule + param ok 37 - Captured ok 38 - Capture 0... ok 39 - Capture 1... ok 40 - No more captures ok 41 - Captured ok 42 - Capture 0... ok 43 - Capture 1... ok t/08-hash................ 1..8 ok 1 - use Pugs::Compiler::Rule; ok 2 - Matched hash{iff} ok 3 - fail hash{if} - value != 1 ok 4 - closure not called yet ok 5 - closure was called hash{use} ok 6 - subrule hash{until} ok 7 - subrule hash{until} - 2 ok 8 - Matched hash inside hash ok t/09-ratchet............. 1..166 ok 1 - use Pugs::Compiler::Token; ok 2 - use Pugs::Compiler::Rule; ok 3 - booleanify - unnamed rules are objects ok 4 - stringify 1 ok 5 - stringify 2 ok 6 - stringify 2 ok 7 - stringify 3 ok 8 - stringify 4 ok 9 - booleanify - unnamed rules are objects ok 10 - stringify 1 ok 11 - ok 12 - stringify 1 ok 13 - basic alternative ok 14 - basic alternative - 2 ok 15 - alternative with captures ok 16 - alternative - 2 ok 17 - alternative - 3 ok 18 - alternative - 4 ok 19 - alternation no backtracking ok 20 not ok 21 # TODO '|' is now with longest-token semantics # Failed (TODO) test at t/09-ratchet.t line 95. # got: 'ab' # expected: 'abc' ok 22 - named rules are methods ok 23 - a named subrule calls a named subrule in same grammar ok 24 - a named subrule calls a named subrule in other grammar ok 25 - a named subrule calls a global unnamed subrule ok 26 - a named subrule calls a lexical unnamed subrule ok 27 - built-in rule ok 28 - keys() method ok 29 - comma is not a special char ok 30 - escaped char ok 31 - escaped char \n ok 32 - escaped char \d ok 33 - escaped char \D ok 34 - escaped char \d ok 35 - escaped char \D ok 36 - escaped char \N ok 37 - escaped char \N \#2 ok 38 - "a?bg?" equals "a? b g?". ok 39 - Capture is a hashref ok 40 - $capture->{a} ok 41 - simple capture ok 42 - simple capture ok 43 - alternation ok 44 ok 45 - named capture ok 46 - named capture - 2 not ok 47 # TODO subpattern? # Failed (TODO) test at t/09-ratchet.t line 316. # got: undef # expected: ' ' ok 48 - named capture ok 49 - named capture - 2 not ok 50 # TODO subpattern again? # Failed (TODO) test at t/09-ratchet.t line 331. # got: undef # expected: 'a' ok 51 - named capture from subrule ok 52 - named capture - 2 ok 53 - before ok 54 - not before ok 55 - not before ok 56 - before ok 57 - negated alpha ok 58 - negated alpha matches ok 59 - not end-of-str ok 60 - end-of-str ok 61 - dot underflow ok 62 - dot ok 63 - dot overflow ok 64 - after ok 65 - not after ok 66 - quantifier ? empty match ok 67 - quantifier ? one match ok 68 - quantifier ? no match ok 69 - quantifier * empty match ok 70 - quantifier * one match ok 71 - quantifier * many match ok 72 - quantifier * no match ok 73 - quantifier + no match ok 74 - quantifier + one match ok 75 - quantifier + many match ok 76 - quantifier + no match ok 77 - non-capturing with captures inside ok 78 - non-capturing with captures inside - 2 ok 79 - non-capturing with captures inside - 3 ok 80 - non-capturing with captures inside - 4 ok 81 - capturing with captures inside ok 82 - capturing with captures inside - 2 ok 83 - capturing with captures inside - 3 ok 84 - capturing with captures inside - 4 ok 85 - sigspace no match ok 86 - sigspace match ok 87 - sigspace empty match ok 88 - sigspace match ok 89 - sigspace empty match (multi-sp) ok 90 - sigspace one match ok 91 - sigspace many match ok 92 - sigspace required ok 93 - sigspace no match ok 94 - true match ok 95 - named capture on parentheses ok 96 - named capture on parentheses not positioned ok 97 - true match ok 98 - named capture on square brackets ok 99 - named capture on square brackets not positioned ok 100 - true match ok 101 - named capture on subrule ok 102 - named capture on subrule not positioned ok 103 - array of rules ok 104 - array of tokens ok 105 - Matched hash{iff} ok 106 - fail hash{if} - value != 1 ok 107 - closure not called yet ok 108 - closure was called hash{use} ok 109 - subrule hash{until} ok 110 - subrule hash{until} - 2 ok 111 - Matched hash{iff} ok 112 - Matched hash{iff} capture ok 113 - fail hash{if} - value != 1 ok 114 - closure not called yet ok 115 - closure was called hash{use} # KEY = until ok 116 - subrule hash{until} ok 117 - subrule hash{until} - 2 ok 118 - Matched hash{until} capture handles stringification ok 119 - Matched hash{until} return object ok 120 - default subrule ok 121 - Matched hash inside hash ok 122 - literal ">>" ok 123 - literal ":" ok 124 - literal "}" ok 125 - literal ")" not ok 126 - alternation array rollback # TODO failing array capture rollback # Failed (TODO) test 'alternation array rollback' # at t/09-ratchet.t line 861. # got: '3' # expected: '2' ok 127 ok 128 ok 129 - alternation hash rollback ok 130 not ok 131 - alternation hash rollback with multiple captures # TODO failing capture # Failed (TODO) test 'alternation hash rollback with multiple captures' # at t/09-ratchet.t line 898. # got: '1' # expected: '2' not ok 132 # TODO failing capture # Failed (TODO) test at t/09-ratchet.t line 899. # got: undef # expected: 'a' not ok 133 # TODO failing capture # Failed (TODO) test at t/09-ratchet.t line 900. # got: undef # expected: 'a' ok 134 - non-capturing char class ok 135 - non-capturing char class ok 136 - at-line-start - not ok 137 - at-line-start ok 138 - at-line-start, pos==0 ok 139 - at-line-end - not ok 140 - at-line-end ok 141 - at-line-end, pos==end ok 142 - anchored at both sides - not ok 143 - anchored at both sides ok 144 - anchored at line start/end - not ok 145 - anchored at line start/end ok 146 - ident ok 147 - prior ok 148 - prior-prior ok 149 - at ok 150 - return capture ok 151 - <> ok 156 - xyz>> ok 157 - xyz>> ok 158 - xyz>> ok 159 - x & ok 160 - y | z ok 161 - quantifier-rollback ok 162 - x || y | z ok 163 - x .*? z - non-greedy quantifier ok 164 - backreference ok 165 - boolean closure ok 166 - negative boolean closure ok t/10-regex_perl5......... 1..20 ok 1 - use Pugs::Compiler::RegexPerl5; ok 2 - booleanify ok 3 - stringify 1 ok 4 - stringify 2 ok 5 - stringify 3 ok 6 - stringify 4 ok 7 - booleanify ok 8 - stringify 1 ok 9 - stringify 2 ok 10 - stringify 3 ok 11 - to() 4 ok 12 - stringify 4 ok 13 - pos set ok 14 - p set ok 15 - p unset ok 16 - no pos ok 17 - pos 1 ok 18 - pos 2 ok 19 - pos 1 ok 20 - pos 2 ok t/11-parsec.............. 1..0 # Skip The Parsec emitter is not quite ready yet skipped: The Parsec emitter is not quite ready yet t/11-quantifier.......... 1..13 ok 1 - use Pugs::Compiler::Regex; ok 2 - use Pugs::Compiler::Token; ok 3 - use Pugs::Grammar::Base; ok 4 - .* ok 5 - (.*) ok 6 - ([_|\w]+) ok 7 - ([_|\w]+) ok 8 - (\d+) | ([_|\w]+) ok 9 - (\d+) | ([_|\w]+) ok 10 - (\d+) | ([_|\w]+) ok 11 - (\d+) | ([_|\w]+) ok 12 - [\d]+ as scalar ok 13 - [\d]+ as scalar ok t/12-plain_regex......... 1..0 # Skip The plain regex emitter is not quite ready yet skipped: The plain regex emitter is not quite ready yet t/13-char_classes........ 1..25 ok 1 - use Pugs::Compiler::Token; ok 2 - use Pugs::Compiler::Rule; ok 3 - <+alpha+digit> ok 4 - <+[user char class]> ok 5 - <+[user char class]+class> ok 6 - <+[user char class]+class> ok 7 - not-ws in quantified subrule ok 8 - ^<+alpha>$ token ok 9 - ^<+alpha>$ regex ok 10 - ^<-alpha>$ token ok 11 - ^<-alpha>$ regex ok 12 - b ok 13 - ^<+[ax]>$ token ok 14 - ^<+[ax]>$ regex ok 15 - ^<-[ax]>$ token ok 16 - ^<-[ax]>$ regex ok 17 - 3 ^<+[a..z]-[bx]>$ regex ok 18 - a ok 19 - b ok 20 - 3 unicode regex ok 21 - A ok 22 - b ok 23 - 3 ^<+[a..z]-[bx]>$ regex ok 24 - a ok 25 - b ok t/14-mini_perl6.......... 1..0 # Skip The MiniPerl6 emitter is not quite ready yet skipped: The MiniPerl6 emitter is not quite ready yet t/15-STD................. 1..6 ok 1 - use Pugs::Compiler::Regex; ok 2 - whatever ok 3 - before-rule ok 4 - before-string ok 5 - before-as-function ok 6 - ignore Whatever ok t/16-examples............ 1..12 ok 1 - adder.grammar compiles okay ok 2 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MAdder -e "print Adder->add('3 + 23')->()" ] okay ok 3 - adder.grammar compiles okay ok 4 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MAdder -e "print Adder->add('532+49')->()" ] okay ok 5 - digits.grammar compiles okay ok 6 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MDigits -e "print Digits->count('49a3')->()" ] okay ok 7 - langs.grammar compiles okay ok 8 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 9 - langs2.grammar compiles okay ok 10 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs2 -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 11 - Grammar.grammar compiles okay ok 12 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MGrammar -e "print Pugs::Grammar::Rule->rule('a b')->to" ] okay ok t/16-safemode............ 1..6 ok 1 - langs.grammar compiles okay ok 2 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 3 - debugging output count ok ok 4 - langs2.grammar compiles okay ok 5 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs2 -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 6 - debugging output count ok ok t/16-tracer-examples..... 1..18 ok 1 - adder.grammar compiles okay ok 2 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MAdder -e "print Adder->add('3 + 23')->()" ] okay ok 3 - debugging output count ok ok 4 - adder.grammar compiles okay ok 5 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MAdder -e "print Adder->add('532+49')->()" ] okay ok 6 - debugging output count ok ok 7 - digits.grammar compiles okay ok 8 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MDigits -e "print Digits->count('49a3')->()" ] okay ok 9 - debugging output count ok ok 10 - langs.grammar compiles okay ok 11 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 12 - debugging output count ok ok 13 - langs2.grammar compiles okay ok 14 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MLangs2 -e "print My::VB->def('Dim a, b As double')->{'My::C.var_list'}" ] okay ok 15 - debugging output count ok ok 16 - Grammar.grammar compiles okay ok 17 - output of [ C:\Perl64\bin\perl.exe -Ilib -Itmp -MGrammar -e "print Pugs::Grammar::Rule->rule('a b')->to" ] okay ok 18 - debugging output count ok ok t/17-tracer.............. 1..9 ok 1 - trace works ok 2 - trace appends okay ok 3 - trace_begin works ok 4 - trace_end works ok 5 - trace_end works ok 6 ok 7 - expand okay ok 8 - unmatched tag ok 9 - unmatched tags ok t/ast/00-basic........... 1..28 ok 1 - TEST 1: concat and constant - ab - AST okay (len: 2) ok 2 - TEST 2: metasyntax '...' - "'a'" - AST okay (len: 3) ok 3 - TEST 3: metasyntax <$...> - ' <$a> ' - AST okay (len: 6) ok 4 - TEST 4: metasyntax <@...> - ' <@foo> ' - AST okay (len: 8) ok 5 - TEST 5: metasyntax <%...> - ' <%hi> ' - AST okay (len: 7) ok 6 - TEST 6: metasyntax - ' <{ return $0.sqrt }> ' - AST okay (len: 22) ok 7 - TEST 7: metasyntax - ' <&foo()> ' - AST okay (len: 10) ok 8 - TEST 8: alt - 'a|b' - AST okay (len: 3) ok 9 - TEST 9: special chars - "\\d \\s" - AST okay (len: 5) ok 10 - TEST 10: closures - " a { say 'hi' } " - AST okay (len: 16) ok 11 - TEST 11: closure quantifier - " a**{1..2} " - AST okay (len: 11) ok 12 - TEST 12: quantifiers - " a+ b? " - AST okay (len: 7) ok 13 - TEST 13: subrule () - " " - AST okay (len: 7) ok 14 - TEST 14: subrule (<.foo>) - " <.foo> " - AST okay (len: 8) ok 15 - TEST 15: subrule (quanlified) - " " - AST okay (len: 11) ok 16 - TEST 16: capure (...) - " (a) " - AST okay (len: 5) ok 17 - TEST 17: capure ( ... ) - " ( a ) " - AST okay (len: 7) ok 18 - TEST 18: named capure ( ... ) - ' $abc := (a) ' - AST okay (len: 13) ok 19 - TEST 19: non-capture groups - ' [ a ] ' - AST okay (len: 7) ok 20 - TEST 20: named capture + [ ... ] - ' $a := [a] ' - AST okay (len: 11) ok 21 - TEST 21: after - ' ' - AST okay (len: 11) ok 22 - TEST 22: before - ' ' - AST okay (len: 12) ok 23 - TEST 23: ! after - ' ' - AST okay (len: 12) ok 24 - TEST 24: ! before - ' ' - AST okay (len: 13) ok 25 - TEST 25: charset - ' <[abcd]> ' - AST okay (len: 10) ok 26 - TEST 26: charset - ' <[ab]-[a]> ' - AST okay (len: 12) ok 27 - TEST 27: dot - ' . ' - AST okay (len: 3) ok 28 - TEST 28: non-greedy closures - ' a*? ' - AST okay (len: 5) t/ast/00-basic.t_ generated. ok t/declare/00-demo........ 1..45 ok 1 - TEST 1: basic - match 1 - .* <=> 'xyzw' ok 2 - TEST 1: basic - match 1 - res $() : xyzw ok 3 - TEST 1: basic - match 1 - res $/.from : 0 ok 4 - TEST 1: basic - match 1 - res $/.to : 4 ok 5 - TEST 2: - match 1 - ((.).). <=> 'abc' ok 6 - TEST 2: - match 1 - res $/ : abc ok 7 - TEST 2: - match 1 - res $() : abc ok 8 - TEST 2: - match 1 - res $0 : ab ok 9 - TEST 2: - match 1 - res $0.from : 0 ok 10 - TEST 2: - match 1 - res $0.to : 2 ok 11 - TEST 2: - match 1 - res $($0) : ab ok 12 - TEST 2: - match 1 - res $0[0] : a ok 13 - TEST 2: - match 1 - res $($0[0]) : a ok 14 - TEST 2: - match 1 - res $0.[ 0 ] : a ok 15 - TEST 2: - match 1 - res $0[0].from : 0 ok 16 - TEST 2: - match 1 - res $0[0].to : 1 ok 17 - TEST 2: - match 1 - res $0[1] : ok 18 - TEST 2: - match 1 - res $/.from() : 0 ok 19 - TEST 2: - match 1 - res $/.to( ) : 3 ok 20 - TEST 2: - match 2 - ((.).). <=> '1a2b' ok 21 - TEST 2: - match 2 - res $/ : "1a2" ok 22 - TEST 2: - match 2 - res $0 : '1a' ok 23 - TEST 2: - match 2 - res $0[0] : '1' ok 24 - TEST 2: - match 3 - ((.).). <=> ' # a' ok 25 - TEST 2: - match 3 - res $() : "\t\na" ok 26 - TEST 2: - unmatch - ((.).). <=> ab ok 27 - TEST 2: - unmatch - ((.).). <=> , ok 28 - TEST 2: - unmatch - ((.).). <=> '" ok 29 - TEST 3: named subrule - match 1 - $ := [.](.) <=> 'abc' ok 30 - TEST 3: named subrule - match 1 - res $ : 'a' ok 31 - TEST 3: named subrule - match 1 - res $/ : 'a' ok 32 - TEST 3: named subrule - match 1 - res $/. : 'a' ok 33 - TEST 3: named subrule - match 1 - res $/{'z'} : 'a' ok 34 - TEST 3: named subrule - match 1 - res $/{"z"} : 'a' ok 35 - TEST 3: named subrule - match 1 - res $/.{ 'z' } : 'a' ok 36 - TEST 3: named subrule - match 1 - res $0 : b ok 37 - TEST 3: named subrule - match 1 - res $/[0] : 'b' ok 38 - TEST 3: named subrule - match 1 - res $/.[0] : "b" ok 39 - TEST 3: named subrule - match 1 - res $/[1] : ok 40 - TEST 3: named subrule - match 2 - $ := [.](.) <=> ' # ' ok 41 - TEST 3: named subrule - match 2 - res $.from : 0 ok 42 - TEST 3: named subrule - match 2 - res $.to : 1 ok 43 - TEST 3: named subrule - match 2 - res $0.from : 1 ok 44 - TEST 3: named subrule - match 2 - res $0.to : 2 ok 45 - TEST 3: named subrule - match 2 - res $() : "\t\n" ok t/declare/01-sigspace.... 1..10 ok 1 - TEST 1: - match 1 - ab cd <=> 'ab cd' ok 2 - TEST 1: - match 2 - ab cd <=> 'ab cd' ok 3 - TEST 2: - match 1 - ab '=' <=> 'ab=' ok 4 - TEST 2: - match 2 - ab '=' <=> 'ab =' ok 5 - TEST 2: - match 3 - ab '=' <=> 'ab =' ok 6 - TEST 3: - match 1 - ab ';' <=> 'ab;' ok 7 - TEST 3: - match 2 - ab ';' <=> 'ab ;' ok 8 - TEST 4: - match 1 - ';' <=> 'abc;' ok 9 - TEST 4: - match 2 - ';' <=> 'abc ;' ok 10 - TEST 5: - match 1 - grammar ';' <=> 'grammar Perl6;' ok t/emitter/00-ratchet..... 1..53 ok 1 - TEST 1: - global ok ok 2 - TEST 1: - constant ok ok 3 - TEST 1: - layout ok ok 4 - TEST 2: - alt ok ok 5 - TEST 2: - constant ok ok 6 - TEST 2: - constant ok ok 7 - TEST 2: - layout ok ok 8 - TEST 3: concat - concat ok ok 9 - TEST 3: concat - layout ok ok 10 - TEST 4: metasyntax '...' - constant ok ok 11 - TEST 4: metasyntax '...' - layout ok ok 12 - TEST 5: metasyntax <$...> - metasyntax ok ok 13 - TEST 5: metasyntax <$...> - layout ok ok 14 - TEST 6: metasyntax <@...> - metasyntax ok ok 15 - TEST 6: metasyntax <@...> - layout ok ok 16 - TEST 7: metasyntax <%...> - metasyntax ok ok 17 - TEST 7: metasyntax <%...> - variable ok ok 18 - TEST 7: metasyntax <%...> - layout ok ok 19 - TEST 8: metasyntax - closure ok ok 20 - TEST 8: metasyntax - layout ok ok 21 - TEST 9: alt - alt ok ok 22 - TEST 9: alt - layout ok ok 23 - TEST 10: special chars - concat ok ok 24 - TEST 10: special chars - perl5 ok ok 25 - TEST 10: special chars - perl5 ok ok 26 - TEST 10: special chars - layout ok ok 27 - TEST 11: closures - closure ok ok 28 - TEST 11: closures - layout ok ok 29 - TEST 12: closure quantifier - quant ok ok 30 - TEST 12: closure quantifier - layout ok ok 31 - TEST 13: quantifier + - quant ok ok 32 - TEST 13: quantifier + - layout ok ok 33 - TEST 14: quantifier ? - quant ok ok 34 - TEST 14: quantifier ? - layout ok ok 35 - TEST 15: subrule () - named_capture ok ok 36 - TEST 15: subrule () - layout ok ok 37 - TEST 16: subrule (<.foo>) - metasyntax ok ok 38 - TEST 16: subrule (<.foo>) - layout ok ok 39 - TEST 17: subrule (quanlified) - named_capture ok ok 40 - TEST 17: subrule (quanlified) - layout ok ok 41 - TEST 18: capure (...) - capture ok ok 42 - TEST 18: capure (...) - layout ok ok 43 - TEST 19: named capure ( ... ) - named_capture ok ok 44 - TEST 19: named capure ( ... ) - capture ok ok 45 - TEST 19: named capure ( ... ) - layout ok ok 46 - TEST 20: non-capture groups - constant ok ok 47 - TEST 20: non-capture groups - layout ok ok 48 - TEST 20: non-capture groups - constant ok ok 49 - TEST 20: non-capture groups - layout ok ok 50 - TEST 21: named capture + [ ... ] - named_capture ok ok 51 - TEST 21: named capture + [ ... ] - layout ok ok 52 - TEST 22: - negate ok ok 53 - TEST 22: - layout ok t/emitter/00-ratchet.t_ generated. ok All tests successful. Files=28, Tests=777, 68 wallclock secs ( 0.38 usr + 1.09 sys = 1.47 CPU) Result: PASS FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz nmake test TEST_VERBOSE=1 -- OK Picked up version from Makefile Picked up distname from Makefile Picked up abstract from Makefile Flavio Soibelmann Glock <fglock@gmail.com> Compiler for Perl 6 regexes >>> (cd C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR && tar cvf - Pugs-Compiler-Rule-0.33.ppd blib) | gzip -c >C:/cpanfly/var/REPO/F/FG/FGLOCK/Pugs-Compiler-Rule-0.33.tar.gz Pugs-Compiler-Rule-0.33.ppd blib/ blib/lib/ blib/lib/Pugs/ blib/lib/Pugs/AST/ blib/lib/Pugs/AST/Expression.pm blib/lib/Pugs/Compiler/ blib/lib/Pugs/Compiler/Grammar.pm blib/lib/Pugs/Compiler/Regex.pm blib/lib/Pugs/Compiler/RegexPerl5.pm blib/lib/Pugs/Compiler/Rule.pm blib/lib/Pugs/Compiler/Token.pm blib/lib/Pugs/Emitter/ blib/lib/Pugs/Emitter/Grammar/ blib/lib/Pugs/Emitter/Grammar/Perl5.pm blib/lib/Pugs/Emitter/Rule/ blib/lib/Pugs/Emitter/Rule/._Perl5.pm blib/lib/Pugs/Emitter/Rule/Parsec.pm blib/lib/Pugs/Emitter/Rule/Perl5/ blib/lib/Pugs/Emitter/Rule/Perl5/._CharClass.pm blib/lib/Pugs/Emitter/Rule/Perl5/CharClass.pm blib/lib/Pugs/Emitter/Rule/Perl5/Ratchet.pm blib/lib/Pugs/Emitter/Rule/Perl5/Regex.pm blib/lib/Pugs/Emitter/Rule/Perl5.pm blib/lib/Pugs/Emitter/Rule/Perl6/ blib/lib/Pugs/Emitter/Rule/Perl6/Ratchet.pm blib/lib/Pugs/Grammar/ blib/lib/Pugs/Grammar/._Base.pm blib/lib/Pugs/Grammar/Base.pm blib/lib/Pugs/Grammar/Precedence.pm blib/lib/Pugs/Grammar/Rule.pm blib/lib/Pugs/Grammar/Rule.pmc blib/lib/Pugs/Grammar/Rule2.pm blib/lib/Pugs/Grammar/RulePure.pm blib/lib/Pugs/Runtime/ blib/lib/Pugs/Runtime/._Regex.pm blib/lib/Pugs/Runtime/Common.pm blib/lib/Pugs/Runtime/Match/ blib/lib/Pugs/Runtime/Match/HsBridge.pm blib/lib/Pugs/Runtime/Match.pm blib/lib/Pugs/Runtime/Regex.pm blib/lib/Pugs/Runtime/Rule.pm blib/lib/Pugs/Runtime/StrPos.pm blib/lib/Pugs/Runtime/Tracer.pm blib/script/ blib/script/compile_p6grammar.bat blib/script/compile_p6grammar.pl >>> mv C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/Pugs-Compiler-Rule-0.33.ppd C:/cpanfly/var/REPO/F/FG/FGLOCK Running make for F/FG/FGLOCK/v6-0.024.tar.gz Prepending C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/arch C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly\var\cpan\build\v6-0.024-Tzm9yd Prepending C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/arch C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/lib to PERL5LIB for 'make' CPAN.pm: Going to build F/FG/FGLOCK/v6-0.024.tar.gz >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Pugs/Grammar/StatementModifier.pm blib\lib\Pugs\Grammar\StatementModifier.pm cp lib/Pugs/Grammar/Perl6.pm blib\lib\Pugs\Grammar\Perl6.pm cp lib/Pugs/Runtime/Perl6AST.pm blib\lib\Pugs\Runtime\Perl6AST.pm cp lib/Pugs/Grammar/Operator.pm blib\lib\Pugs\Grammar\Operator.pm cp lib/Pugs/Emitter/Perl6/._Perl5.pm blib\lib\Pugs\Emitter\Perl6\._Perl5.pm cp lib/Pugs/Grammar/Quote.pm blib\lib\Pugs\Grammar\Quote.pm cp lib/Pugs/Grammar/P6Rule.pm blib\lib\Pugs\Grammar\P6Rule.pm cp lib/Pugs/Grammar/Expression.pm blib\lib\Pugs\Grammar\Expression.pm cp lib/Module/CompileV6.pm blib\lib\Module\CompileV6.pm cp lib/Pugs/Grammar/Postcircumfix.pm blib\lib\Pugs\Grammar\Postcircumfix.pm cp lib/Pugs/Grammar/._Term.pm blib\lib\Pugs\Grammar\._Term.pm cp lib/Pugs/Emitter/Perl6/Perl5.pm blib\lib\Pugs\Emitter\Perl6\Perl5.pm cp lib/Pugs/Runtime/Perl6AST.pmc blib\lib\Pugs\Runtime\Perl6AST.pmc cp lib/Pugs/Runtime/._Perl6.pm blib\lib\Pugs\Runtime\._Perl6.pm cp lib/Pugs/Grammar/Postfix.pm blib\lib\Pugs\Grammar\Postfix.pm cp lib/Pugs/Grammar/._Quote.pm blib\lib\Pugs\Grammar\._Quote.pm cp lib/Pugs/Compiler/Perl6.pm blib\lib\Pugs\Compiler\Perl6.pm cp lib/Pugs/Grammar/StatementControl.pm blib\lib\Pugs\Grammar\StatementControl.pm cp lib/Pugs/Grammar/YAML.pm blib\lib\Pugs\Grammar\YAML.pm cp lib/Pugs/Runtime/Perl6Prelude.pmc blib\lib\Pugs\Runtime\Perl6Prelude.pmc cp lib/Pugs/Runtime/Perl5Container.pm blib\lib\Pugs\Runtime\Perl5Container.pm cp lib/Pugs/Runtime/Perl6.pm blib\lib\Pugs\Runtime\Perl6.pm cp lib/v6.pm blib\lib\v6.pm cp lib/Pugs/Grammar/Pod.pm blib\lib\Pugs\Grammar\Pod.pm cp lib/Pugs/Grammar/BaseCategory.pm blib\lib\Pugs\Grammar\BaseCategory.pm cp lib/Pugs/Grammar/Ternary.pm blib\lib\Pugs\Grammar\Ternary.pm cp lib/Pugs/Runtime/Perl6Prelude.pm blib\lib\Pugs\Runtime\Perl6Prelude.pm cp lib/Pugs/Grammar/Circumfix.pm blib\lib\Pugs\Grammar\Circumfix.pm cp lib/Pugs/Grammar/Infix.pm blib\lib\Pugs\Grammar\Infix.pm cp hello_world.pl blib\lib\hello_world.pl cp lib/Pugs/Grammar/Term.pm blib\lib\Pugs\Grammar\Term.pm cp lib/Pugs/Grammar/Prefix.pm blib\lib\Pugs\Grammar\Prefix.pm cp lib/Pugs/Emitter/YAML.pm blib\lib\Pugs\Emitter\YAML.pm FGLOCK/v6-0.024.tar.gz nmake -- OK Prepending C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/arch C:\cpanfly\var\cpan\build\Pugs-Compiler-Rule-0.33-lzCBxR/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "%ENV=(%ENV,qw( PERL6LIB ./t) );test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t\01-sanity\01-tap.t t\01-sanity\02-counter.t t\01-sanity\03-equal.t t\01-sanity\04-if.t t\01-sanity\05-sub.t t\01-sanity\06-use.t t\01-sanity\07-binding.t t\01-sanity\07-defined.t t\01-sanity\07-end-blocks.t t\01-sanity\07-for.t t\01-sanity\07-isa.t t\01-sanity\07-range.t t\01-sanity\07-ref.t t\01-sanity\07-simple-multisubs.t t\01-sanity\07-split.t t\01-sanity\07-substr.t t\01-sanity\07-try.t t\02-test-pm\0-compile.t t\02-test-pm\2-force_todo.t t\02-test-pm\3-output.t t\blocks\bare_block_with_dollar_underscore.t t\blocks\defaults.t t\blocks\meth_vs_sub_call.t t\blocks\nested_named.t t\blocks\primitive_named_params.t t\blocks\splatty_with_type.t t\closure_traits\exit_in_begin.t t\examples\golf.t t\operators\brainos.t t\operators\relational.t t\operators\spaceship_and_datatypes.t t\packages\reflection.t t\regex\rx_perl5_escape.t t\regex\smartparse.t t\statements\until.t t\statements\values_in_bool_context.t t\syntax\lf_in_list.t t\syntax\single_quoted_strings.t t\var\lvalue_deep_brackets.t t\var\passing_the_pair_class_to_a_sub.t t\xx-uncategorized\empty_kwid.t t\xx-uncategorized\lexical-array-in-inner-block.t t\xx-uncategorized\return_in_anonymous_subs.t t\xx-uncategorized\short_circuiting.t t\xx-uncategorized\smartmatch_rx_obstacle.t t\builtins\math\pi_internals.t t\examples\99problems\problem38.t t\examples\99problems\problem47.t t\examples\99problems\problem48.t t\examples\99problems\problem55.t t\examples\99problems\problem57.t t\examples\99problems\problem58.t t\examples\99problems\problem59.t t\examples\99problems\problem60.t t\examples\99problems\problem63.t t\examples\99problems\problem66.t t\examples\99problems\problem68.t t\examples\99problems\problem69.t t\examples\99problems\problem70.t t\examples\99problems\problem71.t t\examples\99problems\problem72.t t\examples\99problems\problem73.t t\examples\99problems\problem80.t t\examples\99problems\problem81.t t\examples\99problems\problem82.t t\examples\99problems\problem83.t t\examples\99problems\problem84.t t\examples\99problems\problem85.t t\examples\99problems\problem86.t t\examples\99problems\problem87.t t\examples\99problems\problem88.t t\examples\99problems\problem89.t t\examples\99problems\problem92.t t\examples\99problems\problem93.t t\examples\99problems\problem94.t t\examples\99problems\problem96.t t\oo\roles\instantiation.t t\regex\from_perl6_rules\anchors.t t\regex\from_perl6_rules\inline.t t\regex\from_perl6_rules\named_chars-00.t t\regex\from_perl6_rules\named_chars-01.t t\regex\from_perl6_rules\noncap.t t\regex\from_perl6_rules\propcharset-00.t t\regex\from_perl6_rules\propcharset-01.t t\regex\from_perl6_rules\propcharset-02.t t\regex\from_perl6_rules\propcharset-03.t t\regex\from_perl6_rules\propcharset-04.t t\regex\from_perl6_rules\propcharset-05.t t\regex\from_perl6_rules\propcharset-06.t t\regex\from_perl6_rules\propcharset-07.t t\regex\from_perl6_rules\propcharset-08.t t\regex\from_perl6_rules\propcharset-09.t t\regex\from_perl6_rules\propcharset-10.t t\regex\from_perl6_rules\propcharset-11.t t\regex\from_perl6_rules\propcharset-12.t t\spec\S02-builtin_data_types\array_extending.t t\spec\S02-builtin_data_types\nested_arrays.t t\spec\S04-statements\until.t t\spec\S10-packages\import.t t\spec\S12-class\inheritance-class-methods.t t\spec\S12-role\composition.t t\spec\S16-filehandles\open.t t\spec\S16-io\say.t t\spec\S29-any\cmp.t t\spec\S29-array\exists.t t\spec\S29-context\exit-in-if.t t\spec\S29-context\exit.t t\spec\S29-list\mutating_listops.t t\spec\S29-str\append.t t\statements\modifiers\if.t t\statements\modifiers\unless.t t\syntax\parsing\braces_in_rules.t t\syntax\parsing\braces_in_strings.t t\syntax\parsing\filetest.t t\syntax\parsing\non-dotted-new-disallowed.t t\syntax\parsing\pod_in_multi_line_exprs.t t\syntax\parsing\postfix_if_and_is.t t\01-sanity\01-tap................................. 1..10 ok 1 ok 2 ok 3 # comment ok 4 ok 5 ok 6 foo ok 7 # SKIP ok 8 # SKIP bar not ok 9 # TODO not ok 10 # TODO baz ok t\01-sanity\02-counter............................. 1..4 ok 1 ok 2 ok 3 ok 4 ok t\01-sanity\03-equal............................... 1..4 ok 1 ok 2 ok 3 ok 4 ok t\01-sanity\04-if.................................. 1..2 ok 1 ok 2 ok t\01-sanity\05-sub................................. 1..4 ok 1 ok 2 ok 3 ok 4 ok t\01-sanity\06-use................................. 1..1 ok 1 ok t\01-sanity\07-binding............................. 1..3 ok 1 ok 2 ok 3 ok t\01-sanity\07-defined............................. 1..2 ok 1 ok 2 ok t\01-sanity\07-end-blocks.......................... 1..2 ok 1 ok 2 ok t\01-sanity\07-for................................. 1..9 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok t\01-sanity\07-isa................................. 1..3 ok 1 ok 2 ok 3 ok t\01-sanity\07-range............................... 1..4 ok 1 ok 2 ok 3 ok 4 ok t\01-sanity\07-ref................................. 1..3 ok 1 ok 2 ok 3 ok t\01-sanity\07-simple-multisubs.................... 1..2 ok 1 ok 2 ok t\01-sanity\07-split............................... 1..4 ok 1 ok 2 ok 3 ok 4 ok t\01-sanity\07-substr.............................. 1..1 ok 1 ok t\01-sanity\07-try................................. 1..4 ok 1 ok 2 ok 3 ok 4 ok t\02-test-pm\0-compile............................. 1..1 ok 1 ok t\02-test-pm\2-force_todo..........................# Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO 1) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef # Failed (TODO for release) test ($?CALLER::CALLER::CALLER::POSITION) # Actual: undef 1..11 not ok 1 - This will fail, but will be forced-TODO by force_todo() # TODO for release ok 2 - This will pass normally not ok 3 - This will fail, but will be forced-TODO by force_todo() # TODO for release ok 4 - This will pass normally not ok 5 - This will TODO fail, and will be forced-TODO by force_todo() # TODO 1 ok 6 - This will pass normally not ok 7 - This will fail, and will be forced-TODO by force_todo() # TODO for release not ok 8 - This will fail, and will be forced-TODO by force_todo() # TODO for release not ok 9 - This will fail, and will be forced-TODO by force_todo() # TODO for release ok 10 - This will pass normally not ok 11 - This will fail, and will be forced-TODO by force_todo() # TODO for release ok t\02-test-pm\3-output.............................. 1..1 ok 1 - # SKIP skipping because redirection is not portable ok t\blocks\bare_block_with_dollar_underscore......... 1..1 ok 1 - bare blocks containing $_ work correctly ok t\blocks\defaults.................................. 1..2 ok 1 - default sub called ok 2 - default sub called in package namespace ok t\blocks\meth_vs_sub_call.......................... 1..3 ok 1 - method with colon notation ok 2 - method with dot notation ok 3 - adding trailing comma should call the "sub" ok t\blocks\nested_named.............................. 1..3 ok 1 - Checking semantics... 1 ok 2 - Checking semantics... 2 ok 3 - Checking semantics... 0 ok t\blocks\primitive_named_params....................Name "main::SUB_MULTI_REGISTRY" used only once: possible typo at C:/cpanfly/var/megalib/Sub/Multi.pm line 69. 1..1 ok 1 - named args in primitive subs ok t\blocks\splatty_with_type......................... 1..1 ok 1 - invoking a splatty sub ok t\builtins\math\pi_internals....................... 1..1 ok 1 ok t\closure_traits\exit_in_begin..................... 1..2 ok 1 - $failed not yet initialized in BEGIN {} ok 2 - exit() works in BEGIN {} - $fail not yet initialized at END time ok t\examples\99problems\problem38.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (*) Compare the two methods of calculating Euler's totient function. ok t\examples\99problems\problem47.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (*) Truth tables for logical expressions (2). ok t\examples\99problems\problem48.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Truth tables for logical expressions (3). ok t\examples\99problems\problem55.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Construct completely balanced binary trees ok t\examples\99problems\problem57.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Binary search trees (dictionaries) ok t\examples\99problems\problem58.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Generate-and-test paradigm ok t\examples\99problems\problem59.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Construct height-balanced binary trees ok t\examples\99problems\problem60.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Construct height-balanced binary trees with a given number of nodes ok t\examples\99problems\problem63.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Construct a complete binary tree ok t\examples\99problems\problem66.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (***) Layout a binary tree (3) ok t\examples\99problems\problem68.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Preorder and inorder sequences of binary trees ok t\examples\99problems\problem69.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Dotstring representation of binary trees ok t\examples\99problems\problem70.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Tree construction from a node string ok t\examples\99problems\problem71.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (*) Determine the internal path length of a tree ok t\examples\99problems\problem72.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (*) Construct the bottom-up order sequence of the tree nodes ok t\examples\99problems\problem73.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (**) Lisp-like tree representation ok t\examples\99problems\problem80.................... 1..1 ok 1 - # SKIP Test(s) not yet written: (***) Conversions ok t\examples\99problems\problem81....................