28 lines
855 B
Python
28 lines
855 B
Python
from core.builtin_concepts import BuiltinConcepts
|
|
from core.sheerka.services.SheerkaExecute import ParserInput
|
|
from parsers.BaseParser import BaseParser
|
|
|
|
|
|
class EmptyStringParser(BaseParser):
|
|
"""
|
|
To parse empty or blank strings
|
|
"""
|
|
|
|
def __init__(self, **kwargs):
|
|
BaseParser.__init__(self, "EmptyString", 90)
|
|
|
|
def parse(self, context, parser_input: ParserInput):
|
|
sheerka = context.sheerka
|
|
|
|
if parser_input.is_empty():
|
|
ret = sheerka.ret(self.name, True, sheerka.new(
|
|
BuiltinConcepts.PARSER_RESULT,
|
|
parser=self,
|
|
source="",
|
|
body=sheerka.new(BuiltinConcepts.NOP)))
|
|
else:
|
|
ret = sheerka.ret(self.name, False, sheerka.new(BuiltinConcepts.NOT_FOR_ME))
|
|
|
|
self.log_result(context, parser_input, ret)
|
|
return ret
|