Changeset 12591


Ignore:
Timestamp:
04/10/10 19:15:59 (11 years ago)
Author:
ehuelsmann
Message:

Removal of copy/paste code between FaslReader? and LispReader?.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/FaslReader.java

    r12431 r12591  
    3838public final class FaslReader
    3939{
    40     // ### fasl-read-comment
    41     public static final ReaderMacroFunction FASL_READ_COMMENT =
    42         new ReaderMacroFunction("fasl-read-comment", PACKAGE_SYS, false,
    43                                 "stream character")
    44     {
    45         @Override
    46         public LispObject execute(Stream stream, char ignored)
    47 
    48         {
    49           try
    50             {
    51               while (true) {
    52                 int n = stream._readChar();
    53                 if (n < 0)
    54                   return null;
    55                 if (n == '\n')
    56                   return null;
    57               }
    58             }
    59           catch (java.io.IOException e)
    60             {
    61               return null;
    62             }
    63         }
    64     };
    65 
    6640    // ### fasl-read-string
    6741    public static final ReaderMacroFunction FASL_READ_STRING =
     
    142116    };
    143117
    144     // ### fasl-read-right-paren
    145     public static final ReaderMacroFunction FASL_READ_RIGHT_PAREN =
    146         new ReaderMacroFunction("fasl-read-right-paren", PACKAGE_SYS, false,
    147                                 "stream character")
    148     {
    149         @Override
    150         public LispObject execute(Stream stream, char ignored)
    151 
    152         {
    153             return error(new ReaderError("Unmatched right parenthesis.", stream));
    154         }
    155     };
    156 
    157118    // ### fasl-read-quote
    158119    public static final ReaderMacroFunction FASL_READ_QUOTE =
     
    451412        }
    452413    };
    453 
    454     // ### fasl-sharp-vertical-bar
    455     public static final DispatchMacroFunction FASL_SHARP_VERTICAL_BAR =
    456         new DispatchMacroFunction("sharp-vertical-bar", PACKAGE_SYS, false,
    457                                   "stream sub-char numarg")
    458     {
    459         @Override
    460         public LispObject execute(Stream stream, char c, int n)
    461 
    462         {
    463             stream.skipBalancedComment();
    464             return null;
    465         }
    466     };
    467 
    468     // ### fasl-sharp-illegal
    469     public static final DispatchMacroFunction FASL_SHARP_ILLEGAL =
    470         new DispatchMacroFunction("fasl-sharp-illegal", PACKAGE_SYS, false,
    471                                   "stream sub-char numarg")
    472     {
    473         @Override
    474         public LispObject execute(Stream stream, char c, int n)
    475 
    476         {
    477             StringBuilder sb =
    478                 new StringBuilder("Illegal # macro character: #\\");
    479             String s = LispCharacter.charToName(c);
    480             if (s != null)
    481                 sb.append(s);
    482             else
    483                 sb.append(c);
    484             return error(new ReaderError(sb.toString(), stream));
    485         }
    486     };
    487414}
  • trunk/abcl/src/org/armedbear/lisp/FaslReadtable.java

    r12192 r12591  
    6565
    6666        LispObject[] readerMacroFunctions = this.readerMacroFunctions.constants;
    67         readerMacroFunctions[';']  = FaslReader.FASL_READ_COMMENT;
     67        readerMacroFunctions[';']  = LispReader.READ_COMMENT;
    6868        readerMacroFunctions['"']  = FaslReader.FASL_READ_STRING;
    6969        readerMacroFunctions['(']  = FaslReader.FASL_READ_LIST;
    70         readerMacroFunctions[')']  = FaslReader.FASL_READ_RIGHT_PAREN;
     70        readerMacroFunctions[')']  = LispReader.READ_RIGHT_PAREN;
    7171        readerMacroFunctions['\''] = FaslReader.FASL_READ_QUOTE;
    7272        readerMacroFunctions['#']  = FaslReader.FASL_READ_DISPATCH_CHAR;
     
    9292        dtfunctions['\''] = FaslReader.FASL_SHARP_QUOTE;
    9393        dtfunctions['\\'] = FaslReader.FASL_SHARP_BACKSLASH;
    94         dtfunctions['|']  = FaslReader.FASL_SHARP_VERTICAL_BAR;
    95         dtfunctions[')']  = FaslReader.FASL_SHARP_ILLEGAL;
    96         dtfunctions['<']  = FaslReader.FASL_SHARP_ILLEGAL;
    97         dtfunctions[' ']  = FaslReader.FASL_SHARP_ILLEGAL;
    98         dtfunctions[8]    = FaslReader.FASL_SHARP_ILLEGAL; // backspace
    99         dtfunctions[9]    = FaslReader.FASL_SHARP_ILLEGAL; // tab
    100         dtfunctions[10]   = FaslReader.FASL_SHARP_ILLEGAL; // newline, linefeed
    101         dtfunctions[12]   = FaslReader.FASL_SHARP_ILLEGAL; // page
    102         dtfunctions[13]   = FaslReader.FASL_SHARP_ILLEGAL; // return
     94        dtfunctions['|']  = LispReader.SHARP_VERTICAL_BAR;
     95        dtfunctions[')']  = LispReader.SHARP_ILLEGAL;
     96        dtfunctions['<']  = LispReader.SHARP_ILLEGAL;
     97        dtfunctions[' ']  = LispReader.SHARP_ILLEGAL;
     98        dtfunctions[8]    = LispReader.SHARP_ILLEGAL; // backspace
     99        dtfunctions[9]    = LispReader.SHARP_ILLEGAL; // tab
     100        dtfunctions[10]   = LispReader.SHARP_ILLEGAL; // newline, linefeed
     101        dtfunctions[12]   = LispReader.SHARP_ILLEGAL; // page
     102        dtfunctions[13]   = LispReader.SHARP_ILLEGAL; // return
    103103        dispatchTables.constants['#'] = dt;
    104104
Note: See TracChangeset for help on using the changeset viewer.