S-expression is an actively used meta language created in 1960. In computing, s-expressions, sexprs or sexps (for "symbolic expression") are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an s-expression is classically defined as an atom, or an expression of the form (x . y) where x and y are s-expressions. Read more on Wikipedia...
- S-expression ranks in the top 25% of languages
- the S-expression wikipedia page
- S-expression first appeared in 1960
- See also: lisp, scheme, c, common-lisp, xml, python, islisp, rfc, i-expressions, bayer-expressions
- Have a question about S-expression not answered here? Email me and let me know how I can help.
Example code from Wikipedia:
def parse_sexp(string): """ >>> parse_sexp("(+ 5 (+ 3 5))") [['+', '5', ['+', '3', '5']]] """ sexp = [] word = '' in_str = False for char in string: if char is '(' and not in_str: sexp.append() elif char is ')' and not in_str: if word: sexp[-1].append(word) word = '' temp = sexp.pop() sexp[-1].append(temp) elif char in (' ', '\n', '\t') and not in_str: if word: sexp[-1].append(word) word = '' elif char is '\"': in_str = not in_str else: word += char return sexp
Last updated May 25th, 2020