SQL dialect
Trino SQL Parser for Java and .NET
General SQL Parser (GSP) parses Trino with a dedicated, hand-tuned grammar — full AST access, offline syntax validation, formatting, rewriting, and column-level data lineage . One commercial SDK, 38 dialects, Java and .NET.
Example
Trino SQL that GSP parses
SELECT student, score
FROM tests
CROSS JOIN UNNEST(scores) AS t(score); Parse it in Java
import gudusoft.gsqlparser.*;
TGSqlParser parser = new TGSqlParser(EDbVendor.dbvtrino);
parser.sqltext = sql; // the Trino SQL above
if (parser.parse() == 0) {
System.out.println(parser.sqlstatements.size() + " statement(s) parsed");
} else {
System.out.println(parser.getErrormessage());
} The .NET edition exposes the same API in C# — see the C# quick start.
Coverage
What GSP handles in Trino
- UNNEST of arrays
- PREPARE/EXECUTE
- CREATE TABLE ... LIKE
- EXPLAIN
Beyond parsing, the same AST powers table/column extraction, validation, formatting, and column-level lineage for Trino.
Actively maintained
Recent Trino parser updates
- 2025-10-08 Unify vendor implementations for Trino, SOQL, ODBC
Full history in the release notes.
Go deeper
Trino resources
- Trino syntax reference — dialect documentation
- Java quick start — Maven/Gradle setup and first parse
- C# quick start — NuGet setup for .NET
Common questions
Do I need a Trino database connection to validate SQL?
No. GSP validates Trino syntax completely offline. You get error line and column positions, the offending token, and a hint — with no server, driver, or credentials involved.
Can I use the Trino parser from C# / .NET?
Yes. The .NET edition (NuGet package gudusoft.gsqlparser, .NET Standard 2.0) exposes the same API surface as the Java edition, so every Trino parsing feature on this page works in C# and VB.NET.
Can GSP extract column-level lineage from Trino SQL?
Yes. The built-in DataFlowAnalyzer produces column-level lineage, impact analysis, and call graphs from Trino scripts — it is the engine behind Gudu SQLFlow and the lineage integrations for DataHub and OpenMetadata.