View source code
							
							
						
								Display the source code in dmd/parse.d from which this
								page was generated on github.
							
						
							Report a bug
							
						
								If you spot a problem with this page, click here to create a
								Bugzilla issue.
							
						
							
								Improve this page
							
							
					
								Quickly fork, edit online, and submit a pull request for this page.
								Requires a signed-in GitHub account. This works well for small changes.
								If you'd like to make larger changes you may want to consider using
								local clone.
							
						Class dmd.parse.Parser
				
						
				class Parser(AST)
				;
						
					
				Constructors
| Name | Description | 
|---|---|
| this | Use this constructor for string mixins. | 
Methods
| Name | Description | 
|---|---|
| addComment | |
| appendStorageClass | Give error on redundant/conflicting storage class. | 
| checkDanglingElse | |
| isDeclaration | Determine if the scanner is sitting on the start of a declaration. | 
| parseAggregate | Parse struct, union, interface, class. | 
| parseArguments | Collect argument list. Assume current token is ',', '(' or '['. | 
| parseAttribute | Parse attribute, lexer is on '@'. | 
| parseAutoDeclarations | Parse auto declarations of the form: storageClass ident = init, ident = init, ... ; and return the array of them. Starts with token on the first ident. Ends with scanner past closing ';' | 
| parseBaseClasses | |
| parseBasicType2 | Parse things that follow the initial type t. t * t [] t [type] t [expression] t [expression .. expression] t function t delegate | 
| parseBlock | Parse declarations after an align, protection, or extern decl. | 
| parseConstraint | Parse constraint. Constraint is of the form: if ( ConstraintExpression ) | 
| parseContracts | Parse contracts following function declaration. | 
| parseCtor | Parse a constructor definition: this(parameters) { body } or postblit: this(this) { body } or constructor template: this(templateparameters)(parameters) { body } Current token is 'this'. | 
| parseDebugCondition | Parse a debug conditional | 
| parseDeclarations | Parse Declarations. These can be: 1. declarations at global/class level 2. declarations at statement level Return array of Declaration *'s. | 
| parseDefaultInitExp | Parses default argument initializer expression that is an assign expression, with special handling for FILE__, FILE_DIR__, LINE__, MODULE__, FUNCTION__, and PRETTY_FUNCTION__. | 
| parseDelete | Parse a delete definition: delete(parameters) { body } Current token is 'delete'. | 
| parseDtor | Parse a destructor definition: ~this() { body } Current token is '~'. | 
| parseEnum | |
| parseForeach | Parses foreachstatements,static foreachstatements andstatic foreachdeclarations.  The template parameterisStaticis true, iff astatic foreachshould be parsed.
 IfisStaticis true,isDeclcan be true to indicate that astatic foreachdeclaration should be parsed. | 
| parseInitializer | Parse initializer for variable declaration. | 
| parseInvariant | Parse an invariant definition: invariant { statements... } invariant() { statements... } invariant (expression); Current token is 'invariant'. | 
| parseLinkage | |
| parseMixin | Parse template mixin. mixin Foo; mixin Foo!(args); mixin a.b.c!(args).Foo!(args); mixin Foo!(args) identifier; mixin typeof(expr).identifier!(args); | 
| parseNew | Parse a new definition: new(parameters) { body } Current token is 'new'. | 
| parseNewExp | |
| parseParameters | Parse parameter list. | 
| parsePostfix | Parse const/immutable/shared/inout/nothrow/pure postfix | 
| parsePrimaryExp | Expression Parser | 
| parseQualifiedIdentifier | Parse ident1.ident2.ident3 | 
| parseSharedStaticCtor | Parse a shared static constructor definition: shared static this() { body } Current token is 'shared'. | 
| parseSharedStaticDtor | Parse a shared static destructor definition: shared static ~this() { body } Current token is 'shared'. | 
| parseStatement | |
| parseStaticAssert | Parse a static assertion. Current token is 'static'. | 
| parseStaticCtor | Parse a static constructor definition: static this() { body } Current token is 'static'. | 
| parseStaticDtor | Parse a static destructor definition: static ~this() { body } Current token is 'static'. | 
| parseStaticIfCondition | static if (expression) body else body Current token is 'static'. | 
| parseTemplateArgumentList | Parse template argument list. | 
| parseTemplateArguments | Parse template arguments. | 
| parseTemplateDeclaration | Parse a TemplateDeclaration. | 
| parseTemplateParameterList | Parse template parameter list. | 
| parseTemplateSingleArgument | Parse single template argument, to support the syntax: foo!arg | 
| parseTypeof | Parse typeof(expression). Current token is on the 'typeof'. | 
| parseUnitTest | Parse a unittest definition: unittest { body } Current token is 'unittest'. | 
| parseVector | Parse vector(type). Current token is on the 'vector'. | 
| parseVersionCondition | Parse a version conditional | 
| skipAttributes | Skip attributes. | 
| skipParens | Skip parens, brackets. | 
| factory | Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor. | 
| opCmp | Compare with another Object obj. | 
| opEquals | Test whether thisis equal too.
 The default implementation only compares by identity (using theisoperator).
 Generally, overrides foropEqualsshould attempt to compare objects by their contents. | 
| toHash | Compute hash function for Object. | 
| toString | Convert Object to a human readable string. | 
Enums
| Name | Description | 
|---|---|
| NeedDeclaratorId | 
Aliases
| Name | Description | 
|---|---|
| ParseForeachArgs | Determines additional argument types for parseForeach. | 
| ParseForeachRet | Determines the result type for parseForeach. | 
Authors
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.