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}