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

GitHub noreply at github.com
Wed Oct 15 10:22:08 UTC 2014


  Branch: refs/heads/rurban/lexqnames-gh1095-dev
  Home:   https://github.com/parrot/parrot
  Commit: 8766340d1f5f509c9d37fb8b0cc8cb084dfb12c9
      https://github.com/parrot/parrot/commit/8766340d1f5f509c9d37fb8b0cc8cb084dfb12c9
  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: 28d010c93b1d3ee2e7bed74e1ab37fabc5b24511
      https://github.com/parrot/parrot/commit/28d010c93b1d3ee2e7bed74e1ab37fabc5b24511
  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: 59075c62b724d3e9f5ed40834b6fe09f55e0d9ea
      https://github.com/parrot/parrot/commit/59075c62b724d3e9f5ed40834b6fe09f55e0d9ea
  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: 1385899ea0eef5ccdb9264594fd697894214f03b
      https://github.com/parrot/parrot/commit/1385899ea0eef5ccdb9264594fd697894214f03b
  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: ba71b81a31fc9a0681103ea710d8e36ac0173cfe
      https://github.com/parrot/parrot/commit/ba71b81a31fc9a0681103ea710d8e36ac0173cfe
  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: 3ba81ecbe9f44b633ff6f4e8be0230f706fbb7cc
      https://github.com/parrot/parrot/commit/3ba81ecbe9f44b633ff6f4e8be0230f706fbb7cc
  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: af3221e86429065e366ab389be8d5b3b92b3f249
      https://github.com/parrot/parrot/commit/af3221e86429065e366ab389be8d5b3b92b3f249
  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: 9eede01cdc1ed4eb54c8a7a92bd8d0bb581ac9a4
      https://github.com/parrot/parrot/commit/9eede01cdc1ed4eb54c8a7a92bd8d0bb581ac9a4
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M src/string/api.c

  Log Message:
  -----------
  different string escape policy now

die now with unknown escape sequences A-Za-z,
but allow quoting of special non-word chars, like
\", \[, \}


  Commit: 3e37604b80d1a600ee3df860fae917080625bc6a
      https://github.com/parrot/parrot/commit/3e37604b80d1a600ee3df860fae917080625bc6a
  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: 13ace90b06be51368747697d2fc9e0f9ab3b9434
      https://github.com/parrot/parrot/commit/13ace90b06be51368747697d2fc9e0f9ab3b9434
  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: 98e43113f3615b589cc85ac94be3fc1dcc2e76ce
      https://github.com/parrot/parrot/commit/98e43113f3615b589cc85ac94be3fc1dcc2e76ce
  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: 25e3e434bdc8fb000dd098622b70aaa6668ab5de
      https://github.com/parrot/parrot/commit/25e3e434bdc8fb000dd098622b70aaa6668ab5de
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-15 (Wed, 15 Oct 2014)

  Changed paths:
    M src/string/api.c
    M t/compilers/imcc/syn/const.t
    M t/op/basic.t

  Log Message:
  -----------
  Add throw_illegal_escape_char, add arg to throw_illegal_escape

Harmonize Illegal escape sequence \\%c in %Ss and
Illegal escape sequence %Ss error messages.
Also allow \? \

Note that the C standard requires such "invalid" escape sequences
to be diagnosed i.e., the compiler must print an error message.


  Commit: 20f74c784824e8910a792897e10d7baa709ca08a
      https://github.com/parrot/parrot/commit/20f74c784824e8910a792897e10d7baa709ca08a
  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: c38c3337f3bca52de7329cb3fb3a8dee67986766
      https://github.com/parrot/parrot/commit/c38c3337f3bca52de7329cb3fb3a8dee67986766
  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
    M src/string/api.c

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

do not unescape binary strings containing 0


  Commit: 4cdb8ea7db07031f7e2870e05e01e5fec2f392a1
      https://github.com/parrot/parrot/commit/4cdb8ea7db07031f7e2870e05e01e5fec2f392a1
  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: a8dc2c384b64c41266b3f5414f0bf46b49dc4d1a
      https://github.com/parrot/parrot/commit/a8dc2c384b64c41266b3f5414f0bf46b49dc4d1a
  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: 53a21c553dc02a649a9be1e46520089853463f0e
      https://github.com/parrot/parrot/commit/53a21c553dc02a649a9be1e46520089853463f0e
  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: 72d101a6f28c1001d75af78177d91cec32c70284
      https://github.com/parrot/parrot/commit/72d101a6f28c1001d75af78177d91cec32c70284
  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: 513ae44fba59c56ea211c966ac40b26dc95ee969
      https://github.com/parrot/parrot/commit/513ae44fba59c56ea211c966ac40b26dc95ee969
  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: 85509fb34496e7b02dfcb4f36dab6b0e4c540cfe
      https://github.com/parrot/parrot/commit/85509fb34496e7b02dfcb4f36dab6b0e4c540cfe
  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: 70fc2916d41f15bf64ed81034b087841af4032cc
      https://github.com/parrot/parrot/commit/70fc2916d41f15bf64ed81034b087841af4032cc
  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: 2d5734ce83c0ff2c25e74be5a78a1770635cb773
      https://github.com/parrot/parrot/commit/2d5734ce83c0ff2c25e74be5a78a1770635cb773
  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: bec61a8f44fb100bdc3ba4bf210cfabc596c4524
      https://github.com/parrot/parrot/commit/bec61a8f44fb100bdc3ba4bf210cfabc596c4524
  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: 53be3fbe0b4f1babbbe59592d59f4630b28f80fb
      https://github.com/parrot/parrot/commit/53be3fbe0b4f1babbbe59592d59f4630b28f80fb
  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: 961c6edebc01e9d32adc7706e84c1d70999cb61b
      https://github.com/parrot/parrot/commit/961c6edebc01e9d32adc7706e84c1d70999cb61b
  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: 5244174651130845f74e6f564fc98e90aa7249f1
      https://github.com/parrot/parrot/commit/5244174651130845f74e6f564fc98e90aa7249f1
  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] fixup t/compilers/imcc/syn/clash.t


Compare: https://github.com/parrot/parrot/compare/e19de3e3cdcc...524417465113


More information about the parrot-commits mailing list