IEMLdev / ieml

IEML semantic language - a meaning-representation system based on semantic primitives and a regular grammar. Basic semantic relationships between concepts are automatically computed from syntactic similarities.
https://dev.intlekt.io/
GNU General Public License v3.0
53 stars 6 forks source link

Exception for invalid term #33

Closed Vayel closed 7 years ago

Vayel commented 7 years ago
>>> ieml.tools.ieml("[u.-d.u.-'])]")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vincent/miniconda3/lib/python3.6/site-packages/ieml/tools.py", line 18, in ieml
    return IEMLParser().parse(arg)
  File "/home/vincent/miniconda3/lib/python3.6/site-packages/ieml/syntax/parser/parser.py", line 49, in parse
    self.parser.parse(s, lexer=self.lexer)
  File "/home/vincent/miniconda3/lib/python3.6/site-packages/ply/yacc.py", line 331, in parse
    return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
  File "/home/vincent/miniconda3/lib/python3.6/site-packages/ply/yacc.py", line 1118, in parseopt_notrack
    p.callable(pslice)
  File "/home/vincent/miniconda3/lib/python3.6/site-packages/ieml/syntax/parser/parser.py", line 82, in p_term
    p[0] = _build(Dictionary().terms[p[2]])
KeyError: "u.-d.u.-'"

Should raise a custom exception.