Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
Package Irony.Parsing

Namespaces

package  Construction
 

Classes

class  AstNodeEventArgs
 
class  BnfExpression
 
class  BnfExpressionData
 
class  BnfTerm
 
class  BnfTermList
 
class  BnfTermSet
 
class  CaseSensitiveSymbolComparer
 
class  CharHashSet
 
class  CharList
 
class  CodeOutlineFilter
 
class  CommentTerminal
 
class  CompoundTerminalBase
 
class  ConflictResolutionArgs
 The class provides arguments for custom conflict resolution grammar method. More...
 
class  ConstantsTable
 
class  ConstantTerminal
 
class  CoreParser
 
class  CustomGrammarHint
 
class  CustomTerminal
 
class  DataLiteralBase
 
class  DefaultScanner
 
class  DsvLiteral
 
class  EscapeTable
 
class  FixedLengthLiteral
 
class  FreeTextLiteral
 
class  Grammar
 
class  GrammarData
 
class  GrammarError
 
class  GrammarErrorException
 
class  GrammarErrorList
 
class  GrammarHint
 
class  GrammarHintList
 
interface  IAstNodeInit
 
interface  IAstVisitor
 
interface  IBrowsableAstNode
 
class  IdentifierTerminal
 
class  ImpliedSymbolTerminal
 
class  IntList
 
interface  ISourceStream
 Interface for Terminals to access the source stream and produce tokens. More...
 
interface  IVisitableNode
 
class  KeyTerm
 
class  KeyTermList
 
class  KeyTermTable
 
class  LanguageAttribute
 
class  LanguageData
 Describes a language. More...
 
class  LineContinuationTerminal
 
class  MultiToken
 Some terminals may need to return a bunch of tokens in one call to TryMatch; MultiToken is a container for these tokens More...
 
class  NewLineTerminal
 
class  NonTerminal
 
class  NonTerminalList
 
class  NonTerminalSet
 
class  Parser
 
class  ParserAction
 
class  ParserActionTable
 
class  ParserData
 
class  ParserDataPrinter
 
class  ParserMessage
 
class  ParserMessageList
 
class  ParserStack
 
class  ParserState
 
class  ParserStateHash
 
class  ParserStateList
 
class  ParserStateSet
 
class  ParserStateTable
 
class  ParserTrace
 
class  ParserTraceEntry
 
class  ParserTraceEventArgs
 
class  ParseTree
 
class  ParseTreeNode
 
class  ParseTreeNodeList
 
class  ParsingContext
 
class  ParsingEventArgs
 
class  Production
 
class  ProductionList
 
class  QuotedValueLiteral
 
class  RegexBasedTerminal
 
class  RegExLiteral
 
class  Scanner
 Scanner base class. The Scanner's function is to transform a stream of characters into aggregates/words or lexemes, like identifier, number, literal, etc. More...
 
struct  SourceLocation
 
struct  SourceSpan
 
class  SourceStream
 
class  StringDictionary
 
class  StringList
 
class  StringLiteral
 
class  Strings
 
class  StringSet
 
class  StringTemplateSettings
 
class  Symbol
 
class  SymbolDictionary
 
class  SymbolList
 
class  SymbolSet
 
class  SymbolTable
 
class  SyntaxError
 
class  SyntaxErrorList
 
class  Terminal
 
class  TerminalList
 
class  TerminalSet
 
class  TermReportGroup
 
class  TermReportGroupList
 
class  Token
 Tokens are produced by scanner and fed to parser, optionally passing through Token filters in between. More...
 
class  TokenEditorInfo
 
class  TokenFilter
 
class  TokenFilterList
 
class  TokenList
 A List of tokens. More...
 
class  TokenPreviewHint
 
class  TokenStack
 A Stack of tokens. More...
 
class  UnicodeCategoryList
 
struct  VsScannerStateMap
 
class  WikiBlockTerminal
 
class  WikiTagTerminal
 
class  WikiTerminalBase
 
class  WikiTextTerminal
 

Enumerations

enum  LanguageFlags {
  LanguageFlags.None = 0, LanguageFlags.NewLineBeforeEOF = 0x01, LanguageFlags.EmitLineStartToken = 0x02, LanguageFlags.DisableScannerParserLink = 0x04,
  LanguageFlags.CreateAst = 0x08, LanguageFlags.CanRunSample = 0x0100, LanguageFlags.SupportsCommandLine = 0x0200, LanguageFlags.TailRecursive = 0x0400,
  LanguageFlags.Default = None
}
 
