Skip to content

Instantly share code, notes, and snippets.

@tioover
Last active August 29, 2015 14:02
Show Gist options
  • Save tioover/4759b8cd4aaabdc0e706 to your computer and use it in GitHub Desktop.
Save tioover/4759b8cd4aaabdc0e706 to your computer and use it in GitHub Desktop.
S-expr
from pypeg import Symbol, parse
from .struct.pair import Pair
class ListContent(Pair): pass
class List(Pair): pass
expr = lambda: [Symbol, List, ]
List.grammar = '(', ListContent, ')'
ListContent.grammar = [(expr(), ListContent), None]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment