# Claunia.PropertyList.ASCIIPropertyListParser

plist-cil : Claunia.PropertyList Namespace

# ASCIIPropertyListParser Class

Parser for ASCII property lists. Supports Apple OS X/iOS and GnuStep/NeXTSTEP format. This parser is based on the recursive descent paradigm, but the underlying grammar is not explicitely defined.

Resources on ASCII property list format:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists/OldStylePlists/OldStylePLists.html

Property List Programming Guide - Old-Style ASCII Property Lists

http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSPropertyList.html

GnuStep - NSPropertyListSerialization class documentation

## Syntax

public class ASCIIPropertyListParser

## Remarks

Documentation for this section has not yet been entered.

## Requirements

Namespace: Claunia.PropertyList
Assembly: plist-cil (in plist-cil.dll)
Assembly Versions: 1.13.0.0, 1.14.0.0

## Members

See Also: Inherited members from object.

## Protected Constructors

| ASCIIPropertyListParser () | Documentation for this section has not yet been entered.

## Public Fields

const | ARRAY_BEGIN_TOKEN | char . Token of NSArray start
const | ARRAY_END_TOKEN | char . Token of NSArray end
const | ARRAY_ITEM_DELIMITER_TOKEN | char . Token of NSArray item delimiter
const | COMMENT_BEGIN_TOKEN | char . Token for comment start
const | DATA_BEGIN_TOKEN | char . Token of NSData start
const | DATA_END_TOKEN | char . Token of NSData end
const | DATA_GSBOOL_BEGIN_TOKEN | char . Token of GSBoolean start
const | DATA_GSBOOL_FALSE_TOKEN | char . Token for GSBoolen's `false`
const | DATA_GSBOOL_TRUE_TOKEN | char . Token for GSBoolen's `true`
const | DATA_GSDATE_BEGIN_TOKEN | char . Token of GSDate start
const | DATA_GSINT_BEGIN_TOKEN | char . Token for GSInteger
const | DATA_GSOBJECT_BEGIN_TOKEN | char . Token of GSObject start
const | DATA_GSREAL_BEGIN_TOKEN | char . Token for GSReal
const | DATE_APPLE_DATE_TIME_DELIMITER | char . Token for NSDate date and time delimiter
const | DATE_APPLE_END_TOKEN | char . Token for NSDate end
const | DATE_DATE_FIELD_DELIMITER | char . Token for NSDate date field delimited
const | DATE_GS_DATE_TIME_DELIMITER | char . Token for GSDate date and time delimiter
const | DATE_TIME_FIELD_DELIMITER | char . Token for NSDate time field delimiter
const | DICTIONARY_ASSIGN_TOKEN | char . Token of NSDictionary assignment
const | DICTIONARY_BEGIN_TOKEN | char . Token of NSDictionary start
const | DICTIONARY_END_TOKEN | char . Token of NSDictionary end
const | DICTIONARY_ITEM_DELIMITER_TOKEN | char . Token of NSDictionary item delimiter
const | MULTILINE_COMMENT_END_TOKEN | char . End token for multiline comment
const | MULTILINE_COMMENT_SECOND_TOKEN | char . Second token for multiline comment
const | QUOTEDSTRING_BEGIN_TOKEN | char . Token of quoted NSString start
const | QUOTEDSTRING_END_TOKEN | char . Token of quoted NSString end
const | QUOTEDSTRING_ESCAPE_TOKEN | char . Token of quoted NSString escaped character
const | SINGLELINE_COMMENT_SECOND_TOKEN | char . Second token for singleline comment
const | WHITESPACE_CARRIAGE_RETURN | char . A carriage return
const | WHITESPACE_NEWLINE | char . A newline
const | WHITESPACE_SPACE | char . A space
const | WHITESPACE_TAB | char . A tabulator

## Public Methods

Parse () : NSObject

> Parses the property list from the beginning and returns the root object of the property list.

static

Parse (byte[]) : NSObject

> Parses an ASCII property list from a byte array.

