|
Parrot 4.7.0 "Hispaniolan" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 4 September 2012. |
|||
|
00:36
kid51 joined
00:39
kid51_ joined
01:09
kid51 joined
|
|||
| MikeFair waves. | 01:09 | ||
|
01:16
kid51_ joined
|
|||
| dalek | rrot/native_pbc2: d92e691 | rurban++ | / (5 files): Configure probes for format, sizes, ranges and digits Probe FLOATVAL_FMT/floatvalfmt with float round-trip precision tests. Found that long double and __float128 on intel are stable only with %17Lg. I.e. 17 digits precision in number-string round trips. Do the precision test for all float types. Also test for the cpp defines of ranges and DBL|FLT_DIG (precision digits). New config hash value for floatvaldig, the number of compiler precision digits, which be different to the tested floatvalfmt. Improved HAS_FLOAT128 detection. Use HAS_INT64 instead of HAS_LONGLONG for bswap64. |
01:43 | |
|
02:13
rurban joined,
rurban left
02:16
kid51 joined
02:19
kid51_ joined
02:39
benabik joined
|
|||
| MikeFair | heya benabik | 02:39 | |
| benabik | o/ MikeFair | 02:40 | |
| MikeFair | benabik: Hey question for ya | ||
| benabik | If it's quick, I'm buried in signals and pipes. | ||
| MikeFair | So I've got these two block rules, that basically go: | ||
| 'on' <identifier> <statement_list> 'end' $<identifier> | 02:41 | ||
| it's working just fine, but I'm noticing that it's getting really on some parses because of the possibility of lots of backtracking | |||
| err really slow | |||
| is it better to make 'on' <identifier> and 'end' <identifier> separate match statements? | 02:42 | ||
| or is that not a 'quick question'? :) | |||
| (signals and pipes, sounds FUN!! :) ) | 02:43 | ||
| =) | |||
| benabik | "fun" more like. | ||
| learning the ins and outs of controlling terminals is oy | |||
| MikeFair grins broadly at benabik's pain. | |||
| benabik | So it's supposed to match 'on foo 1; 2; 3; end foo' ? | 02:44 | |
| MikeFair | yep | ||
| benabik | Is end a valid statement? | ||
| MikeFair | there are many 'end' <ident> satements but they are the equivalent of } | 02:45 | |
| end if, end repeat, end <handlername> | |||
| sorear | MikeFair: have you played with Rakudo's grammar debugger? | 02:46 | |
| MikeFair | it'd be a lot more complicated to break it out because I'd have to find out which 'end' this one was | ||
| sorear | you might have to move your code from NQP to Perl 6 for that | ||
| MikeFair | sorear: no I haven't yet... and I'm on the new NQP so it might actually be available to me now! :) | ||
| rurban_mobile | wouldn't on var{ statement_list } be better? | ||
| MikeFair | sorear: right - yeah | ||
| rurban_mobile | ending a list with end is a pain | 02:47 | |
| benabik | Right, matching the end as part of the block is a good idea. I'm just wondering if the "end $<id>" gets munched by statement_block somewhere | ||
| MikeFair | rurban_mobile: syntax is not my choice really =) | ||
| sorear | rurban_mobile: MikeFair is writing a grammar for an existing language (HyperTalk) | ||
| rurban_mobile | Oops | ||
| MikeFair | rurban_mobile: but I agree | ||
| I'm building up to being able to parse this: | 02:48 | ||
| on start | |||
| if true then repeat with word char of item = char char to word of word | |||
| char of char to word char to char of char char of word | |||
| put a&&"HyperTalk is a bitch to parse | |||
| end repeat else beep | |||
| end start | |||
| There's a mixture of element items, keywords as variables, range expressions, if, repeat, and a handler :) | 02:49 | ||
| I've got one test file that's a combination of every if statement construction I could think of | 02:50 | ||
| it's curently 68 lines and takes 30 to 45 seconds to parse | |||
| benabik | MikeFair: that block shouldn't cause backtracking unless the end is getting munched by statement_list. Which I would suggest is a bad thing. | ||
| Unless end at the beginning of a statement is valid. In which case the grammar is extremely unfortunate. | 02:51 | ||
| MikeFair | benabik: Well <EXPR> is valid | ||
| benabik | Is 'end' a valid expr? | ||
| MikeFair | I am not sure if 'end' is a valid varname | 02:52 | |
| MikeFair looks at his reference | |||
| benabik | language keywords should not be variable names. | ||
| And even if it is, I would hope "end foo" is unambiguously the end of foo. :-/ | 02:54 | ||
| MikeFair | well I'll just call it that end is not a valid statement starter | ||
| benabik: yes, end foo is the end of 'on foo' | 02:55 | ||
| benabik | As far as I can tell, it would only need to backtrack if <statement_list> went past end foo. So I would suggest trying to figure out if that's happening. Otherwise perhaps the backtracking is somewhere else. | 02:56 | |
| Grammar debugger could be very useful for this. | |||
| MikeFair | Well the if is the monster backtracker | 02:57 | |
| benabik | perlgeek.de/en/article/debug-a-perl-6-grammar | ||
| moritz++ | |||
| MikeFair | benabik: I think the way they make it "fast" is to use the presence/non-presence of <return> characters at key points | 02:58 | |
| benabik | You might want a token stmt_end { $$ || ';' } | 02:59 | |
| MikeFair | 'then' <statement> = single then // 'then' <return> <statement> = multi if terminated with 'end' 'if' | ||
| benabik | I imagine Hypercard was not implemented with a backtracking parser. | ||
| MikeFair | benabik: hehe -nope | 03:00 | |
| benabik | I remember Hypercard. It wasn't that advanced. :-D | ||
| MikeFair | benabik: It's gotten a lot more advanced in the later generations of the xTalk family, but HyperTalk is what I have a reference fore | ||
| -e | |||
| aloha | -2.71828182845905 | ||
| benabik | 2+2 | 03:01 | |
| aloha | 4 | ||
| benabik | aloha tries to parse every message in channel as math? ow. | ||
| MikeFair | benabik: check out www.runrev.com if you're interested / at all curious about what the latest generation of it can do -- it's quite impressive | ||
| ha! | |||
| sorear | MikeFair: remember cuts. | 03:02 | |
| MikeFair didn't know what that aloha message was. | |||
| sorear | 2.718281828 is e | ||
| MikeFair | cuts? | ||
| sorear | MikeFair: have you ever used prolog? | ||
| benabik | Cuts and using token liberally is good. | ||
| MikeFair | benabik: oh - about the stmnt_end: | 03:03 | |
| token statement { || <statement_control> [ ';' ]? || <EXPR> } | 03:04 | ||
| I currently have that, I kep trying to add [ ';' | $$] but it doesn't seem to work | |||
| I don't know why they have the first || in there | |||
| sorear | [ ';' || $$ ] | 03:05 | |
| might work better | |||
| MikeFair | sorear: i've tried that too | ||
| sorear | MikeFair: leading || is ignored, it's useful for lining up lists | ||
| token foo { | |||
| || <foo> | |||
| || <bar> | |||
| || <quux> | |||
| } | |||
| MikeFair | sorear: I left it in because it looked prettierI jsut wasn't sure what it did, good to know it's ignorable | ||
| sorear: That regex is currently lined up that way | 03:06 | ||
| benabik | Hah. SuperCard offers a discount if you have any HyperCard stuff. | 03:08 | |
| MikeFair | benabik: hehe - not that I'd want either; =) | 03:09 | |
| MikeFair is suprised you found anything supercard related today | |||
| benabik | ? | ||
| MikeFair | HyperCard or SuperCard | ||
| They've been out of publication for decades now | |||
| at least as far as I've been aware | |||
| After SuperCard came MetaCard which really kicked ass, then the Revolutionguys bought the Metcard engine out and in the last few years have just really made it something incredible | 03:10 | ||
| benabik | SuperCard still exists: www.supercard.us/ | ||
| MikeFair | Wow | 03:12 | |
| sure enough | |||
| MikeFair didn't know. | |||
| benabik | Okay, back to homework. yay | 03:13 | |
| MikeFair | benabik: yay | 03:14 | |
|
03:14
rurban_mobile joined
|
|||
| MikeFair | sorear / rurban_mobile : the real problem is the say stuff | 03:15 | |
| err the if stuff | |||
| I was hoping not to have to enforce the newline after then construct | 03:16 | ||
| I was also trying to do something like 'then' ~ 'else' <statement_list> || 'then' ~ [ 'end' 'if' ] <statement_list> | 03:17 | ||
| || <statement> | |||
| Hmm, verbatim is interesting | 03:19 | ||
|
04:35
Khisanth joined
05:53
nopaste joined
06:18
nopaste joined
06:40
fperrad joined
07:06
brrt joined
08:20
Psyche^ joined
12:41
PacoAir joined
12:43
PacoAir joined
13:10
JimmyZ joined
13:37
benabik joined
13:40
bluescreen joined
14:38
nine left,
nine joined
15:13
rurban_mobile joined
15:21
contingencyplan joined
16:02
brrt left
16:47
benabik joined
17:04
tuxit joined
17:54
benabik_ joined
18:08
benabik joined
18:17
TonyC joined
18:19
lucian joined
18:22
TonyC joined
18:23
nopaste joined
18:37
rurban_mobile joined
18:45
mdupont joined
19:00
rurban_mobile joined
19:22
benabik joined
19:30
dmalcolm joined
19:33
rurban_mobile joined
19:39
mtk joined
|
|||
| dalek | p: 2651350 | moritz++ | src/QAST/Operations.nqp: [QAST] do not null something we still need Fixes RT #114836 |
19:42 | |
| kudo/nom: 220a691 | moritz++ | tools/build/NQP_REVISION: bump to an NQP revision which fixes RT #11483 |
19:44 | ||
|
19:48
benabik joined
|
|||
| dalek | rrot: 3d2a484 | rurban++ | src/dynpmc/ (2 files): dynpmc/os: actually build this dummy pmc for loadlib "os" backcompat |
20:21 | |
| rurban_mobile | tadzik: loadlib "os" should work now. I really forgot to build and install it into runtime/parrot/dynext/ | 20:23 | |
| tadzik | mistab? | 20:25 | |
| dalek | rrot/native_pbc2: eca83f5 | rurban++ | src/packfile/pf_items.c: check for HAS_LONGLONG with Parrot_UInt8 cast, fix syntax error in temp. code |
20:47 | |
| rrot/native_pbc2: a38401c | rurban++ | / (3 files): fix various typos, use FLOATVAL_FMT directly in imcc |
|||
|
21:17
travis-ci joined
|
|||
| travis-ci | [travis-ci] parrot/parrot#543 (master - 3d2a484 : Reini Urban): The build is pending. | 21:17 | |
| [travis-ci] Change view : github.com/parrot/parrot/compare/a...2a484d3e57 | |||
| [travis-ci] Build details : travis-ci.org/parrot/parrot/builds/2425440 | |||
|
21:17
travis-ci left
21:33
lucian joined
|
|||
| dalek | rrot: 39f8f91 | jkeenan++ | / (4 files): Add ASSERT_ARGS() to two files; re-run 'make headerizer.' |
21:39 | |
| rrot/native_pbc2: 6a80df4 | rurban++ | / (3 files): promote float to double va va_arg()... intel and pcc does not support va_arg float arguments. Sounds weird but so it is. float still has problems |
21:43 | ||
| rrot/native_pbc2: e4efd86 | rurban++ | src/packfile/pf_items.c: fix cvt_num8_num4 |
|||
|
21:53
lucian joined
22:51
alvis joined
23:26
benabik joined
23:59
lucian joined
|
|||