[cl-net-snmp-cvs] r38 - in trunk: . asn.1
ctian at common-lisp.net
ctian at common-lisp.net
Sun Sep 16 08:11:41 UTC 2007
Author: ctian
Date: Sun Sep 16 04:11:39 2007
New Revision: 38
Added:
trunk/asn.1/mib-parse.lisp
Modified:
trunk/asn.1/asn.1-domain.lisp
trunk/asn.1/asn.1.tab
trunk/asn.1/asn.1.zb
trunk/asn.1/mib.lisp
trunk/asn.1/stream-test.lisp
trunk/net-snmp.asd
Log:
Comment Local Changes
Modified: trunk/asn.1/asn.1-domain.lisp
==============================================================================
--- trunk/asn.1/asn.1-domain.lisp (original)
+++ trunk/asn.1/asn.1-domain.lisp Sun Sep 16 04:11:39 2007
@@ -4,351 +4,304 @@
(REQUIRE "zebu-package")
(USE-PACKAGE "ZEBU")
-(DEFSTRUCT (OBJ-ID-COMPONENTS-LIST
- (:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX
- (%R (OBJ-ID-COMPONENTS-LIST--LIST ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a"
- (LET ((OBJ-ID-COMPONENTS+ %R))
- (IF (NULL OBJ-ID-COMPONENTS+)
- ""
- (ZEBU::KB-SEQUENCE-PRINT OBJ-ID-COMPONENTS+
- NIL
- NIL)))))))
+(DEFSTRUCT
+ (OBJ-ID-COMPONENTS-LIST (:INCLUDE KB-DOMAIN)
+ (:PRINT-FUNCTION
+ (LAMBDA (ITEM STREAM LEVEL &AUX (%R (OBJ-ID-COMPONENTS-LIST--LIST ITEM)))
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "~a"
+ (LET ((OBJ-ID-COMPONENTS+ %R))
+ (IF (NULL OBJ-ID-COMPONENTS+) ""
+ (ZEBU::KB-SEQUENCE-PRINT OBJ-ID-COMPONENTS+ NIL
+ NIL)))))))
(-LIST NIL :TYPE (OR NULL KB-SEQUENCE)))
-(DEFSTRUCT (ASSIGNMENT-LIST
- (:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX
- (%R (ASSIGNMENT-LIST--LIST ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a"
- (LET ((ASSIGNMENT+ %R))
- (IF (NULL ASSIGNMENT+)
- ""
- (ZEBU::KB-SEQUENCE-PRINT ASSIGNMENT+
- NIL
- NIL)))))))
- (-LIST NIL :TYPE (OR NULL KB-SEQUENCE)))
-
-(DEFSTRUCT (ASSIGNMENT
- (:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX (%R (ASSIGNMENT--VALUE ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a"
- (LET ((SPECIAL-ASSIGNMENT %R))
- (ZEBU::KB-SEQUENCE-PRINT SPECIAL-ASSIGNMENT
- NIL
- NIL))))))
+(DEFSTRUCT
+ (ASSIGNMENT (:INCLUDE KB-DOMAIN)
+ (:PRINT-FUNCTION
+ (LAMBDA (ITEM STREAM LEVEL &AUX (%R (ASSIGNMENT--VALUE ITEM)))
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "~a"
+ (LET ((SPECIAL-ASSIGNMENT %R))
+ (ZEBU::KB-SEQUENCE-PRINT SPECIAL-ASSIGNMENT NIL NIL))))))
-TYPE
-VALUE)
-(DEFSTRUCT (MODULE-BODY
- (:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX (%R ITEM)
- (%S (MODULE-BODY--ASSIGNMENT-LIST ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a ~a ~a"
- (LET ((EXPORTS NIL))
- (ZEBU::KB-SEQUENCE-PRINT EXPORTS NIL NIL))
- NIL
- %S))))
+(DEFSTRUCT
+ (ASSIGNMENT-LIST (:INCLUDE KB-DOMAIN)
+ (:PRINT-FUNCTION
+ (LAMBDA (ITEM STREAM LEVEL &AUX (%R (ASSIGNMENT-LIST--LIST ITEM)))
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "~a"
+ (LET ((ASSIGNMENT+ %R))
+ (IF (NULL ASSIGNMENT+) ""
+ (ZEBU::KB-SEQUENCE-PRINT ASSIGNMENT+ NIL NIL)))))))
+ (-LIST NIL :TYPE (OR NULL KB-SEQUENCE)))
+
+(DEFSTRUCT
+ (MODULE-BODY (:INCLUDE KB-DOMAIN)
+ (:PRINT-FUNCTION
+ (LAMBDA
+ (ITEM STREAM LEVEL
+ &AUX (%R ITEM) (%S (MODULE-BODY--ASSIGNMENT-LIST ITEM)))
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "~a ~a ~a"
+ (LET ((EXPORTS NIL))
+ (ZEBU::KB-SEQUENCE-PRINT EXPORTS NIL NIL))
+ NIL %S))))
-ASSIGNMENT-LIST)
-(DEFSTRUCT (MODULE-DEFINITION
- (:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX
- (%R (MODULE-DEFINITION--IDENTIFIER ITEM))
- (%S (MODULE-DEFINITION--BODY ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM "~a DEFINITIONS::=BEGIN ~a END" %R %S))))
+(DEFSTRUCT
+ (MODULE-DEFINITION (:INCLUDE KB-DOMAIN)
+ (:PRINT-FUNCTION
+ (LAMBDA
+ (ITEM STREAM LEVEL
+ &AUX (%R (MODULE-DEFINITION--IDENTIFIER ITEM))
+ (%S (MODULE-DEFINITION--BODY ITEM)))
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "~a DEFINITIONS::=BEGIN ~a END" %R %S))))
-IDENTIFIER
-BODY)
-(DEFUN SYMBOL+\,1$234 (SYMBOL) (MAKE-KB-SEQUENCE :FIRST SYMBOL))
+(DEFUN |SYMBOL+,1$18| (SYMBOL) (MAKE-KB-SEQUENCE :FIRST SYMBOL))
-(DEFUN SYMBOL+\,1$235 (SYMBOL DUMMY SYMBOL+\,1$)
+(DEFUN |SYMBOL+,1$19| (SYMBOL DUMMY |SYMBOL+,1$|)
(DECLARE (IGNORE DUMMY))
- (MAKE-KB-SEQUENCE :FIRST SYMBOL :REST SYMBOL+\,1$))
+ (MAKE-KB-SEQUENCE :FIRST SYMBOL :REST |SYMBOL+,1$|))
-(DEFUN ASSIGNMENT+236 (ASSIGNMENT) (MAKE-KB-SEQUENCE :FIRST ASSIGNMENT))
+(DEFUN ASSIGNMENT+20 (ASSIGNMENT) (MAKE-KB-SEQUENCE :FIRST ASSIGNMENT))
-(DEFUN ASSIGNMENT+237 (ASSIGNMENT ASSIGNMENT+)
+(DEFUN ASSIGNMENT+21 (ASSIGNMENT ASSIGNMENT+)
(MAKE-KB-SEQUENCE :FIRST ASSIGNMENT :REST ASSIGNMENT+))
-(DEFUN OBJ-ID-COMPONENTS+238 (OBJ-ID-COMPONENTS)
+(DEFUN OBJ-ID-COMPONENTS+22 (OBJ-ID-COMPONENTS)
(MAKE-KB-SEQUENCE :FIRST OBJ-ID-COMPONENTS))
-(DEFUN OBJ-ID-COMPONENTS+239 (OBJ-ID-COMPONENTS OBJ-ID-COMPONENTS+)
+(DEFUN OBJ-ID-COMPONENTS+23 (OBJ-ID-COMPONENTS OBJ-ID-COMPONENTS+)
(MAKE-KB-SEQUENCE :FIRST OBJ-ID-COMPONENTS :REST OBJ-ID-COMPONENTS+))
-(DEFUN GARBAGE+240 (GARBAGE) (MAKE-KB-SEQUENCE :FIRST GARBAGE))
+(DEFUN GARBAGE+24 (GARBAGE) (MAKE-KB-SEQUENCE :FIRST GARBAGE))
-(DEFUN GARBAGE+241 (GARBAGE GARBAGE+)
+(DEFUN GARBAGE+25 (GARBAGE GARBAGE+)
(MAKE-KB-SEQUENCE :FIRST GARBAGE :REST GARBAGE+))
-(DEFUN OBJ-ID-COMPONENTS-LIST242 (OBJ-ID-COMPONENTS+)
+(DEFUN OBJ-ID-COMPONENTS-LIST26 (OBJ-ID-COMPONENTS+)
(MAKE-OBJ-ID-COMPONENTS-LIST :-LIST OBJ-ID-COMPONENTS+))
-(DEFUN ASSIGNMENT243 (SPECIAL-ASSIGNMENT)
+(DEFUN ASSIGNMENT27 (SPECIAL-ASSIGNMENT)
(MAKE-ASSIGNMENT :-TYPE :SPECIAL :-VALUE SPECIAL-ASSIGNMENT))
-(DEFUN ASSIGNMENT244 (TYPE-ASSIGNMENT)
+(DEFUN ASSIGNMENT28 (TYPE-ASSIGNMENT)
(MAKE-ASSIGNMENT :-TYPE :TYPE :-VALUE TYPE-ASSIGNMENT))
-(DEFUN ASSIGNMENT245 (VALUE-ASSIGNMENT)
+(DEFUN ASSIGNMENT29 (VALUE-ASSIGNMENT)
(MAKE-ASSIGNMENT :-TYPE :VALUE :-VALUE VALUE-ASSIGNMENT))
-(DEFUN ASSIGNMENT-LIST246 (ASSIGNMENT+)
+(DEFUN ASSIGNMENT-LIST30 (ASSIGNMENT+)
(MAKE-ASSIGNMENT-LIST :-LIST ASSIGNMENT+))
-(DEFUN MODULE-BODY247 (EXPORTS IMPORTS ASSIGNMENT-LIST)
+(DEFUN MODULE-BODY31 (EXPORTS IMPORTS ASSIGNMENT-LIST)
(MAKE-MODULE-BODY :-ASSIGNMENT-LIST ASSIGNMENT-LIST))
-(DEFUN MODULE-DEFINITION248
+(DEFUN MODULE-DEFINITION32
(MODULE-IDENTIFIER DUMMY DUMMY1 DUMMY2 MODULE-BODY DUMMY3)
(DECLARE (IGNORE DUMMY3 DUMMY2 DUMMY1 DUMMY))
- (MAKE-MODULE-DEFINITION :-IDENTIFIER
- MODULE-IDENTIFIER
- :-BODY
- MODULE-BODY))
+ (MAKE-MODULE-DEFINITION :-IDENTIFIER MODULE-IDENTIFIER :-BODY MODULE-BODY))
(EVAL-WHEN (COMPILE)
(UNLESS (MEMBER "zebu-regex" *MODULES* :TEST #'EQUAL)
(WARN "Load the Zebu Compiler!")))
(DECLAIM (SPECIAL ZEBU::*REGEX-GROUPS* ZEBU::*REGEX-GROUPINGS*))
-(DEFUN A-NUMBER
- (STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
- (WHEN (PROGN
- (SETF ZEBU::*REGEX-GROUPINGS* 1)
- (BLOCK ZEBU::FINAL-RETURN
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
- (SETF (SVREF ZEBU::*REGEX-GROUPS* 0)
- (LIST ZEBU::INDEX NIL))
- (LET ((ZEBU::OINDEX ZEBU::INDEX))
- (BLOCK ZEBU::COMPARE
- (DO ()
- (NIL)
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000000001111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))))
- (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
- ((< ZEBU::START ZEBU::OINDEX) NIL)
- (LET ((ZEBU::INDEX ZEBU::START))
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000000001111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE
- (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0))
- ZEBU::INDEX)
- (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
+(DEFUN A-NUMBER (STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
+ (WHEN
+ (PROGN
+ (SETF ZEBU::*REGEX-GROUPINGS* 1)
+ (BLOCK ZEBU::FINAL-RETURN
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
+ (SETF (SVREF ZEBU::*REGEX-GROUPS* 0) (LIST ZEBU::INDEX NIL))
+ (LET ((ZEBU::OINDEX ZEBU::INDEX))
+ (BLOCK ZEBU::COMPARE
+ (DO ()
+ (NIL)
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000000001111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
+ (SBIT ZEBU::RANGE
+ (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))))
+ (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
+ ((< ZEBU::START ZEBU::OINDEX) NIL)
+ (LET ((ZEBU::INDEX ZEBU::START))
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000000001111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
+ (SBIT ZEBU::RANGE
+ (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0)) ZEBU::INDEX)
+ (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
(SECOND (SVREF ZEBU::*REGEX-GROUPS* 0))))
(DEFUN VALUE-REFERENCE
(STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
- (WHEN (PROGN
- (SETF ZEBU::*REGEX-GROUPINGS* 1)
- (BLOCK ZEBU::FINAL-RETURN
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
- (SETF (SVREF ZEBU::*REGEX-GROUPS* 0)
- (LIST ZEBU::INDEX NIL))
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
+ (WHEN
+ (PROGN
+ (SETF ZEBU::*REGEX-GROUPINGS* 1)
+ (BLOCK ZEBU::FINAL-RETURN
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
+ (SETF (SVREF ZEBU::*REGEX-GROUPS* 0) (LIST ZEBU::INDEX NIL))
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH) (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1 (SBIT ZEBU::RANGE (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (LET ((ZEBU::OINDEX ZEBU::INDEX))
+ (BLOCK ZEBU::COMPARE
+ (DO ()
+ (NIL)
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
(SBIT ZEBU::RANGE
(CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (LET ((ZEBU::OINDEX ZEBU::INDEX))
- (BLOCK ZEBU::COMPARE
- (DO ()
- (NIL)
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))))
- (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
- ((< ZEBU::START ZEBU::OINDEX) NIL)
- (LET ((ZEBU::INDEX ZEBU::START))
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE
- (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0))
- ZEBU::INDEX)
- (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))))
+ (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
+ ((< ZEBU::START ZEBU::OINDEX) NIL)
+ (LET ((ZEBU::INDEX ZEBU::START))
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
+ (SBIT ZEBU::RANGE
+ (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0)) ZEBU::INDEX)
+ (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
(SECOND (SVREF ZEBU::*REGEX-GROUPS* 0))))
(DEFUN TYPE-REFERENCE
(STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
- (WHEN (PROGN
- (SETF ZEBU::*REGEX-GROUPINGS* 1)
- (BLOCK ZEBU::FINAL-RETURN
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
- (SETF (SVREF ZEBU::*REGEX-GROUPS* 0)
- (LIST ZEBU::INDEX NIL))
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
+ (WHEN
+ (PROGN
+ (SETF ZEBU::*REGEX-GROUPINGS* 1)
+ (BLOCK ZEBU::FINAL-RETURN
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
+ (SETF (SVREF ZEBU::*REGEX-GROUPS* 0) (LIST ZEBU::INDEX NIL))
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH) (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1 (SBIT ZEBU::RANGE (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (LET ((ZEBU::OINDEX ZEBU::INDEX))
+ (BLOCK ZEBU::COMPARE
+ (DO ()
+ (NIL)
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
(SBIT ZEBU::RANGE
(CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (LET ((ZEBU::OINDEX ZEBU::INDEX))
- (BLOCK ZEBU::COMPARE
- (DO ()
- (NIL)
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))))
- (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
- ((< ZEBU::START ZEBU::OINDEX) NIL)
- (LET ((ZEBU::INDEX ZEBU::START))
- (BLOCK ZEBU::COMPARE
- (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0))
- ZEBU::INDEX)
- (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))))
+ (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
+ ((< ZEBU::START ZEBU::OINDEX) NIL)
+ (LET ((ZEBU::INDEX ZEBU::START))
+ (BLOCK ZEBU::COMPARE
+ (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0)) ZEBU::INDEX)
+ (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
(SECOND (SVREF ZEBU::*REGEX-GROUPS* 0))))
(DEFUN MODULE-REFERENCE
(STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
- (WHEN (PROGN
- (SETF ZEBU::*REGEX-GROUPINGS* 1)
- (BLOCK ZEBU::FINAL-RETURN
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
- (SETF (SVREF ZEBU::*REGEX-GROUPS* 0)
- (LIST ZEBU::INDEX NIL))
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
+ (WHEN
+ (PROGN
+ (SETF ZEBU::*REGEX-GROUPINGS* 1)
+ (BLOCK ZEBU::FINAL-RETURN
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
+ (SETF (SVREF ZEBU::*REGEX-GROUPS* 0) (LIST ZEBU::INDEX NIL))
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH) (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1 (SBIT ZEBU::RANGE (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (LET ((ZEBU::OINDEX ZEBU::INDEX))
+ (BLOCK ZEBU::COMPARE
+ (DO ()
+ (NIL)
+ (LET ((ZEBU::RANGE
+ #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
(SBIT ZEBU::RANGE
(CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (LET ((ZEBU::OINDEX ZEBU::INDEX))
- (BLOCK ZEBU::COMPARE
- (DO ()
- (NIL)
- (LET ((ZEBU::RANGE
- #*0000000000000000000000000000000000000000000001001111111111000000011111111111111111111111111000000111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))))
- (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
- ((< ZEBU::START ZEBU::OINDEX) NIL)
- (LET ((ZEBU::INDEX ZEBU::START))
- (BLOCK ZEBU::COMPARE
- (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0))
- ZEBU::INDEX)
- (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))))
+ (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
+ ((< ZEBU::START ZEBU::OINDEX) NIL)
+ (LET ((ZEBU::INDEX ZEBU::START))
+ (BLOCK ZEBU::COMPARE
+ (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0)) ZEBU::INDEX)
+ (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
(SECOND (SVREF ZEBU::*REGEX-GROUPS* 0))))
-(DEFUN ANY-THING
- (STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
- (WHEN (PROGN
- (SETF ZEBU::*REGEX-GROUPINGS* 1)
- (BLOCK ZEBU::FINAL-RETURN
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
- (SETF (SVREF ZEBU::*REGEX-GROUPS* 0)
- (LIST ZEBU::INDEX NIL))
- (LET ((ZEBU::OINDEX ZEBU::INDEX))
- (BLOCK ZEBU::COMPARE
- (DO ()
- (NIL)
- (LET ((ZEBU::RANGE
- #*1111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))))
- (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
- ((< ZEBU::START ZEBU::OINDEX) NIL)
- (LET ((ZEBU::INDEX ZEBU::START))
- (BLOCK ZEBU::COMPARE
- (LET ((ZEBU::RANGE
- #*1111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111))
- (IF (>= ZEBU::INDEX LENGTH)
- (RETURN-FROM ZEBU::COMPARE NIL))
- (IF (= 1
- (SBIT
- ZEBU::RANGE
- (CHAR-CODE
- (CHAR STRING ZEBU::INDEX))))
- (INCF ZEBU::INDEX)
- (RETURN-FROM ZEBU::COMPARE NIL)))
- (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0))
- ZEBU::INDEX)
- (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
+(DEFUN ANY-THING (STRING &OPTIONAL (ZEBU::START 0) (ZEBU::END (LENGTH STRING)))
+ (WHEN
+ (PROGN
+ (SETF ZEBU::*REGEX-GROUPINGS* 1)
+ (BLOCK ZEBU::FINAL-RETURN
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::INDEX ZEBU::START) (LENGTH ZEBU::END))
+ (SETF (SVREF ZEBU::*REGEX-GROUPS* 0) (LIST ZEBU::INDEX NIL))
+ (LET ((ZEBU::OINDEX ZEBU::INDEX))
+ (BLOCK ZEBU::COMPARE
+ (DO ()
+ (NIL)
+ (LET ((ZEBU::RANGE
+ #*1111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
+ (SBIT ZEBU::RANGE
+ (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))))
+ (DO ((ZEBU::START ZEBU::INDEX (1- ZEBU::START)))
+ ((< ZEBU::START ZEBU::OINDEX) NIL)
+ (LET ((ZEBU::INDEX ZEBU::START))
+ (BLOCK ZEBU::COMPARE
+ (LET ((ZEBU::RANGE
+ #*1111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111))
+ (IF (>= ZEBU::INDEX LENGTH)
+ (RETURN-FROM ZEBU::COMPARE NIL))
+ (IF
+ (= 1
+ (SBIT ZEBU::RANGE
+ (CHAR-CODE (CHAR STRING ZEBU::INDEX))))
+ (INCF ZEBU::INDEX) (RETURN-FROM ZEBU::COMPARE NIL)))
+ (SETF (CADR (SVREF ZEBU::*REGEX-GROUPS* 0)) ZEBU::INDEX)
+ (RETURN-FROM ZEBU::FINAL-RETURN T)))))))))
(SECOND (SVREF ZEBU::*REGEX-GROUPS* 0))))
Modified: trunk/asn.1/asn.1.tab
==============================================================================
--- trunk/asn.1/asn.1.tab (original)
+++ trunk/asn.1/asn.1.tab Sun Sep 16 04:11:39 2007
@@ -1,6 +1,6 @@
-(:FILE "/home/binghe/cl-net-snmp/asn.1/asn.1.zb" :NAME "ASN.1" :DOMAIN-FILE "asn.1-domain.lisp" :PACKAGE "ASN.1" :GRAMMAR "zebu-mg" :IDENTIFIER-START-CHARS "abcdefghijklmnopqrstuvwxyz" :IDENTIFIER-CONTINUE-CHARS "-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" :LEX-CATS ((A-NUMBER "[0-9]+") (VALUE-REFERENCE "[a-z][a-zA-Z0-9-]+") (TYPE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (MODULE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (ANY-THING "[^ ]+")) :DOMAIN (KB-DOMAIN :SUBTYPE (OBJ-ID-COMPONENTS-LIST :SLOTS ((-LIST KB-SEQUENCE))) :SUBTYPE (ASSIGNMENT-LIST :SLOTS ((-LIST KB-SEQUENCE))) :SUBTYPE (ASSIGNMENT :SLOTS (-TYPE -VALUE)) :SUBTYPE (MODULE-BODY :SLOTS (-ASSIGNMENT-LIST)) :SUBTYPE (MODULE-DEFINITION :SLOTS (-IDENTIFIER -BODY))) :DOMAIN-FILE "/home/binghe/cl-net-snmp/asn.1/asn.1-domain.lisp")
-#75(ZEBU::THE-EMPTY-STRING ZEBU::AUGMENTED-START ZEBU::THE-END-G-SYMBOL MODULE-DEFINITION MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END" MODULE-REFERENCE EXPORTS IMPORTS ASSIGNMENT-LIST "EXPORTS" SYMBOLS-EXPORTED ";" "ALL" SYMBOL+\,1$ SYMBOL REFERENCE TYPE-REFERENCE VALUE-REFERENCE ASSIGNMENT+ ASSIGNMENT SPECIAL-ASSIGNMENT TYPE-ASSIGNMENT VALUE-ASSIGNMENT TYPE VALUE BUILTIN-TYPE OBJECT-IDENTIFIER-TYPE CHOICE-TYPE OCTET-STRING-TYPE INTEGER-TYPE TAGGED-TYPE "OBJECT" "IDENTIFIER" BUILTIN-VALUE OBJECT-IDENTIFIER-VALUE "{" OBJ-ID-COMPONENTS-LIST "}" OBJ-ID-COMPONENTS+ OBJ-ID-COMPONENTS NAME-AND-NUMBER-FORM NAME-FORM NUMBER-FORM IDENTIFIER "(" ")" A-NUMBER "OBJECT-TYPE" "MACRO" GARBAGE+ GARBAGE ANY-THING "CHOICE" "OCTET" "STRING" STRING-OPTIONS "SIZE" "INTEGER" ".." TAG "IMPLICIT" "EXPLICIT" "[" CLASS CLASS-NUMBER "]" "UNIVERSAL" "APPLICATION" "PRIVATE" "," )
+(:FILE "/home/binghe/lisp/cl-net-snmp/trunk/asn.1/asn.1.zb" :NAME "ASN.1" :DOMAIN-FILE "asn.1-domain.lisp" :PACKAGE "ASN.1" :GRAMMAR "zebu-mg" :IDENTIFIER-START-CHARS "abcdefghijklmnopqrstuvwxyz" :IDENTIFIER-CONTINUE-CHARS "-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" :LEX-CATS ((A-NUMBER "[0-9]+") (VALUE-REFERENCE "[a-z][a-zA-Z0-9-]+") (TYPE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (MODULE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (ANY-THING "[^ ]+")) :DOMAIN (KB-DOMAIN :SUBTYPE (OBJ-ID-COMPONENTS-LIST :SLOTS ((-LIST KB-SEQUENCE))) :SUBTYPE (ASSIGNMENT :SLOTS (-TYPE -VALUE)) :SUBTYPE (ASSIGNMENT-LIST :SLOTS ((-LIST KB-SEQUENCE))) :SUBTYPE (MODULE-BODY :SLOTS (-ASSIGNMENT-LIST)) :SUBTYPE (MODULE-DEFINITION :SLOTS (-IDENTIFIER -BODY))) :DOMAIN-FILE "/home/binghe/lisp/cl-net-snmp/trunk/asn.1/asn.1-domain.lisp")
+#75(ZEBU::THE-EMPTY-STRING ZEBU::AUGMENTED-START ZEBU::THE-END-G-SYMBOL MODULE-DEFINITION MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END" MODULE-REFERENCE EXPORTS IMPORTS ASSIGNMENT-LIST "EXPORTS" SYMBOLS-EXPORTED ";" "ALL" |SYMBOL+,1$| SYMBOL REFERENCE TYPE-REFERENCE VALUE-REFERENCE ASSIGNMENT+ ASSIGNMENT SPECIAL-ASSIGNMENT TYPE-ASSIGNMENT VALUE-ASSIGNMENT TYPE VALUE BUILTIN-TYPE OBJECT-IDENTIFIER-TYPE CHOICE-TYPE OCTET-STRING-TYPE INTEGER-TYPE TAGGED-TYPE "OBJECT" "IDENTIFIER" BUILTIN-VALUE OBJECT-IDENTIFIER-VALUE "{" OBJ-ID-COMPONENTS-LIST "}" OBJ-ID-COMPONENTS+ OBJ-ID-COMPONENTS NAME-AND-NUMBER-FORM NAME-FORM NUMBER-FORM IDENTIFIER "(" ")" A-NUMBER "OBJECT-TYPE" "MACRO" GARBAGE+ GARBAGE ANY-THING "CHOICE" "OCTET" "STRING" STRING-OPTIONS "SIZE" "INTEGER" ".." TAG "IMPLICIT" "EXPLICIT" "[" CLASS CLASS-NUMBER "]" "UNIVERSAL" "APPLICATION" "PRIVATE" "," )
#35(5 6 7 9 10 14 16 17 21 22 36 37 40 42 48 49 50 51 52 53 56 57 58 59 61 62 63 65 66 67 70 71 72 73 74 )
@@ -222,16 +222,16 @@
2
-#37((MODULE-DEFINITION . #S(ZEBU::ZB-RULE :-NAME MODULE-DEFINITION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-DEFINITION :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -IDENTIFIER :-VALUE MODULE-IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -BODY :-VALUE MODULE-BODY))) :-BUILD-FN MODULE-DEFINITION248))))
+#37((MODULE-DEFINITION . #S(ZEBU::ZB-RULE :-NAME MODULE-DEFINITION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-DEFINITION :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -IDENTIFIER :-VALUE MODULE-IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -BODY :-VALUE MODULE-BODY))) :-BUILD-FN MODULE-DEFINITION32))))
(MODULE-IDENTIFIER . #S(ZEBU::ZB-RULE :-NAME MODULE-IDENTIFIER :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(MODULE-BODY . #S(ZEBU::ZB-RULE :-NAME MODULE-BODY :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (EXPORTS IMPORTS ASSIGNMENT-LIST) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-BODY :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -ASSIGNMENT-LIST :-VALUE ASSIGNMENT-LIST))) :-BUILD-FN MODULE-BODY247) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(MODULE-BODY . #S(ZEBU::ZB-RULE :-NAME MODULE-BODY :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (EXPORTS IMPORTS ASSIGNMENT-LIST) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-BODY :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -ASSIGNMENT-LIST :-VALUE ASSIGNMENT-LIST))) :-BUILD-FN MODULE-BODY31) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(EXPORTS . #S(ZEBU::ZB-RULE :-NAME EXPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" SYMBOLS-EXPORTED ";") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" "ALL" ";") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(SYMBOLS-EXPORTED . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-EXPORTED :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL+\,1$) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(SYMBOLS-EXPORTED . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-EXPORTED :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (|SYMBOL+,1$|) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(SYMBOL . #S(ZEBU::ZB-RULE :-NAME SYMBOL :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(IMPORTS . #S(ZEBU::ZB-RULE :-NAME IMPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(REFERENCE . #S(ZEBU::ZB-RULE :-NAME REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(ASSIGNMENT-LIST . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT-LIST :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT-LIST :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -LIST :-VALUE ASSIGNMENT+))) :-BUILD-FN ASSIGNMENT-LIST246))))
-(ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SPECIAL-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :SPECIAL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE SPECIAL-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT243) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE TYPE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT244) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :VALUE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE VALUE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT245))))
+(ASSIGNMENT-LIST . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT-LIST :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT-LIST :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -LIST :-VALUE ASSIGNMENT+))) :-BUILD-FN ASSIGNMENT-LIST30))))
+(ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SPECIAL-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :SPECIAL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE SPECIAL-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT27) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE TYPE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT28) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -TYPE :-VALUE :VALUE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL -VALUE :-VALUE VALUE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT29))))
(TYPE-ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME TYPE-ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE "::=" TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(VALUE-ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME VALUE-ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE TYPE "::=" VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(TYPE . #S(ZEBU::ZB-RULE :-NAME TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (BUILTIN-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
@@ -240,7 +240,7 @@
(VALUE . #S(ZEBU::ZB-RULE :-NAME VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (BUILTIN-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(BUILTIN-VALUE . #S(ZEBU::ZB-RULE :-NAME BUILTIN-VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(OBJECT-IDENTIFIER-VALUE . #S(ZEBU::ZB-RULE :-NAME OBJECT-IDENTIFIER-VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("{" OBJ-ID-COMPONENTS-LIST "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(OBJ-ID-COMPONENTS-LIST . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENTS-LIST :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJ-ID-COMPONENTS-LIST :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -LIST :-VALUE OBJ-ID-COMPONENTS+))) :-BUILD-FN OBJ-ID-COMPONENTS-LIST242))))
+(OBJ-ID-COMPONENTS-LIST . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENTS-LIST :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJ-ID-COMPONENTS-LIST :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL -LIST :-VALUE OBJ-ID-COMPONENTS+))) :-BUILD-FN OBJ-ID-COMPONENTS-LIST26))))
(OBJ-ID-COMPONENTS . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAME-AND-NUMBER-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAME-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NUMBER-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(NAME-AND-NUMBER-FORM . #S(ZEBU::ZB-RULE :-NAME NAME-AND-NUMBER-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "(" NUMBER-FORM ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(NAME-FORM . #S(ZEBU::ZB-RULE :-NAME NAME-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
@@ -255,8 +255,8 @@
(TAG . #S(ZEBU::ZB-RULE :-NAME TAG :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("[" CLASS CLASS-NUMBER "]") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(CLASS-NUMBER . #S(ZEBU::ZB-RULE :-NAME CLASS-NUMBER :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (A-NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(CLASS . #S(ZEBU::ZB-RULE :-NAME CLASS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("UNIVERSAL") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("APPLICATION") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("PRIVATE") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(GARBAGE+ . #S(ZEBU::ZB-RULE :-NAME GARBAGE+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE))) :-BUILD-FN GARBAGE+240) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE+))) :-BUILD-FN GARBAGE+241))))
-(OBJ-ID-COMPONENTS+ . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENTS+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENTS))) :-BUILD-FN OBJ-ID-COMPONENTS+238) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS OBJ-ID-COMPONENTS+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENTS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE OBJ-ID-COMPONENTS+))) :-BUILD-FN OBJ-ID-COMPONENTS+239))))
-(ASSIGNMENT+ . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT))) :-BUILD-FN ASSIGNMENT+236) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT ASSIGNMENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE ASSIGNMENT+))) :-BUILD-FN ASSIGNMENT+237))))
-(SYMBOL+\,1$ . #S(ZEBU::ZB-RULE :-NAME SYMBOL+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL))) :-BUILD-FN SYMBOL+\,1$234) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL "," SYMBOL+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE SYMBOL+\,1$))) :-BUILD-FN SYMBOL+\,1$235))))
+(GARBAGE+ . #S(ZEBU::ZB-RULE :-NAME GARBAGE+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE))) :-BUILD-FN GARBAGE+24) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE+))) :-BUILD-FN GARBAGE+25))))
+(OBJ-ID-COMPONENTS+ . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENTS+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENTS))) :-BUILD-FN OBJ-ID-COMPONENTS+22) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENTS OBJ-ID-COMPONENTS+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENTS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE OBJ-ID-COMPONENTS+))) :-BUILD-FN OBJ-ID-COMPONENTS+23))))
+(ASSIGNMENT+ . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT))) :-BUILD-FN ASSIGNMENT+20) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT ASSIGNMENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE ASSIGNMENT+))) :-BUILD-FN ASSIGNMENT+21))))
+(|SYMBOL+,1$| . #S(ZEBU::ZB-RULE :-NAME |SYMBOL+,1$| :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL))) :-BUILD-FN |SYMBOL+,1$18|) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL "," |SYMBOL+,1$|) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE |SYMBOL+,1$|))) :-BUILD-FN |SYMBOL+,1$19|))))
)
\ No newline at end of file
Modified: trunk/asn.1/asn.1.zb
==============================================================================
--- trunk/asn.1/asn.1.zb (original)
+++ trunk/asn.1/asn.1.zb Sun Sep 16 04:11:39 2007
@@ -23,6 +23,7 @@
Assignment-List := kb-domain: [(-list kb-sequence)];
Assignment := kb-domain: [(-type) (-value)];
Obj-Id-Components-List := kb-domain: [(-list kb-sequence)];
+Value-Assignment := kb-domain: [];
;; Rule Definitions
Module-Definition -->
Added: trunk/asn.1/mib-parse.lisp
==============================================================================
--- (empty file)
+++ trunk/asn.1/mib-parse.lisp Sun Sep 16 04:11:39 2007
@@ -0,0 +1,16 @@
+(in-package :asn.1)
+
+(defun parse-oid-def (syntax-tree)
+ (let ((module (car syntax-tree)))
+ (let ((assignment-list (Assignment-List--list
+ (Module-Body--assignment-list
+ (Module-Definition--body module)))))
+ (labels ((iter (kb-seq acc)
+ (if (null (kb-sequence-rest kb-seq))
+ (nreverse (cons (kb-sequence-first kb-seq) acc))
+ (iter (kb-sequence-rest kb-seq)
+ (cons (kb-sequence-first kb-seq) acc)))))
+ (delete-if-not #'(lambda (x) (eq (car x) :value))
+ (mapcar #'(lambda (x) (cons (assignment--type x)
+ (assignment--value x)))
+ (iter assignment-list nil)))))))
Modified: trunk/asn.1/mib.lisp
==============================================================================
--- trunk/asn.1/mib.lisp (original)
+++ trunk/asn.1/mib.lisp Sun Sep 16 04:11:39 2007
@@ -69,9 +69,3 @@
(zb:*comment-brackets* '(("/*" . "*/"))))
(zb:file-parser file :grammar (zb:find-grammar "ASN.1") :verbose nil)))
-(defun parse-oid-def (syntax-tree)
- (let ((module (car syntax-tree)))
- (let ((assignment-list (Assignment-List--list
- (Module-Body--assignment-list
- (Module-Definition--body module)))))
- assignment-list)))
Modified: trunk/asn.1/stream-test.lisp
==============================================================================
--- trunk/asn.1/stream-test.lisp (original)
+++ trunk/asn.1/stream-test.lisp Sun Sep 16 04:11:39 2007
@@ -42,3 +42,6 @@
(make-pathname :name name :type "asn"
:directory '(:relative "asn.1" "test"))
(asdf:component-pathname (asdf:find-system :net-snmp)))))
+
+(defun test-parse (name)
+ (parse-oid-def (parse-mib (mib-pathname name))))
Modified: trunk/net-snmp.asd
==============================================================================
--- trunk/net-snmp.asd (original)
+++ trunk/net-snmp.asd Sun Sep 16 04:11:39 2007
@@ -11,11 +11,13 @@
:author "Chun Tian (binghe) <binghe.lisp at gmail.com>"
:depends-on (:cffi
:ironclad
- :net-telent-date)
+ :net-telent-date
+ :zebu)
:components ((:module asn.1 :components ((:file "package")
(:file "ber" :depends-on ("package"))
(:file "oid" :depends-on ("ber"))
- (:file "mib" :depends-on ("oid"))))
+ (:file "mib" :depends-on ("oid"))
+ (:file "mib-parse" :depends-on ("mib"))))
(:file "package")
(:file "constants" :depends-on ("package"))
(:file "typedefs" :depends-on ("constants"))
More information about the Cl-net-snmp-cvs
mailing list