Skip to content

Instantly share code, notes, and snippets.

View SineSwiper's full-sized avatar

SineSwiper SineSwiper

View GitHub Profile
@SineSwiper
SineSwiper / gist:3818821
Created October 2, 2012 12:49
IRC log of new stuff for Pegex
(11:18:06 AM) SineSwiper: some interesting stuff: http://eli.thegreenplace.net/2010/01/02/top-down-operator-precedence-parsing/
(11:20:42 AM) SineSwiper: especially this: http://eli.thegreenplace.net/2009/03/20/a-recursive-descent-parser-with-an-infix-expression-evaluator/
(11:20:56 AM) SineSwiper: this is exactly the problem I'm having with a_expr and the like
(11:21:45 AM) SineSwiper: and I was close to what the solution was supposed to be: descending levels of recursion
(11:23:17 AM) SineSwiper: ingy: ^^^
(11:34:24 AM) SineSwiper: it's looking like Pegex should be supporting some form of %left/%right syntax
(9:47:03 PM) SineSwiper: ingy: the more I'm converting this, the more I'm thinking there should be a { } syntax in Pegex that introduces an Acmeist "return language"
(9:48:37 PM) SineSwiper: the tree needs to be warped into place, and it's annoying that simple changes like "opt_nowait: NOWAIT { TRUE }" end up having to be split into two files
(9:48:41 PM) rking: SineSwiper: What do you mean by “"retu
@SineSwiper
SineSwiper / gist:3785581
Created September 26, 2012 02:06
Pegex AST expansion example
#############################################################################
#
# QUERY:
# DEALLOCATE [PREPARE] <plan_name>
#
#############################################################################
DeallocateStmt : DEALLOCATE PREPARE? (
name { @->[0] }
| ALL { NULL }
) {
@SineSwiper
SineSwiper / gist:3552700
Created August 31, 2012 13:32
multi rule declaration
sunday_morning: Im waking up | ( cant even focus on a coffee_cup )
coffee_cup: dont even know whos bed Im in
# Parser problems
lyric:
where
do
I
start
where
@SineSwiper
SineSwiper / eyapp2pegex.pgx
Created August 30, 2012 18:29
Weird comment bugs
# "Atoms"
E_CODE : /(
<C_LCURLY>
(:
[^ <C_LCURLY><C_RCURLY> ]+ | # Most stuff
(?1) # Nesting braces
)*
<C_RCURLY>
)/
E_PERCODE : / <PERCENT><E_CODE> ~ / # bit of a hack, as it swallows the % from %}\n