static

Parse (System.IO.FileInfo) : NSObject

> Parses an ASCII property list file.

static

Parse (System.IO.Stream) : NSObject

> Parses an ASCII property list from an input stream.

static

ParseQuotedString (string) : string

> Parses a string according to the format specified for ASCII property lists. Such strings can contain escape sequences which are unescaped in this method.

## Member Details

### ASCIIPropertyListParser Constructor

> Documentation for this section has not yet been entered.

> ## Syntax

> protected ASCIIPropertyListParser ()

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### ARRAY_BEGIN_TOKEN Field

> Token of NSArray start

> ## Syntax

> public const char ARRAY_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### ARRAY_END_TOKEN Field

> Token of NSArray end

> ## Syntax

> public const char ARRAY_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### ARRAY_ITEM_DELIMITER_TOKEN Field

> Token of NSArray item delimiter

> ## Syntax

> public const char ARRAY_ITEM_DELIMITER_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### COMMENT_BEGIN_TOKEN Field

> Token for comment start

> ## Syntax

> public const char COMMENT_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_BEGIN_TOKEN Field

> Token of NSData start

> ## Syntax

> public const char DATA_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_END_TOKEN Field

> Token of NSData end

> ## Syntax

> public const char DATA_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSBOOL_BEGIN_TOKEN Field

> Token of GSBoolean start

> ## Syntax

> public const char DATA_GSBOOL_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSBOOL_FALSE_TOKEN Field

> Token for GSBoolen's `false`

> ## Syntax

> public const char DATA_GSBOOL_FALSE_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSBOOL_TRUE_TOKEN Field

> Token for GSBoolen's `true`

> ## Syntax

> public const char DATA_GSBOOL_TRUE_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSDATE_BEGIN_TOKEN Field

> Token of GSDate start

> ## Syntax

> public const char DATA_GSDATE_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSINT_BEGIN_TOKEN Field

> Token for GSInteger

> ## Syntax

> public const char DATA_GSINT_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSOBJECT_BEGIN_TOKEN Field

> Token of GSObject start

> ## Syntax

> public const char DATA_GSOBJECT_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATA_GSREAL_BEGIN_TOKEN Field

> Token for GSReal

> ## Syntax

> public const char DATA_GSREAL_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATE_APPLE_DATE_TIME_DELIMITER Field

> Token for NSDate date and time delimiter

> ## Syntax

> public const char DATE_APPLE_DATE_TIME_DELIMITER

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATE_APPLE_END_TOKEN Field

> Token for NSDate end

> ## Syntax

> public const char DATE_APPLE_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATE_DATE_FIELD_DELIMITER Field

> Token for NSDate date field delimited

> ## Syntax

> public const char DATE_DATE_FIELD_DELIMITER

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATE_GS_DATE_TIME_DELIMITER Field

> Token for GSDate date and time delimiter

> ## Syntax

> public const char DATE_GS_DATE_TIME_DELIMITER

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DATE_TIME_FIELD_DELIMITER Field

> Token for NSDate time field delimiter

> ## Syntax

> public const char DATE_TIME_FIELD_DELIMITER

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DICTIONARY_ASSIGN_TOKEN Field

> Token of NSDictionary assignment

> ## Syntax

> public const char DICTIONARY_ASSIGN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DICTIONARY_BEGIN_TOKEN Field

> Token of NSDictionary start

> ## Syntax

> public const char DICTIONARY_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DICTIONARY_END_TOKEN Field

> Token of NSDictionary end

> ## Syntax

> public const char DICTIONARY_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### DICTIONARY_ITEM_DELIMITER_TOKEN Field

> Token of NSDictionary item delimiter

> ## Syntax

> public const char DICTIONARY_ITEM_DELIMITER_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### MULTILINE_COMMENT_END_TOKEN Field

> End token for multiline comment

> ## Syntax

> public const char MULTILINE_COMMENT_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### MULTILINE_COMMENT_SECOND_TOKEN Field