enum  Associativity { Associativity.Left, Associativity.Right, Associativity.Neutral }
 
enum  TermListOptions { TermListOptions.None = 0, TermListOptions.AllowTrailingDelimiter = 0x01 }
 
enum  ParserActionType {
  ParserActionType.Shift, ParserActionType.Reduce, ParserActionType.Operator, ParserActionType.Code,
  ParserActionType.Accept
}
 
enum  ProductionFlags {
  ProductionFlags.None = 0, ProductionFlags.HasTerminals = 0x02, ProductionFlags.IsError = 0x04, ProductionFlags.IsEmpty = 0x08,
  ProductionFlags.IsListBuilder = 0x10
}
 
enum  ParserErrorLevel { ParserErrorLevel.Info = 0, ParserErrorLevel.Warning = 1, ParserErrorLevel.Error = 2 }
 
enum  TermFlags {
  TermFlags.None = 0, TermFlags.IsOperator = 0x01, TermFlags.IsOpenBrace = 0x02, TermFlags.IsCloseBrace = 0x04,
  TermFlags.IsBrace = IsOpenBrace | IsCloseBrace, TermFlags.IsLiteral = 0x08, TermFlags.IsConstant = 0x10, TermFlags.IsPunctuation = 0x20,
  TermFlags.IsDelimiter = 0x40, TermFlags.IsReservedWord = 0x080, TermFlags.IsMemberSelect = 0x100, TermFlags.IsNonScanner = 0x01000,
  TermFlags.IsNonGrammar = 0x02000, TermFlags.IsTransient = 0x04000, TermFlags.IsNotReported = 0x08000, TermFlags.IsNullable = 0x010000,
  TermFlags.IsVisible = 0x020000, TermFlags.IsKeyword = 0x040000, TermFlags.IsMultiline = 0x100000, TermFlags.IsList = 0x200000,
  TermFlags.IsListContainer = 0x400000, TermFlags.NoAstNode = 0x800000
}
 
enum  GrammarErrorLevel {
  GrammarErrorLevel.NoError, GrammarErrorLevel.Info, GrammarErrorLevel.Warning, GrammarErrorLevel.Conflict,
  GrammarErrorLevel.Error, GrammarErrorLevel.InternalError
}
 
enum  HintType {
  HintType.ResolveToShift, HintType.ResolveToReduce, HintType.ResolveInCode, HintType.Precedence,
  HintType.Custom
}
 
enum  TermReportGroupType { TermReportGroupType.Normal, TermReportGroupType.Exclude, TermReportGroupType.Operator }
 
enum  ParseTreeStatus { ParseTreeStatus.Parsing, ParseTreeStatus.Partial, ParseTreeStatus.Parsed, ParseTreeStatus.Error }
 
enum  ParseOptions { ParseOptions.GrammarDebugging = 0x01, ParseOptions.TraceParser = 0x02, ParseOptions.AnalyzeCode = 0x10 }
 
enum  ParseMode { ParseMode.File, ParseMode.VsLineScan, ParseMode.CommandLine }
 
enum  ParserStatus {
  ParserStatus.Init, ParserStatus.Parsing, ParserStatus.Previewing, ParserStatus.Recovering,
  ParserStatus.Accepted, ParserStatus.AcceptedPartial, ParserStatus.Error
}
 
enum  TokenFlags { TokenFlags.IsIncomplete = 0x01 }
 Token flags. More...
 
enum  TokenCategory {
  TokenCategory.Content, TokenCategory.Outline, TokenCategory.Comment, TokenCategory.Directive,
  TokenCategory.Error
}
 Token category. More...
 
enum  TokenColor {
  TokenColor.Text = 0, TokenColor.Keyword = 1, TokenColor.Comment = 2, TokenColor.Identifier = 3,
  TokenColor.String = 4, TokenColor.Number = 5
}
 
enum  TokenTriggers {
  TokenTriggers.None = 0, TokenTriggers.MemberSelect = 1, TokenTriggers.MatchBraces = 2, TokenTriggers.ParameterStart = 16,
  TokenTriggers.ParameterNext = 32, TokenTriggers.ParameterEnd = 64, TokenTriggers.Parameter = 128, TokenTriggers.MethodTip = 240
}
 
