omlish 0.0.0.dev169__py3-none-any.whl → 0.0.0.dev170__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- omlish/__about__.py +2 -2
- omlish/antlr/_runtime/__init__.py +0 -22
- omlish/antlr/_runtime/_all.py +24 -0
- omlish/antlr/_runtime/atn/ParserATNSimulator.py +1 -1
- omlish/antlr/_runtime/dfa/DFASerializer.py +1 -1
- omlish/antlr/_runtime/error/DiagnosticErrorListener.py +2 -1
- omlish/antlr/_runtime/xpath/XPath.py +7 -1
- omlish/antlr/_runtime/xpath/XPathLexer.py +1 -1
- omlish/antlr/delimit.py +106 -0
- omlish/antlr/dot.py +31 -0
- omlish/antlr/errors.py +11 -0
- omlish/antlr/input.py +96 -0
- omlish/antlr/parsing.py +19 -0
- omlish/antlr/runtime.py +102 -0
- omlish/antlr/utils.py +38 -0
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/RECORD +21 -13
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/LICENSE +0 -0
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev169.dist-info → omlish-0.0.0.dev170.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
@@ -1,24 +1,2 @@
|
|
1
|
-
# type: ignore
|
2
1
|
# ruff: noqa
|
3
2
|
# flake8: noqa
|
4
|
-
from .Token import Token
|
5
|
-
from .InputStream import InputStream
|
6
|
-
from .FileStream import FileStream
|
7
|
-
from .StdinStream import StdinStream
|
8
|
-
from .BufferedTokenStream import TokenStream
|
9
|
-
from .CommonTokenStream import CommonTokenStream
|
10
|
-
from .Lexer import Lexer
|
11
|
-
from .Parser import Parser
|
12
|
-
from .dfa.DFA import DFA
|
13
|
-
from .atn.ATN import ATN
|
14
|
-
from .atn.ATNDeserializer import ATNDeserializer
|
15
|
-
from .atn.LexerATNSimulator import LexerATNSimulator
|
16
|
-
from .atn.ParserATNSimulator import ParserATNSimulator
|
17
|
-
from .atn.PredictionMode import PredictionMode
|
18
|
-
from .PredictionContext import PredictionContextCache
|
19
|
-
from .ParserRuleContext import RuleContext, ParserRuleContext
|
20
|
-
from .tree.Tree import ParseTreeListener, ParseTreeVisitor, ParseTreeWalker, TerminalNode, ErrorNode, RuleNode
|
21
|
-
from .error.Errors import RecognitionException, IllegalStateException, NoViableAltException
|
22
|
-
from .error.ErrorStrategy import BailErrorStrategy
|
23
|
-
from .error.DiagnosticErrorListener import DiagnosticErrorListener
|
24
|
-
from .Utils import str_list
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# ruff: noqa
|
2
|
+
# flake8: noqa
|
3
|
+
# type: ignore
|
4
|
+
from .Token import Token
|
5
|
+
from .InputStream import InputStream
|
6
|
+
from .FileStream import FileStream
|
7
|
+
from .StdinStream import StdinStream
|
8
|
+
from .BufferedTokenStream import TokenStream
|
9
|
+
from .CommonTokenStream import CommonTokenStream
|
10
|
+
from .Lexer import Lexer
|
11
|
+
from .Parser import Parser
|
12
|
+
from .dfa.DFA import DFA
|
13
|
+
from .atn.ATN import ATN
|
14
|
+
from .atn.ATNDeserializer import ATNDeserializer
|
15
|
+
from .atn.LexerATNSimulator import LexerATNSimulator
|
16
|
+
from .atn.ParserATNSimulator import ParserATNSimulator
|
17
|
+
from .atn.PredictionMode import PredictionMode
|
18
|
+
from .PredictionContext import PredictionContextCache
|
19
|
+
from .ParserRuleContext import RuleContext, ParserRuleContext
|
20
|
+
from .tree.Tree import ParseTreeListener, ParseTreeVisitor, ParseTreeWalker, TerminalNode, ErrorNode, RuleNode
|
21
|
+
from .error.Errors import RecognitionException, IllegalStateException, NoViableAltException
|
22
|
+
from .error.ErrorStrategy import BailErrorStrategy
|
23
|
+
from .error.DiagnosticErrorListener import DiagnosticErrorListener
|
24
|
+
from .Utils import str_list
|
@@ -50,7 +50,13 @@
|
|
50
50
|
# <p>
|
51
51
|
# Whitespace is not allowed.</p>
|
52
52
|
#
|
53
|
-
from .. import CommonTokenStream
|
53
|
+
from ..CommonTokenStream import CommonTokenStream
|
54
|
+
from ..dfa.DFA import DFA
|
55
|
+
from ..PredictionContext import PredictionContextCache
|
56
|
+
from ..Lexer import Lexer
|
57
|
+
from ..atn.LexerATNSimulator import LexerATNSimulator
|
58
|
+
from ..ParserRuleContext import ParserRuleContext
|
59
|
+
from ..tree.Tree import TerminalNode
|
54
60
|
from ..InputStream import InputStream
|
55
61
|
from ..Parser import Parser
|
56
62
|
from ..RuleContext import RuleContext
|
omlish/antlr/delimit.py
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
# ruff: noqa: N802 N815
|
2
|
+
import io
|
3
|
+
import typing as ta
|
4
|
+
|
5
|
+
from .. import check
|
6
|
+
from . import runtime as antlr4
|
7
|
+
|
8
|
+
|
9
|
+
class DelimitingLexer(antlr4.Lexer):
|
10
|
+
def __init__(
|
11
|
+
self,
|
12
|
+
*args: ta.Any,
|
13
|
+
delimiter_token: ta.Any,
|
14
|
+
delimiters: ta.Iterable[str],
|
15
|
+
no_skip: bool = False,
|
16
|
+
**kwargs,
|
17
|
+
) -> None:
|
18
|
+
super().__init__(*args, **kwargs)
|
19
|
+
|
20
|
+
self._delimiter_token = delimiter_token
|
21
|
+
self._delimiters = set(check.not_isinstance(delimiters, str))
|
22
|
+
self._no_skip = no_skip
|
23
|
+
|
24
|
+
_hitEOF: bool
|
25
|
+
|
26
|
+
def nextToken(self) -> antlr4.Token:
|
27
|
+
if self._input is None:
|
28
|
+
raise antlr4.IllegalStateException('nextToken requires a non-null input stream.')
|
29
|
+
|
30
|
+
token_start_marker = self._input.mark()
|
31
|
+
try:
|
32
|
+
while True:
|
33
|
+
if self._hitEOF:
|
34
|
+
self.emitEOF()
|
35
|
+
return self._token
|
36
|
+
|
37
|
+
self._token: antlr4.Token | None = None
|
38
|
+
self._channel = antlr4.Token.DEFAULT_CHANNEL
|
39
|
+
self._tokenStartCharIndex = self._input.index
|
40
|
+
self._tokenStartColumn = self._interp.column
|
41
|
+
self._tokenStartLine = self._interp.line
|
42
|
+
self._text = None
|
43
|
+
|
44
|
+
continue_outer = False
|
45
|
+
while True:
|
46
|
+
self._type = antlr4.Token.INVALID_TYPE
|
47
|
+
ttype = self.SKIP
|
48
|
+
|
49
|
+
for delimiter in self._delimiters:
|
50
|
+
if self._match_delimiter(delimiter):
|
51
|
+
ttype = self._delimiter_token
|
52
|
+
break
|
53
|
+
else:
|
54
|
+
try:
|
55
|
+
ttype = self._interp.match(self._input, self._mode)
|
56
|
+
except antlr4.LexerNoViableAltException as e:
|
57
|
+
self.notifyListeners(e) # report error
|
58
|
+
self.recover(e)
|
59
|
+
|
60
|
+
if self._input.LA(1) == antlr4.Token.EOF:
|
61
|
+
self._hitEOF = True
|
62
|
+
|
63
|
+
if self._type == antlr4.Token.INVALID_TYPE:
|
64
|
+
self._type = ttype
|
65
|
+
|
66
|
+
if not self._no_skip and self._type == self.SKIP:
|
67
|
+
continue_outer = True
|
68
|
+
break
|
69
|
+
|
70
|
+
if self._type != self.MORE:
|
71
|
+
break
|
72
|
+
|
73
|
+
if continue_outer:
|
74
|
+
continue
|
75
|
+
|
76
|
+
if self._token is None:
|
77
|
+
self.emit()
|
78
|
+
|
79
|
+
return self._token
|
80
|
+
|
81
|
+
finally:
|
82
|
+
self._input.release(token_start_marker)
|
83
|
+
|
84
|
+
def _match_delimiter(self, delimiter: str) -> bool:
|
85
|
+
for i, c in enumerate(delimiter):
|
86
|
+
if chr(self._input.LA(i + 1)) != c:
|
87
|
+
return False
|
88
|
+
self._input.seek(self._input.index + len(delimiter))
|
89
|
+
return True
|
90
|
+
|
91
|
+
def split(self) -> tuple[list[tuple[str, str]], str]:
|
92
|
+
lst = []
|
93
|
+
sb = io.StringIO()
|
94
|
+
while True:
|
95
|
+
token = self.nextToken()
|
96
|
+
if token.type == antlr4.Token.EOF:
|
97
|
+
break
|
98
|
+
if token.type == self._delimiter_token:
|
99
|
+
statement = sb.getvalue().strip()
|
100
|
+
if statement:
|
101
|
+
lst.append((statement, token.text))
|
102
|
+
sb = io.StringIO()
|
103
|
+
else:
|
104
|
+
sb.write(token.text)
|
105
|
+
partial = sb.getvalue()
|
106
|
+
return lst, partial
|
omlish/antlr/dot.py
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
from ..graphs import dot
|
2
|
+
from . import runtime as antlr4
|
3
|
+
from .utils import yield_contexts
|
4
|
+
|
5
|
+
|
6
|
+
def dot_ctx(root: antlr4.ParserRuleContext) -> dot.Graph:
|
7
|
+
stmts: list[dot.Stmt] = [
|
8
|
+
dot.RawStmt('rankdir=LR;'),
|
9
|
+
]
|
10
|
+
|
11
|
+
for c in yield_contexts(root):
|
12
|
+
if isinstance(c, antlr4.TerminalNode):
|
13
|
+
continue
|
14
|
+
|
15
|
+
lbl = [
|
16
|
+
[type(c).__name__],
|
17
|
+
[str(id(c))],
|
18
|
+
[f'{c.start} {c.stop}'],
|
19
|
+
]
|
20
|
+
|
21
|
+
stmts.append(dot.Node(f'_{id(c)}', {'label': lbl, 'shape': 'box'}))
|
22
|
+
|
23
|
+
for n in (c.children or []):
|
24
|
+
if not isinstance(n, antlr4.TerminalNode):
|
25
|
+
stmts.append(dot.Edge(f'_{id(c)}', f'_{id(n)}'))
|
26
|
+
|
27
|
+
return dot.Graph(stmts)
|
28
|
+
|
29
|
+
|
30
|
+
def open_dot_ctx(root: antlr4.ParserRuleContext) -> None:
|
31
|
+
dot.open_dot(dot.render(dot_ctx(root)))
|
omlish/antlr/errors.py
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# ruff: noqa: N802 N803
|
2
|
+
from . import runtime as antlr4
|
3
|
+
|
4
|
+
|
5
|
+
class ParseError(Exception):
|
6
|
+
pass
|
7
|
+
|
8
|
+
|
9
|
+
class SilentRaisingErrorListener(antlr4.ErrorListener):
|
10
|
+
def syntaxError(self, recognizer, offendingSymbol, line, column, msg, e):
|
11
|
+
raise ParseError(recognizer, offendingSymbol, line, column, msg, e)
|
omlish/antlr/input.py
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
# ruff: noqa: N802
|
2
|
+
import typing as ta
|
3
|
+
|
4
|
+
|
5
|
+
##
|
6
|
+
|
7
|
+
|
8
|
+
# class InputStream(ta.Protocol):
|
9
|
+
#
|
10
|
+
# @property
|
11
|
+
# def index(self) -> int: ...
|
12
|
+
#
|
13
|
+
# @property
|
14
|
+
# def size(self) -> int: ...
|
15
|
+
#
|
16
|
+
# # Reset the stream so that it's in the same state it was when the object was created *except* the data array is not
|
17
|
+
# # touched.
|
18
|
+
# def reset(self) -> None: ...
|
19
|
+
#
|
20
|
+
# def consume(self) -> None: ...
|
21
|
+
#
|
22
|
+
# def LA(self, offset: int) -> int: ...
|
23
|
+
#
|
24
|
+
# def LT(self, offset: int) -> int: ...
|
25
|
+
#
|
26
|
+
# def mark(self) -> int: ...
|
27
|
+
#
|
28
|
+
# def release(self, marker: int) -> None: ...
|
29
|
+
#
|
30
|
+
# # consume() ahead until p==_index; can't just set p=_index as we must update line and column. If we seek backwards,
|
31
|
+
# # just set p
|
32
|
+
# def seek(self, _index: int) -> None: ...
|
33
|
+
#
|
34
|
+
# def getText(self, start: int, stop: int) -> str: ...
|
35
|
+
#
|
36
|
+
# def __str__(self) -> str: ...
|
37
|
+
|
38
|
+
|
39
|
+
InputStream: ta.TypeAlias = ta.Any
|
40
|
+
|
41
|
+
|
42
|
+
##
|
43
|
+
|
44
|
+
|
45
|
+
# @lang.protocol_check(InputStream)
|
46
|
+
class ProxyInputStream:
|
47
|
+
def __init__(self, target: InputStream) -> None:
|
48
|
+
super().__init__()
|
49
|
+
|
50
|
+
self._target = target
|
51
|
+
|
52
|
+
@property
|
53
|
+
def index(self) -> int:
|
54
|
+
return self._target.index
|
55
|
+
|
56
|
+
@property
|
57
|
+
def size(self) -> int:
|
58
|
+
return self._target.size
|
59
|
+
|
60
|
+
def reset(self) -> None:
|
61
|
+
self._target.reset()
|
62
|
+
|
63
|
+
def consume(self) -> None:
|
64
|
+
self._target.consume()
|
65
|
+
|
66
|
+
def LA(self, offset: int) -> int:
|
67
|
+
return self._target.LA(offset)
|
68
|
+
|
69
|
+
def LT(self, offset: int) -> int:
|
70
|
+
return self._target.LT(offset)
|
71
|
+
|
72
|
+
def mark(self) -> int:
|
73
|
+
return self._target.mark()
|
74
|
+
|
75
|
+
def release(self, marker: int) -> None:
|
76
|
+
return self._target.release(marker)
|
77
|
+
|
78
|
+
def seek(self, _index: int) -> None:
|
79
|
+
return self._target.seek(_index)
|
80
|
+
|
81
|
+
def getText(self, start: int, stop: int) -> str:
|
82
|
+
return self._target.getText(start, stop)
|
83
|
+
|
84
|
+
def __str__(self) -> str:
|
85
|
+
return str(self._target)
|
86
|
+
|
87
|
+
|
88
|
+
##
|
89
|
+
|
90
|
+
|
91
|
+
class CaseInsensitiveInputStream(ProxyInputStream):
|
92
|
+
def LA(self, offset: int) -> int:
|
93
|
+
ret = super().LA(offset)
|
94
|
+
if ret != -1:
|
95
|
+
ret = ord(chr(ret).upper())
|
96
|
+
return ret
|
omlish/antlr/parsing.py
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# ruff: noqa: N802 N803
|
2
|
+
import typing as ta
|
3
|
+
|
4
|
+
from . import runtime as antlr4
|
5
|
+
|
6
|
+
|
7
|
+
LexerT = ta.TypeVar('LexerT', bound=antlr4.Lexer)
|
8
|
+
ParserT = ta.TypeVar('ParserT', bound=antlr4.Parser)
|
9
|
+
|
10
|
+
|
11
|
+
def parse(
|
12
|
+
buf: str,
|
13
|
+
lexer_cls: type[LexerT],
|
14
|
+
parser_cls: type[ParserT],
|
15
|
+
) -> ParserT:
|
16
|
+
lexer = lexer_cls(antlr4.InputStream(buf))
|
17
|
+
stream = antlr4.CommonTokenStream(lexer)
|
18
|
+
stream.fill()
|
19
|
+
return parser_cls(stream)
|
omlish/antlr/runtime.py
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
# ruff: noqa: I001
|
2
|
+
# flake8: noqa: F401
|
3
|
+
|
4
|
+
from ._runtime.BufferedTokenStream import ( # type: ignore
|
5
|
+
TokenStream,
|
6
|
+
)
|
7
|
+
|
8
|
+
from ._runtime.CommonTokenStream import ( # type: ignore
|
9
|
+
CommonTokenStream,
|
10
|
+
)
|
11
|
+
|
12
|
+
from ._runtime.FileStream import ( # type: ignore
|
13
|
+
FileStream,
|
14
|
+
)
|
15
|
+
|
16
|
+
from ._runtime.InputStream import ( # type: ignore
|
17
|
+
InputStream,
|
18
|
+
)
|
19
|
+
|
20
|
+
from ._runtime.Lexer import ( # type: ignore
|
21
|
+
Lexer,
|
22
|
+
)
|
23
|
+
|
24
|
+
from ._runtime.Parser import ( # type: ignore
|
25
|
+
Parser,
|
26
|
+
)
|
27
|
+
|
28
|
+
from ._runtime.ParserRuleContext import ( # type: ignore
|
29
|
+
ParserRuleContext,
|
30
|
+
RuleContext,
|
31
|
+
)
|
32
|
+
|
33
|
+
from ._runtime.PredictionContext import ( # type: ignore
|
34
|
+
PredictionContextCache,
|
35
|
+
)
|
36
|
+
|
37
|
+
from ._runtime.StdinStream import ( # type: ignore
|
38
|
+
StdinStream,
|
39
|
+
)
|
40
|
+
|
41
|
+
from ._runtime.Token import ( # type: ignore
|
42
|
+
Token,
|
43
|
+
)
|
44
|
+
|
45
|
+
from ._runtime.Utils import ( # type: ignore
|
46
|
+
str_list,
|
47
|
+
)
|
48
|
+
|
49
|
+
from ._runtime.atn.ATN import ( # type: ignore
|
50
|
+
ATN,
|
51
|
+
)
|
52
|
+
|
53
|
+
from ._runtime.atn.ATNDeserializer import ( # type: ignore
|
54
|
+
ATNDeserializer,
|
55
|
+
)
|
56
|
+
|
57
|
+
from ._runtime.atn.LexerATNSimulator import ( # type: ignore
|
58
|
+
LexerATNSimulator,
|
59
|
+
)
|
60
|
+
|
61
|
+
from ._runtime.atn.ParserATNSimulator import ( # type: ignore
|
62
|
+
ParserATNSimulator,
|
63
|
+
)
|
64
|
+
|
65
|
+
from ._runtime.atn.PredictionMode import ( # type: ignore
|
66
|
+
PredictionMode,
|
67
|
+
)
|
68
|
+
|
69
|
+
from ._runtime.dfa.DFA import ( # type: ignore
|
70
|
+
DFA,
|
71
|
+
)
|
72
|
+
|
73
|
+
from ._runtime.error.DiagnosticErrorListener import ( # type: ignore
|
74
|
+
DiagnosticErrorListener,
|
75
|
+
)
|
76
|
+
|
77
|
+
from ._runtime.error.ErrorListener import ( # type: ignore
|
78
|
+
ErrorListener,
|
79
|
+
)
|
80
|
+
|
81
|
+
from ._runtime.error.ErrorStrategy import ( # type: ignore
|
82
|
+
BailErrorStrategy,
|
83
|
+
)
|
84
|
+
|
85
|
+
from ._runtime.error.Errors import ( # type: ignore
|
86
|
+
LexerNoViableAltException,
|
87
|
+
)
|
88
|
+
|
89
|
+
from ._runtime.error.Errors import ( # type: ignore
|
90
|
+
IllegalStateException,
|
91
|
+
NoViableAltException,
|
92
|
+
RecognitionException,
|
93
|
+
)
|
94
|
+
|
95
|
+
from ._runtime.tree.Tree import ( # type: ignore
|
96
|
+
ErrorNode,
|
97
|
+
ParseTreeListener,
|
98
|
+
ParseTreeVisitor,
|
99
|
+
ParseTreeWalker,
|
100
|
+
RuleNode,
|
101
|
+
TerminalNode,
|
102
|
+
)
|
omlish/antlr/utils.py
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# ruff: noqa: N802 N803
|
2
|
+
import io
|
3
|
+
import typing as ta
|
4
|
+
|
5
|
+
from . import runtime as antlr4
|
6
|
+
|
7
|
+
|
8
|
+
##
|
9
|
+
|
10
|
+
|
11
|
+
def pformat(
|
12
|
+
node: ta.Any,
|
13
|
+
*,
|
14
|
+
buf: ta.IO | None = None,
|
15
|
+
indent: str = '',
|
16
|
+
child_indent: str = ' ',
|
17
|
+
) -> ta.IO:
|
18
|
+
if buf is None:
|
19
|
+
buf = io.StringIO()
|
20
|
+
buf.write(indent)
|
21
|
+
buf.write(node.__class__.__name__)
|
22
|
+
if hasattr(node, 'start') and hasattr(node, 'stop'):
|
23
|
+
buf.write(f' ({node.start} -> {node.stop})')
|
24
|
+
buf.write('\n')
|
25
|
+
for child in getattr(node, 'children', []) or []:
|
26
|
+
pformat(child, buf=buf, indent=indent + child_indent, child_indent=child_indent)
|
27
|
+
return buf
|
28
|
+
|
29
|
+
|
30
|
+
def yield_contexts(
|
31
|
+
root: antlr4.ParserRuleContext,
|
32
|
+
) -> ta.Iterator[antlr4.ParserRuleContext]:
|
33
|
+
q = [root]
|
34
|
+
while q:
|
35
|
+
c = q.pop()
|
36
|
+
yield c
|
37
|
+
if not isinstance(c, antlr4.TerminalNode) and c.children:
|
38
|
+
q.extend(c.children)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=0BnQGD2dcXEma0Jop2ZesvDNzSj3CAJBNq8aTGuBz9A,7276
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=PoGd-lg7WxO1UiKHGhsCnxmHLiTfBft9-eJMax5A1Vs,3409
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=ubu7lHwss5V4UznbejAI0qXhXahrU01MysuHOZI9C4U,8116
|
5
5
|
omlish/cached.py,sha256=UI-XTFBwA6YXWJJJeBn-WkwBkfzDjLBBaZf4nIJA9y0,510
|
@@ -14,6 +14,13 @@ omlish/subprocesses.py,sha256=n6pk0nUaTFHzD_A6duyKNJ4ggncU7uNepfh_T90etHE,8671
|
|
14
14
|
omlish/sync.py,sha256=QJ79kxmIqDP9SeHDoZAf--DpFIhDQe1jACy8H4N0yZI,2928
|
15
15
|
omlish/term.py,sha256=EVHm3lEEIc9hT4f8BPmzbNUwlqZ8nrRpCwyQMN7LBm0,9313
|
16
16
|
omlish/antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
+
omlish/antlr/delimit.py,sha256=3Byvh9_Ip8ftM_SeSEmMbnNo1jrxk-xm8HnHDp_nDaI,3466
|
18
|
+
omlish/antlr/dot.py,sha256=uH2X7-8xNLYDQNJ30uW8ssv1MLkZSm07GsalcRuunYI,817
|
19
|
+
omlish/antlr/errors.py,sha256=foYz2109WReT1C7qZsIrb4zCAkZg4vM_UiDOAPC0AqQ,308
|
20
|
+
omlish/antlr/input.py,sha256=baeO279AIxR50pymya0eabtnc2A0bSdA5u7jvIGebzA,2090
|
21
|
+
omlish/antlr/parsing.py,sha256=PH4WlQAqr6ZfnOUNeQLaTMaJJjx3vK2TCgI9HQUNAKk,435
|
22
|
+
omlish/antlr/runtime.py,sha256=wYUiJ0qoj4soHFL6fsq91MnUrDSKUEQVmJScKJibOAc,1975
|
23
|
+
omlish/antlr/utils.py,sha256=hi_RFUl222r2gQsmmm5MYg5_vYa3q8u-KP4CC1ZHndA,912
|
17
24
|
omlish/antlr/_runtime/BufferedTokenStream.py,sha256=1Rnhm62MZCWSuQeRs7lRUbdtdyo7Gyg8r4gAETjv-cE,10793
|
18
25
|
omlish/antlr/_runtime/CommonTokenFactory.py,sha256=QrSSTH0gYhOpPeOHqrs6-2g1PGcgYvjhR6J6pynKLOc,2147
|
19
26
|
omlish/antlr/_runtime/CommonTokenStream.py,sha256=L7giynpsS97oM6ZtPRIw8m6eIbGSaeEUJ7HN6b2etN4,2795
|
@@ -34,7 +41,8 @@ omlish/antlr/_runtime/StdinStream.py,sha256=8up7-oFlr-ydpFV7kFqI1mRDD83Y8wYcXs0r
|
|
34
41
|
omlish/antlr/_runtime/Token.py,sha256=Ywq-AwJz6GXQ431TTFExNylshQbNr6T5u4_48dxlrtk,5249
|
35
42
|
omlish/antlr/_runtime/TokenStreamRewriter.py,sha256=2Zd8vdNQ7_XF1Y4r3axxHTD-hdauxyEPaePOqArF1g0,10355
|
36
43
|
omlish/antlr/_runtime/Utils.py,sha256=Edv360609RwDaEz2JxlXCj9-HuXNEmqr4RVVcbhdLco,974
|
37
|
-
omlish/antlr/_runtime/__init__.py,sha256=
|
44
|
+
omlish/antlr/_runtime/__init__.py,sha256=Jn5lqTVbeUQXD5a4IxDHKibOatAQWVTlaQ8M4mYu2Yw,28
|
45
|
+
omlish/antlr/_runtime/_all.py,sha256=MbNYoQYRympa1nGlgtuZ1AkJTv1SacqvBKG7bTXG0So,1042
|
38
46
|
omlish/antlr/_runtime/_pygrun.py,sha256=22tgQKyhLO2UbnwacAzsew7bkXjENctDs4XrmSHAqXc,6328
|
39
47
|
omlish/antlr/_runtime/atn/ATN.py,sha256=0V07bHRY-_rX-Du85F08KbMDbvr055co3Crt0VZbwOo,5792
|
40
48
|
omlish/antlr/_runtime/atn/ATNConfig.py,sha256=sY7zO2oSh9SLSvs05gY84vtFmV4ZcTKz7dXvDIxH_ew,6573
|
@@ -47,16 +55,16 @@ omlish/antlr/_runtime/atn/ATNType.py,sha256=_UdEWJXYM9gmOQ0u8XxruKLJTYU5ePuNGMAQ
|
|
47
55
|
omlish/antlr/_runtime/atn/LexerATNSimulator.py,sha256=ZFUTqu7D39AiC8VZunslTrsl7sZKpukEzlkWFK8CRBA,25408
|
48
56
|
omlish/antlr/_runtime/atn/LexerAction.py,sha256=PS8ArQadDRVXYnfCbOxJBuEVh7jMX2JtarhxZJ9c-jE,10057
|
49
57
|
omlish/antlr/_runtime/atn/LexerActionExecutor.py,sha256=GoLnxIG-mzOAHLZvfgIBMGB9i2FyXrZrqtFK3B0Hoak,6448
|
50
|
-
omlish/antlr/_runtime/atn/ParserATNSimulator.py,sha256=
|
58
|
+
omlish/antlr/_runtime/atn/ParserATNSimulator.py,sha256=5N0htVWAy3x8rfWVs1YN2Jz16LLpXKjAwefFPXgBHcM,80746
|
51
59
|
omlish/antlr/_runtime/atn/PredictionMode.py,sha256=JAnsYHfd6vD1t1wvLNpBuyi5avjxn8Flbkh_lcrgs1g,22479
|
52
60
|
omlish/antlr/_runtime/atn/SemanticContext.py,sha256=jYz90ZjiL4Hcya5881fTQd3zvTzTYpjsntiqiRx7xLA,10674
|
53
61
|
omlish/antlr/_runtime/atn/Transition.py,sha256=YrPBbwKK9E4SwFNmS5u6ATfZ-uC-fx5GSAtPyQsBn4E,8775
|
54
62
|
omlish/antlr/_runtime/atn/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
55
63
|
omlish/antlr/_runtime/dfa/DFA.py,sha256=1eLI8ckM7_Q4dx_l5m1eiiqJPpaTWJ1DDKUMUUbc-qA,5381
|
56
|
-
omlish/antlr/_runtime/dfa/DFASerializer.py,sha256=
|
64
|
+
omlish/antlr/_runtime/dfa/DFASerializer.py,sha256=HmQpIrVl0_kit8GSCqYyT4AnFvWyBj8vuye0YeFNEKE,2549
|
57
65
|
omlish/antlr/_runtime/dfa/DFAState.py,sha256=vZ5sBJc0hp5BaOVVT3sdQEd1jEi6yb-u-aO9DHpC2Tw,5616
|
58
66
|
omlish/antlr/_runtime/dfa/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
59
|
-
omlish/antlr/_runtime/error/DiagnosticErrorListener.py,sha256=
|
67
|
+
omlish/antlr/_runtime/error/DiagnosticErrorListener.py,sha256=SyUCrVs2Vzgvf8j2cSkzjODRBeXrVVrKytRH2LxjALs,4479
|
60
68
|
omlish/antlr/_runtime/error/ErrorListener.py,sha256=pPVVFGIDbELkMhG-A5-b39y3SkNkJvsP6n8Y0TfotfA,2765
|
61
69
|
omlish/antlr/_runtime/error/ErrorStrategy.py,sha256=0nZwpqR8L0264DphJHoEmYkQHlxZxCEdO54RAvHY6FI,30407
|
62
70
|
omlish/antlr/_runtime/error/Errors.py,sha256=sCf-5-vb9MyO8XIDdHSqV_ozfEcRrm87yjg_sNtStXM,6808
|
@@ -70,8 +78,8 @@ omlish/antlr/_runtime/tree/TokenTagToken.py,sha256=V2ymw3sTiykgi7Lp64a7VsW_s8Lvx
|
|
70
78
|
omlish/antlr/_runtime/tree/Tree.py,sha256=-5aYTkO_eUUGY2BPY03IJLyG72lNMeO_uuf2u1kZL_4,5610
|
71
79
|
omlish/antlr/_runtime/tree/Trees.py,sha256=iRcq2bhjBziXEUr6OFFs1rJs82q6wXTSduSBfCMMG7k,3985
|
72
80
|
omlish/antlr/_runtime/tree/__init__.py,sha256=Jn5lqTVbeUQXD5a4IxDHKibOatAQWVTlaQ8M4mYu2Yw,28
|
73
|
-
omlish/antlr/_runtime/xpath/XPath.py,sha256=
|
74
|
-
omlish/antlr/_runtime/xpath/XPathLexer.py,sha256=
|
81
|
+
omlish/antlr/_runtime/xpath/XPath.py,sha256=KSL1SH3VAeRDZCe4dAD7xmUdfk-j434ypZKRreFG2vk,9820
|
82
|
+
omlish/antlr/_runtime/xpath/XPathLexer.py,sha256=WvGKQjQnu7pX5C4CFKtsCzba2B2W6ie4ivtWLvlgymM,3509
|
75
83
|
omlish/antlr/_runtime/xpath/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
|
76
84
|
omlish/argparse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
85
|
omlish/argparse/all.py,sha256=EfUSf27vFWqa4Q93AycU5YRsrHt-Nx3pU3uNVapb-EE,1054
|
@@ -559,9 +567,9 @@ omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,329
|
|
559
567
|
omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
|
560
568
|
omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
|
561
569
|
omlish/text/random.py,sha256=jNWpqiaKjKyTdMXC-pWAsSC10AAP-cmRRPVhm59ZWLk,194
|
562
|
-
omlish-0.0.0.
|
563
|
-
omlish-0.0.0.
|
564
|
-
omlish-0.0.0.
|
565
|
-
omlish-0.0.0.
|
566
|
-
omlish-0.0.0.
|
567
|
-
omlish-0.0.0.
|
570
|
+
omlish-0.0.0.dev170.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
571
|
+
omlish-0.0.0.dev170.dist-info/METADATA,sha256=1zURRBI9Xgzn95Gk7PvYo_f_QCqUBqd_uNIFZZVBuHM,4264
|
572
|
+
omlish-0.0.0.dev170.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
573
|
+
omlish-0.0.0.dev170.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
574
|
+
omlish-0.0.0.dev170.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
575
|
+
omlish-0.0.0.dev170.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|