|
d35efdf5
|
2012-07-03T19:33:10
|
|
Restricted the length of identifiers (including #define directive) to 256, as required by webgl spec.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1186 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d0d9f87a
|
2012-07-03T16:06:40
|
|
Make sure that #version occurs before anything else, except for comments and white space.
Review URL: https://codereview.appspot.com/6348056
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1184 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2e81891c
|
2012-06-29T21:26:03
|
|
Handled the case where int and float are of correct format, but large. The GLSL spec is not very clear on how integers should be interpreted for expressions. C99 says the expression is of type intmax_t. I am parsing all integers as int except those in expressions, which are being parsed as unsigned int.
Review URL: https://codereview.appspot.com/6351051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1179 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5b6a68e0
|
2012-06-28T20:29:13
|
|
Replaced pp::Token::value with pp::Token::text. The term value will be used for a function which will convert text to integer/float constant.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1175 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
432d6fc4
|
2012-06-27T22:13:21
|
|
Introduced preprocessing token types. This fixes a bug where invalid tokens inside excluded conditional block may report diagnostics. Now we let the invalid tokens to bubble through the preprocessor so that they have chance to be skipped.
Review URL: https://codereview.appspot.com/6356045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1169 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d39ec4c1
|
2012-06-26T04:37:55
|
|
Implemented conditional processing.
Review URL: https://codereview.appspot.com/6333046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1168 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f3cdb460
|
2012-06-19T18:39:48
|
|
Added support for pre-defined macros.
Review URL: https://codereview.appspot.com/6301084
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1157 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
46aa13d8
|
2012-06-15T15:40:27
|
|
Implemented line directive.
Review URL: https://codereview.appspot.com/6307083
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1149 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7fc38ddd
|
2012-06-14T18:23:23
|
|
Implemented macro expansion.
Review URL: https://codereview.appspot.com/6303052
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1148 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
51b96855
|
2012-05-30T20:25:05
|
|
Fixed compile errors on linux.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1099 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e5dfefad
|
2012-05-24T19:29:37
|
|
Renamed UNEXPECTED_TOKEN_IN_DIRECTIVE to UNEXPECTED_TOKEN.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1096 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7c884540
|
2012-05-24T19:13:03
|
|
Implemented #extension and #version directives.
Review URL: https://codereview.appspot.com/6242045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1095 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
36124de8
|
2012-05-24T02:17:43
|
|
Implemented #error and #pragma directives. Added new tests and updated old ones for the new preprocessor API.
Review URL: https://codereview.appspot.com/6213066
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1094 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|