[parrot/parrot] feb6b7: [test] add testcase for double-quoted lex names GH...

GitHub noreply at github.com
Thu Oct 16 07:37:13 UTC 2014


  Branch: refs/heads/rurban/lexqnames-gh1095-dev
  Home:   https://github.com/parrot/parrot
  Commit: feb6b70170d0123a39c6c11194ffc510b919b79d
      https://github.com/parrot/parrot/commit/feb6b70170d0123a39c6c11194ffc510b919b79d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M t/compilers/imcc/syn/clash.t

  Log Message:
  -----------
  [test] add testcase for double-quoted lex names GH #1095

in perl6 the correctly double-quoted .lex "foo\\o", $P3 name fails to work.
see https://rt.perl.org/Public/Bug/Display.html?id=116643
this might be caused by the switch from globals to lexicals, as this statement
is now enclosed in a block.

in parrot the binary character \0 causes problems in lexnames with roundtrips.


  Commit: dc87ae141d6d0df7937a60c4dcc1f03173a9881a
      https://github.com/parrot/parrot/commit/dc87ae141d6d0df7937a60c4dcc1f03173a9881a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M ChangeLog
    M src/pmc/lexinfo.pmc
    M t/compilers/imcc/syn/clash.t
    M t/pmc/lexinfo.t

  Log Message:
  -----------
  [test] Added LexInfo.declare_lex_preg and more imcc/syn/clash.t tests

For GH #1095

global names do work fine, only lexicals not.
Note I do not know how to reliable get the correct target register index for
declare_lex_preg in pure pir, and how to initialize it.
Setting it crashes the ctx.


  Commit: 930a54dab4cf48791861b524b29ff1fc3a041598
      https://github.com/parrot/parrot/commit/930a54dab4cf48791861b524b29ff1fc3a041598
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M t/compilers/imcc/syn/clash.t

  Log Message:
  -----------
  [test] add testcase for immc parser bug even with globals

Also updated [GH #1095]


  Commit: f5879fe86408e82a676ae9bd5726733215edfa4c
      https://github.com/parrot/parrot/commit/f5879fe86408e82a676ae9bd5726733215edfa4c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M t/compilers/imcc/syn/clash.t

  Log Message:
  -----------
  [test] just clarifying comments about the parser


  Commit: cc5d9d76c718bf1bf30e30994861bd1bdb4ee151
      https://github.com/parrot/parrot/commit/cc5d9d76c718bf1bf30e30994861bd1bdb4ee151
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/imcc/imcparser.h
    M compilers/imcc/pbc.c
    M compilers/imcc/symreg.c
    M src/ops/core_ops.c
    M src/pmc/lexpad.pmc
    M t/pmc/lexinfo.t

  Log Message:
  -----------
  WIP development only: add -t8 flag, unescape in mk_const

see https://github.com/parrot/parrot/issues/1095#issuecomment-58470471


  Commit: d7091436ccb892172a0c58a992f234014a5482ac
      https://github.com/parrot/parrot/commit/d7091436ccb892172a0c58a992f234014a5482ac
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  WIP mk_const and str_unescape: skip "


  Commit: 4a8042049fe9944bef92cef5393c8a500222b07c
      https://github.com/parrot/parrot/commit/4a8042049fe9944bef92cef5393c8a500222b07c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/imcc/imcparser.h
    M compilers/imcc/pbc.c
    M compilers/imcc/pbc.h
    M runtime/parrot/library/P6object.pir
    M src/string/api.c
    M t/compilers/imcc/syn/clash.t

  Log Message:
  -----------
  WIP: fixed the tests, but broke parrot

allow and handle now empty strings im imcc, fix
quoted sub names


  Commit: a08e4f8becc59afed299697b10f61596b1475bc5
      https://github.com/parrot/parrot/commit/a08e4f8becc59afed299697b10f61596b1475bc5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/pbc.c
    M src/string/api.c

  Log Message:
  -----------
  imcc encodings: fix unicode encoded constants


  Commit: 257b0338586f9883d99ef3125cc2a8a5c1ea048f
      https://github.com/parrot/parrot/commit/257b0338586f9883d99ef3125cc2a8a5c1ea048f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] fix .sub name last char


  Commit: 3096f88ea359a9835bc534e3b332ba67a2a86088
      https://github.com/parrot/parrot/commit/3096f88ea359a9835bc534e3b332ba67a2a86088
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/debug.c
    M compilers/imcc/pbc.c
    M compilers/imcc/symreg.c
    M t/op/basic.t

  Log Message:
  -----------
  [imcc] fix -d8 dump_instructions, fix double unescaping

string_from_reg may not unescape the const again. fixes t/op/basic_6.pasm
change t/op/basic_9.pasm to catch the new Unknown escape sequence \i in Parrot fl\ies


  Commit: df23fffbd5de1215b6f1e620ff4dcc0d16f6f23a
      https://github.com/parrot/parrot/commit/df23fffbd5de1215b6f1e620ff4dcc0d16f6f23a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/debug.h
    M compilers/imcc/imcc.y
    M compilers/imcc/pbc.c
    M compilers/imcc/symreg.c
    M include/parrot/interpreter.h

  Log Message:
  -----------
  [imcc] fix U type in sub fixup

Honor mk_const Slp, do not change S to U when called a 2nd time as S
with already stripped quotes.

Change -t8 private trace flag to -d2 proper imcc flag for mk_const tracking
Add more debugging verboseness.


  Commit: dc829f182132d7c4c97ec3b854e4f7bdf8e2d24a
      https://github.com/parrot/parrot/commit/dc829f182132d7c4c97ec3b854e4f7bdf8e2d24a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/optimizer.c
    M compilers/imcc/parser_util.c
    M compilers/imcc/pbc.c
    M compilers/imcc/pcc.c
    M compilers/imcc/symreg.c
    M compilers/imcc/symreg.h

  Log Message:
  -----------
  [imcc] the plot thickens. pass the ghash|0 to _mk_const

do not unescape binary strings containing 0


  Commit: adaf39c5d99c0dc5288fd0edce4891a7f4b34918
      https://github.com/parrot/parrot/commit/adaf39c5d99c0dc5288fd0edce4891a7f4b34918
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/pbc.c
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] 2 more -t8 leftovers over to -d2

