Mercurial > projects > ldc
annotate dmd/parse.h @ 1650:40bd4a0d4870
Update to work with LLVM 2.7.
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).
Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.
Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
author | Tomas Lindquist Olsen |
---|---|
date | Wed, 19 May 2010 12:42:32 +0200 |
parents | 207a8a438dea |
children |
rev | line source |
---|---|
1606
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
1 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
2 // Compiler implementation of the D programming language |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
3 // Copyright (c) 1999-2009 by Digital Mars |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
4 // All Rights Reserved |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
5 // written by Walter Bright |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
6 // http://www.digitalmars.com |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
7 // License for redistribution is by either the Artistic License |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
8 // in artistic.txt, or the GNU General Public License in gnu.txt. |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
9 // See the included readme.txt for details. |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
10 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
11 #ifndef DMD_PARSE_H |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
12 #define DMD_PARSE_H |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
13 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
14 #ifdef __DMC__ |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
15 #pragma once |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
16 #endif /* __DMC__ */ |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
17 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
18 #include "arraytypes.h" |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
19 #include "lexer.h" |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
20 #include "enum.h" |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
21 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
22 struct Type; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
23 struct TypeQualified; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
24 struct Expression; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
25 struct Declaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
26 struct Statement; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
27 struct Import; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
28 struct Initializer; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
29 struct FuncDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
30 struct CtorDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
31 struct PostBlitDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
32 struct DtorDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
33 struct StaticCtorDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
34 struct StaticDtorDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
35 struct ConditionalDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
36 struct InvariantDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
37 struct UnitTestDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
38 struct NewDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
39 struct DeleteDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
40 struct Condition; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
41 struct Module; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
42 struct ModuleDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
43 struct TemplateDeclaration; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
44 struct TemplateInstance; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
45 struct StaticAssert; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
46 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
47 /************************************ |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
48 * These control how parseStatement() works. |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
49 */ |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
50 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
51 enum ParseStatementFlags |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
52 { |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
53 PSsemi = 1, // empty ';' statements are allowed |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
54 PSscope = 2, // start a new scope |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
55 PScurly = 4, // { } statement is required |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
56 PScurlyscope = 8, // { } starts a new scope |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
57 }; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
58 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
59 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
60 struct Parser : Lexer |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
61 { |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
62 ModuleDeclaration *md; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
63 enum LINK linkage; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
64 Loc endloc; // set to location of last right curly |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
65 int inBrackets; // inside [] of array index or slice |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
66 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
67 Parser(Module *module, unsigned char *base, unsigned length, int doDocComment); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
68 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
69 Array *parseModule(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
70 Array *parseDeclDefs(int once); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
71 Array *parseAutoDeclarations(StorageClass storageClass, unsigned char *comment); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
72 Array *parseBlock(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
73 void composeStorageClass(StorageClass stc); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
74 Expression *parseConstraint(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
75 TemplateDeclaration *parseTemplateDeclaration(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
76 TemplateParameters *parseTemplateParameterList(int flag = 0); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
77 Dsymbol *parseMixin(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
78 Objects *parseTemplateArgumentList(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
79 Objects *parseTemplateArgumentList2(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
80 Objects *parseTemplateArgument(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
81 StaticAssert *parseStaticAssert(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
82 TypeQualified *parseTypeof(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
83 enum LINK parseLinkage(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
84 Condition *parseDebugCondition(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
85 Condition *parseVersionCondition(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
86 Condition *parseStaticIfCondition(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
87 Dsymbol *parseCtor(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
88 PostBlitDeclaration *parsePostBlit(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
89 DtorDeclaration *parseDtor(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
90 StaticCtorDeclaration *parseStaticCtor(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
91 StaticDtorDeclaration *parseStaticDtor(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
92 InvariantDeclaration *parseInvariant(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
93 UnitTestDeclaration *parseUnitTest(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
94 NewDeclaration *parseNew(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
95 DeleteDeclaration *parseDelete(); |
1607
207a8a438dea
Merge DMD r253: refactor: Argument => Parameter
Leandro Lucarella <llucax@gmail.com>
parents:
1606
diff
changeset
|
96 Parameters *parseParameters(int *pvarargs); |
1606
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
97 EnumDeclaration *parseEnum(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
98 Dsymbol *parseAggregate(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
99 BaseClasses *parseBaseClasses(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
100 Import *parseImport(Array *decldefs, int isstatic); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
101 Type *parseType(Identifier **pident = NULL, TemplateParameters **tpl = NULL); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
102 Type *parseBasicType(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
103 Type *parseBasicType2(Type *t); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
104 Type *parseDeclarator(Type *t, Identifier **pident, TemplateParameters **tpl = NULL); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
105 Array *parseDeclarations(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
106 void parseContracts(FuncDeclaration *f); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
107 Statement *parseStatement(int flags); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
108 Initializer *parseInitializer(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
109 Expression *parseDefaultInitExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
110 void check(Loc loc, enum TOK value); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
111 void check(enum TOK value); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
112 void check(enum TOK value, const char *string); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
113 int isDeclaration(Token *t, int needId, enum TOK endtok, Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
114 int isBasicType(Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
115 int isDeclarator(Token **pt, int *haveId, enum TOK endtok); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
116 int isParameters(Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
117 int isExpression(Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
118 int isTemplateInstance(Token *t, Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
119 int skipParens(Token *t, Token **pt); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
120 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
121 Expression *parseExpression(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
122 Expression *parsePrimaryExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
123 Expression *parseUnaryExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
124 Expression *parsePostExp(Expression *e); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
125 Expression *parseMulExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
126 Expression *parseAddExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
127 Expression *parseShiftExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
128 Expression *parseRelExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
129 Expression *parseEqualExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
130 Expression *parseCmpExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
131 Expression *parseAndExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
132 Expression *parseXorExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
133 Expression *parseOrExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
134 Expression *parseAndAndExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
135 Expression *parseOrOrExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
136 Expression *parseCondExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
137 Expression *parseAssignExp(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
138 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
139 Expressions *parseArguments(); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
140 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
141 Expression *parseNewExp(Expression *thisexp); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
142 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
143 void addComment(Dsymbol *s, unsigned char *blockComment); |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
144 }; |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
145 |
1b24e9c7cc26
Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents:
1602
diff
changeset
|
146 #endif /* DMD_PARSE_H */ |