From: adam Date: Mon, 26 Feb 2007 01:35:57 +0000 (-0500) Subject: add backslash to braces in metagrammar X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=795b267302e8829c3131bbeb1b291d63e9094f4d;ds=sidebyside add backslash to braces in metagrammar darcs-hash:20070226013557-5007d-75b76511e6126687b6fffe1e6cc92c0696d6b538.gz --- diff --git a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java index 4ae0393..927cd62 100644 --- a/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java +++ b/src/edu/berkeley/sbp/meta/MetaGrammarBindings.java @@ -321,6 +321,11 @@ public class MetaGrammarBindings extends AnnotationGrammarBindings { } } + public static @bind.as("\\{") ElementNode leftBrace() { + return new Drop(new CharClass(new Range[] { new Range(CharAtom.left, CharAtom.left) })); } + public static @bind.as("\\}") ElementNode rightBrace() { + return new Drop(new CharClass(new Range[] { new Range(CharAtom.right, CharAtom.right) })); } + public static @bind.as("{") class XTree extends ElementNode { public @bind.arg Seq body; public Element build(Context cx, NonTerminalNode cnt) { diff --git a/tests/meta.g b/tests/meta.g index 61a6437..abe03f3 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -55,8 +55,8 @@ e = (Quoted|Word) ^":" e | ^"^" Quoted > ^"(" RHS ")" /ws | ^"~" e - | ^"{" - | ^"}" + | ^"\\{" + | ^"\\}" NonTerminalReference = Word Literal = Quoted