enum  TokenType {
  TokenType.Unknown = 0, TokenType.Text = 1, TokenType.Keyword = 2, TokenType.Identifier = 3,
  TokenType.String = 4, TokenType.Literal = 5, TokenType.Operator = 6, TokenType.Delimiter = 7,
  TokenType.WhiteSpace = 8, TokenType.LineComment = 9, TokenType.Comment = 10
}
 
enum  FreeTextOptions { FreeTextOptions.None = 0x0, FreeTextOptions.ConsumeTerminator = 0x01, FreeTextOptions.IncludeTerminator = 0x02, FreeTextOptions.AllowEof = 0x04 }
 
enum  IdOptions : short {
  IdOptions.None = 0, IdOptions.AllowsEscapes = 0x01, IdOptions.CanStartWithEscape = 0x03, IdOptions.IsNotKeyword = 0x10,
  IdOptions.NameIncludesPrefix = 0x20
}
 
enum  CaseRestriction {
  CaseRestriction.None, CaseRestriction.FirstUpper, CaseRestriction.FirstLower, CaseRestriction.AllUpper,
  CaseRestriction.AllLower
}
 
enum  RegexTermOptions {
  RegexTermOptions.None = 0, RegexTermOptions.AllowLetterAfter = 0x01, RegexTermOptions.CreateRegExObject = 0x02, RegexTermOptions.UniqueSwitches = 0x04,
  RegexTermOptions.Default = CreateRegExObject | UniqueSwitches
}
 
enum  StringOptions : short {
  StringOptions.None = 0, StringOptions.IsChar = 0x01, StringOptions.AllowsDoubledQuote = 0x02, StringOptions.AllowsLineBreak = 0x04,
  StringOptions.IsTemplate = 0x08, StringOptions.NoEscapes = 0x10, StringOptions.AllowsUEscapes = 0x20, StringOptions.AllowsXEscapes = 0x40,
  StringOptions.AllowsOctalEscapes = 0x80, StringOptions.AllowsAllEscapes = AllowsUEscapes | AllowsXEscapes | AllowsOctalEscapes
}
 
enum  WikiTermType {
  WikiTermType.Text, WikiTermType.Element, WikiTermType.Format, WikiTermType.Heading,
  WikiTermType.List, WikiTermType.Block, WikiTermType.Table
}
 
enum  WikiBlockType {
  WikiBlockType.EscapedText, WikiBlockType.CodeBlock, WikiBlockType.Anchor, WikiBlockType.LinkToAnchor,
  WikiBlockType.Url, WikiBlockType.FileLink, WikiBlockType.Image
}
 
enum  OutlineOptions { OutlineOptions.None = 0, OutlineOptions.ProduceIndents = 0x01, OutlineOptions.CheckBraces = 0x02, OutlineOptions.CheckOperator = 0x04 }
 

Functions

delegate void AstNodeCreator (ParsingContext context, ParseTreeNode parseNode)
 
delegate Token MatchHandler (Terminal terminal, ParsingContext context, ISourceStream source)
 

Enumeration Type Documentation

Enumerator
Left 
Right 
Neutral 

Definition at line 64 of file GrammarData.cs.

Enumerator
None 
FirstUpper 
FirstLower 
AllUpper 
AllLower 

Definition at line 36 of file IdentifierTerminal.cs.

Enumerator
None 
ConsumeTerminator 
IncludeTerminator 
AllowEof 

Definition at line 23 of file FreeTextLiteral.cs.

Enumerator
NoError 
Info 
Warning 
Conflict 
Error 
InternalError 

Definition at line 19 of file GrammarError.cs.

Enumerator
ResolveToShift 

Instruction to resolve conflict to shift

ResolveToReduce 

Instruction to resolve conflict to reduce

ResolveInCode 

Instruction to resolve the conflict using special code in grammar in OnResolvingConflict method.

Precedence 

Currently ignored by Parser, may be used in the future to set specific precedence value of the following terminal operator. One example where it can be used is setting higher precedence value for unary + or - operators. This hint would override precedence set for these operators for cases when they are used as unary operators. (YACC has this feature).

Custom 

Provided for all custom hints that derived solutions may introduce

