From 025da7d2cd7d19bf47e28a9be0809aebc0660fd6 Mon Sep 17 00:00:00 2001 From: James Cash Date: Sun, 20 Apr 2008 01:41:16 -0400 Subject: [PATCH] More work on extra/lisp --- extra/lisp/lisp.factor | 14 +++++++++++--- extra/lisp/tags.txt | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/extra/lisp/lisp.factor b/extra/lisp/lisp.factor index e051241a32..3dba8cfb1d 100644 --- a/extra/lisp/lisp.factor +++ b/extra/lisp/lisp.factor @@ -1,8 +1,16 @@ ! Copyright (C) 2008 James Cash ! See http://factorcode.org/license.txt for BSD license. -USING: kernel peg.ebnf peg.expr ; +USING: kernel peg.ebnf peg.expr math.parser sequences arrays ; IN: lisp -EBNF: expr -list = "(" ( atom | list )* ")" => [[ second 1array ]] +EBNF: lisp-expr +digit = [0-9] => [[ digit> ]] +integer = (digit)+ => [[ 10 digits>integer ]] +float = (digit)+ "." (digit)* => [[ 3 head 3append string>number ]] +number = integer + | float +identifier = [a-zA-Z] ([a-zA-Z0-9])* +atom = number + | identifier +list = "(" (atom|list)* ")" => [[ second 1array ]] ;EBNF \ No newline at end of file diff --git a/extra/lisp/tags.txt b/extra/lisp/tags.txt index 0ca0d1aa8c..eee3fba9aa 100644 --- a/extra/lisp/tags.txt +++ b/extra/lisp/tags.txt @@ -1 +1 @@ -Lisp languages +lisp