|
Parrot 6.8.0 "Little Lorikeet" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 17 September 2014. |
|||
|
01:40
FROGGS_ joined
02:10
kid51_ joined
04:03
MikeFair joined
06:40
rurban joined
06:51
FROGGS joined
07:35
FROGGS joined
|
|||
| FROGGS | rurban: are there any flags that will trigger to show the <<mk_const '"foo\\\\o"'>> ? | 07:44 | |
| rurban: when I fiddle with imcc.y, do I have to 'make' a special incantation to get my changes built? | 07:53 | ||
| I just did a 'make install' and recompiled nqp and rakudo, but it has no effect whatsoever | |||
| so probably 'make clean && make reconfig && make install' might do? | 07:57 | ||
| rurban | I added a special trace flag 8 for this, private branch so far | 08:04 | |
| FROGGS | how do I enable the tracing using that flag? | ||
| rurban | for imcc.y changes, yes, you have to add —maintainer (so that bison will process the .y) | ||
| FROGGS | I'm on rurban/lexqnames-gh1095 | 08:05 | |
| ohh | |||
| rurban | I'll push my branch (heavy in work) | ||
| FROGGS | good to know | ||
| so, make -maintainer install? | 08:06 | ||
| or is it a configure option | |||
| ahh, found it | |||
| dalek | rrot/rurban/lexqnames-gh1095-dev: e866659 | rurban++ | / (9 files): WIP development only: add -t8 flag, unescape in mk_const see github.com/parrot/parrot/issues/10...t-58470471 |
||
| rurban | I only have an old bison on my laptop, so we cannot use the 3 generated files from this branch later. | 08:07 | |
| much easier is to test with t/compilers/imcc/syn/clash_14.pir and 15 | |||
| I'll have to add more encodings there, but for now the errors are obvious enough. | 08:08 | ||
| FROGGS | okay | 08:09 | |
| During configuration the following steps failed: | 08:10 | ||
| 07: inter::lex | |||
| 08: inter::yacc | |||
| does that mean I have to install these first? | |||
| rurban | you have a bad or no bison and flex | ||
| FROGGS | k | ||
| rurban | all normal bison/flex versions should work even very old ones | 08:11 | |
| FROGGS | okay, it seems to continue now | ||
| rurban | we also have the problem that aliases for encoding names for strings are not resolved. they are taken literally. e.g. UTF-8:"str" vs utf8:str" are different strings | 08:16 | |
| 'str' and "str" are also different constants, but turn out to use the same registers later | |||
| there's also a lot of unnecessary temporary string copying going on, with the system malloc/free, not GC. | 08:19 | ||
| FROGGS | yeah, that was my understanding yesterday too | ||
| and also, nqp does quite a bit just to emit such a ".lex foo"... | 08:20 | ||
| rurban | my idea is to store encoded strings with the encoding flag (maybe after the \\0), not the name as prefix | ||
| FROGGS | so there is (unnecessary) overhead on both ends | ||
| rurban | yes. at least nqp is consistent with ' vs " quotes, as long as you remember that some " are double unescaped, some not. ' sounds best to me | 08:21 | |
| but I'll have it fixed soon | |||
| and all this ' and " overhead is also annoying. very early parrot did not need quotes for most names. so it did not need to copy temp. strings around. and escaping rules were also easier | 08:23 | ||
| but then someone added the '' requirement for names, which also looks awful. | |||
|
08:35
rurban1 joined
08:45
rurban joined
|
|||
| FROGGS | rurban: how do I enable that tracing using the tracing flag 8 ? | 08:53 | |
| I can't build your branch :/ | 08:55 | ||
| ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc | |||
| Segmentation fault (core dumped) | |||
| ohh, 'name' is NULL | 09:00 | ||
| s/name/$2/ in imcc.y line 1260 | 09:01 | ||
| rurban | oh yes, I just created that with my parrot_old | ||
| -t9 | |||
| FROGGS | to the parrot binary? | 09:02 | |
| rurban | ./parrot_old -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc | ||
| m -s parrot_old && gdb --args ./parrot_old -t9 t/compilers/imcc/syn/clash_14.pir | 09:03 | ||
| config.fpmc fails with a encode:"string" assertion | 09:04 | ||
| dalek | rrot/rurban/lexqnames-gh1095-dev: ba19f99 | rurban++ | compilers/imcc/ (3 files): WIP mk_const and str_unescape: skip " |
09:28 | |
| rurban | I work now with miniparrot, which doesn't crash | 09:29 | |
| FROGGS | ohh, cool | 09:31 | |
| rurban | found the first bug foo\\0 => fooo in Parrot_str_unescape | 09:35 | |
| Parrot_str_unescape_string just skips the \\\\ for o | 09:38 | ||
| dalek | rrot/rurban/lexqnames-gh1095-dev: e0e9f17 | rurban++ | / (8 files): WIP: fixed the tests, but broke parrot allow and handle now empty strings im imcc, fix quoted sub names |
11:03 | |
|
11:16
kid51 joined
|
|||
| dalek | rrot/rurban/lexqnames-gh1095-dev: 940ede1 | rurban++ | src/string/api.c: different string escape policy now die now with unknown escape sequences A-Za-z, but allow quoting of special non-word chars, like \\", \\[, \\} |
11:53 | |
| rurban | hmm, we test for \\w and \\\\w in the testsuite | 12:26 | |
|
12:38
FROGGS joined
12:58
FROGGS joined
|
|||
| dalek | rrot/rurban/lexqnames-gh1095-dev: 761b245 | rurban++ | / (2 files): imcc encodings: fix unicode encoded constants |
13:14 | |
|
13:14
rurban joined
14:31
FROGGS joined
16:13
FROGGS joined
22:29
Psyche^ joined
22:35
kid51 joined
|
|||