pyorg.elisp.ast module

Base classes for Emacs Lisp abstract syntax trees.

class pyorg.elisp.ast.ElispAstNode[source]

Bases: object

Abstract base class for Elisp AST nodes.

class pyorg.elisp.ast.Form[source]

Bases: pyorg.elisp.ast.ElispAstNode

Pretty much everything is a form, right?

class pyorg.elisp.ast.Literal(pyvalue)[source]

Bases: pyorg.elisp.ast.Form

Basic self-evaluating forms like strings, numbers, etc.

PY_TYPES = (<class 'str'>, <class 'int'>, <class 'float'>)
class pyorg.elisp.ast.Symbol(name)[source]

Bases: pyorg.elisp.ast.Form

Elisp symbol.

isconst
class pyorg.elisp.ast.Cons(car, cdr)[source]

Bases: pyorg.elisp.ast.Form

A cons cell.

class pyorg.elisp.ast.List(items)[source]

Bases: pyorg.elisp.ast.Form

A list…

islist = False
class pyorg.elisp.ast.Quote(form)[source]

Bases: pyorg.elisp.ast.Form

A quoted Elisp form.

class pyorg.elisp.ast.Raw(src)[source]

Bases: pyorg.elisp.ast.ElispAstNode

Just raw code to be pasted in at this point.

pyorg.elisp.ast.to_elisp(value)[source]

Convert a Python value to an Elisp AST node.

pyorg.elisp.ast.make_list(items)[source]

Make an Elisp list from a Python sequence, first converting its elements to Elisp.

pyorg.elisp.ast.symbols(*names)[source]

Create a list of symbols.

pyorg.elisp.ast.quote(value)[source]

Quote value, converting Python strings to symbols.

pyorg.elisp.ast.cons(car, cds)[source]

Create a Cons cell, converting arguments.