Definition at line 20 of file GrammarHint.cs.

Enumerator
None 
AllowsEscapes 
CanStartWithEscape 
IsNotKeyword 
NameIncludesPrefix 

Definition at line 27 of file IdentifierTerminal.cs.

Enumerator
None 
NewLineBeforeEOF 
EmitLineStartToken 
DisableScannerParserLink 
CreateAst 
CanRunSample 
SupportsCommandLine 
TailRecursive 
Default 

Definition at line 42 of file GrammarData.cs.

Enumerator
None 
ProduceIndents 
CheckBraces 
CheckOperator 

Definition at line 8 of file CodeOutlineFilter.cs.

Enumerator
File 
VsLineScan 
CommandLine 

Definition at line 29 of file ParsingContext.cs.

Enumerator
GrammarDebugging 
TraceParser 
AnalyzeCode 

Definition at line 23 of file ParsingContext.cs.

Enumerator
Shift 
Reduce 
Operator 
Code 
Accept 

Definition at line 73 of file ParserData.cs.

Enumerator
Info 
Warning 
Error 

Definition at line 19 of file ParserMessage.cs.

Enumerator
Init 
Parsing 
Previewing 
Recovering 
Accepted 
AcceptedPartial 
Error 

Definition at line 35 of file ParsingContext.cs.

Enumerator
Parsing 
Partial 
Parsed 
Error 

Definition at line 114 of file ParseTree.cs.

Enumerator
None 
HasTerminals 
IsError 
IsEmpty 
IsListBuilder 

Definition at line 126 of file ParserData.cs.

Enumerator
None 
AllowLetterAfter 
CreateRegExObject 
UniqueSwitches 
Default 

Definition at line 29 of file RegExLiteral.cs.

Enumerator
None 
IsChar 
AllowsDoubledQuote 
AllowsLineBreak 
IsTemplate 
NoEscapes 
AllowsUEscapes 
AllowsXEscapes 
AllowsOctalEscapes 
AllowsAllEscapes 

Definition at line 21 of file StringLiteral.cs.

Enumerator
None 
IsOperator 
IsOpenBrace 
IsCloseBrace 
IsBrace 
IsLiteral 
IsConstant 
IsPunctuation 
IsDelimiter 
IsReservedWord 
IsMemberSelect 
IsNonScanner 
IsNonGrammar 
IsTransient 
IsNotReported 
IsNullable 
IsVisible 
IsKeyword 
IsMultiline 
IsList 
IsListContainer 
NoAstNode 

Definition at line 21 of file BnfTerm.cs.

Enumerator
None 
AllowTrailingDelimiter 

Definition at line 71 of file GrammarData.cs.

Enumerator
Normal 
Exclude 
Operator 

Definition at line 29 of file TermReportGroups.cs.

Token category.

Enumerator
Content 

Content category.

Outline 

newLine, indent, dedent

Comment 

Comment category.

Directive 

Directive category.

Error 

Error category.

Definition at line 29 of file Token.cs.

Enumerator
Text 
Keyword 
Comment 
Identifier 
String 
Number 

Definition at line 38 of file TokenEditorInfo.cs.

Token flags.

Enumerator
IsIncomplete 

Definition at line 21 of file Token.cs.

Enumerator
None 
MemberSelect 
MatchBraces 
ParameterStart 
ParameterNext 
ParameterEnd 
Parameter 
MethodTip 

Definition at line 51 of file TokenEditorInfo.cs.

Enumerator
Unknown 
Text 
Keyword 
Identifier 
String 
Literal 
Operator 
Delimiter 
WhiteSpace 
LineComment 
Comment 

Definition at line 94 of file TokenEditorInfo.cs.

Enumerator
EscapedText 
CodeBlock 
Anchor 
LinkToAnchor 
Url 
FileLink 
Image 

Definition at line 8 of file WikiBlockTerminal.cs.

Enumerator
Text 
Element 
Format 
Heading 
List 
Block 
Table 

Definition at line 7 of file _WikiTerminalBase.cs.

Function Documentation

delegate void Irony.Parsing.AstNodeCreator ( ParsingContext  context,
ParseTreeNode  parseNode 
)
delegate Token Irony.Parsing.MatchHandler ( Terminal  terminal,
ParsingContext  context,
ISourceStream  source 
)