diff options
Diffstat (limited to 'third_party/python/fluent.syntax/fluent/syntax/__init__.py')
-rw-r--r-- | third_party/python/fluent.syntax/fluent/syntax/__init__.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/python/fluent.syntax/fluent/syntax/__init__.py b/third_party/python/fluent.syntax/fluent/syntax/__init__.py new file mode 100644 index 0000000000..1ff31745e6 --- /dev/null +++ b/third_party/python/fluent.syntax/fluent/syntax/__init__.py @@ -0,0 +1,34 @@ +from typing import Any + +from . import ast +from .errors import ParseError +from .parser import FluentParser +from .serializer import FluentSerializer +from .stream import FluentParserStream +from .visitor import Transformer, Visitor + +__all__ = [ + 'FluentParser', + 'FluentParserStream', + 'FluentSerializer', + 'ParseError', + 'Transformer', + 'Visitor', + 'ast', + 'parse', + 'serialize' +] + + +def parse(source: str, **kwargs: Any) -> ast.Resource: + """Create an ast.Resource from a Fluent Syntax source. + """ + parser = FluentParser(**kwargs) + return parser.parse(source) + + +def serialize(resource: ast.Resource, **kwargs: Any) -> str: + """Serialize an ast.Resource to a unicode string. + """ + serializer = FluentSerializer(**kwargs) + return serializer.serialize(resource) |