|
98d04ec8
|
2012-05-21T22:47:20
|
|
Implemented #define and #undef directives.
Review URL: https://codereview.appspot.com/6215072
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1092 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2c958eef
|
2012-05-17T20:35:42
|
|
Moved error-handling to a separate class - Diagnostics. We were earlier returning errors as tokens which did not work very well when error occured while parsing a preprocessor directive. Now all returned tokens are valid. Errors are reported via an abstract Diagnostics interface. Updated unit-tests with the new scheme.
Review URL: https://codereview.appspot.com/6203089
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1087 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
04d7d22b
|
2012-05-16T19:24:07
|
|
Reafactored Lexer class to allow chaining. The full chain when parsing #if directive looks like this: Preprocessor -> MacroExpander -> DirectiveHandler -> MacroExpander -> DefinedFilter -> Tokenizer. This chain dynamically changes depending on the current context.
Also added an incomplete implementation of #if handling and ExpressionParser to illustrate how this design is supposed to work.
Review URL: https://codereview.appspot.com/6203060
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1084 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
98eec912
|
2012-05-01T10:04:08
|
|
Using yy_scan_string, which flushes the old buffer does not work. GLSL requires that each input string is concatenated, but yy_scan_string treats each string individually. Added a custom YY_INPUT which maintains the continuity between each string.
Review URL: https://codereview.appspot.com/6130045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1066 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d089d118
|
2012-04-13T17:05:12
|
|
Removed unnecessary includion of Token.h in various files.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1037 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
14e966b2
|
2012-04-12T20:57:53
|
|
Modified the interface of Preprocessor. Added it to the build file. Lexer changes to record leading space.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1033 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
01fd431c
|
2012-03-30T21:33:30
|
|
More prep work for macro expansion. Off-loaded lexing from Context class to a new Lexer class.
Review URL: https://codereview.appspot.com/5059048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1011 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3a01d1bc
|
2011-08-30T05:10:53
|
|
Preparation for macro expansion.
Review URL: http://codereview.appspot.com/4919045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@741 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4e4b807d
|
2011-08-07T05:36:04
|
|
Beginnings of a new preprocessor.
Review URL: http://codereview.appspot.com/4830050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@718 736b8ea6-26fd-11df-bfd4-992fa37f6226
|