omlish 0.0.0.dev169__py3-none-any.whl → 0.0.0.dev170__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|