Changeset 12591
- Timestamp:
- 04/10/10 19:15:59 (13 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/FaslReader.java
r12431 r12591 38 38 public final class FaslReader 39 39 { 40 // ### fasl-read-comment41 public static final ReaderMacroFunction FASL_READ_COMMENT =42 new ReaderMacroFunction("fasl-read-comment", PACKAGE_SYS, false,43 "stream character")44 {45 @Override46 public LispObject execute(Stream stream, char ignored)47 48 {49 try50 {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 66 40 // ### fasl-read-string 67 41 public static final ReaderMacroFunction FASL_READ_STRING = … … 142 116 }; 143 117 144 // ### fasl-read-right-paren145 public static final ReaderMacroFunction FASL_READ_RIGHT_PAREN =146 new ReaderMacroFunction("fasl-read-right-paren", PACKAGE_SYS, false,147 "stream character")148 {149 @Override150 public LispObject execute(Stream stream, char ignored)151 152 {153 return error(new ReaderError("Unmatched right parenthesis.", stream));154 }155 };156 157 118 // ### fasl-read-quote 158 119 public static final ReaderMacroFunction FASL_READ_QUOTE = … … 451 412 } 452 413 }; 453 454 // ### fasl-sharp-vertical-bar455 public static final DispatchMacroFunction FASL_SHARP_VERTICAL_BAR =456 new DispatchMacroFunction("sharp-vertical-bar", PACKAGE_SYS, false,457 "stream sub-char numarg")458 {459 @Override460 public LispObject execute(Stream stream, char c, int n)461 462 {463 stream.skipBalancedComment();464 return null;465 }466 };467 468 // ### fasl-sharp-illegal469 public static final DispatchMacroFunction FASL_SHARP_ILLEGAL =470 new DispatchMacroFunction("fasl-sharp-illegal", PACKAGE_SYS, false,471 "stream sub-char numarg")472 {473 @Override474 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 else483 sb.append(c);484 return error(new ReaderError(sb.toString(), stream));485 }486 };487 414 } -
trunk/abcl/src/org/armedbear/lisp/FaslReadtable.java
r12192 r12591 65 65 66 66 LispObject[] readerMacroFunctions = this.readerMacroFunctions.constants; 67 readerMacroFunctions[';'] = FaslReader.FASL_READ_COMMENT;67 readerMacroFunctions[';'] = LispReader.READ_COMMENT; 68 68 readerMacroFunctions['"'] = FaslReader.FASL_READ_STRING; 69 69 readerMacroFunctions['('] = FaslReader.FASL_READ_LIST; 70 readerMacroFunctions[')'] = FaslReader.FASL_READ_RIGHT_PAREN;70 readerMacroFunctions[')'] = LispReader.READ_RIGHT_PAREN; 71 71 readerMacroFunctions['\''] = FaslReader.FASL_READ_QUOTE; 72 72 readerMacroFunctions['#'] = FaslReader.FASL_READ_DISPATCH_CHAR; … … 92 92 dtfunctions['\''] = FaslReader.FASL_SHARP_QUOTE; 93 93 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; // backspace99 dtfunctions[9] = FaslReader.FASL_SHARP_ILLEGAL; // tab100 dtfunctions[10] = FaslReader.FASL_SHARP_ILLEGAL; // newline, linefeed101 dtfunctions[12] = FaslReader.FASL_SHARP_ILLEGAL; // page102 dtfunctions[13] = FaslReader.FASL_SHARP_ILLEGAL; // return94 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 103 103 dispatchTables.constants['#'] = dt; 104 104
Note: See TracChangeset
for help on using the changeset viewer.