001/* 002 * Copyright (C) 2009-2011 Mathias Doenitz 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017package org.parboiled.support; 018 019import org.parboiled.buffers.IndentDedentInputBuffer; 020 021public class Chars { 022 023 private Chars() {} 024 025 /** 026 * Special non-character used during error recovery. Signals that an illegal input character was skipped at this 027 * input location. 028 */ 029 public static final char DEL_ERROR = '\uFDEA'; 030 031 /** 032 * Special non-character used during error recovery. Signals that the character at the following input location 033 * was expected but not present in the input buffer. 034 */ 035 public static final char INS_ERROR = '\uFDEB'; 036 037 /** 038 * Special non-character used during error recovery. Signals that a rule resynchronization has to be performed 039 * at the current input location. 040 */ 041 public static final char RESYNC = '\uFDEC'; 042 043 /** 044 * Special non-character used during error recovery. Signals that all characters up to the RESYNC_END 045 * character need to be skipped as part of a resynchronization. 046 */ 047 public static final char RESYNC_START = '\uFDED'; 048 049 /** 050 * Special non-character used during error recovery. Signals the end of a resynchronization block. 051 */ 052 public static final char RESYNC_END = '\uFDEE'; 053 054 /** 055 * Special non-character used during error recovery. Signals a resynchronization at EOI. 056 */ 057 public static final char RESYNC_EOI = '\uFDEF'; 058 059 /** 060 * The End-of-Input non-character. 061 */ 062 public static final char EOI = '\uFFFF'; 063 064 /** 065 * Special non-character used by the {@link IndentDedentInputBuffer}. 066 */ 067 public static final char INDENT = '\uFDD0'; 068 069 /** 070 * Special non-character used by the {@link IndentDedentInputBuffer}. 071 */ 072 public static final char DEDENT = '\uFDD1'; 073 074}