> Second token for multiline comment

> ## Syntax

> public const char MULTILINE_COMMENT_SECOND_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### Parse Method

> Parses the property list from the beginning and returns the root object of the property list.

> ## Syntax

> public NSObject Parse ()

> #### Returns

> > The root object of the property list. This can either be a NSDictionary or a NSArray.

> #### Exceptions

> > Type | Reason
> > --- | ---
> > FormatException | When an error occured during parsing

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### Parse Method

> Parses an ASCII property list from a byte array.

> ## Syntax

> public static NSObject Parse (byte[] bytes)

> #### Parameters

> > bytes
> >   The ASCII property list data.

> #### Returns

> > The root object of the property list. This is usually a NSDictionary but can also be a NSArray.

> #### Exceptions

> > Type | Reason
> > --- | ---
> > FormatException | When an error occurs during parsing.

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### Parse Method

> Parses an ASCII property list file.

> ## Syntax

> public static NSObject Parse (System.IO.FileInfo f)

> #### Parameters

> > f
> >   The ASCII property list file..

> #### Returns

> > The root object of the property list. This is usually a NSDictionary but can also be a NSArray.

> #### Exceptions

> > Type | Reason
> > --- | ---
> > FormatException | When an error occurs during parsing.
> > System.IO.IOException | When an error occured while reading from the input stream.

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### Parse Method

> Parses an ASCII property list from an input stream.

> ## Syntax

> public static NSObject Parse (System.IO.Stream fs)

> #### Parameters

> > fs
> >   The input stream that points to the property list's data.

> #### Returns

> > The root object of the property list. This is usually a NSDictionary but can also be a NSArray.

> #### Exceptions

> > Type | Reason
> > --- | ---
> > FormatException | When an error occurs during parsing.
> > System.IO.IOException |

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### ParseQuotedString Method

> Parses a string according to the format specified for ASCII property lists. Such strings can contain escape sequences which are unescaped in this method.

> ## Syntax

> public static string ParseQuotedString (string s)

> #### Parameters

> > s
> >   The escaped string according to the ASCII property list format, without leading and trailing quotation marks.

> #### Returns

> > The unescaped string in UTF-8 or ASCII format, depending on the contained characters.

> #### Exceptions

> > Type | Reason
> > --- | ---
> > ArgumentException | If the en-/decoder for the UTF-8 or ASCII encoding could not be loaded
> > System.Text.EncoderFallbackException | If the string is encoded neither in ASCII nor in UTF-8

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### QUOTEDSTRING_BEGIN_TOKEN Field

> Token of quoted NSString start

> ## Syntax

> public const char QUOTEDSTRING_BEGIN_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### QUOTEDSTRING_END_TOKEN Field

> Token of quoted NSString end

> ## Syntax

> public const char QUOTEDSTRING_END_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### QUOTEDSTRING_ESCAPE_TOKEN Field

> Token of quoted NSString escaped character

> ## Syntax

> public const char QUOTEDSTRING_ESCAPE_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### SINGLELINE_COMMENT_SECOND_TOKEN Field

> Second token for singleline comment

> ## Syntax

> public const char SINGLELINE_COMMENT_SECOND_TOKEN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### WHITESPACE_CARRIAGE_RETURN Field

> A carriage return

> ## Syntax

> public const char WHITESPACE_CARRIAGE_RETURN

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### WHITESPACE_NEWLINE Field

> A newline

> ## Syntax

> public const char WHITESPACE_NEWLINE

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### WHITESPACE_SPACE Field

> A space

> ## Syntax

> public const char WHITESPACE_SPACE

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0

### WHITESPACE_TAB Field

> A tabulator

> ## Syntax

> public const char WHITESPACE_TAB

> ## Remarks

> Documentation for this section has not yet been entered.

> ## Requirements

> Namespace: Claunia.PropertyList
> Assembly: plist-cil (in plist-cil.dll)
> Assembly Versions: 1.13.0.0, 1.14.0.0