Note that currently string_from_reg is the best place to resolve
encoded U strings, as registers store them the same way as in symreg constants.
But we should optimimze that to be more efficient, see GH #1097


  Commit: 907ab3063150eb1d28a4d4e227bdfc295613420c
      https://github.com/parrot/parrot/commit/907ab3063150eb1d28a4d4e227bdfc295613420c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] represent constants with \0 as fixed_8:"\x00"


  Commit: 724b6f1af222368c735bed13c34bd75db177e293
      https://github.com/parrot/parrot/commit/724b6f1af222368c735bed13c34bd75db177e293
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] oops


  Commit: 72fe20fb2ead2cb73ec654a31091ccda7a5b893c
      https://github.com/parrot/parrot/commit/72fe20fb2ead2cb73ec654a31091ccda7a5b893c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/pbc.c
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] fix subid quote stripping

still a battlefield are pmc_const's
which are unquoted, unescaped possibly twice,
and then converted to pmc values.


  Commit: e3eb2cf7c8afa9257294b40e87e52fcf7ba7da31
      https://github.com/parrot/parrot/commit/e3eb2cf7c8afa9257294b40e87e52fcf7ba7da31
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/symreg.c
    M compilers/imcc/symreg.h

  Log Message:
  -----------
  [imcc] add mk_string, unify string quote and unescape handling

Also for mk_sub_address_fromc, _mk_adress, do_loadlib, .lex, mk_const_ident.
This broke the string GC somewhow.


  Commit: 9b6bee791c006616215b3628e2d4d72924b06a83
      https://github.com/parrot/parrot/commit/9b6bee791c006616215b3628e2d4d72924b06a83
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c
    M compilers/imcc/symreg.h

  Log Message:
  -----------
  [imcc] fix assertion for empty _mk_const names

compiles now, just parrot2 still broken


  Commit: cdcbc84408a533970a4968cbeb2c619e0898436e
      https://github.com/parrot/parrot/commit/cdcbc84408a533970a4968cbeb2c619e0898436e
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] how to handle empty string constants in _mk_symreg?


  Commit: 3d3d6b8ec5b9689bb222bbdcec84eb10c2660752
      https://github.com/parrot/parrot/commit/3d3d6b8ec5b9689bb222bbdcec84eb10c2660752
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c

  Log Message:
  -----------
  [imcc] hack to allow NULL strings in sym hash


  Commit: 97806b42b0733da26729c0b1a2103ef321f2f9a2
      https://github.com/parrot/parrot/commit/97806b42b0733da26729c0b1a2103ef321f2f9a2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c
    M src/string/api.c

  Log Message:
  -----------
  [cage] codingstd, comments


  Commit: f40fbc1384ecd160b8ec9fefbfc37577f7306763
      https://github.com/parrot/parrot/commit/f40fbc1384ecd160b8ec9fefbfc37577f7306763
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/imcc/imcparser.h

  Log Message:
  -----------
  [imcc] fix imcc.y syntax error


  Commit: 6fe8b124da46d423fafb42673fb95ede5af2df26
      https://github.com/parrot/parrot/commit/6fe8b124da46d423fafb42673fb95ede5af2df26
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/symreg.c
    M src/packfile/output.c
    M src/packfile/segments.c
    M t/compilers/imcc/syn/clash.t

  Log Message:
  -----------
  [test] fix imcc clash.t tests

all pass now

also work on catching a valgrind problem
unitialized buffer of size 8 written to pbc
with the last CONSTANT bytecode buffer element in default_pack.
valgrind ./parrot_old -t8 -o runtime/parrot/library/PGE/Dumper.pbc runtime/parrot/library/PGE/Dumper.pir


  Commit: 53c92b448822166facbf19dc7de1ced3f347b804
      https://github.com/parrot/parrot/commit/53c92b448822166facbf19dc7de1ced3f347b804
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M compilers/imcc/imcc.y
    M compilers/imcc/imclexer.c
    M compilers/imcc/imcparser.c
    M compilers/imcc/imcparser.h
    M compilers/imcc/pbc.c
    M compilers/imcc/pcc.c
    M config/gen/makefiles/root.in
    M config/init/defaults.pm
    M config/init/hints/darwin.pm

  Log Message:
  -----------
  [imcc] fix integerarray encoding and loadlib

now only winxed troubles over a null hash key, and
several minor test errors


Compare: https://github.com/parrot/parrot/compare/524417465113...53c92b448822


More information about the parrot-commits mailing list