This is an old revision of the document!
Performing code conversion with traditional tools is similar to developing applications using IDE wizards only. You can easily convert simple code, but there is no enough flexibility and options when it comes to real-world databases and applications.
As a result, developers often start developing own tools to automate some conversions, and refine the conversion manually that is often time-consuming.
At the same time, it does not seem possible to develop a tool that provides enough UI options or configuration settings to meet all requirements for migrating enterprise databases and applications containing thousands or millions lines of code (SQL, embedded SQL, API, C/C++ etc).
A solution is to provide a high level conversion language optimized for migration tasks and that allows fast development and customization such as:
{ NVL2($exp1, $exp2, $exp3) => CASE WHEN $exp1 IS NOT NULL THEN $exp2 ELSE $exp3 END }
For more examples, see Tutorial below.
You can also find more advanced examples in templates directory of SQLines tool (available at Download) or Language Reference
The SQLines conversion language allows you to:
The conversion language is based on pattern matching, regular expressions, flow-of-contol statements, grammar helpers and built-in functions that are optimized for SQL and application code conversion tasks.
During code conversion, SQLines recognizes blocks, understands variable scopes, expression and function nesting, allows you to set attributes for further checking and processing.
Many language elements are very similar to C/C++ (and C#, Java and PHP as a result) and simplified BNF notation that is used in SQL Reference for almost any database. More...
Language syntax and built-in features are driven by the following design goals: