nxt.lispy

Lexer and parser of Lisp-like languages, including SUO-KIF and Emacs-Lisp.

Members

Enums

TOK
enum TOK

Lisp-like token type.

Structs

LispFileParser
struct LispFileParser

Parse the contents of filePath into lazy range over top-level expressions (SExpr).

LispParser
struct LispParser

Parse from input into lazy range over top-level expressions (SExpr).

SExpr
struct SExpr

Lisp-like S-expression.

Token
struct Token

Lisp-like token.

See Also

https://www.csee.umbc.edu/csee/research/kif/

https://en.wikipedia.org/wiki/Knowledge_Interchange_Format

http://sigmakee.cvs.sourceforge.net/viewvc/sigmakee/sigma/suo-kif.pdf

http://forum.dlang.org/post/prsxfcmkngfwomygmthi@forum.dlang.org

TODO: Break out lexer and parser parts to to nxt.lexing and nxt.parsing

TODO: Try infinite loops with break or goto instead of for loops.

TODO: Should we add LispFile.bySExpr to allow use of offsetTo inside LispFileParser lfp; foreach (lfp.bySExpr) now that copy-ctor is disabled for LispParser?

Meta