diff options
Diffstat (limited to 'lib/yaml/__init__.py')
-rw-r--r-- | lib/yaml/__init__.py | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/lib/yaml/__init__.py b/lib/yaml/__init__.py index f1fcf10..10832dd 100644 --- a/lib/yaml/__init__.py +++ b/lib/yaml/__init__.py @@ -5,47 +5,29 @@ from scanner import Scanner from parser import Parser from composer import Composer from resolver import Resolver +from constructor import Constructor from tokens import * from events import * - -def scan(data, Reader=Reader, Scanner=Scanner): - reader = Reader(data) - scanner = Scanner(reader) - return iter(scanner) +from nodes import * def parse(data, Reader=Reader, Scanner=Scanner, Parser=Parser): reader = Reader(data) scanner = Scanner(reader) parser = Parser(scanner) - return iter(parser) - -def compose(data, Reader=Reader, Scanner=Scanner, Parser=Parser, - Composer=Composer): - reader = Reader(data) - scanner = Scanner(reader) - parser = Parser(scanner) - composer = Composer(parser) - return iter(composer) - -def compose_document(*args, **kwds): - try: - return compose(*args, **kwds).next() - except StopIteration: - return None + return parser -def resolve(data, Reader=Reader, Scanner=Scanner, Parser=Parser, - Composer=Composer, Resolver=Resolver): +def load(data, Reader=Reader, Scanner=Scanner, Parser=Parser, + Composer=Composer, Resolver=Resolver, Constructor=Constructor): reader = Reader(data) scanner = Scanner(reader) parser = Parser(scanner) composer = Composer(parser) resolver = Resolver(composer) - return iter(resolver) + constructor = Constructor(resolver) + return constructor -def resolve_document(*args, **kwds): - try: - return resolve(*args, **kwds).next() - except StopIteration: - return None +def load_document(*args, **kwds): + for document in load(*args, **kwds): + return document |