Roberto Raggi
55234b9d16
Implemented some basic code completion.
2010-11-29 18:06:21 +01:00
Roberto Raggi
90bf956cc1
Simple error recovery.
...
Well, it's not very advanced but it is probably good enough for now.
2010-11-29 09:56:26 +01:00
Rhys Weatherley
c173959f89
Remove type categories from the GLSL AST
...
Type categories are now handled at semantic analysis time
so we don't need to track them at syntax analysis time.
2010-11-29 13:04:54 +10:00
Roberto Raggi
f29924308f
Added Engine::blockDiagnosticMessages()
2010-11-26 14:26:07 +01:00
Rhys Weatherley
e6f1fa0637
Fix AST for GLSL DeclarationStatement
...
DeclarationStatement wraps a single declaration, not a list.
2010-11-26 10:06:05 +10:00
Roberto Raggi
864c3bfc98
Added the suffix AST to the ast nodes and some initial work on the GLSL type system.
2010-11-25 12:56:16 +01:00
Rhys Weatherley
7ccc6fc7f7
Highlight reserved GLSL keywords
2010-11-23 17:05:55 +10:00
Roberto Raggi
131df3c3d0
Report the syntax errors.
2010-11-19 14:59:33 +01:00
Rhys Weatherley
2d4e75101e
Use QString instead of std::string in GLSL parser
2010-11-18 17:40:09 +10:00
Rhys Weatherley
1370d1d796
Fix some bugs in GLSL AST generation in the parser
2010-11-18 14:42:39 +10:00
Rhys Weatherley
2fab4ba8ad
GLSL AST nodes for function and struct decls
2010-11-18 13:36:50 +10:00
Rhys Weatherley
a666c48cf5
Variable and parameter declarations for GLSL
2010-11-17 15:23:13 +10:00
Rhys Weatherley
443be8eea6
Create AST nodes for qualified GLSL types
2010-11-15 15:02:21 +10:00
Rhys Weatherley
1f8f99df28
Build AST nodes from within the parser.
2010-11-12 14:04:09 +10:00
Rhys Weatherley
73f77a0b8e
Making GLSL AST nodes while preserving lineno info
...
Eventually we will need some way to locate an identifier's
definition, so add "lineno" to each AST node. May want to
change this to "position" later. The makeAstNode<T>() function
takes care of automatically decorating nodes with line numbers.
2010-11-12 09:57:05 +10:00
Rhys Weatherley
73d570c83a
Convert GLSL AST nodes into managed types
2010-11-12 09:29:50 +10:00
Roberto Raggi
c3b821a0d3
Handle parenthesized expressions.
2010-11-11 15:43:16 +01:00
Roberto Raggi
b311703234
Create AST nodes for multiplicative expressions.
2010-11-11 15:25:19 +01:00
Roberto Raggi
701ff3887d
There's nothing to do for the chain rules.
2010-11-11 15:21:27 +01:00
Roberto Raggi
53218ff7c7
Introduced a simple memory pool.
2010-11-11 15:07:30 +01:00
Roberto Raggi
06df2e2d29
Use only interned (unique) strings.
2010-11-11 15:07:30 +01:00
Roberto Raggi
ca4439bcef
Get rid of glsl.g.in and start working on the semantic actions.
2010-11-11 12:22:58 +01:00
Roberto Raggi
b0622d840b
Include stdio and regenerated the parser.
2010-11-10 16:30:35 +01:00
Roberto Raggi
959edbe10b
Introduced a simple incremental lexer for GLSL.
2010-11-10 15:57:39 +01:00
Roberto Raggi
bc70a68817
Imported our new GLSL front-end.
2010-11-10 15:46:41 +01:00