From 8dcd859b86591f3d9c5176690c6dac3ae9f1283e Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 10:08:21 +0000
Subject: [PATCH] deploy:
 abaplint/abaplint@fd5a96f9062aa26bd35e46d33585496f62e43e87

---
 .nojekyll                                     |     0
 CNAME                                         |     1 +
 abap.json.js                                  |  9272 +++++++++++++
 abap/expression_Abstract.svg                  |    55 +
 abap/expression_AbstractMethods.svg           |    79 +
 abap/expression_AndReturn.svg                 |    55 +
 abap/expression_ArithOperator.svg             |   131 +
 abap/expression_Arrow.svg                     |    67 +
 abap/expression_ArrowOrDash.svg               |    75 +
 abap/expression_AssignSource.svg              |   276 +
 abap/expression_AssociationName.svg           |    55 +
 abap/expression_AttributeChain.svg            |   190 +
 abap/expression_AttributeName.svg             |    55 +
 abap/expression_BehaviorDefinitionName.svg    |    55 +
 abap/expression_BlockName.svg                 |   100 +
 abap/expression_CallTransformationOptions.svg |   102 +
 ...xpression_CallTransformationParameters.svg |   115 +
 abap/expression_Cast.svg                      |   135 +
 abap/expression_ClassFinal.svg                |    55 +
 abap/expression_ClassFriends.svg              |    97 +
 abap/expression_ClassGlobal.svg               |    55 +
 abap/expression_ClassName.svg                 |    55 +
 abap/expression_Color.svg                     |   276 +
 abap/expression_Compare.svg                   |   466 +
 abap/expression_CompareOperator.svg           |   307 +
 abap/expression_ComponentChain.svg            |   190 +
 abap/expression_ComponentChainSimple.svg      |   144 +
 abap/expression_ComponentCompare.svg          |   403 +
 abap/expression_ComponentCompareSimple.svg    |   102 +
 abap/expression_ComponentCompareSingle.svg    |    91 +
 abap/expression_ComponentCond.svg             |   143 +
 abap/expression_ComponentCondSub.svg          |   107 +
 abap/expression_ComponentName.svg             |    55 +
 abap/expression_ConcatenatedConstant.svg      |   137 +
 abap/expression_Cond.svg                      |   162 +
 abap/expression_CondBody.svg                  |   191 +
 abap/expression_CondSub.svg                   |   119 +
 abap/expression_Constant.svg                  |    87 +
 abap/expression_ConstantFieldLength.svg       |    89 +
 abap/expression_ConstantString.svg            |    55 +
 abap/expression_ConvBody.svg                  |    79 +
 abap/expression_CorrespondingBody.svg         |   269 +
 abap/expression_DataDefinition.svg            |   191 +
 abap/expression_DatabaseConnection.svg        |    81 +
 abap/expression_DatabaseTable.svg             |    68 +
 abap/expression_Decimals.svg                  |    68 +
 abap/expression_Default.svg                   |    82 +
 abap/expression_DefinitionName.svg            |   127 +
 abap/expression_Dereference.svg               |    67 +
 abap/expression_Destination.svg               |    98 +
 abap/expression_Dynamic.svg                   |   115 +
 abap/expression_EntityAssociation.svg         |    55 +
 abap/expression_EventHandler.svg              |   127 +
 abap/expression_EventName.svg                 |    55 +
 abap/expression_ExceptionName.svg             |   102 +
 abap/expression_FSTarget.svg                  |    69 +
 abap/expression_Field.svg                     |    55 +
 abap/expression_FieldAll.svg                  |    55 +
 abap/expression_FieldAssignment.svg           |    77 +
 abap/expression_FieldChain.svg                |   273 +
 abap/expression_FieldLength.svg               |   123 +
 abap/expression_FieldOffset.svg               |    81 +
 abap/expression_FieldSub.svg                  |   118 +
 abap/expression_FieldSymbol.svg               |    87 +
 abap/expression_FilterBody.svg                |   162 +
 abap/expression_FinalMethods.svg              |    79 +
 abap/expression_FindType.svg                  |    97 +
 abap/expression_For.svg                       |   519 +
 abap/expression_FormChanging.svg              |    79 +
 abap/expression_FormName.svg                  |   127 +
 abap/expression_FormParam.svg                 |   120 +
 abap/expression_FormParamName.svg             |   100 +
 abap/expression_FormParamType.svg             |   302 +
 abap/expression_FormRaising.svg               |   122 +
 abap/expression_FormTables.svg                |    79 +
 abap/expression_FormUsing.svg                 |    79 +
 abap/expression_FunctionExporting.svg         |    67 +
 .../expression_FunctionExportingParameter.svg |   102 +
 abap/expression_FunctionName.svg              |    69 +
 abap/expression_FunctionParameters.svg        |   228 +
 abap/expression_IncludeName.svg               |    89 +
 abap/expression_InlineData.svg                |   173 +
 abap/expression_InlineFS.svg                  |    95 +
 abap/expression_InlineField.svg               |    56 +
 abap/expression_InlineFieldDefinition.svg     |   111 +
 abap/expression_InlineLoopDefinition.svg      |   139 +
 abap/expression_Integer.svg                   |    99 +
 abap/expression_InterfaceName.svg             |    55 +
 abap/expression_KernelId.svg                  |    85 +
 abap/expression_LOBHandle.svg                 |    68 +
 abap/expression_Language.svg                  |    88 +
 abap/expression_Length.svg                    |    91 +
 abap/expression_Let.svg                       |    87 +
 abap/expression_LoopGroupBy.svg               |   148 +
 abap/expression_LoopGroupByComponent.svg      |   118 +
 abap/expression_LoopGroupByTarget.svg         |   122 +
 abap/expression_LoopTarget.svg                |   146 +
 abap/expression_MacroName.svg                 |   100 +
 abap/expression_MessageClass.svg              |    55 +
 abap/expression_MessageNumber.svg             |    55 +
 abap/expression_MessageSource.svg             |   172 +
 abap/expression_MessageTypeAndNumber.svg      |    55 +
 abap/expression_MethodCall.svg                |    69 +
 abap/expression_MethodCallBody.svg            |   125 +
 abap/expression_MethodCallChain.svg           |   256 +
 abap/expression_MethodCallParam.svg           |   237 +
 abap/expression_MethodDefChanging.svg         |    79 +
 abap/expression_MethodDefExceptions.svg       |    79 +
 abap/expression_MethodDefExporting.svg        |    79 +
 abap/expression_MethodDefImporting.svg        |   109 +
 abap/expression_MethodDefRaising.svg          |   122 +
 abap/expression_MethodDefReturning.svg        |   105 +
 abap/expression_MethodName.svg                |    55 +
 abap/expression_MethodParam.svg               |   148 +
 abap/expression_MethodParamName.svg           |    55 +
 abap/expression_MethodParamOptional.svg       |    78 +
 abap/expression_MethodParameters.svg          |   203 +
 abap/expression_MethodSource.svg              |   245 +
 abap/expression_Modif.svg                     |    55 +
 abap/expression_NamespaceSimpleName.svg       |    55 +
 abap/expression_NewObject.svg                 |   219 +
 abap/expression_OLEExporting.svg              |    99 +
 abap/expression_Or.svg                        |    68 +
 abap/expression_ParameterException.svg        |   134 +
 abap/expression_ParameterListExceptions.svg   |    67 +
 abap/expression_ParameterListS.svg            |    67 +
 abap/expression_ParameterListT.svg            |    67 +
 abap/expression_ParameterName.svg             |    55 +
 abap/expression_ParameterS.svg                |    77 +
 abap/expression_ParameterT.svg                |    77 +
 abap/expression_PassByValue.svg               |    84 +
 abap/expression_PerformChanging.svg           |    79 +
 abap/expression_PerformTables.svg             |    79 +
 abap/expression_PerformUsing.svg              |    79 +
 abap/expression_RadioGroupName.svg            |    55 +
 abap/expression_RaiseWith.svg                 |   123 +
 abap/expression_ReadTableTarget.svg           |   119 +
 abap/expression_ReceiveParameters.svg         |   201 +
 abap/expression_Redefinition.svg              |    77 +
 abap/expression_ReduceBody.svg                |   131 +
 abap/expression_ReduceNext.svg                |   184 +
 abap/expression_ReportName.svg                |   100 +
 abap/expression_SQLAggregation.svg            |   534 +
 abap/expression_SQLAliasField.svg             |    55 +
 abap/expression_SQLArithmeticOperator.svg     |    83 +
 abap/expression_SQLArithmetics.svg            |   131 +
 abap/expression_SQLAsName.svg                 |   100 +
 abap/expression_SQLCDSParameters.svg          |   211 +
 abap/expression_SQLCase.svg                   |   414 +
 abap/expression_SQLClient.svg                 |   183 +
 abap/expression_SQLCompare.svg                |   645 +
 abap/expression_SQLCompareOperator.svg        |   171 +
 abap/expression_SQLCond.svg                   |   253 +
 abap/expression_SQLField.svg                  |   378 +
 abap/expression_SQLFieldAndValue.svg          |   127 +
 abap/expression_SQLFieldList.svg              |   170 +
 abap/expression_SQLFieldListLoop.svg          |   319 +
 abap/expression_SQLFieldName.svg              |    55 +
 abap/expression_SQLFields.svg                 |    85 +
 abap/expression_SQLForAllEntries.svg          |    68 +
 abap/expression_SQLFrom.svg                   |   170 +
 abap/expression_SQLFromSource.svg             |   188 +
 abap/expression_SQLFunction.svg               |  1018 ++
 abap/expression_SQLFunctionInput.svg          |   353 +
 abap/expression_SQLGroupBy.svg                |   172 +
 abap/expression_SQLHaving.svg                 |   104 +
 abap/expression_SQLHints.svg                  |   152 +
 abap/expression_SQLIn.svg                     |   331 +
 abap/expression_SQLIntoList.svg               |   142 +
 abap/expression_SQLIntoStructure.svg          |    90 +
 abap/expression_SQLIntoTable.svg              |   106 +
 abap/expression_SQLJoin.svg                   |   145 +
 abap/expression_SQLOrderBy.svg                |   154 +
 abap/expression_SQLPath.svg                   |    75 +
 abap/expression_SQLSource.svg                 |   135 +
 abap/expression_SQLSourceNoSpace.svg          |   135 +
 abap/expression_SQLSourceSimple.svg           |   126 +
 abap/expression_SQLTarget.svg                 |   133 +
 abap/expression_SQLUpTo.svg                   |    76 +
 abap/expression_Select.svg                    |   560 +
 abap/expression_SelectLoop.svg                |   516 +
 abap/expression_SimpleFieldChain.svg          |   137 +
 abap/expression_SimpleFieldChain2.svg         |   173 +
 abap/expression_SimpleName.svg                |    55 +
 abap/expression_SimpleSource1.svg             |   142 +
 abap/expression_SimpleSource2.svg             |   133 +
 abap/expression_SimpleSource3.svg             |    78 +
 abap/expression_SimpleSource4.svg             |    87 +
 abap/expression_SimpleTarget.svg              |   291 +
 abap/expression_Source.svg                    |  1425 ++
 abap/expression_SourceField.svg               |    56 +
 abap/expression_SourceFieldSymbol.svg         |    56 +
 abap/expression_SourceFieldSymbolChain.svg    |   103 +
 abap/expression_StringTemplate.svg            |   141 +
 abap/expression_StringTemplateFormatting.svg  |   887 ++
 abap/expression_StringTemplateSource.svg      |    79 +
 abap/expression_SuperClassName.svg            |    56 +
 abap/expression_SwitchBody.svg                |   228 +
 abap/expression_TableBody.svg                 |    67 +
 abap/expression_TableExpression.svg           |   237 +
 abap/expression_Target.svg                    |   286 +
 abap/expression_TargetField.svg               |    56 +
 abap/expression_TargetFieldSymbol.svg         |    56 +
 abap/expression_TestSeamName.svg              |   100 +
 abap/expression_TextElement.svg               |    76 +
 abap/expression_TextElementKey.svg            |    55 +
 abap/expression_TextElementString.svg         |    88 +
 abap/expression_Throw.svg                     |   159 +
 abap/expression_TransportingFields.svg        |   106 +
 abap/expression_Type.svg                      |   279 +
 abap/expression_TypeName.svg                  |   143 +
 abap/expression_TypeNameOrInfer.svg           |    68 +
 abap/expression_TypeParam.svg                 |   328 +
 abap/expression_TypeStructure.svg             |   106 +
 abap/expression_TypeTable.svg                 |  1104 ++
 abap/expression_TypeTableKey.svg              |   343 +
 abap/expression_Value.svg                     |    90 +
 abap/expression_ValueBody.svg                 |   247 +
 abap/expression_ValueBodyLine.svg             |   146 +
 abap/expression_ValueBodyLines.svg            |   134 +
 abap/expression_WithName.svg                  |    67 +
 abap/expression_WriteOffsetLength.svg         |   252 +
 abap/statement_Add.svg                        |   149 +
 abap/statement_AddCorresponding.svg           |    96 +
 abap/statement_Aliases.svg                    |    85 +
 abap/statement_Append.svg                     |   344 +
 abap/statement_Assert.svg                     |   186 +
 abap/statement_Assign.svg                     |   394 +
 abap/statement_AssignLocalCopy.svg            |   148 +
 abap/statement_At.svg                         |   242 +
 abap/statement_AtFirst.svg                    |    55 +
 abap/statement_AtLast.svg                     |    55 +
 abap/statement_AtLineSelection.svg            |    66 +
 abap/statement_AtSelectionScreen.svg          |   227 +
 abap/statement_AtUserCommand.svg              |    66 +
 abap/statement_AuthorityCheck.svg             |   164 +
 abap/statement_Back.svg                       |    66 +
 abap/statement_Break.svg                      |   129 +
 abap/statement_BreakId.svg                    |    91 +
 abap/statement_Call.svg                       |    90 +
 abap/statement_CallBadi.svg                   |    96 +
 abap/statement_CallDatabase.svg               |   189 +
 abap/statement_CallDialog.svg                 |   232 +
 abap/statement_CallFunction.svg               |   405 +
 abap/statement_CallKernel.svg                 |   122 +
 abap/statement_CallOLE.svg                    |   171 +
 abap/statement_CallScreen.svg                 |   163 +
 abap/statement_CallSelectionScreen.svg        |   193 +
 abap/statement_CallTransaction.svg            |   266 +
 abap/statement_CallTransformation.svg         |   251 +
 abap/statement_Case.svg                       |    68 +
 abap/statement_CaseType.svg                   |    79 +
 abap/statement_Catch.svg                      |   127 +
 abap/statement_CatchSystemExceptions.svg      |   111 +
 abap/statement_Check.svg                      |    82 +
 abap/statement_CheckSelectOptions.svg         |    66 +
 abap/statement_ClassData.svg                  |    68 +
 abap/statement_ClassDataBegin.svg             |   145 +
 abap/statement_ClassDataEnd.svg               |   116 +
 abap/statement_ClassDeferred.svg              |    94 +
 abap/statement_ClassDefinition.svg            |   330 +
 abap/statement_ClassDefinitionLoad.svg        |    76 +
 abap/statement_ClassImplementation.svg        |    76 +
 abap/statement_ClassLocalFriends.svg          |    96 +
 abap/statement_Cleanup.svg                    |    90 +
 abap/statement_Clear.svg                      |   130 +
 abap/statement_CloseCursor.svg                |    79 +
 abap/statement_CloseDataset.svg               |    79 +
 abap/statement_Collect.svg                    |   129 +
 abap/statement_Commit.svg                     |   103 +
 abap/statement_CommitEntities.svg             |   163 +
 abap/statement_Communication.svg              |   364 +
 abap/statement_Compute.svg                    |   113 +
 abap/statement_Concatenate.svg                |   226 +
 abap/statement_Condense.svg                   |    86 +
 abap/statement_Constant.svg                   |   170 +
 abap/statement_ConstantBegin.svg              |    86 +
 abap/statement_ConstantEnd.svg                |    84 +
 abap/statement_Contexts.svg                   |    79 +
 abap/statement_Continue.svg                   |    55 +
 abap/statement_Controls.svg                   |   125 +
 abap/statement_Convert.svg                    |   401 +
 abap/statement_ConvertText.svg                |    85 +
 abap/statement_CreateData.svg                 |   588 +
 abap/statement_CreateOLE.svg                  |   123 +
 abap/statement_CreateObject.svg               |   261 +
 abap/statement_Data.svg                       |    86 +
 abap/statement_DataBegin.svg                  |   172 +
 abap/statement_DataEnd.svg                    |   164 +
 abap/statement_Define.svg                     |    79 +
 abap/statement_DeleteCluster.svg              |   151 +
 abap/statement_DeleteDatabase.svg             |   249 +
 abap/statement_DeleteDataset.svg              |    79 +
 abap/statement_DeleteDynpro.svg               |    79 +
 abap/statement_DeleteInternal.svg             |   760 ++
 abap/statement_DeleteMemory.svg               |   193 +
 abap/statement_DeleteReport.svg               |   110 +
 abap/statement_DeleteTextpool.svg             |   140 +
 abap/statement_Demand.svg                     |   159 +
 abap/statement_Describe.svg                   |   701 +
 abap/statement_Detail.svg                     |    66 +
 abap/statement_Divide.svg                     |    85 +
 abap/statement_Do.svg                         |   200 +
 abap/statement_EditorCall.svg                 |   148 +
 abap/statement_Else.svg                       |    55 +
 abap/statement_ElseIf.svg                     |    68 +
 abap/statement_EndAt.svg                      |    55 +
 abap/statement_EndCase.svg                    |    55 +
 abap/statement_EndCatch.svg                   |    66 +
 abap/statement_EndClass.svg                   |    55 +
 abap/statement_EndDo.svg                      |    55 +
 abap/statement_EndEnhancement.svg             |    66 +
 abap/statement_EndEnhancementSection.svg      |    66 +
 abap/statement_EndExec.svg                    |    66 +
 abap/statement_EndForm.svg                    |    55 +
 abap/statement_EndFunction.svg                |    55 +
 abap/statement_EndIf.svg                      |    55 +
 abap/statement_EndInterface.svg               |    55 +
 abap/statement_EndLoop.svg                    |    55 +
 abap/statement_EndMethod.svg                  |    55 +
 abap/statement_EndModule.svg                  |    66 +
 abap/statement_EndOfDefinition.svg            |    66 +
 abap/statement_EndOfPage.svg                  |    66 +
 abap/statement_EndOfSelection.svg             |    66 +
 abap/statement_EndOn.svg                      |    66 +
 abap/statement_EndProvide.svg                 |    66 +
 abap/statement_EndSelect.svg                  |    55 +
 abap/statement_EndTestInjection.svg           |    55 +
 abap/statement_EndTestSeam.svg                |    66 +
 abap/statement_EndTry.svg                     |    55 +
 abap/statement_EndWhile.svg                   |    55 +
 abap/statement_EndWith.svg                    |    66 +
 abap/statement_Enhancement.svg                |    90 +
 abap/statement_EnhancementPoint.svg           |   131 +
 abap/statement_EnhancementSection.svg         |   177 +
 abap/statement_Events.svg                     |   123 +
 abap/statement_ExecSQL.svg                    |   101 +
 abap/statement_Exit.svg                       |    91 +
 abap/statement_Export.svg                     |   624 +
 abap/statement_ExportDynpro.svg               |   123 +
 abap/statement_Extract.svg                    |    89 +
 abap/statement_FetchNextCursor.svg            |   141 +
 abap/statement_FieldGroup.svg                 |    90 +
 abap/statement_FieldSymbol.svg                |   140 +
 abap/statement_Fields.svg                     |    79 +
 abap/statement_Find.svg                       |   517 +
 abap/statement_Form.svg                       |   159 +
 abap/statement_FormDefinition.svg             |   149 +
 abap/statement_Format.svg                     |   403 +
 abap/statement_Free.svg                       |    68 +
 abap/statement_FreeMemory.svg                 |   101 +
 abap/statement_FreeObject.svg                 |    97 +
 abap/statement_FunctionModule.svg             |    68 +
 abap/statement_FunctionPool.svg               |   141 +
 abap/statement_GenerateDynpro.svg             |   195 +
 abap/statement_GenerateReport.svg             |   315 +
 abap/statement_GenerateSubroutine.svg         |   260 +
 abap/statement_Get.svg                        |   142 +
 abap/statement_GetBadi.svg                    |   170 +
 abap/statement_GetBit.svg                     |   102 +
 abap/statement_GetCursor.svg                  |   228 +
 abap/statement_GetDataset.svg                 |   144 +
 abap/statement_GetLocale.svg                  |   121 +
 abap/statement_GetPFStatus.svg                |   140 +
 abap/statement_GetParameter.svg               |    96 +
 abap/statement_GetPermissions.svg             |   147 +
 abap/statement_GetProperty.svg                |   141 +
 abap/statement_GetReference.svg               |    85 +
 abap/statement_GetRunTime.svg                 |    79 +
 abap/statement_GetTime.svg                    |   103 +
 abap/statement_Hide.svg                       |    79 +
 abap/statement_If.svg                         |    68 +
 abap/statement_Import.svg                     |   685 +
 abap/statement_ImportDynpro.svg               |   123 +
 abap/statement_ImportNametab.svg              |   105 +
 abap/statement_Include.svg                    |    86 +
 abap/statement_IncludeType.svg                |   149 +
 abap/statement_Infotypes.svg                  |   140 +
 abap/statement_Initialization.svg             |    66 +
 abap/statement_InsertDatabase.svg             |   311 +
 abap/statement_InsertFieldGroup.svg           |   135 +
 abap/statement_InsertInternal.svg             |   530 +
 abap/statement_InsertReport.svg               |   285 +
 abap/statement_InsertTextpool.svg             |   157 +
 abap/statement_Interface.svg                  |    87 +
 abap/statement_InterfaceDef.svg               |   199 +
 abap/statement_InterfaceDeferred.svg          |    94 +
 abap/statement_InterfaceLoad.svg              |    76 +
 abap/statement_Leave.svg                      |   248 +
 abap/statement_LoadOfProgram.svg              |    66 +
 abap/statement_LoadReport.svg                 |   113 +
 abap/statement_Local.svg                      |    98 +
 abap/statement_LogPoint.svg                   |   151 +
 abap/statement_Loop.svg                       |   379 +
 abap/statement_LoopAtScreen.svg               |   101 +
 abap/statement_Message.svg                    |  1316 ++
 abap/statement_MethodDef.svg                  |  1327 ++
 abap/statement_MethodImplementation.svg       |   274 +
 abap/statement_ModifyDatabase.svg             |   137 +
 abap/statement_ModifyEntities.svg             |   454 +
 abap/statement_ModifyInternal.svg             |   683 +
 abap/statement_ModifyLine.svg                 |   428 +
 abap/statement_ModifyScreen.svg               |   101 +
 abap/statement_Module.svg                     |   111 +
 abap/statement_Move.svg                       |   333 +
 abap/statement_MoveCorresponding.svg          |   159 +
 abap/statement_Multiply.svg                   |    85 +
 abap/statement_NewLine.svg                    |   102 +
 abap/statement_NewPage.svg                    |   522 +
 abap/statement_Nodes.svg                      |    79 +
 abap/statement_OnChange.svg                   |   121 +
 abap/statement_OpenCursor.svg                 |   113 +
 abap/statement_OpenDataset.svg                |   438 +
 abap/statement_Overlay.svg                    |   116 +
 abap/statement_Pack.svg                       |    96 +
 abap/statement_Parameter.svg                  |   431 +
 abap/statement_Perform.svg                    |   361 +
 abap/statement_Position.svg                   |    79 +
 abap/statement_PrintControl.svg               |   117 +
 abap/statement_Private.svg                    |    55 +
 abap/statement_Program.svg                    |   182 +
 abap/statement_Protected.svg                  |    55 +
 abap/statement_Provide.svg                    |   356 +
 abap/statement_Public.svg                     |    55 +
 abap/statement_Put.svg                        |    79 +
 abap/statement_Raise.svg                      |   366 +
 abap/statement_RaiseEntityEvent.svg           |    85 +
 abap/statement_RaiseEvent.svg                 |    99 +
 abap/statement_Ranges.svg                     |   127 +
 abap/statement_ReadDataset.svg                |   187 +
 abap/statement_ReadEntities.svg               |   362 +
 abap/statement_ReadLine.svg                   |   264 +
 abap/statement_ReadReport.svg                 |   155 +
 abap/statement_ReadTable.svg                  |   412 +
 abap/statement_ReadTextpool.svg               |   155 +
 abap/statement_Receive.svg                    |   105 +
 abap/statement_Refresh.svg                    |   110 +
 abap/statement_RefreshControl.svg             |    96 +
 abap/statement_Reject.svg                     |    89 +
 abap/statement_Replace.svg                    |   527 +
 abap/statement_Report.svg                     |   242 +
 abap/statement_Reserve.svg                    |    87 +
 abap/statement_Resume.svg                     |    55 +
 abap/statement_Retry.svg                      |    66 +
 abap/statement_Return.svg                     |    89 +
 abap/statement_Rollback.svg                   |    81 +
 abap/statement_RollbackEntities.svg           |    66 +
 abap/statement_Scan.svg                       |   646 +
 abap/statement_ScrollList.svg                 |   244 +
 abap/statement_Search.svg                     |   191 +
 abap/statement_Select.svg                     |   144 +
 abap/statement_SelectLoop.svg                 |    56 +
 abap/statement_SelectOption.svg               |   398 +
 abap/statement_SelectionScreen.svg            |  1290 ++
 abap/statement_SetBit.svg                     |   116 +
 abap/statement_SetBlank.svg                   |    91 +
 abap/statement_SetCountry.svg                 |    79 +
 abap/statement_SetCursor.svg                  |   173 +
 abap/statement_SetDataset.svg                 |   109 +
 abap/statement_SetExtendedCheck.svg           |    91 +
 abap/statement_SetHandler.svg                 |   153 +
 abap/statement_SetLanguage.svg                |    79 +
 abap/statement_SetLeft.svg                    |   101 +
 abap/statement_SetLocale.svg                  |   140 +
 abap/statement_SetLocks.svg                   |   147 +
 abap/statement_SetMargin.svg                  |    98 +
 abap/statement_SetPFStatus.svg                |   152 +
 abap/statement_SetParameter.svg               |    96 +
 abap/statement_SetProperty.svg                |   154 +
 abap/statement_SetRunTime.svg                 |   141 +
 abap/statement_SetScreen.svg                  |    79 +
 abap/statement_SetTitlebar.svg                |   151 +
 abap/statement_SetUpdateTask.svg              |    66 +
 abap/statement_SetUserCommand.svg             |    79 +
 abap/statement_Shift.svg                      |   262 +
 abap/statement_Skip.svg                       |   106 +
 abap/statement_Sort.svg                       |   271 +
 abap/statement_SortDataset.svg                |   171 +
 abap/statement_Split.svg                      |   243 +
 abap/statement_StartOfSelection.svg           |    66 +
 abap/statement_Static.svg                     |   177 +
 abap/statement_StaticBegin.svg                |   120 +
 abap/statement_StaticEnd.svg                  |    89 +
 abap/statement_Stop.svg                       |    66 +
 abap/statement_Submit.svg                     |   738 +
 abap/statement_Subtract.svg                   |    85 +
 abap/statement_SubtractCorresponding.svg      |    96 +
 abap/statement_Sum.svg                        |    66 +
 abap/statement_Summary.svg                    |    66 +
 abap/statement_Supply.svg                     |   128 +
 abap/statement_SuppressDialog.svg             |    66 +
 abap/statement_SyntaxCheck.svg                |   628 +
 abap/statement_SystemCall.svg                 |   196 +
 abap/statement_Tables.svg                     |    79 +
 abap/statement_TestInjection.svg              |    68 +
 abap/statement_TestSeam.svg                   |    79 +
 abap/statement_TopOfPage.svg                  |    88 +
 abap/statement_Transfer.svg                   |   144 +
 abap/statement_Translate.svg                  |   134 +
 abap/statement_TruncateDataset.svg            |    87 +
 abap/statement_Try.svg                        |    55 +
 abap/statement_Type.svg                       |   193 +
 abap/statement_TypeBegin.svg                  |   105 +
 abap/statement_TypeEnd.svg                    |    76 +
 abap/statement_TypeEnum.svg                   |    88 +
 abap/statement_TypeEnumBegin.svg              |   160 +
 abap/statement_TypeEnumEnd.svg                |   126 +
 abap/statement_TypeMesh.svg                   |   301 +
 abap/statement_TypeMeshBegin.svg              |    87 +
 abap/statement_TypeMeshEnd.svg                |    87 +
 abap/statement_TypePool.svg                   |    78 +
 abap/statement_TypePools.svg                  |    78 +
 abap/statement_Uline.svg                      |   106 +
 abap/statement_Unassign.svg                   |    68 +
 abap/statement_Unpack.svg                     |    96 +
 abap/statement_UpdateDatabase.svg             |   279 +
 abap/statement_Wait.svg                       |   223 +
 abap/statement_When.svg                       |   102 +
 abap/statement_WhenOthers.svg                 |    55 +
 abap/statement_WhenType.svg                   |   114 +
 abap/statement_While.svg                      |   133 +
 abap/statement_Window.svg                     |   128 +
 abap/statement_With.svg                       |   136 +
 abap/statement_WithLoop.svg                   |   136 +
 abap/statement_Write.svg                      |   964 ++
 abap/structure_Any.svg                        |   343 +
 abap/structure_At.svg                         |    87 +
 abap/structure_AtFirst.svg                    |    87 +
 abap/structure_AtLast.svg                     |    87 +
 abap/structure_Body.svg                       |    76 +
 abap/structure_Case.svg                       |   122 +
 abap/structure_CaseType.svg                   |   113 +
 abap/structure_Catch.svg                      |    79 +
 abap/structure_CatchSystemExceptions.svg      |    87 +
 abap/structure_ClassData.svg                  |   113 +
 abap/structure_ClassDefinition.svg            |   194 +
 abap/structure_ClassGlobal.svg                |    99 +
 abap/structure_ClassImplementation.svg        |   122 +
 abap/structure_Cleanup.svg                    |    79 +
 abap/structure_Constants.svg                  |   122 +
 abap/structure_Data.svg                       |   212 +
 abap/structure_Define.svg                     |    98 +
 abap/structure_Do.svg                         |    87 +
 abap/structure_Else.svg                       |    79 +
 abap/structure_ElseIf.svg                     |    79 +
 abap/structure_Enhancement.svg                |    87 +
 abap/structure_EnhancementSection.svg         |    87 +
 abap/structure_ExecSQL.svg                    |    98 +
 abap/structure_Form.svg                       |    87 +
 abap/structure_FunctionModule.svg             |    87 +
 abap/structure_If.svg                         |   140 +
 abap/structure_Interface.svg                  |    98 +
 abap/structure_InterfaceGlobal.svg            |   119 +
 abap/structure_Loop.svg                       |    98 +
 abap/structure_LoopAtScreen.svg               |    87 +
 abap/structure_Method.svg                     |   124 +
 abap/structure_Module.svg                     |    87 +
 abap/structure_Normal.svg                     |  2067 +++
 abap/structure_OnChange.svg                   |    87 +
 abap/structure_PrivateSection.svg             |    79 +
 abap/structure_ProtectedSection.svg           |    79 +
 abap/structure_Provide.svg                    |    87 +
 abap/structure_PublicSection.svg              |    79 +
 abap/structure_SectionContents.svg            |   235 +
 abap/structure_Select.svg                     |    87 +
 abap/structure_Statics.svg                    |   113 +
 abap/structure_TestInjection.svg              |    87 +
 abap/structure_TestSeam.svg                   |    87 +
 abap/structure_Try.svg                        |   140 +
 abap/structure_TypeEnum.svg                   |   113 +
 abap/structure_TypeMesh.svg                   |   113 +
 abap/structure_Types.svg                      |   140 +
 abap/structure_When.svg                       |    93 +
 abap/structure_WhenType.svg                   |    93 +
 abap/structure_While.svg                      |    87 +
 abap/structure_With.svg                       |    87 +
 cds.json.js                                   |   624 +
 cds/expression_CDSAggregate.svg               |   195 +
 cds/expression_CDSAnnotate.svg                |   192 +
 cds/expression_CDSAnnotation.svg              |   159 +
 cds/expression_CDSAnnotationArray.svg         |   162 +
 cds/expression_CDSAnnotationObject.svg        |   316 +
 cds/expression_CDSAnnotationSimple.svg        |   120 +
 cds/expression_CDSArithmetics.svg             |   275 +
 cds/expression_CDSAs.svg                      |    68 +
 cds/expression_CDSAssociation.svg             |   128 +
 cds/expression_CDSCardinality.svg             |   145 +
 cds/expression_CDSCase.svg                    |   716 +
 cds/expression_CDSCast.svg                    |   223 +
 cds/expression_CDSComposition.svg             |    94 +
 cds/expression_CDSCondition.svg               |  1127 ++
 cds/expression_CDSDefineAbstract.svg          |   228 +
 cds/expression_CDSDefineCustom.svg            |   253 +
 cds/expression_CDSDefineProjection.svg        |   300 +
 cds/expression_CDSDefineView.svg              |   205 +
 cds/expression_CDSElement.svg                 |   253 +
 cds/expression_CDSExtendView.svg              |   335 +
 cds/expression_CDSFunction.svg                | 11198 ++++++++++++++++
 cds/expression_CDSGroupBy.svg                 |   202 +
 cds/expression_CDSHaving.svg                  |    68 +
 cds/expression_CDSInteger.svg                 |    55 +
 cds/expression_CDSJoin.svg                    |   125 +
 cds/expression_CDSName.svg                    |   114 +
 cds/expression_CDSParameters.svg              |   334 +
 cds/expression_CDSParametersSelect.svg        |   327 +
 cds/expression_CDSPrefixedName.svg            |   139 +
 cds/expression_CDSProviderContract.svg        |    88 +
 cds/expression_CDSRelation.svg                |   116 +
 cds/expression_CDSSelect.svg                  |   476 +
 cds/expression_CDSSource.svg                  |    97 +
 cds/expression_CDSString.svg                  |    55 +
 cds/expression_CDSType.svg                    |   157 +
 cds/expression_CDSWhere.svg                   |    68 +
 cds/expression_CDSWithParameters.svg          |   152 +
 ddl.json.js                                   |   101 +
 ddl/expression_DDLInclude.svg                 |    76 +
 ddl/expression_DDLName.svg                    |    55 +
 ddl/expression_DDLStructure.svg               |   119 +
 ddl/expression_DDLStructureField.svg          |    85 +
 ddl/expression_DDLTable.svg                   |   119 +
 ddl/expression_DDLTableField.svg              |   120 +
 ddl/expression_DDLType.svg                    |    55 +
 index.html                                    |    13 +
 script.js                                     |   193 +
 style.css                                     |    60 +
 625 files changed, 123692 insertions(+)
 create mode 100644 .nojekyll
 create mode 100644 CNAME
 create mode 100644 abap.json.js
 create mode 100644 abap/expression_Abstract.svg
 create mode 100644 abap/expression_AbstractMethods.svg
 create mode 100644 abap/expression_AndReturn.svg
 create mode 100644 abap/expression_ArithOperator.svg
 create mode 100644 abap/expression_Arrow.svg
 create mode 100644 abap/expression_ArrowOrDash.svg
 create mode 100644 abap/expression_AssignSource.svg
 create mode 100644 abap/expression_AssociationName.svg
 create mode 100644 abap/expression_AttributeChain.svg
 create mode 100644 abap/expression_AttributeName.svg
 create mode 100644 abap/expression_BehaviorDefinitionName.svg
 create mode 100644 abap/expression_BlockName.svg
 create mode 100644 abap/expression_CallTransformationOptions.svg
 create mode 100644 abap/expression_CallTransformationParameters.svg
 create mode 100644 abap/expression_Cast.svg
 create mode 100644 abap/expression_ClassFinal.svg
 create mode 100644 abap/expression_ClassFriends.svg
 create mode 100644 abap/expression_ClassGlobal.svg
 create mode 100644 abap/expression_ClassName.svg
 create mode 100644 abap/expression_Color.svg
 create mode 100644 abap/expression_Compare.svg
 create mode 100644 abap/expression_CompareOperator.svg
 create mode 100644 abap/expression_ComponentChain.svg
 create mode 100644 abap/expression_ComponentChainSimple.svg
 create mode 100644 abap/expression_ComponentCompare.svg
 create mode 100644 abap/expression_ComponentCompareSimple.svg
 create mode 100644 abap/expression_ComponentCompareSingle.svg
 create mode 100644 abap/expression_ComponentCond.svg
 create mode 100644 abap/expression_ComponentCondSub.svg
 create mode 100644 abap/expression_ComponentName.svg
 create mode 100644 abap/expression_ConcatenatedConstant.svg
 create mode 100644 abap/expression_Cond.svg
 create mode 100644 abap/expression_CondBody.svg
 create mode 100644 abap/expression_CondSub.svg
 create mode 100644 abap/expression_Constant.svg
 create mode 100644 abap/expression_ConstantFieldLength.svg
 create mode 100644 abap/expression_ConstantString.svg
 create mode 100644 abap/expression_ConvBody.svg
 create mode 100644 abap/expression_CorrespondingBody.svg
 create mode 100644 abap/expression_DataDefinition.svg
 create mode 100644 abap/expression_DatabaseConnection.svg
 create mode 100644 abap/expression_DatabaseTable.svg
 create mode 100644 abap/expression_Decimals.svg
 create mode 100644 abap/expression_Default.svg
 create mode 100644 abap/expression_DefinitionName.svg
 create mode 100644 abap/expression_Dereference.svg
 create mode 100644 abap/expression_Destination.svg
 create mode 100644 abap/expression_Dynamic.svg
 create mode 100644 abap/expression_EntityAssociation.svg
 create mode 100644 abap/expression_EventHandler.svg
 create mode 100644 abap/expression_EventName.svg
 create mode 100644 abap/expression_ExceptionName.svg
 create mode 100644 abap/expression_FSTarget.svg
 create mode 100644 abap/expression_Field.svg
 create mode 100644 abap/expression_FieldAll.svg
 create mode 100644 abap/expression_FieldAssignment.svg
 create mode 100644 abap/expression_FieldChain.svg
 create mode 100644 abap/expression_FieldLength.svg
 create mode 100644 abap/expression_FieldOffset.svg
 create mode 100644 abap/expression_FieldSub.svg
 create mode 100644 abap/expression_FieldSymbol.svg
 create mode 100644 abap/expression_FilterBody.svg
 create mode 100644 abap/expression_FinalMethods.svg
 create mode 100644 abap/expression_FindType.svg
 create mode 100644 abap/expression_For.svg
 create mode 100644 abap/expression_FormChanging.svg
 create mode 100644 abap/expression_FormName.svg
 create mode 100644 abap/expression_FormParam.svg
 create mode 100644 abap/expression_FormParamName.svg
 create mode 100644 abap/expression_FormParamType.svg
 create mode 100644 abap/expression_FormRaising.svg
 create mode 100644 abap/expression_FormTables.svg
 create mode 100644 abap/expression_FormUsing.svg
 create mode 100644 abap/expression_FunctionExporting.svg
 create mode 100644 abap/expression_FunctionExportingParameter.svg
 create mode 100644 abap/expression_FunctionName.svg
 create mode 100644 abap/expression_FunctionParameters.svg
 create mode 100644 abap/expression_IncludeName.svg
 create mode 100644 abap/expression_InlineData.svg
 create mode 100644 abap/expression_InlineFS.svg
 create mode 100644 abap/expression_InlineField.svg
 create mode 100644 abap/expression_InlineFieldDefinition.svg
 create mode 100644 abap/expression_InlineLoopDefinition.svg
 create mode 100644 abap/expression_Integer.svg
 create mode 100644 abap/expression_InterfaceName.svg
 create mode 100644 abap/expression_KernelId.svg
 create mode 100644 abap/expression_LOBHandle.svg
 create mode 100644 abap/expression_Language.svg
 create mode 100644 abap/expression_Length.svg
 create mode 100644 abap/expression_Let.svg
 create mode 100644 abap/expression_LoopGroupBy.svg
 create mode 100644 abap/expression_LoopGroupByComponent.svg
 create mode 100644 abap/expression_LoopGroupByTarget.svg
 create mode 100644 abap/expression_LoopTarget.svg
 create mode 100644 abap/expression_MacroName.svg
 create mode 100644 abap/expression_MessageClass.svg
 create mode 100644 abap/expression_MessageNumber.svg
 create mode 100644 abap/expression_MessageSource.svg
 create mode 100644 abap/expression_MessageTypeAndNumber.svg
 create mode 100644 abap/expression_MethodCall.svg
 create mode 100644 abap/expression_MethodCallBody.svg
 create mode 100644 abap/expression_MethodCallChain.svg
 create mode 100644 abap/expression_MethodCallParam.svg
 create mode 100644 abap/expression_MethodDefChanging.svg
 create mode 100644 abap/expression_MethodDefExceptions.svg
 create mode 100644 abap/expression_MethodDefExporting.svg
 create mode 100644 abap/expression_MethodDefImporting.svg
 create mode 100644 abap/expression_MethodDefRaising.svg
 create mode 100644 abap/expression_MethodDefReturning.svg
 create mode 100644 abap/expression_MethodName.svg
 create mode 100644 abap/expression_MethodParam.svg
 create mode 100644 abap/expression_MethodParamName.svg
 create mode 100644 abap/expression_MethodParamOptional.svg
 create mode 100644 abap/expression_MethodParameters.svg
 create mode 100644 abap/expression_MethodSource.svg
 create mode 100644 abap/expression_Modif.svg
 create mode 100644 abap/expression_NamespaceSimpleName.svg
 create mode 100644 abap/expression_NewObject.svg
 create mode 100644 abap/expression_OLEExporting.svg
 create mode 100644 abap/expression_Or.svg
 create mode 100644 abap/expression_ParameterException.svg
 create mode 100644 abap/expression_ParameterListExceptions.svg
 create mode 100644 abap/expression_ParameterListS.svg
 create mode 100644 abap/expression_ParameterListT.svg
 create mode 100644 abap/expression_ParameterName.svg
 create mode 100644 abap/expression_ParameterS.svg
 create mode 100644 abap/expression_ParameterT.svg
 create mode 100644 abap/expression_PassByValue.svg
 create mode 100644 abap/expression_PerformChanging.svg
 create mode 100644 abap/expression_PerformTables.svg
 create mode 100644 abap/expression_PerformUsing.svg
 create mode 100644 abap/expression_RadioGroupName.svg
 create mode 100644 abap/expression_RaiseWith.svg
 create mode 100644 abap/expression_ReadTableTarget.svg
 create mode 100644 abap/expression_ReceiveParameters.svg
 create mode 100644 abap/expression_Redefinition.svg
 create mode 100644 abap/expression_ReduceBody.svg
 create mode 100644 abap/expression_ReduceNext.svg
 create mode 100644 abap/expression_ReportName.svg
 create mode 100644 abap/expression_SQLAggregation.svg
 create mode 100644 abap/expression_SQLAliasField.svg
 create mode 100644 abap/expression_SQLArithmeticOperator.svg
 create mode 100644 abap/expression_SQLArithmetics.svg
 create mode 100644 abap/expression_SQLAsName.svg
 create mode 100644 abap/expression_SQLCDSParameters.svg
 create mode 100644 abap/expression_SQLCase.svg
 create mode 100644 abap/expression_SQLClient.svg
 create mode 100644 abap/expression_SQLCompare.svg
 create mode 100644 abap/expression_SQLCompareOperator.svg
 create mode 100644 abap/expression_SQLCond.svg
 create mode 100644 abap/expression_SQLField.svg
 create mode 100644 abap/expression_SQLFieldAndValue.svg
 create mode 100644 abap/expression_SQLFieldList.svg
 create mode 100644 abap/expression_SQLFieldListLoop.svg
 create mode 100644 abap/expression_SQLFieldName.svg
 create mode 100644 abap/expression_SQLFields.svg
 create mode 100644 abap/expression_SQLForAllEntries.svg
 create mode 100644 abap/expression_SQLFrom.svg
 create mode 100644 abap/expression_SQLFromSource.svg
 create mode 100644 abap/expression_SQLFunction.svg
 create mode 100644 abap/expression_SQLFunctionInput.svg
 create mode 100644 abap/expression_SQLGroupBy.svg
 create mode 100644 abap/expression_SQLHaving.svg
 create mode 100644 abap/expression_SQLHints.svg
 create mode 100644 abap/expression_SQLIn.svg
 create mode 100644 abap/expression_SQLIntoList.svg
 create mode 100644 abap/expression_SQLIntoStructure.svg
 create mode 100644 abap/expression_SQLIntoTable.svg
 create mode 100644 abap/expression_SQLJoin.svg
 create mode 100644 abap/expression_SQLOrderBy.svg
 create mode 100644 abap/expression_SQLPath.svg
 create mode 100644 abap/expression_SQLSource.svg
 create mode 100644 abap/expression_SQLSourceNoSpace.svg
 create mode 100644 abap/expression_SQLSourceSimple.svg
 create mode 100644 abap/expression_SQLTarget.svg
 create mode 100644 abap/expression_SQLUpTo.svg
 create mode 100644 abap/expression_Select.svg
 create mode 100644 abap/expression_SelectLoop.svg
 create mode 100644 abap/expression_SimpleFieldChain.svg
 create mode 100644 abap/expression_SimpleFieldChain2.svg
 create mode 100644 abap/expression_SimpleName.svg
 create mode 100644 abap/expression_SimpleSource1.svg
 create mode 100644 abap/expression_SimpleSource2.svg
 create mode 100644 abap/expression_SimpleSource3.svg
 create mode 100644 abap/expression_SimpleSource4.svg
 create mode 100644 abap/expression_SimpleTarget.svg
 create mode 100644 abap/expression_Source.svg
 create mode 100644 abap/expression_SourceField.svg
 create mode 100644 abap/expression_SourceFieldSymbol.svg
 create mode 100644 abap/expression_SourceFieldSymbolChain.svg
 create mode 100644 abap/expression_StringTemplate.svg
 create mode 100644 abap/expression_StringTemplateFormatting.svg
 create mode 100644 abap/expression_StringTemplateSource.svg
 create mode 100644 abap/expression_SuperClassName.svg
 create mode 100644 abap/expression_SwitchBody.svg
 create mode 100644 abap/expression_TableBody.svg
 create mode 100644 abap/expression_TableExpression.svg
 create mode 100644 abap/expression_Target.svg
 create mode 100644 abap/expression_TargetField.svg
 create mode 100644 abap/expression_TargetFieldSymbol.svg
 create mode 100644 abap/expression_TestSeamName.svg
 create mode 100644 abap/expression_TextElement.svg
 create mode 100644 abap/expression_TextElementKey.svg
 create mode 100644 abap/expression_TextElementString.svg
 create mode 100644 abap/expression_Throw.svg
 create mode 100644 abap/expression_TransportingFields.svg
 create mode 100644 abap/expression_Type.svg
 create mode 100644 abap/expression_TypeName.svg
 create mode 100644 abap/expression_TypeNameOrInfer.svg
 create mode 100644 abap/expression_TypeParam.svg
 create mode 100644 abap/expression_TypeStructure.svg
 create mode 100644 abap/expression_TypeTable.svg
 create mode 100644 abap/expression_TypeTableKey.svg
 create mode 100644 abap/expression_Value.svg
 create mode 100644 abap/expression_ValueBody.svg
 create mode 100644 abap/expression_ValueBodyLine.svg
 create mode 100644 abap/expression_ValueBodyLines.svg
 create mode 100644 abap/expression_WithName.svg
 create mode 100644 abap/expression_WriteOffsetLength.svg
 create mode 100644 abap/statement_Add.svg
 create mode 100644 abap/statement_AddCorresponding.svg
 create mode 100644 abap/statement_Aliases.svg
 create mode 100644 abap/statement_Append.svg
 create mode 100644 abap/statement_Assert.svg
 create mode 100644 abap/statement_Assign.svg
 create mode 100644 abap/statement_AssignLocalCopy.svg
 create mode 100644 abap/statement_At.svg
 create mode 100644 abap/statement_AtFirst.svg
 create mode 100644 abap/statement_AtLast.svg
 create mode 100644 abap/statement_AtLineSelection.svg
 create mode 100644 abap/statement_AtSelectionScreen.svg
 create mode 100644 abap/statement_AtUserCommand.svg
 create mode 100644 abap/statement_AuthorityCheck.svg
 create mode 100644 abap/statement_Back.svg
 create mode 100644 abap/statement_Break.svg
 create mode 100644 abap/statement_BreakId.svg
 create mode 100644 abap/statement_Call.svg
 create mode 100644 abap/statement_CallBadi.svg
 create mode 100644 abap/statement_CallDatabase.svg
 create mode 100644 abap/statement_CallDialog.svg
 create mode 100644 abap/statement_CallFunction.svg
 create mode 100644 abap/statement_CallKernel.svg
 create mode 100644 abap/statement_CallOLE.svg
 create mode 100644 abap/statement_CallScreen.svg
 create mode 100644 abap/statement_CallSelectionScreen.svg
 create mode 100644 abap/statement_CallTransaction.svg
 create mode 100644 abap/statement_CallTransformation.svg
 create mode 100644 abap/statement_Case.svg
 create mode 100644 abap/statement_CaseType.svg
 create mode 100644 abap/statement_Catch.svg
 create mode 100644 abap/statement_CatchSystemExceptions.svg
 create mode 100644 abap/statement_Check.svg
 create mode 100644 abap/statement_CheckSelectOptions.svg
 create mode 100644 abap/statement_ClassData.svg
 create mode 100644 abap/statement_ClassDataBegin.svg
 create mode 100644 abap/statement_ClassDataEnd.svg
 create mode 100644 abap/statement_ClassDeferred.svg
 create mode 100644 abap/statement_ClassDefinition.svg
 create mode 100644 abap/statement_ClassDefinitionLoad.svg
 create mode 100644 abap/statement_ClassImplementation.svg
 create mode 100644 abap/statement_ClassLocalFriends.svg
 create mode 100644 abap/statement_Cleanup.svg
 create mode 100644 abap/statement_Clear.svg
 create mode 100644 abap/statement_CloseCursor.svg
 create mode 100644 abap/statement_CloseDataset.svg
 create mode 100644 abap/statement_Collect.svg
 create mode 100644 abap/statement_Commit.svg
 create mode 100644 abap/statement_CommitEntities.svg
 create mode 100644 abap/statement_Communication.svg
 create mode 100644 abap/statement_Compute.svg
 create mode 100644 abap/statement_Concatenate.svg
 create mode 100644 abap/statement_Condense.svg
 create mode 100644 abap/statement_Constant.svg
 create mode 100644 abap/statement_ConstantBegin.svg
 create mode 100644 abap/statement_ConstantEnd.svg
 create mode 100644 abap/statement_Contexts.svg
 create mode 100644 abap/statement_Continue.svg
 create mode 100644 abap/statement_Controls.svg
 create mode 100644 abap/statement_Convert.svg
 create mode 100644 abap/statement_ConvertText.svg
 create mode 100644 abap/statement_CreateData.svg
 create mode 100644 abap/statement_CreateOLE.svg
 create mode 100644 abap/statement_CreateObject.svg
 create mode 100644 abap/statement_Data.svg
 create mode 100644 abap/statement_DataBegin.svg
 create mode 100644 abap/statement_DataEnd.svg
 create mode 100644 abap/statement_Define.svg
 create mode 100644 abap/statement_DeleteCluster.svg
 create mode 100644 abap/statement_DeleteDatabase.svg
 create mode 100644 abap/statement_DeleteDataset.svg
 create mode 100644 abap/statement_DeleteDynpro.svg
 create mode 100644 abap/statement_DeleteInternal.svg
 create mode 100644 abap/statement_DeleteMemory.svg
 create mode 100644 abap/statement_DeleteReport.svg
 create mode 100644 abap/statement_DeleteTextpool.svg
 create mode 100644 abap/statement_Demand.svg
 create mode 100644 abap/statement_Describe.svg
 create mode 100644 abap/statement_Detail.svg
 create mode 100644 abap/statement_Divide.svg
 create mode 100644 abap/statement_Do.svg
 create mode 100644 abap/statement_EditorCall.svg
 create mode 100644 abap/statement_Else.svg
 create mode 100644 abap/statement_ElseIf.svg
 create mode 100644 abap/statement_EndAt.svg
 create mode 100644 abap/statement_EndCase.svg
 create mode 100644 abap/statement_EndCatch.svg
 create mode 100644 abap/statement_EndClass.svg
 create mode 100644 abap/statement_EndDo.svg
 create mode 100644 abap/statement_EndEnhancement.svg
 create mode 100644 abap/statement_EndEnhancementSection.svg
 create mode 100644 abap/statement_EndExec.svg
 create mode 100644 abap/statement_EndForm.svg
 create mode 100644 abap/statement_EndFunction.svg
 create mode 100644 abap/statement_EndIf.svg
 create mode 100644 abap/statement_EndInterface.svg
 create mode 100644 abap/statement_EndLoop.svg
 create mode 100644 abap/statement_EndMethod.svg
 create mode 100644 abap/statement_EndModule.svg
 create mode 100644 abap/statement_EndOfDefinition.svg
 create mode 100644 abap/statement_EndOfPage.svg
 create mode 100644 abap/statement_EndOfSelection.svg
 create mode 100644 abap/statement_EndOn.svg
 create mode 100644 abap/statement_EndProvide.svg
 create mode 100644 abap/statement_EndSelect.svg
 create mode 100644 abap/statement_EndTestInjection.svg
 create mode 100644 abap/statement_EndTestSeam.svg
 create mode 100644 abap/statement_EndTry.svg
 create mode 100644 abap/statement_EndWhile.svg
 create mode 100644 abap/statement_EndWith.svg
 create mode 100644 abap/statement_Enhancement.svg
 create mode 100644 abap/statement_EnhancementPoint.svg
 create mode 100644 abap/statement_EnhancementSection.svg
 create mode 100644 abap/statement_Events.svg
 create mode 100644 abap/statement_ExecSQL.svg
 create mode 100644 abap/statement_Exit.svg
 create mode 100644 abap/statement_Export.svg
 create mode 100644 abap/statement_ExportDynpro.svg
 create mode 100644 abap/statement_Extract.svg
 create mode 100644 abap/statement_FetchNextCursor.svg
 create mode 100644 abap/statement_FieldGroup.svg
 create mode 100644 abap/statement_FieldSymbol.svg
 create mode 100644 abap/statement_Fields.svg
 create mode 100644 abap/statement_Find.svg
 create mode 100644 abap/statement_Form.svg
 create mode 100644 abap/statement_FormDefinition.svg
 create mode 100644 abap/statement_Format.svg
 create mode 100644 abap/statement_Free.svg
 create mode 100644 abap/statement_FreeMemory.svg
 create mode 100644 abap/statement_FreeObject.svg
 create mode 100644 abap/statement_FunctionModule.svg
 create mode 100644 abap/statement_FunctionPool.svg
 create mode 100644 abap/statement_GenerateDynpro.svg
 create mode 100644 abap/statement_GenerateReport.svg
 create mode 100644 abap/statement_GenerateSubroutine.svg
 create mode 100644 abap/statement_Get.svg
 create mode 100644 abap/statement_GetBadi.svg
 create mode 100644 abap/statement_GetBit.svg
 create mode 100644 abap/statement_GetCursor.svg
 create mode 100644 abap/statement_GetDataset.svg
 create mode 100644 abap/statement_GetLocale.svg
 create mode 100644 abap/statement_GetPFStatus.svg
 create mode 100644 abap/statement_GetParameter.svg
 create mode 100644 abap/statement_GetPermissions.svg
 create mode 100644 abap/statement_GetProperty.svg
 create mode 100644 abap/statement_GetReference.svg
 create mode 100644 abap/statement_GetRunTime.svg
 create mode 100644 abap/statement_GetTime.svg
 create mode 100644 abap/statement_Hide.svg
 create mode 100644 abap/statement_If.svg
 create mode 100644 abap/statement_Import.svg
 create mode 100644 abap/statement_ImportDynpro.svg
 create mode 100644 abap/statement_ImportNametab.svg
 create mode 100644 abap/statement_Include.svg
 create mode 100644 abap/statement_IncludeType.svg
 create mode 100644 abap/statement_Infotypes.svg
 create mode 100644 abap/statement_Initialization.svg
 create mode 100644 abap/statement_InsertDatabase.svg
 create mode 100644 abap/statement_InsertFieldGroup.svg
 create mode 100644 abap/statement_InsertInternal.svg
 create mode 100644 abap/statement_InsertReport.svg
 create mode 100644 abap/statement_InsertTextpool.svg
 create mode 100644 abap/statement_Interface.svg
 create mode 100644 abap/statement_InterfaceDef.svg
 create mode 100644 abap/statement_InterfaceDeferred.svg
 create mode 100644 abap/statement_InterfaceLoad.svg
 create mode 100644 abap/statement_Leave.svg
 create mode 100644 abap/statement_LoadOfProgram.svg
 create mode 100644 abap/statement_LoadReport.svg
 create mode 100644 abap/statement_Local.svg
 create mode 100644 abap/statement_LogPoint.svg
 create mode 100644 abap/statement_Loop.svg
 create mode 100644 abap/statement_LoopAtScreen.svg
 create mode 100644 abap/statement_Message.svg
 create mode 100644 abap/statement_MethodDef.svg
 create mode 100644 abap/statement_MethodImplementation.svg
 create mode 100644 abap/statement_ModifyDatabase.svg
 create mode 100644 abap/statement_ModifyEntities.svg
 create mode 100644 abap/statement_ModifyInternal.svg
 create mode 100644 abap/statement_ModifyLine.svg
 create mode 100644 abap/statement_ModifyScreen.svg
 create mode 100644 abap/statement_Module.svg
 create mode 100644 abap/statement_Move.svg
 create mode 100644 abap/statement_MoveCorresponding.svg
 create mode 100644 abap/statement_Multiply.svg
 create mode 100644 abap/statement_NewLine.svg
 create mode 100644 abap/statement_NewPage.svg
 create mode 100644 abap/statement_Nodes.svg
 create mode 100644 abap/statement_OnChange.svg
 create mode 100644 abap/statement_OpenCursor.svg
 create mode 100644 abap/statement_OpenDataset.svg
 create mode 100644 abap/statement_Overlay.svg
 create mode 100644 abap/statement_Pack.svg
 create mode 100644 abap/statement_Parameter.svg
 create mode 100644 abap/statement_Perform.svg
 create mode 100644 abap/statement_Position.svg
 create mode 100644 abap/statement_PrintControl.svg
 create mode 100644 abap/statement_Private.svg
 create mode 100644 abap/statement_Program.svg
 create mode 100644 abap/statement_Protected.svg
 create mode 100644 abap/statement_Provide.svg
 create mode 100644 abap/statement_Public.svg
 create mode 100644 abap/statement_Put.svg
 create mode 100644 abap/statement_Raise.svg
 create mode 100644 abap/statement_RaiseEntityEvent.svg
 create mode 100644 abap/statement_RaiseEvent.svg
 create mode 100644 abap/statement_Ranges.svg
 create mode 100644 abap/statement_ReadDataset.svg
 create mode 100644 abap/statement_ReadEntities.svg
 create mode 100644 abap/statement_ReadLine.svg
 create mode 100644 abap/statement_ReadReport.svg
 create mode 100644 abap/statement_ReadTable.svg
 create mode 100644 abap/statement_ReadTextpool.svg
 create mode 100644 abap/statement_Receive.svg
 create mode 100644 abap/statement_Refresh.svg
 create mode 100644 abap/statement_RefreshControl.svg
 create mode 100644 abap/statement_Reject.svg
 create mode 100644 abap/statement_Replace.svg
 create mode 100644 abap/statement_Report.svg
 create mode 100644 abap/statement_Reserve.svg
 create mode 100644 abap/statement_Resume.svg
 create mode 100644 abap/statement_Retry.svg
 create mode 100644 abap/statement_Return.svg
 create mode 100644 abap/statement_Rollback.svg
 create mode 100644 abap/statement_RollbackEntities.svg
 create mode 100644 abap/statement_Scan.svg
 create mode 100644 abap/statement_ScrollList.svg
 create mode 100644 abap/statement_Search.svg
 create mode 100644 abap/statement_Select.svg
 create mode 100644 abap/statement_SelectLoop.svg
 create mode 100644 abap/statement_SelectOption.svg
 create mode 100644 abap/statement_SelectionScreen.svg
 create mode 100644 abap/statement_SetBit.svg
 create mode 100644 abap/statement_SetBlank.svg
 create mode 100644 abap/statement_SetCountry.svg
 create mode 100644 abap/statement_SetCursor.svg
 create mode 100644 abap/statement_SetDataset.svg
 create mode 100644 abap/statement_SetExtendedCheck.svg
 create mode 100644 abap/statement_SetHandler.svg
 create mode 100644 abap/statement_SetLanguage.svg
 create mode 100644 abap/statement_SetLeft.svg
 create mode 100644 abap/statement_SetLocale.svg
 create mode 100644 abap/statement_SetLocks.svg
 create mode 100644 abap/statement_SetMargin.svg
 create mode 100644 abap/statement_SetPFStatus.svg
 create mode 100644 abap/statement_SetParameter.svg
 create mode 100644 abap/statement_SetProperty.svg
 create mode 100644 abap/statement_SetRunTime.svg
 create mode 100644 abap/statement_SetScreen.svg
 create mode 100644 abap/statement_SetTitlebar.svg
 create mode 100644 abap/statement_SetUpdateTask.svg
 create mode 100644 abap/statement_SetUserCommand.svg
 create mode 100644 abap/statement_Shift.svg
 create mode 100644 abap/statement_Skip.svg
 create mode 100644 abap/statement_Sort.svg
 create mode 100644 abap/statement_SortDataset.svg
 create mode 100644 abap/statement_Split.svg
 create mode 100644 abap/statement_StartOfSelection.svg
 create mode 100644 abap/statement_Static.svg
 create mode 100644 abap/statement_StaticBegin.svg
 create mode 100644 abap/statement_StaticEnd.svg
 create mode 100644 abap/statement_Stop.svg
 create mode 100644 abap/statement_Submit.svg
 create mode 100644 abap/statement_Subtract.svg
 create mode 100644 abap/statement_SubtractCorresponding.svg
 create mode 100644 abap/statement_Sum.svg
 create mode 100644 abap/statement_Summary.svg
 create mode 100644 abap/statement_Supply.svg
 create mode 100644 abap/statement_SuppressDialog.svg
 create mode 100644 abap/statement_SyntaxCheck.svg
 create mode 100644 abap/statement_SystemCall.svg
 create mode 100644 abap/statement_Tables.svg
 create mode 100644 abap/statement_TestInjection.svg
 create mode 100644 abap/statement_TestSeam.svg
 create mode 100644 abap/statement_TopOfPage.svg
 create mode 100644 abap/statement_Transfer.svg
 create mode 100644 abap/statement_Translate.svg
 create mode 100644 abap/statement_TruncateDataset.svg
 create mode 100644 abap/statement_Try.svg
 create mode 100644 abap/statement_Type.svg
 create mode 100644 abap/statement_TypeBegin.svg
 create mode 100644 abap/statement_TypeEnd.svg
 create mode 100644 abap/statement_TypeEnum.svg
 create mode 100644 abap/statement_TypeEnumBegin.svg
 create mode 100644 abap/statement_TypeEnumEnd.svg
 create mode 100644 abap/statement_TypeMesh.svg
 create mode 100644 abap/statement_TypeMeshBegin.svg
 create mode 100644 abap/statement_TypeMeshEnd.svg
 create mode 100644 abap/statement_TypePool.svg
 create mode 100644 abap/statement_TypePools.svg
 create mode 100644 abap/statement_Uline.svg
 create mode 100644 abap/statement_Unassign.svg
 create mode 100644 abap/statement_Unpack.svg
 create mode 100644 abap/statement_UpdateDatabase.svg
 create mode 100644 abap/statement_Wait.svg
 create mode 100644 abap/statement_When.svg
 create mode 100644 abap/statement_WhenOthers.svg
 create mode 100644 abap/statement_WhenType.svg
 create mode 100644 abap/statement_While.svg
 create mode 100644 abap/statement_Window.svg
 create mode 100644 abap/statement_With.svg
 create mode 100644 abap/statement_WithLoop.svg
 create mode 100644 abap/statement_Write.svg
 create mode 100644 abap/structure_Any.svg
 create mode 100644 abap/structure_At.svg
 create mode 100644 abap/structure_AtFirst.svg
 create mode 100644 abap/structure_AtLast.svg
 create mode 100644 abap/structure_Body.svg
 create mode 100644 abap/structure_Case.svg
 create mode 100644 abap/structure_CaseType.svg
 create mode 100644 abap/structure_Catch.svg
 create mode 100644 abap/structure_CatchSystemExceptions.svg
 create mode 100644 abap/structure_ClassData.svg
 create mode 100644 abap/structure_ClassDefinition.svg
 create mode 100644 abap/structure_ClassGlobal.svg
 create mode 100644 abap/structure_ClassImplementation.svg
 create mode 100644 abap/structure_Cleanup.svg
 create mode 100644 abap/structure_Constants.svg
 create mode 100644 abap/structure_Data.svg
 create mode 100644 abap/structure_Define.svg
 create mode 100644 abap/structure_Do.svg
 create mode 100644 abap/structure_Else.svg
 create mode 100644 abap/structure_ElseIf.svg
 create mode 100644 abap/structure_Enhancement.svg
 create mode 100644 abap/structure_EnhancementSection.svg
 create mode 100644 abap/structure_ExecSQL.svg
 create mode 100644 abap/structure_Form.svg
 create mode 100644 abap/structure_FunctionModule.svg
 create mode 100644 abap/structure_If.svg
 create mode 100644 abap/structure_Interface.svg
 create mode 100644 abap/structure_InterfaceGlobal.svg
 create mode 100644 abap/structure_Loop.svg
 create mode 100644 abap/structure_LoopAtScreen.svg
 create mode 100644 abap/structure_Method.svg
 create mode 100644 abap/structure_Module.svg
 create mode 100644 abap/structure_Normal.svg
 create mode 100644 abap/structure_OnChange.svg
 create mode 100644 abap/structure_PrivateSection.svg
 create mode 100644 abap/structure_ProtectedSection.svg
 create mode 100644 abap/structure_Provide.svg
 create mode 100644 abap/structure_PublicSection.svg
 create mode 100644 abap/structure_SectionContents.svg
 create mode 100644 abap/structure_Select.svg
 create mode 100644 abap/structure_Statics.svg
 create mode 100644 abap/structure_TestInjection.svg
 create mode 100644 abap/structure_TestSeam.svg
 create mode 100644 abap/structure_Try.svg
 create mode 100644 abap/structure_TypeEnum.svg
 create mode 100644 abap/structure_TypeMesh.svg
 create mode 100644 abap/structure_Types.svg
 create mode 100644 abap/structure_When.svg
 create mode 100644 abap/structure_WhenType.svg
 create mode 100644 abap/structure_While.svg
 create mode 100644 abap/structure_With.svg
 create mode 100644 cds.json.js
 create mode 100644 cds/expression_CDSAggregate.svg
 create mode 100644 cds/expression_CDSAnnotate.svg
 create mode 100644 cds/expression_CDSAnnotation.svg
 create mode 100644 cds/expression_CDSAnnotationArray.svg
 create mode 100644 cds/expression_CDSAnnotationObject.svg
 create mode 100644 cds/expression_CDSAnnotationSimple.svg
 create mode 100644 cds/expression_CDSArithmetics.svg
 create mode 100644 cds/expression_CDSAs.svg
 create mode 100644 cds/expression_CDSAssociation.svg
 create mode 100644 cds/expression_CDSCardinality.svg
 create mode 100644 cds/expression_CDSCase.svg
 create mode 100644 cds/expression_CDSCast.svg
 create mode 100644 cds/expression_CDSComposition.svg
 create mode 100644 cds/expression_CDSCondition.svg
 create mode 100644 cds/expression_CDSDefineAbstract.svg
 create mode 100644 cds/expression_CDSDefineCustom.svg
 create mode 100644 cds/expression_CDSDefineProjection.svg
 create mode 100644 cds/expression_CDSDefineView.svg
 create mode 100644 cds/expression_CDSElement.svg
 create mode 100644 cds/expression_CDSExtendView.svg
 create mode 100644 cds/expression_CDSFunction.svg
 create mode 100644 cds/expression_CDSGroupBy.svg
 create mode 100644 cds/expression_CDSHaving.svg
 create mode 100644 cds/expression_CDSInteger.svg
 create mode 100644 cds/expression_CDSJoin.svg
 create mode 100644 cds/expression_CDSName.svg
 create mode 100644 cds/expression_CDSParameters.svg
 create mode 100644 cds/expression_CDSParametersSelect.svg
 create mode 100644 cds/expression_CDSPrefixedName.svg
 create mode 100644 cds/expression_CDSProviderContract.svg
 create mode 100644 cds/expression_CDSRelation.svg
 create mode 100644 cds/expression_CDSSelect.svg
 create mode 100644 cds/expression_CDSSource.svg
 create mode 100644 cds/expression_CDSString.svg
 create mode 100644 cds/expression_CDSType.svg
 create mode 100644 cds/expression_CDSWhere.svg
 create mode 100644 cds/expression_CDSWithParameters.svg
 create mode 100644 ddl.json.js
 create mode 100644 ddl/expression_DDLInclude.svg
 create mode 100644 ddl/expression_DDLName.svg
 create mode 100644 ddl/expression_DDLStructure.svg
 create mode 100644 ddl/expression_DDLStructureField.svg
 create mode 100644 ddl/expression_DDLTable.svg
 create mode 100644 ddl/expression_DDLTableField.svg
 create mode 100644 ddl/expression_DDLType.svg
 create mode 100644 index.html
 create mode 100644 script.js
 create mode 100644 style.css

diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 00000000..e69de29b
diff --git a/CNAME b/CNAME
new file mode 100644
index 00000000..0d74d415
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+syntax.abaplint.org
diff --git a/abap.json.js b/abap.json.js
new file mode 100644
index 00000000..ca3fe82e
--- /dev/null
+++ b/abap.json.js
@@ -0,0 +1,9272 @@
+abapData = {
+  "expressions": [
+    {
+      "name": "Abstract",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal('\"ABSTRACT\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"ABSTRACT\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "abstract.ts"
+    },
+    {
+      "name": "AbstractMethods",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"ABSTRACT METHODS\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodName', {href: '#/expression/MethodName'})))).toString();",
+      "using": [
+        "expression/MethodName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"418\" height=\"71\" viewBox=\"0 0 418 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M368 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M223 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.5\" y=\"35\">\"ABSTRACT METHODS\"</text>\n</g>\n<path d=\"M223 31h10\"></path>\n<path d=\"M233 31h10\"></path>\n<g>\n<path d=\"M243 31h0\"></path>\n<path d=\"M368 31h0\"></path>\n<path d=\"M243 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M253 31h0\"></path>\n<path d=\"M358 31h0\"></path>\n<rect x=\"253\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodName\"><text x=\"305.5\" y=\"35\">MethodName</text>\n</a>\n</g>\n<path d=\"M358 31h10\"></path>\n<path d=\"M253 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M253 51h105\"></path>\n</g>\n<path d=\"M358 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M368 31h10\"></path>\n<path d=\"M 378 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/InterfaceDef"
+      ],
+      "filename": "abstract_methods.ts"
+    },
+    {
+      "name": "AndReturn",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal('\"AND RETURN\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"222\" height=\"62\" viewBox=\"0 0 222 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M172 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"35\">\"AND RETURN\"</text>\n</g>\n<path d=\"M172 31h10\"></path>\n<path d=\"M 182 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Leave",
+        "statement/Submit"
+      ],
+      "filename": "and_return.ts"
+    },
+    {
+      "name": "ArithOperator",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('!\" + \"'),Railroad.Terminal('!\" - \"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"**\"'),Railroad.Terminal('\"/\"'),Railroad.Terminal('\"BIT-XOR\"'),Railroad.Terminal('\"BIT-AND\"'),Railroad.Terminal('\"BIT-OR\"'),Railroad.Terminal('\"DIV\"'),Railroad.Terminal('\"MOD\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"216.5\" height=\"332\" viewBox=\"0 0 216.5 332\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M131 31h25.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"35\">!\" + \"</text>\n</g>\n<path d=\"M156.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M131 61h25.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"65\">!\" - \"</text>\n</g>\n<path d=\"M156.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M105.5 91h51\"></path>\n<rect x=\"60\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"95\">\"&#42;\"</text>\n</g>\n<path d=\"M156.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M114 121h42.5\"></path>\n<rect x=\"60\" y=\"110\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"125\">\"&#42;&#42;\"</text>\n</g>\n<path d=\"M156.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M105.5 151h51\"></path>\n<rect x=\"60\" y=\"140\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"155\">\"/\"</text>\n</g>\n<path d=\"M156.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 181h0\"></path>\n<path d=\"M156.5 181h0\"></path>\n<rect x=\"60\" y=\"170\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"185\">\"BIT-XOR\"</text>\n</g>\n<path d=\"M156.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 211h0\"></path>\n<path d=\"M156.5 211h0\"></path>\n<rect x=\"60\" y=\"200\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"215\">\"BIT-AND\"</text>\n</g>\n<path d=\"M156.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 241h0\"></path>\n<path d=\"M148 241h8.5\"></path>\n<rect x=\"60\" y=\"230\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"245\">\"BIT-OR\"</text>\n</g>\n<path d=\"M156.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 271h0\"></path>\n<path d=\"M122.5 271h34\"></path>\n<rect x=\"60\" y=\"260\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"275\">\"DIV\"</text>\n</g>\n<path d=\"M156.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 301h0\"></path>\n<path d=\"M122.5 301h34\"></path>\n<rect x=\"60\" y=\"290\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"305\">\"MOD\"</text>\n</g>\n<path d=\"M156.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 176.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "arith_operator.ts"
+    },
+    {
+      "name": "Arrow",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('!\"->\"'),Railroad.Terminal('!\"=>\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"182.5\" height=\"92\" viewBox=\"0 0 182.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M142.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M122.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"35\">!\"->\"</text>\n</g>\n<path d=\"M122.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M122.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"65\">!\"=>\"</text>\n</g>\n<path d=\"M122.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 142.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SimpleTarget",
+        "expression/Source"
+      ],
+      "filename": "arrow.ts"
+    },
+    {
+      "name": "ArrowOrDash",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('!\"->\"'),Railroad.Terminal('!\"=>\"'),Railroad.Terminal('!\"-\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"182.5\" height=\"122\" viewBox=\"0 0 182.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M142.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M122.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"35\">!\"->\"</text>\n</g>\n<path d=\"M122.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M122.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"65\">!\"=>\"</text>\n</g>\n<path d=\"M122.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M114 91h8.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"95\">!\"-\"</text>\n</g>\n<path d=\"M122.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 142.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/ComponentChainSimple",
+        "expression/SourceFieldSymbolChain"
+      ],
+      "filename": "arrow_or_dash.ts"
+    },
+    {
+      "name": "AssignSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\"->\"'),Railroad.Terminal('!\"=>\"')),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))),Railroad.Sequence(Railroad.Terminal('\"COMPONENT\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"OF STRUCTURE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TABLE FIELD\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\"->\"'),Railroad.Terminal('!\"=>\"')),Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"680.5\" height=\"290\" viewBox=\"0 0 680.5 290\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M640.5 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M373 40h247.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M131 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"95.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M373 40h0\"></path>\n<path d=\"M141 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M161 20h192\"></path>\n</g>\n<path d=\"M353 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M141 40h20\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M353 40h0\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<path d=\"M161 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 40h0\"></path>\n<path d=\"M243.5 40h0\"></path>\n<rect x=\"181\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.25\" y=\"44\">!\"->\"</text>\n</g>\n<path d=\"M243.5 40h20\"></path>\n<path d=\"M161 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 70h0\"></path>\n<path d=\"M243.5 70h0\"></path>\n<rect x=\"181\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.25\" y=\"74\">!\"=>\"</text>\n</g>\n<path d=\"M243.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M263.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M353 40h0\"></path>\n<rect x=\"273.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"313.25\" y=\"44\">Dynamic</text>\n</a>\n</g>\n</g>\n<path d=\"M353 40h20\"></path>\n</g>\n</g>\n<path d=\"M620.5 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M620.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M173.5 100h0\"></path>\n<rect x=\"60\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"116.75\" y=\"104\">\"COMPONENT\"</text>\n</g>\n<path d=\"M173.5 100h10\"></path>\n<g>\n<path d=\"M183.5 100h0\"></path>\n<path d=\"M380.5 100h0\"></path>\n<path d=\"M183.5 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M203.5 100h0\"></path>\n<path d=\"M334 100h26.5\"></path>\n<rect x=\"203.5\" y=\"89\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"268.75\" y=\"104\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M360.5 100h20\"></path>\n<path d=\"M183.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M203.5 130h0\"></path>\n<path d=\"M360.5 130h0\"></path>\n<g>\n<path d=\"M203.5 130h0\"></path>\n<path d=\"M269.5 130h0\"></path>\n<text x=\"236.5\" y=\"135\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M269.5 130h10\"></path>\n<path d=\"M279.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M289.5 130h0\"></path>\n<path d=\"M360.5 130h0\"></path>\n<rect x=\"289.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"325\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M360.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M380.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M390.5 100h0\"></path>\n<path d=\"M529.5 100h0\"></path>\n<rect x=\"390.5\" y=\"89\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460\" y=\"104\">\"OF STRUCTURE\"</text>\n</g>\n<path d=\"M529.5 100h10\"></path>\n<path d=\"M539.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M549.5 100h0\"></path>\n<path d=\"M620.5 100h0\"></path>\n<rect x=\"549.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"585\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M620.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 160h0\"></path>\n<path d=\"M320 160h300.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 160h0\"></path>\n<path d=\"M190.5 160h0\"></path>\n<rect x=\"60\" y=\"149\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"125.25\" y=\"164\">\"TABLE FIELD\"</text>\n</g>\n<path d=\"M190.5 160h10\"></path>\n<g>\n<path d=\"M200.5 160h0\"></path>\n<path d=\"M320 160h0\"></path>\n<path d=\"M200.5 160h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M220.5 160h0\"></path>\n<path d=\"M291.5 160h8.5\"></path>\n<rect x=\"220.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"256\" y=\"164\">Source</text>\n</a>\n</g>\n<path d=\"M300 160h20\"></path>\n<path d=\"M200.5 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M220.5 190h0\"></path>\n<path d=\"M300 190h0\"></path>\n<rect x=\"220.5\" y=\"179\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"260.25\" y=\"194\">Dynamic</text>\n</a>\n</g>\n<path d=\"M300 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M620.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 229h0\"></path>\n<path d=\"M411.5 229h209\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 229h0\"></path>\n<path d=\"M139.5 229h0\"></path>\n<rect x=\"60\" y=\"218\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"233\">Dynamic</text>\n</a>\n</g>\n<path d=\"M139.5 229h10\"></path>\n<g>\n<path d=\"M149.5 229h0\"></path>\n<path d=\"M411.5 229h0\"></path>\n<path d=\"M149.5 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M169.5 209h222\"></path>\n</g>\n<path d=\"M391.5 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M149.5 229h20\"></path>\n<g>\n<path d=\"M169.5 229h0\"></path>\n<path d=\"M391.5 229h0\"></path>\n<g>\n<path d=\"M169.5 229h0\"></path>\n<path d=\"M272 229h0\"></path>\n<path d=\"M169.5 229h20\"></path>\n<g class=\"terminal\">\n<path d=\"M189.5 229h0\"></path>\n<path d=\"M252 229h0\"></path>\n<rect x=\"189.5\" y=\"218\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.75\" y=\"233\">!\"->\"</text>\n</g>\n<path d=\"M252 229h20\"></path>\n<path d=\"M169.5 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M189.5 259h0\"></path>\n<path d=\"M252 259h0\"></path>\n<rect x=\"189.5\" y=\"248\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.75\" y=\"263\">!\"=>\"</text>\n</g>\n<path d=\"M252 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M272 229h0\"></path>\n<path d=\"M391.5 229h0\"></path>\n<path d=\"M272 229h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M292 229h0\"></path>\n<path d=\"M354.5 229h17\"></path>\n<rect x=\"292\" y=\"218\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"323.25\" y=\"233\">Field</text>\n</a>\n</g>\n<path d=\"M371.5 229h20\"></path>\n<path d=\"M272 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M292 259h0\"></path>\n<path d=\"M371.5 259h0\"></path>\n<rect x=\"292\" y=\"248\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"331.75\" y=\"263\">Dynamic</text>\n</a>\n</g>\n<path d=\"M371.5 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M391.5 229h20\"></path>\n</g>\n</g>\n<path d=\"M620.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 640.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Assign"
+      ],
+      "filename": "assign_source.ts"
+    },
+    {
+      "name": "AssociationName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\\\\\_[\\\\w]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">^\\\\&#95;&#91;\\w&#93;+$</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ReadEntities"
+      ],
+      "filename": "association_name.ts"
+    },
+    {
+      "name": "AttributeChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('ArrowOrDash', {href: '#/expression/ArrowOrDash'}),Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))),Railroad.NonTerminal('TableExpression', {href: '#/expression/TableExpression'})))),Railroad.Optional(Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'})),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})))).toString();",
+      "using": [
+        "expression/ArrowOrDash",
+        "expression/AttributeName",
+        "expression/ComponentName",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/TableBody",
+        "expression/TableExpression"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1088\" height=\"139\" viewBox=\"0 0 1088 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1038 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M584.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"115.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M584.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h354\"></path>\n</g>\n<path d=\"M564.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M564.5 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M534.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M354 40h0\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArrowOrDash\"><text x=\"297.25\" y=\"44\">ArrowOrDash</text>\n</a>\n</g>\n<path d=\"M354 40h10\"></path>\n<g>\n<path d=\"M364 40h0\"></path>\n<path d=\"M534.5 40h0\"></path>\n<path d=\"M364 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M384 40h0\"></path>\n<path d=\"M429.5 40h85\"></path>\n<rect x=\"384\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.75\" y=\"44\">\"&#42;\"</text>\n</g>\n<path d=\"M514.5 40h20\"></path>\n<path d=\"M364 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M384 70h0\"></path>\n<path d=\"M514.5 70h0\"></path>\n<rect x=\"384\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"449.25\" y=\"74\">ComponentName</text>\n</a>\n</g>\n<path d=\"M514.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M534.5 40h20\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M240.5 100h0\"></path>\n<path d=\"M388 100h146.5\"></path>\n<rect x=\"240.5\" y=\"89\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableExpression\"><text x=\"314.25\" y=\"104\">TableExpression</text>\n</a>\n</g>\n<path d=\"M534.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M554.5 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 119h334\"></path>\n</g>\n<path d=\"M554.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M564.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M584.5 40h10\"></path>\n<g>\n<path d=\"M594.5 40h0\"></path>\n<path d=\"M731 40h0\"></path>\n<path d=\"M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M614.5 20h96.5\"></path>\n</g>\n<path d=\"M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M594.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M614.5 40h0\"></path>\n<path d=\"M711 40h0\"></path>\n<rect x=\"614.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"662.75\" y=\"44\">TableBody</text>\n</a>\n</g>\n<path d=\"M711 40h20\"></path>\n</g>\n<g>\n<path d=\"M731 40h0\"></path>\n<path d=\"M884.5 40h0\"></path>\n<path d=\"M731 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M751 20h113.5\"></path>\n</g>\n<path d=\"M864.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M731 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751 40h0\"></path>\n<path d=\"M864.5 40h0\"></path>\n<rect x=\"751\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"807.75\" y=\"44\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M864.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M884.5 40h0\"></path>\n<path d=\"M1038 40h0\"></path>\n<path d=\"M884.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M904.5 20h113.5\"></path>\n</g>\n<path d=\"M1018 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M884.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M904.5 40h0\"></path>\n<path d=\"M1018 40h0\"></path>\n<rect x=\"904.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"961.25\" y=\"44\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1018 40h20\"></path>\n</g>\n</g>\n<path d=\"M1038 40h10\"></path>\n<path d=\"M 1048 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "attribute_chain.ts"
+    },
+    {
+      "name": "AttributeName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?(?!\\\\*)[\\\\w\\\\d_\\\\*\\\\~%]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"383.5\" height=\"62\" viewBox=\"0 0 383.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M333.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"283.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.75\" y=\"35\">^(\\/\\w+\\/)?(?!\\&#42;)&#91;\\w\\d&#95;\\&#42;\\~%&#93;+$</text>\n</g>\n<path d=\"M333.5 31h10\"></path>\n<path d=\"M 343.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/FieldChain",
+        "expression/MethodCallChain",
+        "expression/MethodSource",
+        "expression/SimpleFieldChain",
+        "expression/SimpleFieldChain2",
+        "expression/SimpleTarget",
+        "expression/Target",
+        "statement/InterfaceDef"
+      ],
+      "filename": "attribute_name.ts"
+    },
+    {
+      "name": "BehaviorDefinitionName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^((\\\\w*\\\\/\\\\w+\\\\/)|(\\\\w*\\\\/\\\\w+\\\\/)?[\\\\w\\\\*$%]+)$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"451.5\" height=\"62\" viewBox=\"0 0 451.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M401.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"351.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.75\" y=\"35\">^((\\w&#42;\\/\\w+\\/)|(\\w&#42;\\/\\w+\\/)?&#91;\\w\\&#42;$%&#93;+)$</text>\n</g>\n<path d=\"M401.5 31h10\"></path>\n<path d=\"M 411.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassDefinition"
+      ],
+      "filename": "behavior_definition_name.ts"
+    },
+    {
+      "name": "BlockName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w%\\\\$\\\\*]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w%\\\\$\\\\*]+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"488\" height=\"80\" viewBox=\"0 0 488 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M438 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">^&#91;\\w%\\$\\&#42;&#93;+$</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<g>\n<path d=\"M182 40h0\"></path>\n<path d=\"M438 40h0\"></path>\n<path d=\"M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M202 20h216\"></path>\n</g>\n<path d=\"M418 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M182 40h20\"></path>\n<g>\n<path d=\"M202 40h0\"></path>\n<path d=\"M418 40h0\"></path>\n<path d=\"M202 40h10\"></path>\n<g>\n<path d=\"M212 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M212 40h0\"></path>\n<path d=\"M266 40h0\"></path>\n<rect x=\"212\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"239\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M266 40h10\"></path>\n<path d=\"M276 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M286 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<rect x=\"286\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"347\" y=\"44\">^&#91;\\w%\\$\\&#42;&#93;+$</text>\n</g>\n</g>\n<path d=\"M408 40h10\"></path>\n<path d=\"M212 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M212 60h196\"></path>\n</g>\n<path d=\"M408 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M418 40h20\"></path>\n</g>\n</g>\n<path d=\"M438 40h10\"></path>\n<path d=\"M 448 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/SelectionScreen"
+      ],
+      "filename": "block_name.ts"
+    },
+    {
+      "name": "CallTransformationOptions",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Integer",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"386\" height=\"100\" viewBox=\"0 0 386 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M336 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M326 31h0\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M179.5 31h0\"></path>\n<path d=\"M60 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 31h0\"></path>\n<path d=\"M142.5 31h17\"></path>\n<rect x=\"80\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"111.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M159.5 31h20\"></path>\n<path d=\"M60 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 61h0\"></path>\n<path d=\"M159.5 61h0\"></path>\n<rect x=\"80\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"119.75\" y=\"65\">Integer</text>\n</a>\n</g>\n<path d=\"M159.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M179.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M189.5 31h0\"></path>\n<path d=\"M235 31h0\"></path>\n<rect x=\"189.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M235 31h10\"></path>\n<path d=\"M245 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M255 31h0\"></path>\n<path d=\"M326 31h0\"></path>\n<rect x=\"255\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"290.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M326 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 80h266\"></path>\n</g>\n<path d=\"M326 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M336 31h10\"></path>\n<path d=\"M 346 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallTransformation"
+      ],
+      "filename": "call_transformation_options.ts"
+    },
+    {
+      "name": "CallTransformationParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/Integer",
+        "expression/SimpleSource3"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"465.5\" height=\"130\" viewBox=\"0 0 465.5 130\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M425.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M405.5 31h0\"></path>\n<path d=\"M60 31h10\"></path>\n<g>\n<path d=\"M70 31h0\"></path>\n<path d=\"M395.5 31h0\"></path>\n<g>\n<path d=\"M70 31h0\"></path>\n<path d=\"M189.5 31h0\"></path>\n<path d=\"M70 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 31h0\"></path>\n<path d=\"M152.5 31h17\"></path>\n<rect x=\"90\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"121.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M169.5 31h20\"></path>\n<path d=\"M70 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 61h0\"></path>\n<path d=\"M169.5 61h0\"></path>\n<rect x=\"90\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"129.75\" y=\"65\">Integer</text>\n</a>\n</g>\n<path d=\"M169.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M189.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M199.5 31h0\"></path>\n<path d=\"M245 31h0\"></path>\n<rect x=\"199.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"222.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M245 31h10\"></path>\n<path d=\"M255 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M265 31h0\"></path>\n<path d=\"M395.5 31h0\"></path>\n<rect x=\"265\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"330.25\" y=\"35\">SimpleSource3</text>\n</a>\n</g>\n</g>\n<path d=\"M395.5 31h10\"></path>\n<path d=\"M70 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 80h325.5\"></path>\n</g>\n<path d=\"M395.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M405.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 99h0\"></path>\n<path d=\"M139.5 99h266\"></path>\n<rect x=\"60\" y=\"88\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"103\">Dynamic</text>\n</a>\n</g>\n<path d=\"M405.5 99a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 425.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallTransformation"
+      ],
+      "filename": "call_transformation_parameters.ts"
+    },
+    {
+      "name": "Cast",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"CAST\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\" )\"'))))).toString();",
+      "using": [
+        "expression/Let",
+        "expression/Source",
+        "expression/TypeNameOrInfer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"804.5\" height=\"101\" viewBox=\"0 0 804.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M754.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M116 40h0\"></path>\n<text x=\"83\" y=\"45\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M116 40h10\"></path>\n<path d=\"M126 40h10\"></path>\n<g>\n<path d=\"M136 40h0\"></path>\n<path d=\"M754.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 40h0\"></path>\n<path d=\"M207 40h0\"></path>\n<rect x=\"136\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"171.5\" y=\"44\">\"CAST\"</text>\n</g>\n<path d=\"M207 40h10\"></path>\n<path d=\"M217 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M227 40h0\"></path>\n<path d=\"M374.5 40h0\"></path>\n<rect x=\"227\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"300.75\" y=\"44\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M374.5 40h10\"></path>\n<path d=\"M384.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M457 40h0\"></path>\n<rect x=\"394.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"425.75\" y=\"44\">!\"( \"</text>\n</g>\n<path d=\"M457 40h10\"></path>\n<g>\n<path d=\"M467 40h0\"></path>\n<path d=\"M552.5 40h0\"></path>\n<path d=\"M467 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M487 20h45.5\"></path>\n</g>\n<path d=\"M532.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M467 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M487 40h0\"></path>\n<path d=\"M532.5 40h0\"></path>\n<rect x=\"487\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"509.75\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M532.5 40h20\"></path>\n</g>\n<path d=\"M552.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M562.5 40h0\"></path>\n<path d=\"M633.5 40h0\"></path>\n<rect x=\"562.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"598\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M633.5 40h10\"></path>\n<g>\n<path d=\"M643.5 40h0\"></path>\n<path d=\"M754.5 40h0\"></path>\n<path d=\"M643.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 40h0\"></path>\n<path d=\"M734.5 40h0\"></path>\n<rect x=\"663.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"699\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M734.5 40h20\"></path>\n<path d=\"M643.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 70h0\"></path>\n<path d=\"M726 70h8.5\"></path>\n<rect x=\"663.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"694.75\" y=\"74\">!\" )\"</text>\n</g>\n<path d=\"M734.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M754.5 40h10\"></path>\n<path d=\"M 764.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCallChain",
+        "expression/SimpleTarget",
+        "expression/Target"
+      ],
+      "filename": "cast.ts"
+    },
+    {
+      "name": "ClassFinal",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal('\"FINAL\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"179.5\" height=\"62\" viewBox=\"0 0 179.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"FINAL\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M 139.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassDefinition"
+      ],
+      "filename": "class_final.ts"
+    },
+    {
+      "name": "ClassFriends",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"GLOBAL\"')),Railroad.Terminal('\"FRIENDS\"'),Railroad.OneOrMore(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'})))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"471\" height=\"80\" viewBox=\"0 0 471 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M421 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M178 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h88\"></path>\n</g>\n<path d=\"M158 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"44\">\"GLOBAL\"</text>\n</g>\n<path d=\"M158 40h20\"></path>\n</g>\n<path d=\"M178 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M188 40h0\"></path>\n<path d=\"M284.5 40h0\"></path>\n<rect x=\"188\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"236.25\" y=\"44\">\"FRIENDS\"</text>\n</g>\n<path d=\"M284.5 40h10\"></path>\n<path d=\"M294.5 40h10\"></path>\n<g>\n<path d=\"M304.5 40h0\"></path>\n<path d=\"M421 40h0\"></path>\n<path d=\"M304.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M314.5 40h0\"></path>\n<path d=\"M411 40h0\"></path>\n<rect x=\"314.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"362.75\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M411 40h10\"></path>\n<path d=\"M314.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M314.5 60h96.5\"></path>\n</g>\n<path d=\"M411 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M421 40h10\"></path>\n<path d=\"M 431 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassDefinition"
+      ],
+      "filename": "class_friends.ts"
+    },
+    {
+      "name": "ClassGlobal",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal('\"PUBLIC\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"188\" height=\"62\" viewBox=\"0 0 188 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"PUBLIC\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M 148 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassDefinition",
+        "statement/Interface"
+      ],
+      "filename": "class_global.ts"
+    },
+    {
+      "name": "ClassName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\w*(\\\\/\\\\w{3,}\\\\/)?\\\\w+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"298.5\" height=\"62\" viewBox=\"0 0 298.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M248.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"149.25\" y=\"35\">^\\w&#42;(\\/\\w{3,}\\/)?\\w+$</text>\n</g>\n<path d=\"M248.5 31h10\"></path>\n<path d=\"M 258.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ClassFriends",
+        "expression/Compare",
+        "expression/EventHandler",
+        "expression/FieldChain",
+        "expression/FormRaising",
+        "expression/MethodCallChain",
+        "expression/MethodDefRaising",
+        "expression/MethodSource",
+        "expression/SimpleFieldChain",
+        "expression/SimpleFieldChain2",
+        "expression/SimpleTarget",
+        "expression/SuperClassName",
+        "expression/Target",
+        "expression/Throw",
+        "statement/Catch",
+        "statement/ClassDeferred",
+        "statement/ClassDefinition",
+        "statement/ClassDefinitionLoad",
+        "statement/ClassImplementation",
+        "statement/ClassLocalFriends",
+        "statement/CreateObject",
+        "statement/Raise",
+        "statement/WhenType"
+      ],
+      "filename": "class_name.ts"
+    },
+    {
+      "name": "Color",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"COLOR\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'),Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"1\"'),Railroad.Terminal('\"2\"'),Railroad.Terminal('\"3\"'),Railroad.Terminal('\"4\"'),Railroad.Terminal('\"5\"'),Railroad.Terminal('\"6\"'),Railroad.Terminal('\"7\"')),Railroad.Choice(0, Railroad.Terminal('\"COL_BACKGROUND\"'),Railroad.Terminal('\"COL_HEADING\"'),Railroad.Terminal('\"COL_NORMAL\"'),Railroad.Terminal('\"COL_TOTAL\"'),Railroad.Terminal('\"COL_KEY\"'),Railroad.Terminal('\"COL_POSITIVE\"'),Railroad.Terminal('\"COL_NEGATIVE\"'),Railroad.Terminal('\"COL_GROUP\"'))))),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"648\" height=\"581\" viewBox=\"0 0 648 581\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M598 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"COLOR\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M455.5 40h0\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g>\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M296 40h139.5\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M205 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M205 40h10\"></path>\n<path d=\"M215 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M225 40h0\"></path>\n<path d=\"M296 40h0\"></path>\n<rect x=\"225\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"260.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M435.5 40h20\"></path>\n<path d=\"M139.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M159.5 70h0\"></path>\n<path d=\"M435.5 70h0\"></path>\n<path d=\"M159.5 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 70h0\"></path>\n<path d=\"M233.5 70h182\"></path>\n<rect x=\"179.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"206.5\" y=\"74\">\"ON\"</text>\n</g>\n<path d=\"M415.5 70h20\"></path>\n<path d=\"M159.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 100h0\"></path>\n<path d=\"M242 100h173.5\"></path>\n<rect x=\"179.5\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"210.75\" y=\"104\">\"OFF\"</text>\n</g>\n<path d=\"M415.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M159.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M179.5 130h0\"></path>\n<path d=\"M415.5 130h0\"></path>\n<path d=\"M179.5 130h20\"></path>\n<g>\n<path d=\"M199.5 130h0\"></path>\n<path d=\"M285 130h110.5\"></path>\n<path d=\"M199.5 130h20\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 130h0\"></path>\n<path d=\"M265 130h0\"></path>\n<rect x=\"219.5\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"134\">\"1\"</text>\n</g>\n<path d=\"M265 130h20\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 160h0\"></path>\n<path d=\"M265 160h0\"></path>\n<rect x=\"219.5\" y=\"149\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"164\">\"2\"</text>\n</g>\n<path d=\"M265 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 190h0\"></path>\n<path d=\"M265 190h0\"></path>\n<rect x=\"219.5\" y=\"179\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"194\">\"3\"</text>\n</g>\n<path d=\"M265 190a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 220h0\"></path>\n<path d=\"M265 220h0\"></path>\n<rect x=\"219.5\" y=\"209\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"224\">\"4\"</text>\n</g>\n<path d=\"M265 220a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 250h0\"></path>\n<path d=\"M265 250h0\"></path>\n<rect x=\"219.5\" y=\"239\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"254\">\"5\"</text>\n</g>\n<path d=\"M265 250a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 280h0\"></path>\n<path d=\"M265 280h0\"></path>\n<rect x=\"219.5\" y=\"269\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"284\">\"6\"</text>\n</g>\n<path d=\"M265 280a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 130a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 310h0\"></path>\n<path d=\"M265 310h0\"></path>\n<rect x=\"219.5\" y=\"299\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"314\">\"7\"</text>\n</g>\n<path d=\"M265 310a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M395.5 130h20\"></path>\n<path d=\"M179.5 130a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M199.5 340h0\"></path>\n<path d=\"M395.5 340h0\"></path>\n<path d=\"M199.5 340h20\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 340h0\"></path>\n<path d=\"M375.5 340h0\"></path>\n<rect x=\"219.5\" y=\"329\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"297.5\" y=\"344\">\"COL&#95;BACKGROUND\"</text>\n</g>\n<path d=\"M375.5 340h20\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 370h0\"></path>\n<path d=\"M350 370h25.5\"></path>\n<rect x=\"219.5\" y=\"359\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.75\" y=\"374\">\"COL&#95;HEADING\"</text>\n</g>\n<path d=\"M375.5 370a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 400h0\"></path>\n<path d=\"M341.5 400h34\"></path>\n<rect x=\"219.5\" y=\"389\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"280.5\" y=\"404\">\"COL&#95;NORMAL\"</text>\n</g>\n<path d=\"M375.5 400a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 430h0\"></path>\n<path d=\"M333 430h42.5\"></path>\n<rect x=\"219.5\" y=\"419\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"276.25\" y=\"434\">\"COL&#95;TOTAL\"</text>\n</g>\n<path d=\"M375.5 430a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 460h0\"></path>\n<path d=\"M316 460h59.5\"></path>\n<rect x=\"219.5\" y=\"449\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"267.75\" y=\"464\">\"COL&#95;KEY\"</text>\n</g>\n<path d=\"M375.5 460a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 490h0\"></path>\n<path d=\"M358.5 490h17\"></path>\n<rect x=\"219.5\" y=\"479\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"289\" y=\"494\">\"COL&#95;POSITIVE\"</text>\n</g>\n<path d=\"M375.5 490a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 520h0\"></path>\n<path d=\"M358.5 520h17\"></path>\n<rect x=\"219.5\" y=\"509\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"289\" y=\"524\">\"COL&#95;NEGATIVE\"</text>\n</g>\n<path d=\"M375.5 520a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 340a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 550h0\"></path>\n<path d=\"M333 550h42.5\"></path>\n<rect x=\"219.5\" y=\"539\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"276.25\" y=\"554\">\"COL&#95;GROUP\"</text>\n</g>\n<path d=\"M375.5 550a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M395.5 340a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M415.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M435.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M455.5 40h0\"></path>\n<path d=\"M598 40h0\"></path>\n<path d=\"M455.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M475.5 20h102.5\"></path>\n</g>\n<path d=\"M578 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M455.5 40h20\"></path>\n<g>\n<path d=\"M475.5 40h0\"></path>\n<path d=\"M578 40h0\"></path>\n<path d=\"M475.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M495.5 40h0\"></path>\n<path d=\"M549.5 40h8.5\"></path>\n<rect x=\"495.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"522.5\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M558 40h20\"></path>\n<path d=\"M475.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M495.5 70h0\"></path>\n<path d=\"M558 70h0\"></path>\n<rect x=\"495.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"526.75\" y=\"74\">\"OFF\"</text>\n</g>\n<path d=\"M558 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M578 40h20\"></path>\n</g>\n</g>\n<path d=\"M598 40h10\"></path>\n<path d=\"M 608 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Format",
+        "statement/ModifyLine",
+        "statement/Write"
+      ],
+      "filename": "color.ts"
+    },
+    {
+      "name": "Compare",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CompareOperator', {href: '#/expression/CompareOperator'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Sequence(Railroad.Terminal('!\" (\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})))),Railroad.Terminal('!\") \"')))),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('\"BETWEEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('\"SUPPLIED\"'),Railroad.Terminal('\"BOUND\"'),Railroad.Sequence(Railroad.Comment(\"v750 or open-abap\", {}), Railroad.Sequence(Railroad.Terminal('\"INSTANCE OF\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}))),Railroad.Terminal('\"REQUESTED\"'),Railroad.Terminal('\"INITIAL\"'))))),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.NonTerminal('MethodCallChain', {href: '#/expression/MethodCallChain'})),Railroad.Sequence(Railroad.NonTerminal('SourceFieldSymbolChain', {href: '#/expression/SourceFieldSymbolChain'}),Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('\"ASSIGNED\"'))))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/CompareOperator",
+        "expression/Constant",
+        "expression/FieldSub",
+        "expression/MethodCallChain",
+        "expression/Source",
+        "expression/SourceFieldSymbolChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1076.5\" height=\"445\" viewBox=\"0 0 1076.5 445\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1026.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h62.5\"></path>\n</g>\n<path d=\"M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"NOT\"</text>\n</g>\n<path d=\"M132.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M1026.5 40h0\"></path>\n<path d=\"M152.5 40h20\"></path>\n<g>\n<path d=\"M172.5 40h0\"></path>\n<path d=\"M1006.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M172.5 40h0\"></path>\n<path d=\"M243.5 40h0\"></path>\n<rect x=\"172.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"208\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M243.5 40h10\"></path>\n<g>\n<path d=\"M253.5 40h0\"></path>\n<path d=\"M1006.5 40h0\"></path>\n<path d=\"M253.5 40h20\"></path>\n<g>\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M512 40h474.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M421 40h0\"></path>\n<rect x=\"273.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CompareOperator\"><text x=\"347.25\" y=\"44\">CompareOperator</text>\n</a>\n</g>\n<path d=\"M421 40h10\"></path>\n<path d=\"M431 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M441 40h0\"></path>\n<path d=\"M512 40h0\"></path>\n<rect x=\"441\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"476.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M986.5 40h20\"></path>\n<path d=\"M253.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M273.5 79h0\"></path>\n<path d=\"M986.5 79h0\"></path>\n<g>\n<path d=\"M273.5 79h0\"></path>\n<path d=\"M376 79h0\"></path>\n<path d=\"M273.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M293.5 59h62.5\"></path>\n</g>\n<path d=\"M356 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M273.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M293.5 79h0\"></path>\n<path d=\"M356 79h0\"></path>\n<rect x=\"293.5\" y=\"68\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.75\" y=\"83\">\"NOT\"</text>\n</g>\n<path d=\"M356 79h20\"></path>\n</g>\n<path d=\"M376 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M386 79h0\"></path>\n<path d=\"M440 79h0\"></path>\n<rect x=\"386\" y=\"68\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"413\" y=\"83\">\"IN\"</text>\n</g>\n<path d=\"M440 79h10\"></path>\n<g>\n<path d=\"M450 79h0\"></path>\n<path d=\"M986.5 79h0\"></path>\n<path d=\"M450 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 79h0\"></path>\n<path d=\"M541 79h425.5\"></path>\n<rect x=\"470\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"505.5\" y=\"83\">Source</text>\n</a>\n</g>\n<path d=\"M966.5 79h20\"></path>\n<path d=\"M450 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M470 109h0\"></path>\n<path d=\"M966.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M470 109h0\"></path>\n<path d=\"M532.5 109h0\"></path>\n<rect x=\"470\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"501.25\" y=\"113\">!\" (\"</text>\n</g>\n<path d=\"M532.5 109h10\"></path>\n<g>\n<path d=\"M542.5 109h0\"></path>\n<path d=\"M670.5 109h0\"></path>\n<path d=\"M542.5 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M562.5 109h0\"></path>\n<path d=\"M650.5 109h0\"></path>\n<rect x=\"562.5\" y=\"98\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"606.5\" y=\"113\">FieldSub</text>\n</a>\n</g>\n<path d=\"M650.5 109h20\"></path>\n<path d=\"M542.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M562.5 139h0\"></path>\n<path d=\"M650.5 139h0\"></path>\n<rect x=\"562.5\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"606.5\" y=\"143\">Constant</text>\n</a>\n</g>\n<path d=\"M650.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M670.5 109h10\"></path>\n<g>\n<path d=\"M680.5 109h0\"></path>\n<path d=\"M884 109h0\"></path>\n<path d=\"M680.5 109h10\"></path>\n<g>\n<path d=\"M690.5 109h0\"></path>\n<path d=\"M874 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M690.5 109h0\"></path>\n<path d=\"M736 109h0\"></path>\n<rect x=\"690.5\" y=\"98\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"713.25\" y=\"113\">\",\"</text>\n</g>\n<path d=\"M736 109h10\"></path>\n<g>\n<path d=\"M746 109h0\"></path>\n<path d=\"M874 109h0\"></path>\n<path d=\"M746 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M766 109h0\"></path>\n<path d=\"M854 109h0\"></path>\n<rect x=\"766\" y=\"98\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"810\" y=\"113\">FieldSub</text>\n</a>\n</g>\n<path d=\"M854 109h20\"></path>\n<path d=\"M746 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M766 139h0\"></path>\n<path d=\"M854 139h0\"></path>\n<rect x=\"766\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"810\" y=\"143\">Constant</text>\n</a>\n</g>\n<path d=\"M854 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M874 109h10\"></path>\n<path d=\"M690.5 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M690.5 158h183.5\"></path>\n</g>\n<path d=\"M874 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M884 109h10\"></path>\n<path d=\"M894 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M904 109h0\"></path>\n<path d=\"M966.5 109h0\"></path>\n<rect x=\"904\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"935.25\" y=\"113\">!\") \"</text>\n</g>\n</g>\n<path d=\"M966.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M986.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M253.5 40a10 10 0 0 1 10 10v126a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M273.5 186h0\"></path>\n<path d=\"M747 186h239.5\"></path>\n<g>\n<path d=\"M273.5 186h0\"></path>\n<path d=\"M376 186h0\"></path>\n<path d=\"M273.5 186a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M293.5 166h62.5\"></path>\n</g>\n<path d=\"M356 166a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M273.5 186h20\"></path>\n<g class=\"terminal\">\n<path d=\"M293.5 186h0\"></path>\n<path d=\"M356 186h0\"></path>\n<rect x=\"293.5\" y=\"175\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.75\" y=\"190\">\"NOT\"</text>\n</g>\n<path d=\"M356 186h20\"></path>\n</g>\n<path d=\"M376 186h10\"></path>\n<g class=\"terminal\">\n<path d=\"M386 186h0\"></path>\n<path d=\"M482.5 186h0\"></path>\n<rect x=\"386\" y=\"175\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"434.25\" y=\"190\">\"BETWEEN\"</text>\n</g>\n<path d=\"M482.5 186h10\"></path>\n<path d=\"M492.5 186h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M502.5 186h0\"></path>\n<path d=\"M573.5 186h0\"></path>\n<rect x=\"502.5\" y=\"175\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"538\" y=\"190\">Source</text>\n</a>\n</g>\n<path d=\"M573.5 186h10\"></path>\n<path d=\"M583.5 186h10\"></path>\n<g class=\"terminal\">\n<path d=\"M593.5 186h0\"></path>\n<path d=\"M656 186h0\"></path>\n<rect x=\"593.5\" y=\"175\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"624.75\" y=\"190\">\"AND\"</text>\n</g>\n<path d=\"M656 186h10\"></path>\n<path d=\"M666 186h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M676 186h0\"></path>\n<path d=\"M747 186h0\"></path>\n<rect x=\"676\" y=\"175\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"711.5\" y=\"190\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M986.5 186a10 10 0 0 0 10 -10v-126a10 10 0 0 1 10 -10\"></path>\n<path d=\"M253.5 40a10 10 0 0 1 10 10v165a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M273.5 225h0\"></path>\n<path d=\"M876 225h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M273.5 225h0\"></path>\n<path d=\"M327.5 225h0\"></path>\n<rect x=\"273.5\" y=\"214\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.5\" y=\"229\">\"IS\"</text>\n</g>\n<path d=\"M327.5 225h10\"></path>\n<g>\n<path d=\"M337.5 225h0\"></path>\n<path d=\"M440 225h0\"></path>\n<path d=\"M337.5 225a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M357.5 205h62.5\"></path>\n</g>\n<path d=\"M420 205a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M337.5 225h20\"></path>\n<g class=\"terminal\">\n<path d=\"M357.5 225h0\"></path>\n<path d=\"M420 225h0\"></path>\n<rect x=\"357.5\" y=\"214\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.75\" y=\"229\">\"NOT\"</text>\n</g>\n<path d=\"M420 225h20\"></path>\n</g>\n<g>\n<path d=\"M440 225h0\"></path>\n<path d=\"M876 225h0\"></path>\n<path d=\"M440 225h20\"></path>\n<g class=\"terminal\">\n<path d=\"M460 225h0\"></path>\n<path d=\"M565 225h291\"></path>\n<rect x=\"460\" y=\"214\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"512.5\" y=\"229\">\"SUPPLIED\"</text>\n</g>\n<path d=\"M856 225h20\"></path>\n<path d=\"M440 225a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M460 255h0\"></path>\n<path d=\"M539.5 255h316.5\"></path>\n<rect x=\"460\" y=\"244\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"499.75\" y=\"259\">\"BOUND\"</text>\n</g>\n<path d=\"M856 255a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M440 225a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M460 285h0\"></path>\n<path d=\"M856 285h0\"></path>\n<g>\n<path d=\"M460 285h0\"></path>\n<path d=\"M589 285h0\"></path>\n<text x=\"524.5\" y=\"290\" class=\"comment\">v750 or open-abap</text>\n</g>\n<path d=\"M589 285h10\"></path>\n<path d=\"M599 285h10\"></path>\n<g>\n<path d=\"M609 285h0\"></path>\n<path d=\"M856 285h0\"></path>\n<g class=\"terminal\">\n<path d=\"M609 285h0\"></path>\n<path d=\"M739.5 285h0\"></path>\n<rect x=\"609\" y=\"274\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"674.25\" y=\"289\">\"INSTANCE OF\"</text>\n</g>\n<path d=\"M739.5 285h10\"></path>\n<path d=\"M749.5 285h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M759.5 285h0\"></path>\n<path d=\"M856 285h0\"></path>\n<rect x=\"759.5\" y=\"274\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"807.75\" y=\"289\">ClassName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M856 285a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M440 225a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M460 315h0\"></path>\n<path d=\"M573.5 315h282.5\"></path>\n<rect x=\"460\" y=\"304\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"319\">\"REQUESTED\"</text>\n</g>\n<path d=\"M856 315a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M440 225a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M460 345h0\"></path>\n<path d=\"M556.5 345h299.5\"></path>\n<rect x=\"460\" y=\"334\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"508.25\" y=\"349\">\"INITIAL\"</text>\n</g>\n<path d=\"M856 345a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M986.5 225a10 10 0 0 0 10 -10v-165a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1006.5 40h20\"></path>\n<path d=\"M152.5 40a10 10 0 0 1 10 10v315a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M172.5 375h0\"></path>\n<path d=\"M406 375h600.5\"></path>\n<g>\n<path d=\"M172.5 375h0\"></path>\n<path d=\"M238.5 375h0\"></path>\n<text x=\"205.5\" y=\"380\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M238.5 375h10\"></path>\n<path d=\"M248.5 375h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M258.5 375h0\"></path>\n<path d=\"M406 375h0\"></path>\n<rect x=\"258.5\" y=\"364\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallChain\"><text x=\"332.25\" y=\"379\">MethodCallChain</text>\n</a>\n</g>\n</g>\n<path d=\"M1006.5 375a10 10 0 0 0 10 -10v-315a10 10 0 0 1 10 -10\"></path>\n<path d=\"M152.5 40a10 10 0 0 1 10 10v354a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M172.5 414h0\"></path>\n<path d=\"M681 414h325.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M172.5 414h0\"></path>\n<path d=\"M379.5 414h0\"></path>\n<rect x=\"172.5\" y=\"403\" width=\"207\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbolChain\"><text x=\"276\" y=\"418\">SourceFieldSymbolChain</text>\n</a>\n</g>\n<path d=\"M379.5 414h10\"></path>\n<path d=\"M389.5 414h10\"></path>\n<g class=\"terminal\">\n<path d=\"M399.5 414h0\"></path>\n<path d=\"M453.5 414h0\"></path>\n<rect x=\"399.5\" y=\"403\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"426.5\" y=\"418\">\"IS\"</text>\n</g>\n<path d=\"M453.5 414h10\"></path>\n<g>\n<path d=\"M463.5 414h0\"></path>\n<path d=\"M566 414h0\"></path>\n<path d=\"M463.5 414a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M483.5 394h62.5\"></path>\n</g>\n<path d=\"M546 394a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M463.5 414h20\"></path>\n<g class=\"terminal\">\n<path d=\"M483.5 414h0\"></path>\n<path d=\"M546 414h0\"></path>\n<rect x=\"483.5\" y=\"403\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"514.75\" y=\"418\">\"NOT\"</text>\n</g>\n<path d=\"M546 414h20\"></path>\n</g>\n<path d=\"M566 414h10\"></path>\n<g class=\"terminal\">\n<path d=\"M576 414h0\"></path>\n<path d=\"M681 414h0\"></path>\n<rect x=\"576\" y=\"403\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"628.5\" y=\"418\">\"ASSIGNED\"</text>\n</g>\n</g>\n<path d=\"M1006.5 414a10 10 0 0 0 10 -10v-354a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1026.5 40h10\"></path>\n<path d=\"M 1036.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Cond"
+      ],
+      "filename": "compare.ts"
+    },
+    {
+      "name": "CompareOperator",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Terminal('\"<>\"'),Railroad.Terminal('\"><\"'),Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"'),Railroad.Terminal('\"<=\"'),Railroad.Terminal('\">=\"'),Railroad.Terminal('\"=>\"'),Railroad.Terminal('\"=<\"'),Railroad.Terminal('\"CA\"'),Railroad.Terminal('\"CO\"'),Railroad.Terminal('\"CP\"'),Railroad.Terminal('\"EQ\"'),Railroad.Terminal('\"NE\"'),Railroad.Terminal('\"CN\"'),Railroad.Terminal('\"GE\"'),Railroad.Terminal('\"GT\"'),Railroad.Terminal('\"LT\"'),Railroad.Terminal('\"LE\"'),Railroad.Terminal('\"CS\"'),Railroad.Terminal('\"NS\"'),Railroad.Terminal('\"NA\"'),Railroad.Terminal('\"NP\"'),Railroad.Terminal('\"BYTE-CO\"'),Railroad.Terminal('\"BYTE-CA\"'),Railroad.Terminal('\"BYTE-CS\"'),Railroad.Terminal('\"BYTE-CN\"'),Railroad.Terminal('\"BYTE-NA\"'),Railroad.Terminal('\"BYTE-NS\"'),Railroad.Terminal('\"O\"'),Railroad.Terminal('\"Z\"'),Railroad.Terminal('\"M\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"216.5\" height=\"992\" viewBox=\"0 0 216.5 992\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M105.5 31h51\"></path>\n<rect x=\"60\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M156.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M114 61h42.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"65\">\"&#60;>\"</text>\n</g>\n<path d=\"M156.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M114 91h42.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"95\">\">&#60;\"</text>\n</g>\n<path d=\"M156.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M105.5 121h51\"></path>\n<rect x=\"60\" y=\"110\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"125\">\"&#60;\"</text>\n</g>\n<path d=\"M156.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M105.5 151h51\"></path>\n<rect x=\"60\" y=\"140\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"155\">\">\"</text>\n</g>\n<path d=\"M156.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 181h0\"></path>\n<path d=\"M114 181h42.5\"></path>\n<rect x=\"60\" y=\"170\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"185\">\"&#60;=\"</text>\n</g>\n<path d=\"M156.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 211h0\"></path>\n<path d=\"M114 211h42.5\"></path>\n<rect x=\"60\" y=\"200\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"215\">\">=\"</text>\n</g>\n<path d=\"M156.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 241h0\"></path>\n<path d=\"M114 241h42.5\"></path>\n<rect x=\"60\" y=\"230\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"245\">\"=>\"</text>\n</g>\n<path d=\"M156.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 271h0\"></path>\n<path d=\"M114 271h42.5\"></path>\n<rect x=\"60\" y=\"260\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"275\">\"=&#60;\"</text>\n</g>\n<path d=\"M156.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 301h0\"></path>\n<path d=\"M114 301h42.5\"></path>\n<rect x=\"60\" y=\"290\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"305\">\"CA\"</text>\n</g>\n<path d=\"M156.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 331h0\"></path>\n<path d=\"M114 331h42.5\"></path>\n<rect x=\"60\" y=\"320\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"335\">\"CO\"</text>\n</g>\n<path d=\"M156.5 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 361h0\"></path>\n<path d=\"M114 361h42.5\"></path>\n<rect x=\"60\" y=\"350\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"365\">\"CP\"</text>\n</g>\n<path d=\"M156.5 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 391h0\"></path>\n<path d=\"M114 391h42.5\"></path>\n<rect x=\"60\" y=\"380\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"395\">\"EQ\"</text>\n</g>\n<path d=\"M156.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 421h0\"></path>\n<path d=\"M114 421h42.5\"></path>\n<rect x=\"60\" y=\"410\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"425\">\"NE\"</text>\n</g>\n<path d=\"M156.5 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 451h0\"></path>\n<path d=\"M114 451h42.5\"></path>\n<rect x=\"60\" y=\"440\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"455\">\"CN\"</text>\n</g>\n<path d=\"M156.5 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 481h0\"></path>\n<path d=\"M114 481h42.5\"></path>\n<rect x=\"60\" y=\"470\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"485\">\"GE\"</text>\n</g>\n<path d=\"M156.5 481a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 511h0\"></path>\n<path d=\"M114 511h42.5\"></path>\n<rect x=\"60\" y=\"500\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"515\">\"GT\"</text>\n</g>\n<path d=\"M156.5 511a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 541h0\"></path>\n<path d=\"M114 541h42.5\"></path>\n<rect x=\"60\" y=\"530\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"545\">\"LT\"</text>\n</g>\n<path d=\"M156.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 571h0\"></path>\n<path d=\"M114 571h42.5\"></path>\n<rect x=\"60\" y=\"560\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"575\">\"LE\"</text>\n</g>\n<path d=\"M156.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 601h0\"></path>\n<path d=\"M114 601h42.5\"></path>\n<rect x=\"60\" y=\"590\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"605\">\"CS\"</text>\n</g>\n<path d=\"M156.5 601a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 631h0\"></path>\n<path d=\"M114 631h42.5\"></path>\n<rect x=\"60\" y=\"620\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"635\">\"NS\"</text>\n</g>\n<path d=\"M156.5 631a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 661h0\"></path>\n<path d=\"M114 661h42.5\"></path>\n<rect x=\"60\" y=\"650\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"665\">\"NA\"</text>\n</g>\n<path d=\"M156.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 691h0\"></path>\n<path d=\"M114 691h42.5\"></path>\n<rect x=\"60\" y=\"680\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"695\">\"NP\"</text>\n</g>\n<path d=\"M156.5 691a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 721h0\"></path>\n<path d=\"M156.5 721h0\"></path>\n<rect x=\"60\" y=\"710\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"725\">\"BYTE-CO\"</text>\n</g>\n<path d=\"M156.5 721a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 751h0\"></path>\n<path d=\"M156.5 751h0\"></path>\n<rect x=\"60\" y=\"740\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"755\">\"BYTE-CA\"</text>\n</g>\n<path d=\"M156.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 781h0\"></path>\n<path d=\"M156.5 781h0\"></path>\n<rect x=\"60\" y=\"770\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"785\">\"BYTE-CS\"</text>\n</g>\n<path d=\"M156.5 781a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 811h0\"></path>\n<path d=\"M156.5 811h0\"></path>\n<rect x=\"60\" y=\"800\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"815\">\"BYTE-CN\"</text>\n</g>\n<path d=\"M156.5 811a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 841h0\"></path>\n<path d=\"M156.5 841h0\"></path>\n<rect x=\"60\" y=\"830\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"845\">\"BYTE-NA\"</text>\n</g>\n<path d=\"M156.5 841a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 871h0\"></path>\n<path d=\"M156.5 871h0\"></path>\n<rect x=\"60\" y=\"860\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"875\">\"BYTE-NS\"</text>\n</g>\n<path d=\"M156.5 871a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 901h0\"></path>\n<path d=\"M105.5 901h51\"></path>\n<rect x=\"60\" y=\"890\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"905\">\"O\"</text>\n</g>\n<path d=\"M156.5 901a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v880a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 931h0\"></path>\n<path d=\"M105.5 931h51\"></path>\n<rect x=\"60\" y=\"920\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"935\">\"Z\"</text>\n</g>\n<path d=\"M156.5 931a10 10 0 0 0 10 -10v-880a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v910a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 961h0\"></path>\n<path d=\"M105.5 961h51\"></path>\n<rect x=\"60\" y=\"950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"965\">\"M\"</text>\n</g>\n<path d=\"M156.5 961a10 10 0 0 0 10 -10v-910a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 176.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Compare",
+        "expression/ComponentCompare"
+      ],
+      "filename": "compare_operator.ts"
+    },
+    {
+      "name": "ComponentChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('ArrowOrDash', {href: '#/expression/ArrowOrDash'}),Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))),Railroad.NonTerminal('TableExpression', {href: '#/expression/TableExpression'})))),Railroad.Optional(Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'})),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})))).toString();",
+      "using": [
+        "expression/ArrowOrDash",
+        "expression/ComponentName",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/TableBody",
+        "expression/TableExpression"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1088\" height=\"139\" viewBox=\"0 0 1088 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1038 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M584.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"115.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M584.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h354\"></path>\n</g>\n<path d=\"M564.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M564.5 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M534.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M354 40h0\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArrowOrDash\"><text x=\"297.25\" y=\"44\">ArrowOrDash</text>\n</a>\n</g>\n<path d=\"M354 40h10\"></path>\n<g>\n<path d=\"M364 40h0\"></path>\n<path d=\"M534.5 40h0\"></path>\n<path d=\"M364 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M384 40h0\"></path>\n<path d=\"M429.5 40h85\"></path>\n<rect x=\"384\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.75\" y=\"44\">\"&#42;\"</text>\n</g>\n<path d=\"M514.5 40h20\"></path>\n<path d=\"M364 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M384 70h0\"></path>\n<path d=\"M514.5 70h0\"></path>\n<rect x=\"384\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"449.25\" y=\"74\">ComponentName</text>\n</a>\n</g>\n<path d=\"M514.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M534.5 40h20\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M240.5 100h0\"></path>\n<path d=\"M388 100h146.5\"></path>\n<rect x=\"240.5\" y=\"89\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableExpression\"><text x=\"314.25\" y=\"104\">TableExpression</text>\n</a>\n</g>\n<path d=\"M534.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M554.5 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 119h334\"></path>\n</g>\n<path d=\"M554.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M564.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M584.5 40h10\"></path>\n<g>\n<path d=\"M594.5 40h0\"></path>\n<path d=\"M731 40h0\"></path>\n<path d=\"M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M614.5 20h96.5\"></path>\n</g>\n<path d=\"M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M594.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M614.5 40h0\"></path>\n<path d=\"M711 40h0\"></path>\n<rect x=\"614.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"662.75\" y=\"44\">TableBody</text>\n</a>\n</g>\n<path d=\"M711 40h20\"></path>\n</g>\n<g>\n<path d=\"M731 40h0\"></path>\n<path d=\"M884.5 40h0\"></path>\n<path d=\"M731 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M751 20h113.5\"></path>\n</g>\n<path d=\"M864.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M731 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751 40h0\"></path>\n<path d=\"M864.5 40h0\"></path>\n<rect x=\"751\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"807.75\" y=\"44\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M864.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M884.5 40h0\"></path>\n<path d=\"M1038 40h0\"></path>\n<path d=\"M884.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M904.5 20h113.5\"></path>\n</g>\n<path d=\"M1018 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M884.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M904.5 40h0\"></path>\n<path d=\"M1018 40h0\"></path>\n<rect x=\"904.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"961.25\" y=\"44\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1018 40h20\"></path>\n</g>\n</g>\n<path d=\"M1038 40h10\"></path>\n<path d=\"M 1048 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CorrespondingBody",
+        "expression/Source",
+        "statement/Sort"
+      ],
+      "filename": "component_chain.ts"
+    },
+    {
+      "name": "ComponentChainSimple",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('ArrowOrDash', {href: '#/expression/ArrowOrDash'}),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})))),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})))).toString();",
+      "using": [
+        "expression/ArrowOrDash",
+        "expression/ComponentName",
+        "expression/FieldLength",
+        "expression/FieldOffset"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"881.5\" height=\"80\" viewBox=\"0 0 881.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M831.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M514.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"115.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M514.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h284\"></path>\n</g>\n<path d=\"M494.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M494.5 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M484.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M334 40h0\"></path>\n<rect x=\"220.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArrowOrDash\"><text x=\"277.25\" y=\"44\">ArrowOrDash</text>\n</a>\n</g>\n<path d=\"M334 40h10\"></path>\n<path d=\"M344 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M354 40h0\"></path>\n<path d=\"M484.5 40h0\"></path>\n<rect x=\"354\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"419.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M484.5 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 60h264\"></path>\n</g>\n<path d=\"M484.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M494.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M514.5 40h10\"></path>\n<g>\n<path d=\"M524.5 40h0\"></path>\n<path d=\"M678 40h0\"></path>\n<path d=\"M524.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M544.5 20h113.5\"></path>\n</g>\n<path d=\"M658 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M524.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M544.5 40h0\"></path>\n<path d=\"M658 40h0\"></path>\n<rect x=\"544.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"601.25\" y=\"44\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M658 40h20\"></path>\n</g>\n<g>\n<path d=\"M678 40h0\"></path>\n<path d=\"M831.5 40h0\"></path>\n<path d=\"M678 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M698 20h113.5\"></path>\n</g>\n<path d=\"M811.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M678 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M698 40h0\"></path>\n<path d=\"M811.5 40h0\"></path>\n<rect x=\"698\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"754.75\" y=\"44\">FieldLength</text>\n</a>\n</g>\n<path d=\"M811.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M831.5 40h10\"></path>\n<path d=\"M 841.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ComponentCompare",
+        "expression/ComponentCompareSimple",
+        "expression/ComponentCompareSingle",
+        "expression/TableExpression",
+        "statement/Import",
+        "statement/ModifyInternal"
+      ],
+      "filename": "component_chain_simple.ts"
+    },
+    {
+      "name": "ComponentCompare",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Sequence(Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CompareOperator', {href: '#/expression/CompareOperator'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Sequence(Railroad.Terminal('!\" (\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})))),Railroad.Terminal('!\") \"')))),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('\"BETWEEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('\"SUPPLIED\"'),Railroad.Terminal('\"BOUND\"'),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal('\"INSTANCE OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"REQUESTED\"'),Railroad.Terminal('\"ASSIGNED\"'),Railroad.Terminal('\"INITIAL\"'))))))).toString();",
+      "using": [
+        "expression/CompareOperator",
+        "expression/ComponentChainSimple",
+        "expression/Constant",
+        "expression/FieldSub",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1165.5\" height=\"406\" viewBox=\"0 0 1165.5 406\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1115.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h62.5\"></path>\n</g>\n<path d=\"M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"NOT\"</text>\n</g>\n<path d=\"M132.5 40h20\"></path>\n</g>\n<path d=\"M152.5 40h10\"></path>\n<g>\n<path d=\"M162.5 40h0\"></path>\n<path d=\"M1115.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M162.5 40h0\"></path>\n<path d=\"M352.5 40h0\"></path>\n<rect x=\"162.5\" y=\"29\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"257.5\" y=\"44\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M352.5 40h10\"></path>\n<g>\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M1115.5 40h0\"></path>\n<path d=\"M362.5 40h20\"></path>\n<g>\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M621 40h474.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M530 40h0\"></path>\n<rect x=\"382.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CompareOperator\"><text x=\"456.25\" y=\"44\">CompareOperator</text>\n</a>\n</g>\n<path d=\"M530 40h10\"></path>\n<path d=\"M540 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M550 40h0\"></path>\n<path d=\"M621 40h0\"></path>\n<rect x=\"550\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"585.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1095.5 40h20\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 79h0\"></path>\n<path d=\"M1095.5 79h0\"></path>\n<g>\n<path d=\"M382.5 79h0\"></path>\n<path d=\"M485 79h0\"></path>\n<path d=\"M382.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 59h62.5\"></path>\n</g>\n<path d=\"M465 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M402.5 79h0\"></path>\n<path d=\"M465 79h0\"></path>\n<rect x=\"402.5\" y=\"68\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"433.75\" y=\"83\">\"NOT\"</text>\n</g>\n<path d=\"M465 79h20\"></path>\n</g>\n<path d=\"M485 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M495 79h0\"></path>\n<path d=\"M549 79h0\"></path>\n<rect x=\"495\" y=\"68\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"522\" y=\"83\">\"IN\"</text>\n</g>\n<path d=\"M549 79h10\"></path>\n<g>\n<path d=\"M559 79h0\"></path>\n<path d=\"M1095.5 79h0\"></path>\n<path d=\"M559 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M579 79h0\"></path>\n<path d=\"M650 79h425.5\"></path>\n<rect x=\"579\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"614.5\" y=\"83\">Source</text>\n</a>\n</g>\n<path d=\"M1075.5 79h20\"></path>\n<path d=\"M559 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M579 109h0\"></path>\n<path d=\"M1075.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M579 109h0\"></path>\n<path d=\"M641.5 109h0\"></path>\n<rect x=\"579\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"610.25\" y=\"113\">!\" (\"</text>\n</g>\n<path d=\"M641.5 109h10\"></path>\n<g>\n<path d=\"M651.5 109h0\"></path>\n<path d=\"M779.5 109h0\"></path>\n<path d=\"M651.5 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M671.5 109h0\"></path>\n<path d=\"M759.5 109h0\"></path>\n<rect x=\"671.5\" y=\"98\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"715.5\" y=\"113\">FieldSub</text>\n</a>\n</g>\n<path d=\"M759.5 109h20\"></path>\n<path d=\"M651.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M671.5 139h0\"></path>\n<path d=\"M759.5 139h0\"></path>\n<rect x=\"671.5\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"715.5\" y=\"143\">Constant</text>\n</a>\n</g>\n<path d=\"M759.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M779.5 109h10\"></path>\n<g>\n<path d=\"M789.5 109h0\"></path>\n<path d=\"M993 109h0\"></path>\n<path d=\"M789.5 109h10\"></path>\n<g>\n<path d=\"M799.5 109h0\"></path>\n<path d=\"M983 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M799.5 109h0\"></path>\n<path d=\"M845 109h0\"></path>\n<rect x=\"799.5\" y=\"98\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"822.25\" y=\"113\">\",\"</text>\n</g>\n<path d=\"M845 109h10\"></path>\n<g>\n<path d=\"M855 109h0\"></path>\n<path d=\"M983 109h0\"></path>\n<path d=\"M855 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M875 109h0\"></path>\n<path d=\"M963 109h0\"></path>\n<rect x=\"875\" y=\"98\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"919\" y=\"113\">FieldSub</text>\n</a>\n</g>\n<path d=\"M963 109h20\"></path>\n<path d=\"M855 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M875 139h0\"></path>\n<path d=\"M963 139h0\"></path>\n<rect x=\"875\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"919\" y=\"143\">Constant</text>\n</a>\n</g>\n<path d=\"M963 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M983 109h10\"></path>\n<path d=\"M799.5 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M799.5 158h183.5\"></path>\n</g>\n<path d=\"M983 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M993 109h10\"></path>\n<path d=\"M1003 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1013 109h0\"></path>\n<path d=\"M1075.5 109h0\"></path>\n<rect x=\"1013\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1044.25\" y=\"113\">!\") \"</text>\n</g>\n</g>\n<path d=\"M1075.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1095.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v126a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 186h0\"></path>\n<path d=\"M856 186h239.5\"></path>\n<g>\n<path d=\"M382.5 186h0\"></path>\n<path d=\"M485 186h0\"></path>\n<path d=\"M382.5 186a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 166h62.5\"></path>\n</g>\n<path d=\"M465 166a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 186h20\"></path>\n<g class=\"terminal\">\n<path d=\"M402.5 186h0\"></path>\n<path d=\"M465 186h0\"></path>\n<rect x=\"402.5\" y=\"175\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"433.75\" y=\"190\">\"NOT\"</text>\n</g>\n<path d=\"M465 186h20\"></path>\n</g>\n<path d=\"M485 186h10\"></path>\n<g class=\"terminal\">\n<path d=\"M495 186h0\"></path>\n<path d=\"M591.5 186h0\"></path>\n<rect x=\"495\" y=\"175\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"543.25\" y=\"190\">\"BETWEEN\"</text>\n</g>\n<path d=\"M591.5 186h10\"></path>\n<path d=\"M601.5 186h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M611.5 186h0\"></path>\n<path d=\"M682.5 186h0\"></path>\n<rect x=\"611.5\" y=\"175\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"647\" y=\"190\">Source</text>\n</a>\n</g>\n<path d=\"M682.5 186h10\"></path>\n<path d=\"M692.5 186h10\"></path>\n<g class=\"terminal\">\n<path d=\"M702.5 186h0\"></path>\n<path d=\"M765 186h0\"></path>\n<rect x=\"702.5\" y=\"175\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"733.75\" y=\"190\">\"AND\"</text>\n</g>\n<path d=\"M765 186h10\"></path>\n<path d=\"M775 186h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M785 186h0\"></path>\n<path d=\"M856 186h0\"></path>\n<rect x=\"785\" y=\"175\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"820.5\" y=\"190\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1095.5 186a10 10 0 0 0 10 -10v-126a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v165a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 225h0\"></path>\n<path d=\"M868.5 225h227\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 225h0\"></path>\n<path d=\"M436.5 225h0\"></path>\n<rect x=\"382.5\" y=\"214\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"409.5\" y=\"229\">\"IS\"</text>\n</g>\n<path d=\"M436.5 225h10\"></path>\n<g>\n<path d=\"M446.5 225h0\"></path>\n<path d=\"M549 225h0\"></path>\n<path d=\"M446.5 225a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M466.5 205h62.5\"></path>\n</g>\n<path d=\"M529 205a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M446.5 225h20\"></path>\n<g class=\"terminal\">\n<path d=\"M466.5 225h0\"></path>\n<path d=\"M529 225h0\"></path>\n<rect x=\"466.5\" y=\"214\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"497.75\" y=\"229\">\"NOT\"</text>\n</g>\n<path d=\"M529 225h20\"></path>\n</g>\n<g>\n<path d=\"M549 225h0\"></path>\n<path d=\"M868.5 225h0\"></path>\n<path d=\"M549 225h20\"></path>\n<g class=\"terminal\">\n<path d=\"M569 225h0\"></path>\n<path d=\"M674 225h174.5\"></path>\n<rect x=\"569\" y=\"214\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"621.5\" y=\"229\">\"SUPPLIED\"</text>\n</g>\n<path d=\"M848.5 225h20\"></path>\n<path d=\"M549 225a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M569 255h0\"></path>\n<path d=\"M648.5 255h200\"></path>\n<rect x=\"569\" y=\"244\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"608.75\" y=\"259\">\"BOUND\"</text>\n</g>\n<path d=\"M848.5 255a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M549 225a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M569 285h0\"></path>\n<path d=\"M848.5 285h0\"></path>\n<g>\n<path d=\"M569 285h0\"></path>\n<path d=\"M607 285h0\"></path>\n<text x=\"588\" y=\"290\" class=\"comment\">v750</text>\n</g>\n<path d=\"M607 285h10\"></path>\n<path d=\"M617 285h10\"></path>\n<g>\n<path d=\"M627 285h0\"></path>\n<path d=\"M848.5 285h0\"></path>\n<g class=\"terminal\">\n<path d=\"M627 285h0\"></path>\n<path d=\"M757.5 285h0\"></path>\n<rect x=\"627\" y=\"274\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"692.25\" y=\"289\">\"INSTANCE OF\"</text>\n</g>\n<path d=\"M757.5 285h10\"></path>\n<path d=\"M767.5 285h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M777.5 285h0\"></path>\n<path d=\"M848.5 285h0\"></path>\n<rect x=\"777.5\" y=\"274\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"813\" y=\"289\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M848.5 285a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M549 225a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M569 315h0\"></path>\n<path d=\"M682.5 315h166\"></path>\n<rect x=\"569\" y=\"304\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"625.75\" y=\"319\">\"REQUESTED\"</text>\n</g>\n<path d=\"M848.5 315a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M549 225a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M569 345h0\"></path>\n<path d=\"M674 345h174.5\"></path>\n<rect x=\"569\" y=\"334\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"621.5\" y=\"349\">\"ASSIGNED\"</text>\n</g>\n<path d=\"M848.5 345a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M549 225a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M569 375h0\"></path>\n<path d=\"M665.5 375h183\"></path>\n<rect x=\"569\" y=\"364\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"617.25\" y=\"379\">\"INITIAL\"</text>\n</g>\n<path d=\"M848.5 375a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1095.5 225a10 10 0 0 0 10 -10v-165a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1115.5 40h10\"></path>\n<path d=\"M 1125.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ComponentCond",
+        "statement/DeleteInternal"
+      ],
+      "filename": "component_compare.ts"
+    },
+    {
+      "name": "ComponentCompareSimple",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/ComponentChainSimple",
+        "expression/Dynamic",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"496.5\" height=\"100\" viewBox=\"0 0 496.5 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M446.5 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M290 31h0\"></path>\n<path d=\"M60 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 31h0\"></path>\n<path d=\"M270 31h0\"></path>\n<rect x=\"80\" y=\"20\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"175\" y=\"35\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M270 31h20\"></path>\n<path d=\"M60 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 61h0\"></path>\n<path d=\"M159.5 61h110.5\"></path>\n<rect x=\"80\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"119.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M270 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M290 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M300 31h0\"></path>\n<path d=\"M345.5 31h0\"></path>\n<rect x=\"300\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"322.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M345.5 31h10\"></path>\n<path d=\"M355.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M365.5 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<rect x=\"365.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"401\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M436.5 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 80h376.5\"></path>\n</g>\n<path d=\"M436.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M446.5 31h10\"></path>\n<path d=\"M 456.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ReadTable"
+      ],
+      "filename": "component_compare_simple.ts"
+    },
+    {
+      "name": "ComponentCompareSingle",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/ComponentChainSimple",
+        "expression/Dynamic",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"476.5\" height=\"92\" viewBox=\"0 0 476.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M426.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M280 31h0\"></path>\n<path d=\"M50 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 31h0\"></path>\n<path d=\"M260 31h0\"></path>\n<rect x=\"70\" y=\"20\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"165\" y=\"35\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M260 31h20\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 61h0\"></path>\n<path d=\"M149.5 61h110.5\"></path>\n<rect x=\"70\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"109.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M260 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M280 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M290 31h0\"></path>\n<path d=\"M335.5 31h0\"></path>\n<rect x=\"290\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"312.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M335.5 31h10\"></path>\n<path d=\"M345.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M355.5 31h0\"></path>\n<path d=\"M426.5 31h0\"></path>\n<rect x=\"355.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"391\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M426.5 31h10\"></path>\n<path d=\"M 436.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/LoopGroupByComponent"
+      ],
+      "filename": "component_compare_single.ts"
+    },
+    {
+      "name": "ComponentCond",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentCompare', {href: '#/expression/ComponentCompare'}),Railroad.NonTerminal('ComponentCondSub', {href: '#/expression/ComponentCondSub'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"AND\"'),Railroad.Terminal('\"OR\"')),Railroad.Choice(0, Railroad.NonTerminal('ComponentCompare', {href: '#/expression/ComponentCompare'}),Railroad.NonTerminal('ComponentCondSub', {href: '#/expression/ComponentCondSub'})))))).toString();",
+      "using": [
+        "expression/ComponentCompare",
+        "expression/ComponentCondSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"654.5\" height=\"109\" viewBox=\"0 0 654.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M604.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M246 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M226 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompare\"><text x=\"148\" y=\"44\">ComponentCompare</text>\n</a>\n</g>\n<path d=\"M226 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M226 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCondSub\"><text x=\"148\" y=\"74\">ComponentCondSub</text>\n</a>\n</g>\n<path d=\"M226 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M246 40h0\"></path>\n<path d=\"M604.5 40h0\"></path>\n<path d=\"M246 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M266 20h318.5\"></path>\n</g>\n<path d=\"M584.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M246 40h20\"></path>\n<g>\n<path d=\"M266 40h0\"></path>\n<path d=\"M584.5 40h0\"></path>\n<path d=\"M266 40h10\"></path>\n<g>\n<path d=\"M276 40h0\"></path>\n<path d=\"M574.5 40h0\"></path>\n<g>\n<path d=\"M276 40h0\"></path>\n<path d=\"M378.5 40h0\"></path>\n<path d=\"M276 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M296 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<rect x=\"296\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"327.25\" y=\"44\">\"AND\"</text>\n</g>\n<path d=\"M358.5 40h20\"></path>\n<path d=\"M276 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M296 70h0\"></path>\n<path d=\"M350 70h8.5\"></path>\n<rect x=\"296\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"323\" y=\"74\">\"OR\"</text>\n</g>\n<path d=\"M358.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M378.5 40h0\"></path>\n<path d=\"M574.5 40h0\"></path>\n<path d=\"M378.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M398.5 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<rect x=\"398.5\" y=\"29\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompare\"><text x=\"476.5\" y=\"44\">ComponentCompare</text>\n</a>\n</g>\n<path d=\"M554.5 40h20\"></path>\n<path d=\"M378.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M398.5 70h0\"></path>\n<path d=\"M554.5 70h0\"></path>\n<rect x=\"398.5\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCondSub\"><text x=\"476.5\" y=\"74\">ComponentCondSub</text>\n</a>\n</g>\n<path d=\"M554.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M574.5 40h10\"></path>\n<path d=\"M276 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M276 89h298.5\"></path>\n</g>\n<path d=\"M574.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M584.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M604.5 40h10\"></path>\n<path d=\"M 614.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ComponentCondSub",
+        "expression/FilterBody",
+        "expression/For",
+        "statement/DeleteInternal",
+        "statement/Loop",
+        "statement/ModifyInternal"
+      ],
+      "filename": "component_cond.ts"
+    },
+    {
+      "name": "ComponentCondSub",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'}),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/ComponentCond"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"555\" height=\"101\" viewBox=\"0 0 555 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M505 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h62.5\"></path>\n</g>\n<path d=\"M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"NOT\"</text>\n</g>\n<path d=\"M132.5 40h20\"></path>\n</g>\n<path d=\"M152.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M162.5 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<rect x=\"162.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"198\" y=\"44\">!\" ( \"</text>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<path d=\"M243.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M253.5 40h0\"></path>\n<path d=\"M384 40h0\"></path>\n<rect x=\"253.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"318.75\" y=\"44\">ComponentCond</text>\n</a>\n</g>\n<path d=\"M384 40h10\"></path>\n<g>\n<path d=\"M394 40h0\"></path>\n<path d=\"M505 40h0\"></path>\n<path d=\"M394 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M414 40h0\"></path>\n<path d=\"M485 40h0\"></path>\n<rect x=\"414\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"449.5\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M485 40h20\"></path>\n<path d=\"M394 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M414 70h0\"></path>\n<path d=\"M476.5 70h8.5\"></path>\n<rect x=\"414\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"445.25\" y=\"74\">!\") \"</text>\n</g>\n<path d=\"M485 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M505 40h10\"></path>\n<path d=\"M 515 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ComponentCond"
+      ],
+      "filename": "component_cond_sub.ts"
+    },
+    {
+      "name": "ComponentName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?[\\\\w\\\\d_%$\\\\*\\\\~]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"341\" height=\"62\" viewBox=\"0 0 341 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M291 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"170.5\" y=\"35\">^(\\/\\w+\\/)?&#91;\\w\\d&#95;%$\\&#42;\\~&#93;+$</text>\n</g>\n<path d=\"M291 31h10\"></path>\n<path d=\"M 301 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/ComponentChainSimple",
+        "expression/CorrespondingBody",
+        "expression/FieldChain",
+        "expression/LoopGroupByComponent",
+        "expression/MethodCallChain",
+        "expression/MethodSource",
+        "expression/SimpleFieldChain",
+        "expression/SimpleFieldChain2",
+        "expression/SimpleTarget",
+        "expression/SourceFieldSymbolChain",
+        "expression/Target",
+        "statement/DataEnd",
+        "statement/IncludeType"
+      ],
+      "filename": "component_name.ts"
+    },
+    {
+      "name": "ConcatenatedConstant",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal(\"^`.*`$\"),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"&\"'),Railroad.Terminal(\"^`.*`$\")))),Railroad.Sequence(Railroad.Terminal(\"^'.*'$\"),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"&\"'),Railroad.Terminal(\"^'.*'$\")))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"367.5\" height=\"110\" viewBox=\"0 0 367.5 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M327.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M131 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"35\">^&#96;.&#42;&#96;$</text>\n</g>\n<path d=\"M131 31h10\"></path>\n<path d=\"M141 31h10\"></path>\n<g>\n<path d=\"M151 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<path d=\"M151 31h10\"></path>\n<g>\n<path d=\"M161 31h0\"></path>\n<path d=\"M297.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 31h0\"></path>\n<path d=\"M206.5 31h0\"></path>\n<rect x=\"161\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"35\">\"&#38;\"</text>\n</g>\n<path d=\"M206.5 31h10\"></path>\n<path d=\"M216.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 31h0\"></path>\n<path d=\"M297.5 31h0\"></path>\n<rect x=\"226.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"262\" y=\"35\">^&#96;.&#42;&#96;$</text>\n</g>\n</g>\n<path d=\"M297.5 31h10\"></path>\n<path d=\"M161 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 51h136.5\"></path>\n</g>\n<path d=\"M297.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M307.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 70h0\"></path>\n<path d=\"M307.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 70h0\"></path>\n<path d=\"M131 70h0\"></path>\n<rect x=\"60\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"74\">^'.&#42;'$</text>\n</g>\n<path d=\"M131 70h10\"></path>\n<path d=\"M141 70h10\"></path>\n<g>\n<path d=\"M151 70h0\"></path>\n<path d=\"M307.5 70h0\"></path>\n<path d=\"M151 70h10\"></path>\n<g>\n<path d=\"M161 70h0\"></path>\n<path d=\"M297.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 70h0\"></path>\n<path d=\"M206.5 70h0\"></path>\n<rect x=\"161\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"74\">\"&#38;\"</text>\n</g>\n<path d=\"M206.5 70h10\"></path>\n<path d=\"M216.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 70h0\"></path>\n<path d=\"M297.5 70h0\"></path>\n<rect x=\"226.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"262\" y=\"74\">^'.&#42;'$</text>\n</g>\n</g>\n<path d=\"M297.5 70h10\"></path>\n<path d=\"M161 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 90h136.5\"></path>\n</g>\n<path d=\"M297.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M307.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 327.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Constant"
+      ],
+      "filename": "concatenated_constant.ts"
+    },
+    {
+      "name": "Cond",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Compare', {href: '#/expression/Compare'}),Railroad.NonTerminal('CondSub', {href: '#/expression/CondSub'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"AND\"'),Railroad.Terminal('\"OR\"'),Railroad.Sequence(Railroad.Comment(\"v702\", {}), Railroad.Terminal('\"EQUIV\"'))),Railroad.Choice(0, Railroad.NonTerminal('Compare', {href: '#/expression/Compare'}),Railroad.NonTerminal('CondSub', {href: '#/expression/CondSub'})))))).toString();",
+      "using": [
+        "expression/Compare",
+        "expression/CondSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"576.5\" height=\"139\" viewBox=\"0 0 576.5 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M526.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M149.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Compare\"><text x=\"109.75\" y=\"44\">Compare</text>\n</a>\n</g>\n<path d=\"M149.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M149.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CondSub\"><text x=\"109.75\" y=\"74\">CondSub</text>\n</a>\n</g>\n<path d=\"M149.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M526.5 40h0\"></path>\n<path d=\"M169.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M189.5 20h317\"></path>\n</g>\n<path d=\"M506.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M169.5 40h20\"></path>\n<g>\n<path d=\"M189.5 40h0\"></path>\n<path d=\"M506.5 40h0\"></path>\n<path d=\"M189.5 40h10\"></path>\n<g>\n<path d=\"M199.5 40h0\"></path>\n<path d=\"M496.5 40h0\"></path>\n<g>\n<path d=\"M199.5 40h0\"></path>\n<path d=\"M377 40h0\"></path>\n<path d=\"M199.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 40h0\"></path>\n<path d=\"M282 40h75\"></path>\n<rect x=\"219.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.75\" y=\"44\">\"AND\"</text>\n</g>\n<path d=\"M357 40h20\"></path>\n<path d=\"M199.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M219.5 70h0\"></path>\n<path d=\"M273.5 70h83.5\"></path>\n<rect x=\"219.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246.5\" y=\"74\">\"OR\"</text>\n</g>\n<path d=\"M357 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M199.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M219.5 100h0\"></path>\n<path d=\"M357 100h0\"></path>\n<g>\n<path d=\"M219.5 100h0\"></path>\n<path d=\"M257.5 100h0\"></path>\n<text x=\"238.5\" y=\"105\" class=\"comment\">v702</text>\n</g>\n<path d=\"M257.5 100h10\"></path>\n<path d=\"M267.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M277.5 100h0\"></path>\n<path d=\"M357 100h0\"></path>\n<rect x=\"277.5\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.25\" y=\"104\">\"EQUIV\"</text>\n</g>\n</g>\n<path d=\"M357 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M377 40h0\"></path>\n<path d=\"M496.5 40h0\"></path>\n<path d=\"M377 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397 40h0\"></path>\n<path d=\"M476.5 40h0\"></path>\n<rect x=\"397\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Compare\"><text x=\"436.75\" y=\"44\">Compare</text>\n</a>\n</g>\n<path d=\"M476.5 40h20\"></path>\n<path d=\"M377 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397 70h0\"></path>\n<path d=\"M476.5 70h0\"></path>\n<rect x=\"397\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CondSub\"><text x=\"436.75\" y=\"74\">CondSub</text>\n</a>\n</g>\n<path d=\"M476.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M496.5 40h10\"></path>\n<path d=\"M199.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M199.5 119h297\"></path>\n</g>\n<path d=\"M496.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M506.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M526.5 40h10\"></path>\n<path d=\"M 536.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CondBody",
+        "expression/CondSub",
+        "expression/For",
+        "expression/Source",
+        "statement/Assert",
+        "statement/Check",
+        "statement/ElseIf",
+        "statement/If",
+        "statement/Wait",
+        "statement/While"
+      ],
+      "filename": "cond.ts"
+    },
+    {
+      "name": "CondBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.Choice(0, Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"THEN\"'),Railroad.Choice(0, Railroad.NonTerminal('Throw', {href: '#/expression/Throw'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ELSE\"'),Railroad.Choice(0, Railroad.NonTerminal('Throw', {href: '#/expression/Throw'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Cond",
+        "expression/Let",
+        "expression/Source",
+        "expression/Throw"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"851.5\" height=\"109\" viewBox=\"0 0 851.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M801.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h45.5\"></path>\n</g>\n<path d=\"M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"92.75\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M115.5 40h20\"></path>\n</g>\n<path d=\"M135.5 40h10\"></path>\n<g>\n<path d=\"M145.5 40h0\"></path>\n<path d=\"M559.5 40h0\"></path>\n<path d=\"M145.5 40h10\"></path>\n<g>\n<path d=\"M155.5 40h0\"></path>\n<path d=\"M549.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M155.5 40h0\"></path>\n<path d=\"M226.5 40h0\"></path>\n<rect x=\"155.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191\" y=\"44\">\"WHEN\"</text>\n</g>\n<path d=\"M226.5 40h10\"></path>\n<g>\n<path d=\"M236.5 40h0\"></path>\n<path d=\"M347.5 40h0\"></path>\n<path d=\"M236.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M256.5 40h0\"></path>\n<path d=\"M310.5 40h17\"></path>\n<rect x=\"256.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"283.5\" y=\"44\">Cond</text>\n</a>\n</g>\n<path d=\"M327.5 40h20\"></path>\n<path d=\"M236.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M256.5 70h0\"></path>\n<path d=\"M327.5 70h0\"></path>\n<rect x=\"256.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"292\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M327.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M347.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M357.5 40h0\"></path>\n<path d=\"M428.5 40h0\"></path>\n<rect x=\"357.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"393\" y=\"44\">\"THEN\"</text>\n</g>\n<path d=\"M428.5 40h10\"></path>\n<g>\n<path d=\"M438.5 40h0\"></path>\n<path d=\"M549.5 40h0\"></path>\n<path d=\"M438.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458.5 40h0\"></path>\n<path d=\"M521 40h8.5\"></path>\n<rect x=\"458.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Throw\"><text x=\"489.75\" y=\"44\">Throw</text>\n</a>\n</g>\n<path d=\"M529.5 40h20\"></path>\n<path d=\"M438.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458.5 70h0\"></path>\n<path d=\"M529.5 70h0\"></path>\n<rect x=\"458.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"494\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M529.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M549.5 40h10\"></path>\n<path d=\"M155.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M155.5 89h394\"></path>\n</g>\n<path d=\"M549.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M559.5 40h10\"></path>\n<g>\n<path d=\"M569.5 40h0\"></path>\n<path d=\"M801.5 40h0\"></path>\n<path d=\"M569.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M589.5 20h192\"></path>\n</g>\n<path d=\"M781.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M569.5 40h20\"></path>\n<g>\n<path d=\"M589.5 40h0\"></path>\n<path d=\"M781.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M589.5 40h0\"></path>\n<path d=\"M660.5 40h0\"></path>\n<rect x=\"589.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"625\" y=\"44\">\"ELSE\"</text>\n</g>\n<path d=\"M660.5 40h10\"></path>\n<g>\n<path d=\"M670.5 40h0\"></path>\n<path d=\"M781.5 40h0\"></path>\n<path d=\"M670.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M690.5 40h0\"></path>\n<path d=\"M753 40h8.5\"></path>\n<rect x=\"690.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Throw\"><text x=\"721.75\" y=\"44\">Throw</text>\n</a>\n</g>\n<path d=\"M761.5 40h20\"></path>\n<path d=\"M670.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M690.5 70h0\"></path>\n<path d=\"M761.5 70h0\"></path>\n<rect x=\"690.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"726\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M761.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M781.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M801.5 40h10\"></path>\n<path d=\"M 811.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "cond_body.ts"
+    },
+    {
+      "name": "CondSub",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('!\" ( \"'),Railroad.Terminal('!\" (\"')),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/Cond"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"498.5\" height=\"101\" viewBox=\"0 0 498.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M448.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h62.5\"></path>\n</g>\n<path d=\"M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"NOT\"</text>\n</g>\n<path d=\"M132.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<path d=\"M152.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M172.5 40h0\"></path>\n<path d=\"M243.5 40h0\"></path>\n<rect x=\"172.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208\" y=\"44\">!\" ( \"</text>\n</g>\n<path d=\"M243.5 40h20\"></path>\n<path d=\"M152.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M172.5 70h0\"></path>\n<path d=\"M235 70h8.5\"></path>\n<rect x=\"172.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.75\" y=\"74\">!\" (\"</text>\n</g>\n<path d=\"M243.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M263.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M327.5 40h0\"></path>\n<rect x=\"273.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"300.5\" y=\"44\">Cond</text>\n</a>\n</g>\n<path d=\"M327.5 40h10\"></path>\n<g>\n<path d=\"M337.5 40h0\"></path>\n<path d=\"M448.5 40h0\"></path>\n<path d=\"M337.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M357.5 40h0\"></path>\n<path d=\"M428.5 40h0\"></path>\n<rect x=\"357.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"393\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M428.5 40h20\"></path>\n<path d=\"M337.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M357.5 70h0\"></path>\n<path d=\"M420 70h8.5\"></path>\n<rect x=\"357.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.75\" y=\"74\">!\") \"</text>\n</g>\n<path d=\"M428.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M448.5 40h10\"></path>\n<path d=\"M 458.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Cond"
+      ],
+      "filename": "cond_sub.ts"
+    },
+    {
+      "name": "Constant",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('TextElementString', {href: '#/expression/TextElementString'}),Railroad.NonTerminal('ConcatenatedConstant', {href: '#/expression/ConcatenatedConstant'}),Railroad.NonTerminal('ConstantString', {href: '#/expression/ConstantString'}),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}))).toString();",
+      "using": [
+        "expression/ConcatenatedConstant",
+        "expression/ConstantString",
+        "expression/Integer",
+        "expression/TextElementString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"310\" height=\"152\" viewBox=\"0 0 310 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M270 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M224.5 31h25.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElementString\"><text x=\"142.25\" y=\"35\">TextElementString</text>\n</a>\n</g>\n<path d=\"M250 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M250 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConcatenatedConstant\"><text x=\"155\" y=\"65\">ConcatenatedConstant</text>\n</a>\n</g>\n<path d=\"M250 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M199 91h51\"></path>\n<rect x=\"60\" y=\"80\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantString\"><text x=\"129.5\" y=\"95\">ConstantString</text>\n</a>\n</g>\n<path d=\"M250 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M139.5 121h110.5\"></path>\n<rect x=\"60\" y=\"110\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"99.75\" y=\"125\">Integer</text>\n</a>\n</g>\n<path d=\"M250 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 270 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Compare",
+        "expression/ComponentCompare",
+        "expression/Default",
+        "expression/Dynamic",
+        "expression/FormParamType",
+        "expression/FunctionName",
+        "expression/SQLCDSParameters",
+        "expression/SQLCase",
+        "expression/SQLField",
+        "expression/SQLFieldListLoop",
+        "expression/SQLFunctionInput",
+        "expression/SQLHints",
+        "expression/SimpleSource1",
+        "expression/SimpleSource2",
+        "expression/SimpleSource3",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "expression/TypeTable",
+        "expression/Value",
+        "statement/CallDialog",
+        "statement/CallKernel",
+        "statement/Infotypes",
+        "statement/Parameter",
+        "statement/SelectOption",
+        "statement/SelectionScreen",
+        "statement/SetProperty"
+      ],
+      "filename": "constant.ts"
+    },
+    {
+      "name": "ConstantFieldLength",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'})),Railroad.Terminal('!\") \"'))).toString();",
+      "using": [
+        "expression/Integer",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"432.5\" height=\"92\" viewBox=\"0 0 432.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M382.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<g>\n<path d=\"M114 31h0\"></path>\n<path d=\"M310 31h0\"></path>\n<path d=\"M114 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 31h0\"></path>\n<path d=\"M213.5 31h76.5\"></path>\n<rect x=\"134\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"173.75\" y=\"35\">Integer</text>\n</a>\n</g>\n<path d=\"M290 31h20\"></path>\n<path d=\"M114 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 61h0\"></path>\n<path d=\"M290 61h0\"></path>\n<rect x=\"134\" y=\"50\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"212\" y=\"65\">SimpleFieldChain</text>\n</a>\n</g>\n<path d=\"M290 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M310 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M320 31h0\"></path>\n<path d=\"M382.5 31h0\"></path>\n<rect x=\"320\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"351.25\" y=\"35\">!\") \"</text>\n</g>\n</g>\n<path d=\"M382.5 31h10\"></path>\n<path d=\"M 392.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/Static",
+        "statement/Type"
+      ],
+      "filename": "constant_field_length.ts"
+    },
+    {
+      "name": "ConstantString",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^('.*')|(`.*`)$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"247.5\" height=\"62\" viewBox=\"0 0 247.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M197.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"35\">^('.&#42;')|(&#96;.&#42;&#96;)$</text>\n</g>\n<path d=\"M197.5 31h10\"></path>\n<path d=\"M 207.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Constant",
+        "expression/Length",
+        "expression/MethodCallParam",
+        "expression/SQLCompare"
+      ],
+      "filename": "constant_string.ts"
+    },
+    {
+      "name": "ConvBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Let",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"266.5\" height=\"71\" viewBox=\"0 0 266.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h45.5\"></path>\n</g>\n<path d=\"M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"92.75\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M115.5 40h20\"></path>\n</g>\n<path d=\"M135.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M145.5 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<rect x=\"145.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"181\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M216.5 40h10\"></path>\n<path d=\"M 226.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "conv_body.ts"
+    },
+    {
+      "name": "CorrespondingBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DEEP\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BASE\"'),Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Terminal('\"DISCARDING DUPLICATES\"'))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MAPPING\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('ComponentChain', {href: '#/expression/ComponentChain'}))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPT\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Terminal('\"*\"')))))).toString();",
+      "using": [
+        "expression/ComponentChain",
+        "expression/ComponentName",
+        "expression/Field",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1791.5\" height=\"110\" viewBox=\"0 0 1791.5 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1741.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M161 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h71\"></path>\n</g>\n<path d=\"M141 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M141 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"105.5\" y=\"44\">\"DEEP\"</text>\n</g>\n<path d=\"M141 40h20\"></path>\n</g>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M545 40h0\"></path>\n<path d=\"M161 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 20h344\"></path>\n</g>\n<path d=\"M525 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 40h20\"></path>\n<g>\n<path d=\"M181 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M181 40h0\"></path>\n<path d=\"M252 40h0\"></path>\n<rect x=\"181\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.5\" y=\"44\">\"BASE\"</text>\n</g>\n<path d=\"M252 40h10\"></path>\n<path d=\"M262 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M272 40h0\"></path>\n<path d=\"M343 40h0\"></path>\n<rect x=\"272\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"307.5\" y=\"44\">!\" ( \"</text>\n</g>\n<path d=\"M343 40h10\"></path>\n<path d=\"M353 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 40h0\"></path>\n<path d=\"M434 40h0\"></path>\n<rect x=\"363\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"398.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M434 40h10\"></path>\n<path d=\"M444 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M454 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<rect x=\"454\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"489.5\" y=\"44\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M525 40h20\"></path>\n</g>\n<path d=\"M545 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M555 40h0\"></path>\n<path d=\"M626 40h0\"></path>\n<rect x=\"555\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"590.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M626 40h10\"></path>\n<g>\n<path d=\"M636 40h0\"></path>\n<path d=\"M949.5 40h0\"></path>\n<path d=\"M636 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M656 20h273.5\"></path>\n</g>\n<path d=\"M929.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M636 40h20\"></path>\n<g>\n<path d=\"M656 40h0\"></path>\n<path d=\"M929.5 40h0\"></path>\n<g>\n<path d=\"M656 40h0\"></path>\n<path d=\"M694 40h0\"></path>\n<text x=\"675\" y=\"45\" class=\"comment\">v751</text>\n</g>\n<path d=\"M694 40h10\"></path>\n<path d=\"M704 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M714 40h0\"></path>\n<path d=\"M929.5 40h0\"></path>\n<rect x=\"714\" y=\"29\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"821.75\" y=\"44\">\"DISCARDING DUPLICATES\"</text>\n</g>\n</g>\n<path d=\"M929.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M949.5 40h0\"></path>\n<path d=\"M1481 40h0\"></path>\n<path d=\"M949.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M969.5 20h491.5\"></path>\n</g>\n<path d=\"M1461 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M949.5 40h20\"></path>\n<g>\n<path d=\"M969.5 40h0\"></path>\n<path d=\"M1461 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M969.5 40h0\"></path>\n<path d=\"M1066 40h0\"></path>\n<rect x=\"969.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.75\" y=\"44\">\"MAPPING\"</text>\n</g>\n<path d=\"M1066 40h10\"></path>\n<path d=\"M1076 40h10\"></path>\n<g>\n<path d=\"M1086 40h0\"></path>\n<path d=\"M1461 40h0\"></path>\n<path d=\"M1086 40h10\"></path>\n<g>\n<path d=\"M1096 40h0\"></path>\n<path d=\"M1451 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096 40h0\"></path>\n<path d=\"M1226.5 40h0\"></path>\n<rect x=\"1096\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"1161.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n<path d=\"M1226.5 40h10\"></path>\n<path d=\"M1236.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1246.5 40h0\"></path>\n<path d=\"M1292 40h0\"></path>\n<rect x=\"1246.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1269.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M1292 40h10\"></path>\n<path d=\"M1302 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1312 40h0\"></path>\n<path d=\"M1451 40h0\"></path>\n<rect x=\"1312\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChain\"><text x=\"1381.5\" y=\"44\">ComponentChain</text>\n</a>\n</g>\n</g>\n<path d=\"M1451 40h10\"></path>\n<path d=\"M1096 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1096 60h355\"></path>\n</g>\n<path d=\"M1451 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1461 40h20\"></path>\n</g>\n<g>\n<path d=\"M1481 40h0\"></path>\n<path d=\"M1741.5 40h0\"></path>\n<path d=\"M1481 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1501 20h220.5\"></path>\n</g>\n<path d=\"M1721.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1481 40h20\"></path>\n<g>\n<path d=\"M1501 40h0\"></path>\n<path d=\"M1721.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1501 40h0\"></path>\n<path d=\"M1589 40h0\"></path>\n<rect x=\"1501\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1545\" y=\"44\">\"EXCEPT\"</text>\n</g>\n<path d=\"M1589 40h10\"></path>\n<g>\n<path d=\"M1599 40h0\"></path>\n<path d=\"M1721.5 40h0\"></path>\n<path d=\"M1599 40h20\"></path>\n<g>\n<path d=\"M1619 40h0\"></path>\n<path d=\"M1701.5 40h0\"></path>\n<path d=\"M1619 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1629 40h0\"></path>\n<path d=\"M1691.5 40h0\"></path>\n<rect x=\"1629\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1660.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M1691.5 40h10\"></path>\n<path d=\"M1629 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1629 60h62.5\"></path>\n</g>\n<path d=\"M1691.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1701.5 40h20\"></path>\n<path d=\"M1599 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1619 79h0\"></path>\n<path d=\"M1664.5 79h37\"></path>\n<rect x=\"1619\" y=\"68\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1641.75\" y=\"83\">\"&#42;\"</text>\n</g>\n<path d=\"M1701.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1721.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1741.5 40h10\"></path>\n<path d=\"M 1751.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "corresponding_body.ts"
+    },
+    {
+      "name": "DataDefinition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Optional(Railroad.NonTerminal('ConstantFieldLength', {href: '#/expression/ConstantFieldLength'})),Railroad.Choice(0, Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"READ-ONLY\"'),Railroad.NonTerminal('Type', {href: '#/expression/Type'}),Railroad.NonTerminal('Length', {href: '#/expression/Length'}),Railroad.NonTerminal('Decimals', {href: '#/expression/Decimals'}),Railroad.NonTerminal('Value', {href: '#/expression/Value'}))),Railroad.Sequence(Railroad.NonTerminal('TypeTable', {href: '#/expression/TypeTable'}),Railroad.Optional(Railroad.Terminal('\"READ-ONLY\"'))),Railroad.NonTerminal('TypeStructure', {href: '#/expression/TypeStructure'})))).toString();",
+      "using": [
+        "expression/ConstantFieldLength",
+        "expression/Decimals",
+        "expression/DefinitionName",
+        "expression/Length",
+        "expression/Type",
+        "expression/TypeStructure",
+        "expression/TypeTable",
+        "expression/Value"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"770.5\" height=\"260\" viewBox=\"0 0 770.5 260\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M189 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"119.5\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M189 40h10\"></path>\n<g>\n<path d=\"M199 40h0\"></path>\n<path d=\"M420.5 40h0\"></path>\n<path d=\"M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M219 20h181.5\"></path>\n</g>\n<path d=\"M400.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M199 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M219 40h0\"></path>\n<path d=\"M400.5 40h0\"></path>\n<rect x=\"219\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantFieldLength\"><text x=\"309.75\" y=\"44\">ConstantFieldLength</text>\n</a>\n</g>\n<path d=\"M400.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M420.5 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<path d=\"M420.5 40h20\"></path>\n<g>\n<path d=\"M440.5 40h0\"></path>\n<path d=\"M664 40h36.5\"></path>\n<path d=\"M440.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M460.5 20h183.5\"></path>\n</g>\n<path d=\"M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M440.5 40h20\"></path>\n<g>\n<path d=\"M460.5 40h0\"></path>\n<path d=\"M644 40h0\"></path>\n<path d=\"M490.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M500.5 40h0\"></path>\n<path d=\"M614 40h0\"></path>\n<rect x=\"500.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557.25\" y=\"44\">\"READ-ONLY\"</text>\n</g>\n<path d=\"M614 40h10\"></path>\n<path d=\"M490.5 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500.5 70h0\"></path>\n<path d=\"M554.5 70h59.5\"></path>\n<rect x=\"500.5\" y=\"59\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Type\"><text x=\"527.5\" y=\"74\">Type</text>\n</a>\n</g>\n<path d=\"M614 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M490.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500.5 100h0\"></path>\n<path d=\"M571.5 100h42.5\"></path>\n<rect x=\"500.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Length\"><text x=\"536\" y=\"104\">Length</text>\n</a>\n</g>\n<path d=\"M614 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M490.5 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500.5 130h0\"></path>\n<path d=\"M588.5 130h25.5\"></path>\n<rect x=\"500.5\" y=\"119\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Decimals\"><text x=\"544.5\" y=\"134\">Decimals</text>\n</a>\n</g>\n<path d=\"M614 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M490.5 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500.5 160h0\"></path>\n<path d=\"M563 160h51\"></path>\n<rect x=\"500.5\" y=\"149\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Value\"><text x=\"531.75\" y=\"164\">Value</text>\n</a>\n</g>\n<path d=\"M614 160a10 10 0 0 0 10 -10v-110\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 490.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"475.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 624 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 631 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M644 40h20\"></path>\n</g>\n<path d=\"M700.5 40h20\"></path>\n<path d=\"M420.5 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M440.5 199h0\"></path>\n<path d=\"M700.5 199h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M440.5 199h0\"></path>\n<path d=\"M537 199h0\"></path>\n<rect x=\"440.5\" y=\"188\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTable\"><text x=\"488.75\" y=\"203\">TypeTable</text>\n</a>\n</g>\n<path d=\"M537 199h10\"></path>\n<g>\n<path d=\"M547 199h0\"></path>\n<path d=\"M700.5 199h0\"></path>\n<path d=\"M547 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M567 179h113.5\"></path>\n</g>\n<path d=\"M680.5 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M547 199h20\"></path>\n<g class=\"terminal\">\n<path d=\"M567 199h0\"></path>\n<path d=\"M680.5 199h0\"></path>\n<rect x=\"567\" y=\"188\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"623.75\" y=\"203\">\"READ-ONLY\"</text>\n</g>\n<path d=\"M680.5 199h20\"></path>\n</g>\n</g>\n<path d=\"M700.5 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n<path d=\"M420.5 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M440.5 229h0\"></path>\n<path d=\"M571 229h129.5\"></path>\n<rect x=\"440.5\" y=\"218\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeStructure\"><text x=\"505.75\" y=\"233\">TypeStructure</text>\n</a>\n</g>\n<path d=\"M700.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M720.5 40h10\"></path>\n<path d=\"M 730.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassData",
+        "statement/Data"
+      ],
+      "filename": "data_definition.ts"
+    },
+    {
+      "name": "DatabaseConnection",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"CONNECTION\"'),Railroad.Choice(0, Railroad.Terminal(\"[\\\\w\\\\/]+\"),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))).toString();",
+      "using": [
+        "expression/Dynamic"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"351.5\" height=\"92\" viewBox=\"0 0 351.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M301.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M172 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"35\">\"CONNECTION\"</text>\n</g>\n<path d=\"M172 31h10\"></path>\n<g>\n<path d=\"M182 31h0\"></path>\n<path d=\"M301.5 31h0\"></path>\n<path d=\"M182 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M202 31h0\"></path>\n<path d=\"M281.5 31h0\"></path>\n<rect x=\"202\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"241.75\" y=\"35\">&#91;\\w\\/&#93;+</text>\n</g>\n<path d=\"M281.5 31h20\"></path>\n<path d=\"M182 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M202 61h0\"></path>\n<path d=\"M281.5 61h0\"></path>\n<rect x=\"202\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"241.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M281.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M301.5 31h10\"></path>\n<path d=\"M 311.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "statement/CallDatabase",
+        "statement/Commit",
+        "statement/DeleteDatabase",
+        "statement/InsertDatabase",
+        "statement/ModifyDatabase",
+        "statement/Rollback",
+        "statement/UpdateDatabase"
+      ],
+      "filename": "database_connection.ts"
+    },
+    {
+      "name": "DatabaseTable",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Terminal(\"^\\\\*?(\\\\/\\\\w+\\\\/)?\\\\w+$\"))).toString();",
+      "using": [
+        "expression/Dynamic"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"293\" height=\"92\" viewBox=\"0 0 293 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M253 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M139.5 31h93.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"35\">Dynamic</text>\n</a>\n</g>\n<path d=\"M233 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M233 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"146.5\" y=\"65\">^\\&#42;?(\\/\\w+\\/)?\\w+$</text>\n</g>\n<path d=\"M233 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 253 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFromSource",
+        "statement/DeleteDatabase",
+        "statement/InsertDatabase",
+        "statement/ModifyDatabase",
+        "statement/Refresh",
+        "statement/UpdateDatabase"
+      ],
+      "filename": "database_table.ts"
+    },
+    {
+      "name": "Decimals",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}))).toString();",
+      "using": [
+        "expression/Integer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"304.5\" height=\"62\" viewBox=\"0 0 304.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M254.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"DECIMALS\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M254.5 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"214.75\" y=\"35\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M254.5 31h10\"></path>\n<path d=\"M 264.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/Static",
+        "statement/Type"
+      ],
+      "filename": "decimals.ts"
+    },
+    {
+      "name": "Default",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"351.5\" height=\"92\" viewBox=\"0 0 351.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M301.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"DEFAULT\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<g>\n<path d=\"M156.5 31h0\"></path>\n<path d=\"M301.5 31h0\"></path>\n<path d=\"M156.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M264.5 31h17\"></path>\n<rect x=\"176.5\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"220.5\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M281.5 31h20\"></path>\n<path d=\"M156.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M176.5 61h0\"></path>\n<path d=\"M281.5 61h0\"></path>\n<rect x=\"176.5\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"229\" y=\"65\">FieldChain</text>\n</a>\n</g>\n<path d=\"M281.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M301.5 31h10\"></path>\n<path d=\"M 311.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Type",
+        "expression/TypeParam"
+      ],
+      "filename": "default.ts"
+    },
+    {
+      "name": "DefinitionName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^&|&?((\\\\w*\\\\/\\\\w+\\\\/)|(\\\\w*\\\\/\\\\w+\\\\/)?[\\\\w\\\\*$%]+)$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Optional(Railroad.Terminal(\"^&|&?((\\\\w*\\\\/\\\\w+\\\\/)|(\\\\w*\\\\/\\\\w+\\\\/)?[\\\\w\\\\*$%]+)$\")))),Railroad.Optional(Railroad.Terminal('!\"- \"')))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1147.5\" height=\"88\" viewBox=\"0 0 1147.5 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1097.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M435.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"385.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.75\" y=\"52\">^&#38;|&#38;?((\\w&#42;\\/\\w+\\/)|(\\w&#42;\\/\\w+\\/)?&#91;\\w\\&#42;$%&#93;+)$</text>\n</g>\n<path d=\"M435.5 48h10\"></path>\n<g>\n<path d=\"M445.5 48h0\"></path>\n<path d=\"M995 48h0\"></path>\n<path d=\"M445.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M465.5 20h509.5\"></path>\n</g>\n<path d=\"M975 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M445.5 48h20\"></path>\n<g>\n<path d=\"M465.5 48h0\"></path>\n<path d=\"M975 48h0\"></path>\n<path d=\"M465.5 48h10\"></path>\n<g>\n<path d=\"M475.5 48h0\"></path>\n<path d=\"M965 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M475.5 48h0\"></path>\n<path d=\"M529.5 48h0\"></path>\n<rect x=\"475.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502.5\" y=\"52\">!\"-\"</text>\n</g>\n<path d=\"M529.5 48h10\"></path>\n<g>\n<path d=\"M539.5 48h0\"></path>\n<path d=\"M965 48h0\"></path>\n<path d=\"M539.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M559.5 28h385.5\"></path>\n</g>\n<path d=\"M945 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M539.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M559.5 48h0\"></path>\n<path d=\"M945 48h0\"></path>\n<rect x=\"559.5\" y=\"37\" width=\"385.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"752.25\" y=\"52\">^&#38;|&#38;?((\\w&#42;\\/\\w+\\/)|(\\w&#42;\\/\\w+\\/)?&#91;\\w\\&#42;$%&#93;+)$</text>\n</g>\n<path d=\"M945 48h20\"></path>\n</g>\n</g>\n<path d=\"M965 48h10\"></path>\n<path d=\"M475.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M475.5 68h489.5\"></path>\n</g>\n<path d=\"M965 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M975 48h20\"></path>\n</g>\n<g>\n<path d=\"M995 48h0\"></path>\n<path d=\"M1097.5 48h0\"></path>\n<path d=\"M995 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1015 28h62.5\"></path>\n</g>\n<path d=\"M1077.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M995 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1015 48h0\"></path>\n<path d=\"M1077.5 48h0\"></path>\n<rect x=\"1015\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1046.25\" y=\"52\">!\"- \"</text>\n</g>\n<path d=\"M1077.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1097.5 48h10\"></path>\n<path d=\"M 1107.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/ConstantBegin",
+        "statement/ConstantEnd",
+        "statement/DataBegin",
+        "statement/DataEnd",
+        "statement/Static",
+        "statement/StaticBegin",
+        "statement/StaticEnd"
+      ],
+      "filename": "definition_name.ts"
+    },
+    {
+      "name": "Dereference",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.Terminal('\"*\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"228\" height=\"62\" viewBox=\"0 0 228 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M178 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">!\"->\"</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M122.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M132.5 31h0\"></path>\n<path d=\"M178 31h0\"></path>\n<rect x=\"132.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"155.25\" y=\"35\">\"&#42;\"</text>\n</g>\n</g>\n<path d=\"M178 31h10\"></path>\n<path d=\"M 188 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FieldChain",
+        "expression/SimpleTarget",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "filename": "dereference.ts"
+    },
+    {
+      "name": "Destination",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"DESTINATION\"'),Railroad.Optional(Railroad.Terminal('\"IN GROUP\"')),Railroad.Choice(0, Railroad.Terminal('\"DEFAULT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"522\" height=\"101\" viewBox=\"0 0 522 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M472 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"DESTINATION\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M335.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h105\"></path>\n</g>\n<path d=\"M315.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M315.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"263\" y=\"44\">\"IN GROUP\"</text>\n</g>\n<path d=\"M315.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M335.5 40h0\"></path>\n<path d=\"M472 40h0\"></path>\n<path d=\"M335.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M355.5 40h0\"></path>\n<path d=\"M452 40h0\"></path>\n<rect x=\"355.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"403.75\" y=\"44\">\"DEFAULT\"</text>\n</g>\n<path d=\"M452 40h20\"></path>\n<path d=\"M335.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M355.5 70h0\"></path>\n<path d=\"M426.5 70h25.5\"></path>\n<rect x=\"355.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"391\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M452 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M472 40h10\"></path>\n<path d=\"M 482 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallFunction"
+      ],
+      "filename": "destination.ts"
+    },
+    {
+      "name": "Dynamic",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\" (\"'),Railroad.Terminal('!\"(\"')),Railroad.Choice(0, Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"')))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"450\" height=\"92\" viewBox=\"0 0 450 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M400 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M152.5 31h0\"></path>\n<path d=\"M50 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 31h0\"></path>\n<path d=\"M132.5 31h0\"></path>\n<rect x=\"70\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"35\">!\" (\"</text>\n</g>\n<path d=\"M132.5 31h20\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 61h0\"></path>\n<path d=\"M124 61h8.5\"></path>\n<rect x=\"70\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"97\" y=\"65\">!\"(\"</text>\n</g>\n<path d=\"M132.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M152.5 31h0\"></path>\n<path d=\"M297.5 31h0\"></path>\n<path d=\"M152.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M172.5 31h0\"></path>\n<path d=\"M277.5 31h0\"></path>\n<rect x=\"172.5\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"225\" y=\"35\">FieldChain</text>\n</a>\n</g>\n<path d=\"M277.5 31h20\"></path>\n<path d=\"M152.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M172.5 61h0\"></path>\n<path d=\"M260.5 61h17\"></path>\n<rect x=\"172.5\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"216.5\" y=\"65\">Constant</text>\n</a>\n</g>\n<path d=\"M277.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M297.5 31h0\"></path>\n<path d=\"M400 31h0\"></path>\n<path d=\"M297.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M317.5 31h0\"></path>\n<path d=\"M380 31h0\"></path>\n<rect x=\"317.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"348.75\" y=\"35\">!\") \"</text>\n</g>\n<path d=\"M380 31h20\"></path>\n<path d=\"M297.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M317.5 61h0\"></path>\n<path d=\"M371.5 61h8.5\"></path>\n<rect x=\"317.5\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344.5\" y=\"65\">!\")\"</text>\n</g>\n<path d=\"M380 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M400 31h10\"></path>\n<path d=\"M 410 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AssignSource",
+        "expression/CallTransformationParameters",
+        "expression/ComponentCompareSimple",
+        "expression/ComponentCompareSingle",
+        "expression/DatabaseConnection",
+        "expression/DatabaseTable",
+        "expression/MethodSource",
+        "expression/SQLAggregation",
+        "expression/SQLCompare",
+        "expression/SQLFieldList",
+        "expression/SQLFieldListLoop",
+        "expression/SQLGroupBy",
+        "expression/SQLHaving",
+        "expression/SQLOrderBy",
+        "expression/StringTemplateFormatting",
+        "expression/TableExpression",
+        "expression/TransportingFields",
+        "statement/Assign",
+        "statement/AssignLocalCopy",
+        "statement/At",
+        "statement/CallDatabase",
+        "statement/CallTransformation",
+        "statement/CreateData",
+        "statement/CreateObject",
+        "statement/DeleteDatabase",
+        "statement/DeleteInternal",
+        "statement/Export",
+        "statement/GetBadi",
+        "statement/Import",
+        "statement/InsertInternal",
+        "statement/Loop",
+        "statement/ModifyInternal",
+        "statement/Parameter",
+        "statement/Perform",
+        "statement/ReadTable",
+        "statement/SelectOption",
+        "statement/Sort",
+        "statement/SortDataset",
+        "statement/Submit",
+        "statement/UpdateDatabase",
+        "statement/Write"
+      ],
+      "filename": "dynamic.ts"
+    },
+    {
+      "name": "EntityAssociation",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[\\\\w]+\\\\\\\\_[\\\\w]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"247.5\" height=\"62\" viewBox=\"0 0 247.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M197.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"35\">^&#91;\\w&#93;+\\\\&#95;&#91;\\w&#93;+$</text>\n</g>\n<path d=\"M197.5 31h10\"></path>\n<path d=\"M 207.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "entity_association.ts"
+    },
+    {
+      "name": "EventHandler",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"FOR EVENT\"'),Railroad.NonTerminal('EventName', {href: '#/expression/EventName'}),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})))))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/EventName",
+        "expression/MethodParamName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"871.5\" height=\"80\" viewBox=\"0 0 871.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M821.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"44\">\"FOR EVENT\"</text>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<path d=\"M173.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M183.5 40h0\"></path>\n<path d=\"M280 40h0\"></path>\n<rect x=\"183.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventName\"><text x=\"231.75\" y=\"44\">EventName</text>\n</a>\n</g>\n<path d=\"M280 40h10\"></path>\n<path d=\"M290 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M300 40h0\"></path>\n<path d=\"M354 40h0\"></path>\n<rect x=\"300\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"327\" y=\"44\">\"OF\"</text>\n</g>\n<path d=\"M354 40h10\"></path>\n<path d=\"M364 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M374 40h0\"></path>\n<path d=\"M470.5 40h0\"></path>\n<rect x=\"374\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"422.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M470.5 40h10\"></path>\n<g>\n<path d=\"M480.5 40h0\"></path>\n<path d=\"M821.5 40h0\"></path>\n<path d=\"M480.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M500.5 20h301\"></path>\n</g>\n<path d=\"M801.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M480.5 40h20\"></path>\n<g>\n<path d=\"M500.5 40h0\"></path>\n<path d=\"M801.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M500.5 40h0\"></path>\n<path d=\"M614 40h0\"></path>\n<rect x=\"500.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557.25\" y=\"44\">\"IMPORTING\"</text>\n</g>\n<path d=\"M614 40h10\"></path>\n<path d=\"M624 40h10\"></path>\n<g>\n<path d=\"M634 40h0\"></path>\n<path d=\"M801.5 40h0\"></path>\n<path d=\"M634 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M644 40h0\"></path>\n<path d=\"M791.5 40h0\"></path>\n<rect x=\"644\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"717.75\" y=\"44\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M791.5 40h10\"></path>\n<path d=\"M644 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M644 60h147.5\"></path>\n</g>\n<path d=\"M791.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M801.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M821.5 40h10\"></path>\n<path d=\"M 831.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "event_handler.ts"
+    },
+    {
+      "name": "EventName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[&_!]?\\\\*?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\d*[a-zA-Z_%\\\\$][\\\\w\\\\*%\\\\$\\\\?#]*(~\\\\w+)?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"621.5\" height=\"62\" viewBox=\"0 0 621.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M571.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"521.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"310.75\" y=\"35\">^&#91;&#38;&#95;!&#93;?\\&#42;?\\w&#42;(\\/\\w+\\/)?\\d&#42;&#91;a-zA-Z&#95;%\\$&#93;&#91;\\w\\&#42;%\\$\\?#&#93;&#42;(~\\w+)?$</text>\n</g>\n<path d=\"M571.5 31h10\"></path>\n<path d=\"M 581.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/EventHandler",
+        "expression/TypeStructure",
+        "statement/Events",
+        "statement/RaiseEntityEvent",
+        "statement/RaiseEvent"
+      ],
+      "filename": "event_name.ts"
+    },
+    {
+      "name": "ExceptionName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"369\" height=\"80\" viewBox=\"0 0 369 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M112.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"81.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M112.5 40h10\"></path>\n<g>\n<path d=\"M122.5 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<path d=\"M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M142.5 20h156.5\"></path>\n</g>\n<path d=\"M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M122.5 40h20\"></path>\n<g>\n<path d=\"M142.5 40h0\"></path>\n<path d=\"M299 40h0\"></path>\n<path d=\"M142.5 40h10\"></path>\n<g>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M206.5 40h0\"></path>\n<rect x=\"152.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M206.5 40h10\"></path>\n<path d=\"M216.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<rect x=\"226.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"257.75\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M289 40h10\"></path>\n<path d=\"M152.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M152.5 60h136.5\"></path>\n</g>\n<path d=\"M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M299 40h20\"></path>\n</g>\n</g>\n<path d=\"M319 40h10\"></path>\n<path d=\"M 329 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Message",
+        "statement/Raise"
+      ],
+      "filename": "exception_name.ts"
+    },
+    {
+      "name": "FSTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('InlineFS', {href: '#/expression/InlineFS'}),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'}))).toString();",
+      "using": [
+        "expression/InlineFS",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"284.5\" height=\"92\" viewBox=\"0 0 284.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M244.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h76.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineFS\"><text x=\"104\" y=\"35\">InlineFS</text>\n</a>\n</g>\n<path d=\"M224.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M224.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"142.25\" y=\"65\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M224.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 244.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/LoopGroupByTarget",
+        "expression/LoopTarget",
+        "expression/ReadTableTarget",
+        "statement/Append",
+        "statement/Assign",
+        "statement/Collect",
+        "statement/InsertInternal",
+        "statement/ModifyInternal"
+      ],
+      "filename": "f_starget.ts"
+    },
+    {
+      "name": "Field",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[&_!]?\\\\*?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\d*[a-zA-Z_%\\\\$][\\\\w\\\\*%\\\\$\\\\?#]*(~\\\\w+)?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"621.5\" height=\"62\" viewBox=\"0 0 621.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M571.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"521.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"310.75\" y=\"35\">^&#91;&#38;&#95;!&#93;?\\&#42;?\\w&#42;(\\/\\w+\\/)?\\d&#42;&#91;a-zA-Z&#95;%\\$&#93;&#91;\\w\\&#42;%\\$\\?#&#93;&#42;(~\\w+)?$</text>\n</g>\n<path d=\"M571.5 31h10\"></path>\n<path d=\"M 581.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AssignSource",
+        "expression/CallTransformationOptions",
+        "expression/CallTransformationParameters",
+        "expression/CorrespondingBody",
+        "expression/ExceptionName",
+        "expression/FunctionParameters",
+        "expression/InlineField",
+        "expression/InlineFieldDefinition",
+        "expression/LOBHandle",
+        "expression/ReceiveParameters",
+        "expression/SQLAggregation",
+        "expression/SQLCDSParameters",
+        "expression/SimpleFieldChain",
+        "expression/SourceField",
+        "expression/TargetField",
+        "expression/TypeTableKey",
+        "statement/Aliases",
+        "statement/Append",
+        "statement/AtSelectionScreen",
+        "statement/BreakId",
+        "statement/CallDialog",
+        "statement/CallKernel",
+        "statement/CatchSystemExceptions",
+        "statement/Check",
+        "statement/Contexts",
+        "statement/CreateData",
+        "statement/DeleteMemory",
+        "statement/Demand",
+        "statement/EnhancementPoint",
+        "statement/EnhancementSection",
+        "statement/Extract",
+        "statement/FieldGroup",
+        "statement/FieldSymbol",
+        "statement/FunctionModule",
+        "statement/FunctionPool",
+        "statement/Get",
+        "statement/IncludeType",
+        "statement/Infotypes",
+        "statement/Nodes",
+        "statement/Parameter",
+        "statement/Provide",
+        "statement/Put",
+        "statement/ReadTable",
+        "statement/Report",
+        "statement/SelectOption",
+        "statement/SelectionScreen",
+        "statement/SetProperty",
+        "statement/Supply",
+        "statement/Tables"
+      ],
+      "filename": "field.ts"
+    },
+    {
+      "name": "FieldAll",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^&?\\\\*?(\\\\/\\\\w+\\\\/)?[\\\\w\\\\*\\\\$]+(~\\\\w+)?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"400.5\" height=\"62\" viewBox=\"0 0 400.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M350.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"300.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"200.25\" y=\"35\">^&#38;?\\&#42;?(\\/\\w+\\/)?&#91;\\w\\&#42;\\$&#93;+(~\\w+)?$</text>\n</g>\n<path d=\"M350.5 31h10\"></path>\n<path d=\"M 360.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SimpleTarget"
+      ],
+      "filename": "field_all.ts"
+    },
+    {
+      "name": "FieldAssignment",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/FieldSub",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"344.5\" height=\"62\" viewBox=\"0 0 344.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M294.5 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"94\" y=\"35\">FieldSub</text>\n</a>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M158 31h0\"></path>\n<path d=\"M203.5 31h0\"></path>\n<rect x=\"158\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"180.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M203.5 31h10\"></path>\n<path d=\"M213.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M223.5 31h0\"></path>\n<path d=\"M294.5 31h0\"></path>\n<rect x=\"223.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"259\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M294.5 31h10\"></path>\n<path d=\"M 304.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/NewObject",
+        "expression/ValueBody",
+        "expression/ValueBodyLine"
+      ],
+      "filename": "field_assignment.ts"
+    },
+    {
+      "name": "FieldChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.NonTerminal('SourceField', {href: '#/expression/SourceField'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'})),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('Dereference', {href: '#/expression/Dereference'}),Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Optional(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))),Railroad.NonTerminal('TableExpression', {href: '#/expression/TableExpression'}))),Railroad.Choice(0, Railroad.Terminal('!\"- \"'),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'})),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/Dereference",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/SourceField",
+        "expression/SourceFieldSymbol",
+        "expression/TableBody",
+        "expression/TableExpression"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1287.5\" height=\"178\" viewBox=\"0 0 1287.5 178\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1237.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M166.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"118.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M166.5 40h10\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<rect x=\"186.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"44\">!\"=>\"</text>\n</g>\n<path d=\"M249 40h10\"></path>\n<path d=\"M259 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"334.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M399.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h216\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceField\"><text x=\"126.75\" y=\"74\">SourceField</text>\n</a>\n</g>\n<path d=\"M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M234.5 100h165\"></path>\n<rect x=\"70\" y=\"89\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"152.25\" y=\"104\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M754 40h0\"></path>\n<path d=\"M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M439.5 20h294.5\"></path>\n</g>\n<path d=\"M734 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M419.5 40h20\"></path>\n<g>\n<path d=\"M439.5 40h0\"></path>\n<path d=\"M734 40h0\"></path>\n<path d=\"M439.5 40h10\"></path>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M724 40h0\"></path>\n<path d=\"M449.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M583 40h121\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dereference\"><text x=\"526.25\" y=\"44\">Dereference</text>\n</a>\n</g>\n<path d=\"M704 40h20\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M682.5 70h21.5\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M532 70h0\"></path>\n<rect x=\"469.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"500.75\" y=\"74\">!\"->\"</text>\n</g>\n<path d=\"M532 70h10\"></path>\n<path d=\"M542 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 70h0\"></path>\n<path d=\"M682.5 70h0\"></path>\n<rect x=\"552\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"617.25\" y=\"74\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M704 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M469.5 109h0\"></path>\n<path d=\"M704 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 109h0\"></path>\n<path d=\"M523.5 109h0\"></path>\n<rect x=\"469.5\" y=\"98\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"496.5\" y=\"113\">!\"-\"</text>\n</g>\n<path d=\"M523.5 109h10\"></path>\n<g>\n<path d=\"M533.5 109h0\"></path>\n<path d=\"M704 109h0\"></path>\n<path d=\"M533.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M553.5 89h130.5\"></path>\n</g>\n<path d=\"M684 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M533.5 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M553.5 109h0\"></path>\n<path d=\"M684 109h0\"></path>\n<rect x=\"553.5\" y=\"98\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"618.75\" y=\"113\">ComponentName</text>\n</a>\n</g>\n<path d=\"M684 109h20\"></path>\n</g>\n</g>\n<path d=\"M704 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M469.5 139h0\"></path>\n<path d=\"M617 139h87\"></path>\n<rect x=\"469.5\" y=\"128\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableExpression\"><text x=\"543.25\" y=\"143\">TableExpression</text>\n</a>\n</g>\n<path d=\"M704 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M724 40h10\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 -10 10v98a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 158h274.5\"></path>\n</g>\n<path d=\"M724 158a10 10 0 0 0 10 -10v-98a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M734 40h20\"></path>\n</g>\n<g>\n<path d=\"M754 40h0\"></path>\n<path d=\"M1237.5 40h0\"></path>\n<path d=\"M754 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M774 40h0\"></path>\n<path d=\"M836.5 40h381\"></path>\n<rect x=\"774\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"805.25\" y=\"44\">!\"- \"</text>\n</g>\n<path d=\"M1217.5 40h20\"></path>\n<path d=\"M754 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M774 79h0\"></path>\n<path d=\"M1217.5 79h0\"></path>\n<g>\n<path d=\"M774 79h0\"></path>\n<path d=\"M910.5 79h0\"></path>\n<path d=\"M774 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M794 59h96.5\"></path>\n</g>\n<path d=\"M890.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M774 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M794 79h0\"></path>\n<path d=\"M890.5 79h0\"></path>\n<rect x=\"794\" y=\"68\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"842.25\" y=\"83\">TableBody</text>\n</a>\n</g>\n<path d=\"M890.5 79h20\"></path>\n</g>\n<g>\n<path d=\"M910.5 79h0\"></path>\n<path d=\"M1064 79h0\"></path>\n<path d=\"M910.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M930.5 59h113.5\"></path>\n</g>\n<path d=\"M1044 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M910.5 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 79h0\"></path>\n<path d=\"M1044 79h0\"></path>\n<rect x=\"930.5\" y=\"68\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"987.25\" y=\"83\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M1044 79h20\"></path>\n</g>\n<g>\n<path d=\"M1064 79h0\"></path>\n<path d=\"M1217.5 79h0\"></path>\n<path d=\"M1064 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1084 59h113.5\"></path>\n</g>\n<path d=\"M1197.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1064 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1084 79h0\"></path>\n<path d=\"M1197.5 79h0\"></path>\n<rect x=\"1084\" y=\"68\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"1140.75\" y=\"83\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1197.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M1217.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1237.5 40h10\"></path>\n<path d=\"M 1247.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Default",
+        "expression/Dynamic",
+        "expression/For",
+        "expression/FormParamType",
+        "expression/FunctionName",
+        "expression/MethodCallChain",
+        "expression/SQLCDSParameters",
+        "expression/SQLFromSource",
+        "expression/SimpleSource1",
+        "expression/SimpleSource2",
+        "expression/SimpleSource3",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "expression/Type",
+        "expression/TypeParam",
+        "expression/TypeTable",
+        "statement/Describe",
+        "statement/Parameter",
+        "statement/SelectOption"
+      ],
+      "filename": "field_chain.ts"
+    },
+    {
+      "name": "FieldLength",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('!\"+\"')),Railroad.Choice(0, Railroad.Terminal(\"^\\\\d+$\"),Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'}))),Railroad.Terminal('\"*\"')),Railroad.Terminal('!\") \"'))).toString();",
+      "using": [
+        "expression/SimpleFieldChain2"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"575\" height=\"131\" viewBox=\"0 0 575 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"44\">!\"(\"</text>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M452.5 40h0\"></path>\n<path d=\"M114 40h20\"></path>\n<g>\n<path d=\"M134 40h0\"></path>\n<path d=\"M432.5 40h0\"></path>\n<g>\n<path d=\"M134 40h0\"></path>\n<path d=\"M228 40h0\"></path>\n<path d=\"M134 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M154 20h54\"></path>\n</g>\n<path d=\"M208 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M134 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M154 40h0\"></path>\n<path d=\"M208 40h0\"></path>\n<rect x=\"154\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"181\" y=\"44\">!\"+\"</text>\n</g>\n<path d=\"M208 40h20\"></path>\n</g>\n<g>\n<path d=\"M228 40h0\"></path>\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M228 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M248 40h0\"></path>\n<path d=\"M310.5 40h102\"></path>\n<rect x=\"248\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279.25\" y=\"44\">^\\d+$</text>\n</g>\n<path d=\"M412.5 40h20\"></path>\n<path d=\"M228 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M248 70h0\"></path>\n<path d=\"M412.5 70h0\"></path>\n<rect x=\"248\" y=\"59\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"330.25\" y=\"74\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M412.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M432.5 40h20\"></path>\n<path d=\"M114 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M134 100h0\"></path>\n<path d=\"M179.5 100h253\"></path>\n<rect x=\"134\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"156.75\" y=\"104\">\"&#42;\"</text>\n</g>\n<path d=\"M432.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M452.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M462.5 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<rect x=\"462.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"493.75\" y=\"44\">!\") \"</text>\n</g>\n</g>\n<path d=\"M525 40h10\"></path>\n<path d=\"M 535 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/ComponentChainSimple",
+        "expression/FieldChain",
+        "expression/SimpleTarget",
+        "expression/Target",
+        "statement/At",
+        "statement/DeleteInternal",
+        "statement/Parameter"
+      ],
+      "filename": "field_length.ts"
+    },
+    {
+      "name": "FieldOffset",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\"+\"'),Railroad.Choice(0, Railroad.Terminal(\"^\\\\d+$\"),Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'})))).toString();",
+      "using": [
+        "expression/SimpleFieldChain2"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"368.5\" height=\"92\" viewBox=\"0 0 368.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M318.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">!\"+\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<g>\n<path d=\"M114 31h0\"></path>\n<path d=\"M318.5 31h0\"></path>\n<path d=\"M114 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M134 31h0\"></path>\n<path d=\"M196.5 31h102\"></path>\n<rect x=\"134\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"35\">^\\d+$</text>\n</g>\n<path d=\"M298.5 31h20\"></path>\n<path d=\"M114 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 61h0\"></path>\n<path d=\"M298.5 61h0\"></path>\n<rect x=\"134\" y=\"50\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"216.25\" y=\"65\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M298.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M318.5 31h10\"></path>\n<path d=\"M 328.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/ComponentChainSimple",
+        "expression/FieldChain",
+        "expression/SimpleTarget",
+        "expression/Target",
+        "statement/At",
+        "statement/DeleteInternal"
+      ],
+      "filename": "field_offset.ts"
+    },
+    {
+      "name": "FieldSub",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^\\\\*?!?(\\\\/\\\\w+\\\\/)?[a-zA-Z_%$\\\\?][\\\\w%$\\\\$\\\\*]*$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w%$\\\\$\\\\*]+$\"))),Railroad.Optional(Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'})))).toString();",
+      "using": [
+        "expression/TableBody"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"879.5\" height=\"80\" viewBox=\"0 0 879.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M829.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M418.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"368.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"234.25\" y=\"44\">^\\&#42;?!?(\\/\\w+\\/)?&#91;a-zA-Z&#95;%$\\?&#93;&#91;\\w%$\\$\\&#42;&#93;&#42;$</text>\n</g>\n<path d=\"M418.5 40h10\"></path>\n<g>\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M693 40h0\"></path>\n<path d=\"M428.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M448.5 20h224.5\"></path>\n</g>\n<path d=\"M673 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M428.5 40h20\"></path>\n<g>\n<path d=\"M448.5 40h0\"></path>\n<path d=\"M673 40h0\"></path>\n<path d=\"M448.5 40h10\"></path>\n<g>\n<path d=\"M458.5 40h0\"></path>\n<path d=\"M663 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M458.5 40h0\"></path>\n<path d=\"M512.5 40h0\"></path>\n<rect x=\"458.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485.5\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M512.5 40h10\"></path>\n<path d=\"M522.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M532.5 40h0\"></path>\n<path d=\"M663 40h0\"></path>\n<rect x=\"532.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"597.75\" y=\"44\">^&#91;\\w%$\\$\\&#42;&#93;+$</text>\n</g>\n</g>\n<path d=\"M663 40h10\"></path>\n<path d=\"M458.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458.5 60h204.5\"></path>\n</g>\n<path d=\"M663 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M673 40h20\"></path>\n</g>\n<g>\n<path d=\"M693 40h0\"></path>\n<path d=\"M829.5 40h0\"></path>\n<path d=\"M693 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M713 20h96.5\"></path>\n</g>\n<path d=\"M809.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M693 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M713 40h0\"></path>\n<path d=\"M809.5 40h0\"></path>\n<rect x=\"713\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"761.25\" y=\"44\">TableBody</text>\n</a>\n</g>\n<path d=\"M809.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M829.5 40h10\"></path>\n<path d=\"M 839.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Compare",
+        "expression/ComponentCompare",
+        "expression/FieldAssignment",
+        "expression/TransportingFields",
+        "expression/TypeTableKey",
+        "statement/Add",
+        "statement/At",
+        "statement/AtSelectionScreen",
+        "statement/Break",
+        "statement/CallDialog",
+        "statement/DeleteInternal",
+        "statement/EnhancementPoint",
+        "statement/Export",
+        "statement/Fields",
+        "statement/GetProperty",
+        "statement/Local",
+        "statement/Parameter",
+        "statement/ReadTable",
+        "statement/SelectOption",
+        "statement/SortDataset",
+        "statement/Submit",
+        "statement/Write"
+      ],
+      "filename": "field_sub.ts"
+    },
+    {
+      "name": "FieldSymbol",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal(\"^<[\\\\w\\\\/%$\\\\*]+>$\"),Railroad.Sequence(Railroad.Terminal(\"^<[\\\\w\\\\/%$\\\\*]+$\"),Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w\\\\/%$\\\\*]+>$\")))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"492\" height=\"92\" viewBox=\"0 0 492 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M452 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M207.5 31h224.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"133.75\" y=\"35\">^&#60;&#91;\\w\\/%$\\&#42;&#93;+>$</text>\n</g>\n<path d=\"M432 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M432 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M199 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.5\" y=\"65\">^&#60;&#91;\\w\\/%$\\&#42;&#93;+$</text>\n</g>\n<path d=\"M199 61h10\"></path>\n<path d=\"M209 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M219 61h0\"></path>\n<path d=\"M273 61h0\"></path>\n<rect x=\"219\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246\" y=\"65\">!\"-\"</text>\n</g>\n<path d=\"M273 61h10\"></path>\n<path d=\"M283 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M293 61h0\"></path>\n<path d=\"M432 61h0\"></path>\n<rect x=\"293\" y=\"50\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.5\" y=\"65\">^&#91;\\w\\/%$\\&#42;&#93;+>$</text>\n</g>\n</g>\n<path d=\"M432 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 452 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SourceFieldSymbol",
+        "expression/SourceFieldSymbolChain",
+        "expression/TargetFieldSymbol",
+        "statement/Export",
+        "statement/FieldSymbol",
+        "statement/Import"
+      ],
+      "filename": "field_symbol.ts"
+    },
+    {
+      "name": "FilterBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"EXCEPT\"')),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})))),Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'})))).toString();",
+      "using": [
+        "expression/ComponentCond",
+        "expression/SimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"897.5\" height=\"101\" viewBox=\"0 0 897.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M847.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"85.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M259 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h88\"></path>\n</g>\n<path d=\"M239 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M239 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195\" y=\"44\">\"EXCEPT\"</text>\n</g>\n<path d=\"M239 40h20\"></path>\n</g>\n<g>\n<path d=\"M259 40h0\"></path>\n<path d=\"M607.5 40h0\"></path>\n<path d=\"M259 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M279 20h308.5\"></path>\n</g>\n<path d=\"M587.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M259 40h20\"></path>\n<g>\n<path d=\"M279 40h0\"></path>\n<path d=\"M587.5 40h0\"></path>\n<path d=\"M309 40h10\"></path>\n<g>\n<path d=\"M319 40h0\"></path>\n<path d=\"M464 40h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M319 40h0\"></path>\n<path d=\"M373 40h0\"></path>\n<rect x=\"319\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"346\" y=\"44\">\"IN\"</text>\n</g>\n<path d=\"M373 40h10\"></path>\n<path d=\"M383 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M393 40h0\"></path>\n<path d=\"M464 40h0\"></path>\n<rect x=\"393\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"428.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M557.5 40h10\"></path>\n<path d=\"M309 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M319 70h0\"></path>\n<path d=\"M557.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M319 70h0\"></path>\n<path d=\"M432.5 70h0\"></path>\n<rect x=\"319\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"375.75\" y=\"74\">\"USING KEY\"</text>\n</g>\n<path d=\"M432.5 70h10\"></path>\n<path d=\"M442.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 70h0\"></path>\n<path d=\"M557.5 70h0\"></path>\n<rect x=\"452.5\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"505\" y=\"74\">SimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M557.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 309 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"294\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 567.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 574.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M587.5 40h20\"></path>\n</g>\n<path d=\"M607.5 40h10\"></path>\n<g>\n<path d=\"M617.5 40h0\"></path>\n<path d=\"M847.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M617.5 40h0\"></path>\n<path d=\"M697 40h0\"></path>\n<rect x=\"617.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"657.25\" y=\"44\">\"WHERE\"</text>\n</g>\n<path d=\"M697 40h10\"></path>\n<path d=\"M707 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M717 40h0\"></path>\n<path d=\"M847.5 40h0\"></path>\n<rect x=\"717\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"782.25\" y=\"44\">ComponentCond</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M847.5 40h10\"></path>\n<path d=\"M 857.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "filter_body.ts"
+    },
+    {
+      "name": "FinalMethods",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"FINAL METHODS\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodName', {href: '#/expression/MethodName'})))).toString();",
+      "using": [
+        "expression/MethodName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"392.5\" height=\"71\" viewBox=\"0 0 392.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M342.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M197.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"35\">\"FINAL METHODS\"</text>\n</g>\n<path d=\"M197.5 31h10\"></path>\n<path d=\"M207.5 31h10\"></path>\n<g>\n<path d=\"M217.5 31h0\"></path>\n<path d=\"M342.5 31h0\"></path>\n<path d=\"M217.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M227.5 31h0\"></path>\n<path d=\"M332.5 31h0\"></path>\n<rect x=\"227.5\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodName\"><text x=\"280\" y=\"35\">MethodName</text>\n</a>\n</g>\n<path d=\"M332.5 31h10\"></path>\n<path d=\"M227.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M227.5 51h105\"></path>\n</g>\n<path d=\"M332.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M342.5 31h10\"></path>\n<path d=\"M 352.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/InterfaceDef"
+      ],
+      "filename": "final_methods.ts"
+    },
+    {
+      "name": "FindType",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"REGEX\"'),Railroad.Terminal('\"SUBSTRING\"'),Railroad.Sequence(Railroad.Comment(\"v755 or open-abap\", {}), Railroad.Terminal('\"PCRE\"'))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"380\" height=\"131\" viewBox=\"0 0 380 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M340 40h0\"></path>\n<path d=\"M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h260\"></path>\n</g>\n<path d=\"M320 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M320 40h0\"></path>\n<path d=\"M60 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M159.5 40h140.5\"></path>\n<rect x=\"80\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"119.75\" y=\"44\">\"REGEX\"</text>\n</g>\n<path d=\"M300 40h20\"></path>\n<path d=\"M60 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M80 70h0\"></path>\n<path d=\"M193.5 70h106.5\"></path>\n<rect x=\"80\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.75\" y=\"74\">\"SUBSTRING\"</text>\n</g>\n<path d=\"M300 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 100h0\"></path>\n<path d=\"M300 100h0\"></path>\n<g>\n<path d=\"M80 100h0\"></path>\n<path d=\"M209 100h0\"></path>\n<text x=\"144.5\" y=\"105\" class=\"comment\">v755 or open-abap</text>\n</g>\n<path d=\"M209 100h10\"></path>\n<path d=\"M219 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M229 100h0\"></path>\n<path d=\"M300 100h0\"></path>\n<rect x=\"229\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"264.5\" y=\"104\">\"PCRE\"</text>\n</g>\n</g>\n<path d=\"M300 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M320 40h20\"></path>\n</g>\n<path d=\"M 340 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Find",
+        "statement/Replace"
+      ],
+      "filename": "find_type.ts"
+    },
+    {
+      "name": "For",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"FOR\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('InlineFieldDefinition', {href: '#/expression/InlineFieldDefinition'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"THEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"UNTIL\"'),Railroad.Terminal('\"WHILE\"')),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}))),Railroad.Sequence(Railroad.NonTerminal('InlineLoopDefinition', {href: '#/expression/InlineLoopDefinition'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WHERE (\"'),Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'}),Railroad.Terminal('\")\"')))),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Sequence(Railroad.Terminal('\"GROUPS\"'),Railroad.Choice(0, Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'})),Railroad.Terminal('\"OF\"'),Railroad.Choice(0, Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'})),Railroad.Terminal('\"IN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"GROUP BY\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.OneOrMore(Railroad.NonTerminal('LoopGroupByComponent', {href: '#/expression/LoopGroupByComponent'})),Railroad.Terminal('\")\"'))),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"ASCENDING\"'),Railroad.Terminal('\"DESCENDING\"')),Railroad.Optional(Railroad.Terminal('\"AS TEXT\"')))),Railroad.Optional(Railroad.Terminal('\"WITHOUT MEMBERS\"'))))))),Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'}))))).toString();",
+      "using": [
+        "expression/ComponentCond",
+        "expression/Cond",
+        "expression/FieldChain",
+        "expression/InlineFieldDefinition",
+        "expression/InlineLoopDefinition",
+        "expression/Let",
+        "expression/LoopGroupByComponent",
+        "expression/Source",
+        "expression/TargetField",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2295\" height=\"234\" viewBox=\"0 0 2295 234\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2245 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M116 40h0\"></path>\n<text x=\"83\" y=\"45\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M116 40h10\"></path>\n<path d=\"M126 40h10\"></path>\n<g>\n<path d=\"M136 40h0\"></path>\n<path d=\"M2245 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 40h0\"></path>\n<path d=\"M198.5 40h0\"></path>\n<rect x=\"136\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"167.25\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M198.5 40h10\"></path>\n<g>\n<path d=\"M208.5 40h0\"></path>\n<path d=\"M2159.5 40h0\"></path>\n<path d=\"M208.5 40h20\"></path>\n<g>\n<path d=\"M228.5 40h0\"></path>\n<path d=\"M832.5 40h1307\"></path>\n<g class=\"non-terminal\">\n<path d=\"M228.5 40h0\"></path>\n<path d=\"M427 40h0\"></path>\n<rect x=\"228.5\" y=\"29\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineFieldDefinition\"><text x=\"327.75\" y=\"44\">InlineFieldDefinition</text>\n</a>\n</g>\n<path d=\"M427 40h10\"></path>\n<g>\n<path d=\"M437 40h0\"></path>\n<path d=\"M639 40h0\"></path>\n<path d=\"M437 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M457 20h162\"></path>\n</g>\n<path d=\"M619 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M437 40h20\"></path>\n<g>\n<path d=\"M457 40h0\"></path>\n<path d=\"M619 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M457 40h0\"></path>\n<path d=\"M528 40h0\"></path>\n<rect x=\"457\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"492.5\" y=\"44\">\"THEN\"</text>\n</g>\n<path d=\"M528 40h10\"></path>\n<path d=\"M538 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M548 40h0\"></path>\n<path d=\"M619 40h0\"></path>\n<rect x=\"548\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"583.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M619 40h20\"></path>\n</g>\n<path d=\"M639 40h10\"></path>\n<g>\n<path d=\"M649 40h0\"></path>\n<path d=\"M832.5 40h0\"></path>\n<g>\n<path d=\"M649 40h0\"></path>\n<path d=\"M768.5 40h0\"></path>\n<path d=\"M649 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M669 40h0\"></path>\n<path d=\"M748.5 40h0\"></path>\n<rect x=\"669\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.75\" y=\"44\">\"UNTIL\"</text>\n</g>\n<path d=\"M748.5 40h20\"></path>\n<path d=\"M649 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M669 70h0\"></path>\n<path d=\"M748.5 70h0\"></path>\n<rect x=\"669\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.75\" y=\"74\">\"WHILE\"</text>\n</g>\n<path d=\"M748.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M768.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M778.5 40h0\"></path>\n<path d=\"M832.5 40h0\"></path>\n<rect x=\"778.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"805.5\" y=\"44\">Cond</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M2139.5 40h20\"></path>\n<path d=\"M208.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M228.5 109h0\"></path>\n<path d=\"M1168 109h971.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M228.5 109h0\"></path>\n<path d=\"M418.5 109h0\"></path>\n<rect x=\"228.5\" y=\"98\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineLoopDefinition\"><text x=\"323.5\" y=\"113\">InlineLoopDefinition</text>\n</a>\n</g>\n<path d=\"M418.5 109h10\"></path>\n<g>\n<path d=\"M428.5 109h0\"></path>\n<path d=\"M630.5 109h0\"></path>\n<path d=\"M428.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M448.5 89h162\"></path>\n</g>\n<path d=\"M610.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M428.5 109h20\"></path>\n<g>\n<path d=\"M448.5 109h0\"></path>\n<path d=\"M610.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M448.5 109h0\"></path>\n<path d=\"M519.5 109h0\"></path>\n<rect x=\"448.5\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"484\" y=\"113\">\"FROM\"</text>\n</g>\n<path d=\"M519.5 109h10\"></path>\n<path d=\"M529.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539.5 109h0\"></path>\n<path d=\"M610.5 109h0\"></path>\n<rect x=\"539.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"575\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M610.5 109h20\"></path>\n</g>\n<g>\n<path d=\"M630.5 109h0\"></path>\n<path d=\"M815.5 109h0\"></path>\n<path d=\"M630.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M650.5 89h145\"></path>\n</g>\n<path d=\"M795.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M630.5 109h20\"></path>\n<g>\n<path d=\"M650.5 109h0\"></path>\n<path d=\"M795.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M650.5 109h0\"></path>\n<path d=\"M704.5 109h0\"></path>\n<rect x=\"650.5\" y=\"98\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"677.5\" y=\"113\">\"TO\"</text>\n</g>\n<path d=\"M704.5 109h10\"></path>\n<path d=\"M714.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M724.5 109h0\"></path>\n<path d=\"M795.5 109h0\"></path>\n<rect x=\"724.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"760\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 109h20\"></path>\n</g>\n<g>\n<path d=\"M815.5 109h0\"></path>\n<path d=\"M1168 109h0\"></path>\n<path d=\"M815.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M835.5 89h312.5\"></path>\n</g>\n<path d=\"M1148 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M815.5 109h20\"></path>\n<g>\n<path d=\"M835.5 109h0\"></path>\n<path d=\"M1148 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M835.5 109h0\"></path>\n<path d=\"M932 109h0\"></path>\n<rect x=\"835.5\" y=\"98\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"883.75\" y=\"113\">\"WHERE (\"</text>\n</g>\n<path d=\"M932 109h10\"></path>\n<path d=\"M942 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M952 109h0\"></path>\n<path d=\"M1082.5 109h0\"></path>\n<rect x=\"952\" y=\"98\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"1017.25\" y=\"113\">ComponentCond</text>\n</a>\n</g>\n<path d=\"M1082.5 109h10\"></path>\n<path d=\"M1092.5 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1102.5 109h0\"></path>\n<path d=\"M1148 109h0\"></path>\n<rect x=\"1102.5\" y=\"98\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1125.25\" y=\"113\">\")\"</text>\n</g>\n</g>\n<path d=\"M1148 109h20\"></path>\n</g>\n</g>\n<path d=\"M2139.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M208.5 40a10 10 0 0 1 10 10v104a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M228.5 164h0\"></path>\n<path d=\"M2139.5 164h0\"></path>\n<g>\n<path d=\"M228.5 164h0\"></path>\n<path d=\"M294.5 164h0\"></path>\n<text x=\"261.5\" y=\"169\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M294.5 164h10\"></path>\n<path d=\"M304.5 164h10\"></path>\n<g>\n<path d=\"M314.5 164h0\"></path>\n<path d=\"M2139.5 164h0\"></path>\n<g class=\"terminal\">\n<path d=\"M314.5 164h0\"></path>\n<path d=\"M402.5 164h0\"></path>\n<rect x=\"314.5\" y=\"153\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"358.5\" y=\"168\">\"GROUPS\"</text>\n</g>\n<path d=\"M402.5 164h10\"></path>\n<g>\n<path d=\"M412.5 164h0\"></path>\n<path d=\"M617 164h0\"></path>\n<path d=\"M412.5 164h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M432.5 164h0\"></path>\n<path d=\"M546 164h51\"></path>\n<rect x=\"432.5\" y=\"153\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"489.25\" y=\"168\">TargetField</text>\n</a>\n</g>\n<path d=\"M597 164h20\"></path>\n<path d=\"M412.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M432.5 194h0\"></path>\n<path d=\"M597 194h0\"></path>\n<rect x=\"432.5\" y=\"183\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"514.75\" y=\"198\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M597 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M617 164h10\"></path>\n<g class=\"terminal\">\n<path d=\"M627 164h0\"></path>\n<path d=\"M681 164h0\"></path>\n<rect x=\"627\" y=\"153\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"654\" y=\"168\">\"OF\"</text>\n</g>\n<path d=\"M681 164h10\"></path>\n<g>\n<path d=\"M691 164h0\"></path>\n<path d=\"M895.5 164h0\"></path>\n<path d=\"M691 164h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M711 164h0\"></path>\n<path d=\"M824.5 164h51\"></path>\n<rect x=\"711\" y=\"153\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"767.75\" y=\"168\">TargetField</text>\n</a>\n</g>\n<path d=\"M875.5 164h20\"></path>\n<path d=\"M691 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M711 194h0\"></path>\n<path d=\"M875.5 194h0\"></path>\n<rect x=\"711\" y=\"183\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"793.25\" y=\"198\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M875.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M895.5 164h10\"></path>\n<g class=\"terminal\">\n<path d=\"M905.5 164h0\"></path>\n<path d=\"M959.5 164h0\"></path>\n<rect x=\"905.5\" y=\"153\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"932.5\" y=\"168\">\"IN\"</text>\n</g>\n<path d=\"M959.5 164h10\"></path>\n<path d=\"M969.5 164h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M979.5 164h0\"></path>\n<path d=\"M1050.5 164h0\"></path>\n<rect x=\"979.5\" y=\"153\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1015\" y=\"168\">Source</text>\n</a>\n</g>\n<path d=\"M1050.5 164h10\"></path>\n<g>\n<path d=\"M1060.5 164h0\"></path>\n<path d=\"M2139.5 164h0\"></path>\n<path d=\"M1060.5 164a10 10 0 0 0 10 -10v-16a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1080.5 128h1039\"></path>\n</g>\n<path d=\"M2119.5 128a10 10 0 0 1 10 10v16a10 10 0 0 0 10 10\"></path>\n<path d=\"M1060.5 164h20\"></path>\n<g>\n<path d=\"M1080.5 164h0\"></path>\n<path d=\"M2119.5 164h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1080.5 164h0\"></path>\n<path d=\"M1185.5 164h0\"></path>\n<rect x=\"1080.5\" y=\"153\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1133\" y=\"168\">\"GROUP BY\"</text>\n</g>\n<path d=\"M1185.5 164h10\"></path>\n<g>\n<path d=\"M1195.5 164h0\"></path>\n<path d=\"M1576.5 164h0\"></path>\n<path d=\"M1195.5 164h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1215.5 164h0\"></path>\n<path d=\"M1320.5 164h236\"></path>\n<rect x=\"1215.5\" y=\"153\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"1268\" y=\"168\">FieldChain</text>\n</a>\n</g>\n<path d=\"M1556.5 164h20\"></path>\n<path d=\"M1195.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1215.5 194h0\"></path>\n<path d=\"M1556.5 194h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1215.5 194h0\"></path>\n<path d=\"M1261 194h0\"></path>\n<rect x=\"1215.5\" y=\"183\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1238.25\" y=\"198\">\"(\"</text>\n</g>\n<path d=\"M1261 194h10\"></path>\n<path d=\"M1271 194h10\"></path>\n<g>\n<path d=\"M1281 194h0\"></path>\n<path d=\"M1491 194h0\"></path>\n<path d=\"M1281 194h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1291 194h0\"></path>\n<path d=\"M1481 194h0\"></path>\n<rect x=\"1291\" y=\"183\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LoopGroupByComponent\"><text x=\"1386\" y=\"198\">LoopGroupByComponent</text>\n</a>\n</g>\n<path d=\"M1481 194h10\"></path>\n<path d=\"M1291 194a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1291 214h190\"></path>\n</g>\n<path d=\"M1481 214a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1491 194h10\"></path>\n<path d=\"M1501 194h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1511 194h0\"></path>\n<path d=\"M1556.5 194h0\"></path>\n<rect x=\"1511\" y=\"183\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1533.75\" y=\"198\">\")\"</text>\n</g>\n</g>\n<path d=\"M1556.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1576.5 164h0\"></path>\n<path d=\"M1915 164h0\"></path>\n<path d=\"M1576.5 164a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1596.5 136h298.5\"></path>\n</g>\n<path d=\"M1895 136a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1576.5 164h20\"></path>\n<g>\n<path d=\"M1596.5 164h0\"></path>\n<path d=\"M1895 164h0\"></path>\n<g>\n<path d=\"M1596.5 164h0\"></path>\n<path d=\"M1758.5 164h0\"></path>\n<path d=\"M1596.5 164h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1616.5 164h0\"></path>\n<path d=\"M1730 164h8.5\"></path>\n<rect x=\"1616.5\" y=\"153\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1673.25\" y=\"168\">\"ASCENDING\"</text>\n</g>\n<path d=\"M1738.5 164h20\"></path>\n<path d=\"M1596.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1616.5 194h0\"></path>\n<path d=\"M1738.5 194h0\"></path>\n<rect x=\"1616.5\" y=\"183\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1677.5\" y=\"198\">\"DESCENDING\"</text>\n</g>\n<path d=\"M1738.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1758.5 164h0\"></path>\n<path d=\"M1895 164h0\"></path>\n<path d=\"M1758.5 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1778.5 144h96.5\"></path>\n</g>\n<path d=\"M1875 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1758.5 164h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1778.5 164h0\"></path>\n<path d=\"M1875 164h0\"></path>\n<rect x=\"1778.5\" y=\"153\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1826.75\" y=\"168\">\"AS TEXT\"</text>\n</g>\n<path d=\"M1875 164h20\"></path>\n</g>\n</g>\n<path d=\"M1895 164h20\"></path>\n</g>\n<g>\n<path d=\"M1915 164h0\"></path>\n<path d=\"M2119.5 164h0\"></path>\n<path d=\"M1915 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1935 144h164.5\"></path>\n</g>\n<path d=\"M2099.5 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1915 164h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1935 164h0\"></path>\n<path d=\"M2099.5 164h0\"></path>\n<rect x=\"1935\" y=\"153\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2017.25\" y=\"168\">\"WITHOUT MEMBERS\"</text>\n</g>\n<path d=\"M2099.5 164h20\"></path>\n</g>\n</g>\n<path d=\"M2119.5 164h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2139.5 164a10 10 0 0 0 10 -10v-104a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M2159.5 40h0\"></path>\n<path d=\"M2245 40h0\"></path>\n<path d=\"M2159.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2179.5 20h45.5\"></path>\n</g>\n<path d=\"M2225 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2159.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2179.5 40h0\"></path>\n<path d=\"M2225 40h0\"></path>\n<rect x=\"2179.5\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"2202.25\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M2225 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2245 40h10\"></path>\n<path d=\"M 2255 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ReduceBody",
+        "expression/ValueBody"
+      ],
+      "filename": "for.ts"
+    },
+    {
+      "name": "FormChanging",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.OneOrMore(Railroad.NonTerminal('FormParam', {href: '#/expression/FormParam'})))).toString();",
+      "using": [
+        "expression/FormParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"341.5\" height=\"71\" viewBox=\"0 0 341.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M291.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"CHANGING\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g>\n<path d=\"M175 31h0\"></path>\n<path d=\"M291.5 31h0\"></path>\n<path d=\"M175 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M281.5 31h0\"></path>\n<rect x=\"185\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParam\"><text x=\"233.25\" y=\"35\">FormParam</text>\n</a>\n</g>\n<path d=\"M281.5 31h10\"></path>\n<path d=\"M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M185 51h96.5\"></path>\n</g>\n<path d=\"M281.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M291.5 31h10\"></path>\n<path d=\"M 301.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Form",
+        "statement/FormDefinition"
+      ],
+      "filename": "form_changing.ts"
+    },
+    {
+      "name": "FormName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w%$\\\\*\\\\/\\\\?]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Optional(Railroad.Terminal(\"^\\\\w+$\")))),Railroad.Optional(Railroad.Terminal('!\"- \"')))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"586.5\" height=\"88\" viewBox=\"0 0 586.5 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M536.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M197.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"52\">^&#91;\\w%$\\&#42;\\/\\?&#93;+$</text>\n</g>\n<path d=\"M197.5 48h10\"></path>\n<g>\n<path d=\"M207.5 48h0\"></path>\n<path d=\"M434 48h0\"></path>\n<path d=\"M207.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M227.5 20h186.5\"></path>\n</g>\n<path d=\"M414 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M207.5 48h20\"></path>\n<g>\n<path d=\"M227.5 48h0\"></path>\n<path d=\"M414 48h0\"></path>\n<path d=\"M227.5 48h10\"></path>\n<g>\n<path d=\"M237.5 48h0\"></path>\n<path d=\"M404 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M237.5 48h0\"></path>\n<path d=\"M291.5 48h0\"></path>\n<rect x=\"237.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"264.5\" y=\"52\">!\"-\"</text>\n</g>\n<path d=\"M291.5 48h10\"></path>\n<g>\n<path d=\"M301.5 48h0\"></path>\n<path d=\"M404 48h0\"></path>\n<path d=\"M301.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M321.5 28h62.5\"></path>\n</g>\n<path d=\"M384 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M301.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M321.5 48h0\"></path>\n<path d=\"M384 48h0\"></path>\n<rect x=\"321.5\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"352.75\" y=\"52\">^\\w+$</text>\n</g>\n<path d=\"M384 48h20\"></path>\n</g>\n</g>\n<path d=\"M404 48h10\"></path>\n<path d=\"M237.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M237.5 68h166.5\"></path>\n</g>\n<path d=\"M404 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M414 48h20\"></path>\n</g>\n<g>\n<path d=\"M434 48h0\"></path>\n<path d=\"M536.5 48h0\"></path>\n<path d=\"M434 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M454 28h62.5\"></path>\n</g>\n<path d=\"M516.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M434 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M454 48h0\"></path>\n<path d=\"M516.5 48h0\"></path>\n<rect x=\"454\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485.25\" y=\"52\">!\"- \"</text>\n</g>\n<path d=\"M516.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M536.5 48h10\"></path>\n<path d=\"M 546.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallFunction",
+        "statement/Form",
+        "statement/FormDefinition",
+        "statement/Module",
+        "statement/Perform"
+      ],
+      "filename": "form_name.ts"
+    },
+    {
+      "name": "FormParam",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('PassByValue', {href: '#/expression/PassByValue'}),Railroad.NonTerminal('FormParamName', {href: '#/expression/FormParamName'})),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('FormParamType', {href: '#/expression/FormParamType'}),Railroad.Sequence(Railroad.Terminal('\"STRUCTURE\"'),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'})))))).toString();",
+      "using": [
+        "expression/FormParamName",
+        "expression/FormParamType",
+        "expression/PassByValue",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"640\" height=\"101\" viewBox=\"0 0 640 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M590 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M183.5 40h17\"></path>\n<rect x=\"70\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/PassByValue\"><text x=\"126.75\" y=\"44\">PassByValue</text>\n</a>\n</g>\n<path d=\"M200.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M200.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParamName\"><text x=\"135.25\" y=\"74\">FormParamName</text>\n</a>\n</g>\n<path d=\"M200.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M590 40h0\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M240.5 20h329.5\"></path>\n</g>\n<path d=\"M570 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M570 40h0\"></path>\n<path d=\"M240.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 40h0\"></path>\n<path d=\"M391 40h159\"></path>\n<rect x=\"260.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParamType\"><text x=\"325.75\" y=\"44\">FormParamType</text>\n</a>\n</g>\n<path d=\"M550 40h20\"></path>\n<path d=\"M240.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M260.5 70h0\"></path>\n<path d=\"M550 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 70h0\"></path>\n<path d=\"M374 70h0\"></path>\n<rect x=\"260.5\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.25\" y=\"74\">\"STRUCTURE\"</text>\n</g>\n<path d=\"M374 70h10\"></path>\n<path d=\"M384 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M394 70h0\"></path>\n<path d=\"M550 70h0\"></path>\n<rect x=\"394\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"472\" y=\"74\">SimpleFieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M550 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M570 40h20\"></path>\n</g>\n</g>\n<path d=\"M590 40h10\"></path>\n<path d=\"M 600 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FormChanging",
+        "expression/FormTables",
+        "expression/FormUsing"
+      ],
+      "filename": "form_param.ts"
+    },
+    {
+      "name": "FormParamName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w$&\\\\*%\\\\/]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w$&\\\\*%\\\\/]+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"522\" height=\"80\" viewBox=\"0 0 522 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M472 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M189 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"119.5\" y=\"44\">^&#91;\\w$&#38;\\&#42;%\\/&#93;+$</text>\n</g>\n<path d=\"M189 40h10\"></path>\n<g>\n<path d=\"M199 40h0\"></path>\n<path d=\"M472 40h0\"></path>\n<path d=\"M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M219 20h233\"></path>\n</g>\n<path d=\"M452 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M199 40h20\"></path>\n<g>\n<path d=\"M219 40h0\"></path>\n<path d=\"M452 40h0\"></path>\n<path d=\"M219 40h10\"></path>\n<g>\n<path d=\"M229 40h0\"></path>\n<path d=\"M442 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M229 40h0\"></path>\n<path d=\"M283 40h0\"></path>\n<rect x=\"229\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"256\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M283 40h10\"></path>\n<path d=\"M293 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 40h0\"></path>\n<path d=\"M442 40h0\"></path>\n<rect x=\"303\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"372.5\" y=\"44\">^&#91;\\w$&#38;\\&#42;%\\/&#93;+$</text>\n</g>\n</g>\n<path d=\"M442 40h10\"></path>\n<path d=\"M229 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M229 60h213\"></path>\n</g>\n<path d=\"M442 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M452 40h20\"></path>\n</g>\n</g>\n<path d=\"M472 40h10\"></path>\n<path d=\"M 482 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FormParam",
+        "expression/PassByValue"
+      ],
+      "filename": "form_param_name.ts"
+    },
+    {
+      "name": "FormParamType",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"')),Railroad.Terminal('\"TABLE\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})))),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"REF TO\"'),Railroad.Terminal('\"LINE OF\"'))),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))))))),Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"REF TO\"'),Railroad.Terminal('\"LINE OF\"'))),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"817\" height=\"329\" viewBox=\"0 0 817 329\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M777 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M757 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M131 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M757 40h0\"></path>\n<path d=\"M141 40h20\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M607.5 40h129.5\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M395.5 40h0\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M306 40h0\"></path>\n<path d=\"M161 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 40h0\"></path>\n<path d=\"M286 40h0\"></path>\n<rect x=\"181\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.5\" y=\"44\">\"STANDARD\"</text>\n</g>\n<path d=\"M286 40h20\"></path>\n<path d=\"M161 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 70h0\"></path>\n<path d=\"M269 70h17\"></path>\n<rect x=\"181\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"74\">\"HASHED\"</text>\n</g>\n<path d=\"M286 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 100h0\"></path>\n<path d=\"M260.5 100h25.5\"></path>\n<rect x=\"181\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.75\" y=\"104\">\"INDEX\"</text>\n</g>\n<path d=\"M286 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 130h0\"></path>\n<path d=\"M269 130h17\"></path>\n<rect x=\"181\" y=\"119\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"134\">\"SORTED\"</text>\n</g>\n<path d=\"M286 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 160h0\"></path>\n<path d=\"M243.5 160h42.5\"></path>\n<rect x=\"181\" y=\"149\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.25\" y=\"164\">\"ANY\"</text>\n</g>\n<path d=\"M286 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M306 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M316 40h0\"></path>\n<path d=\"M395.5 40h0\"></path>\n<rect x=\"316\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"355.75\" y=\"44\">\"TABLE\"</text>\n</g>\n</g>\n<path d=\"M395.5 40h10\"></path>\n<g>\n<path d=\"M405.5 40h0\"></path>\n<path d=\"M607.5 40h0\"></path>\n<path d=\"M405.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M425.5 20h162\"></path>\n</g>\n<path d=\"M587.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M405.5 40h20\"></path>\n<g>\n<path d=\"M425.5 40h0\"></path>\n<path d=\"M587.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M425.5 40h0\"></path>\n<path d=\"M479.5 40h0\"></path>\n<rect x=\"425.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"452.5\" y=\"44\">\"OF\"</text>\n</g>\n<path d=\"M479.5 40h10\"></path>\n<path d=\"M489.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M499.5 40h0\"></path>\n<path d=\"M587.5 40h0\"></path>\n<rect x=\"499.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"543.5\" y=\"44\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M587.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M737 40h20\"></path>\n<path d=\"M141 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 199h0\"></path>\n<path d=\"M737 199h0\"></path>\n<g>\n<path d=\"M161 199h0\"></path>\n<path d=\"M337.5 199h0\"></path>\n<path d=\"M161 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 179h136.5\"></path>\n</g>\n<path d=\"M317.5 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 199h20\"></path>\n<g>\n<path d=\"M181 199h0\"></path>\n<path d=\"M317.5 199h0\"></path>\n<path d=\"M181 199h20\"></path>\n<g class=\"terminal\">\n<path d=\"M201 199h0\"></path>\n<path d=\"M289 199h8.5\"></path>\n<rect x=\"201\" y=\"188\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"245\" y=\"203\">\"REF TO\"</text>\n</g>\n<path d=\"M297.5 199h20\"></path>\n<path d=\"M181 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 229h0\"></path>\n<path d=\"M297.5 229h0\"></path>\n<rect x=\"201\" y=\"218\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249.25\" y=\"233\">\"LINE OF\"</text>\n</g>\n<path d=\"M297.5 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M317.5 199h20\"></path>\n</g>\n<path d=\"M337.5 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M347.5 199h0\"></path>\n<path d=\"M435.5 199h0\"></path>\n<rect x=\"347.5\" y=\"188\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"391.5\" y=\"203\">TypeName</text>\n</a>\n</g>\n<path d=\"M435.5 199h10\"></path>\n<g>\n<path d=\"M445.5 199h0\"></path>\n<path d=\"M737 199h0\"></path>\n<path d=\"M445.5 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M465.5 179h251.5\"></path>\n</g>\n<path d=\"M717 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M445.5 199h20\"></path>\n<g>\n<path d=\"M465.5 199h0\"></path>\n<path d=\"M717 199h0\"></path>\n<g class=\"terminal\">\n<path d=\"M465.5 199h0\"></path>\n<path d=\"M562 199h0\"></path>\n<rect x=\"465.5\" y=\"188\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"513.75\" y=\"203\">\"DEFAULT\"</text>\n</g>\n<path d=\"M562 199h10\"></path>\n<g>\n<path d=\"M572 199h0\"></path>\n<path d=\"M717 199h0\"></path>\n<path d=\"M572 199h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M592 199h0\"></path>\n<path d=\"M680 199h17\"></path>\n<rect x=\"592\" y=\"188\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"636\" y=\"203\">Constant</text>\n</a>\n</g>\n<path d=\"M697 199h20\"></path>\n<path d=\"M572 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M592 229h0\"></path>\n<path d=\"M697 229h0\"></path>\n<rect x=\"592\" y=\"218\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"644.5\" y=\"233\">FieldChain</text>\n</a>\n</g>\n<path d=\"M697 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M717 199h20\"></path>\n</g>\n</g>\n<path d=\"M737 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M757 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 268h0\"></path>\n<path d=\"M432.5 268h324.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 268h0\"></path>\n<path d=\"M131 268h0\"></path>\n<rect x=\"60\" y=\"257\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"272\">\"LIKE\"</text>\n</g>\n<path d=\"M131 268h10\"></path>\n<g>\n<path d=\"M141 268h0\"></path>\n<path d=\"M317.5 268h0\"></path>\n<path d=\"M141 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M161 248h136.5\"></path>\n</g>\n<path d=\"M297.5 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M141 268h20\"></path>\n<g>\n<path d=\"M161 268h0\"></path>\n<path d=\"M297.5 268h0\"></path>\n<path d=\"M161 268h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 268h0\"></path>\n<path d=\"M269 268h8.5\"></path>\n<rect x=\"181\" y=\"257\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"272\">\"REF TO\"</text>\n</g>\n<path d=\"M277.5 268h20\"></path>\n<path d=\"M161 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 298h0\"></path>\n<path d=\"M277.5 298h0\"></path>\n<rect x=\"181\" y=\"287\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.25\" y=\"302\">\"LINE OF\"</text>\n</g>\n<path d=\"M277.5 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M297.5 268h20\"></path>\n</g>\n<path d=\"M317.5 268h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 268h0\"></path>\n<path d=\"M432.5 268h0\"></path>\n<rect x=\"327.5\" y=\"257\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"380\" y=\"272\">FieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M757 268a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 777 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FormParam"
+      ],
+      "filename": "form_param_type.ts"
+    },
+    {
+      "name": "FormRaising",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Sequence(Railroad.Terminal('\"RESUMABLE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\") \"')))))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"663\" height=\"100\" viewBox=\"0 0 663 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M613 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"RAISING\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g>\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M613 31h0\"></path>\n<path d=\"M166.5 31h10\"></path>\n<g>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M603 31h0\"></path>\n<path d=\"M176.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M196.5 31h0\"></path>\n<path d=\"M293 31h290\"></path>\n<rect x=\"196.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"244.75\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M583 31h20\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M196.5 61h0\"></path>\n<path d=\"M583 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 61h0\"></path>\n<path d=\"M310 61h0\"></path>\n<rect x=\"196.5\" y=\"50\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.25\" y=\"65\">\"RESUMABLE\"</text>\n</g>\n<path d=\"M310 61h10\"></path>\n<path d=\"M320 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M330 61h0\"></path>\n<path d=\"M384 61h0\"></path>\n<rect x=\"330\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"357\" y=\"65\">!\"(\"</text>\n</g>\n<path d=\"M384 61h10\"></path>\n<path d=\"M394 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 61h0\"></path>\n<path d=\"M500.5 61h0\"></path>\n<rect x=\"404\" y=\"50\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"452.25\" y=\"65\">ClassName</text>\n</a>\n</g>\n<path d=\"M500.5 61h10\"></path>\n<path d=\"M510.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M520.5 61h0\"></path>\n<path d=\"M583 61h0\"></path>\n<rect x=\"520.5\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"551.75\" y=\"65\">!\") \"</text>\n</g>\n</g>\n<path d=\"M583 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M603 31h10\"></path>\n<path d=\"M176.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 80h426.5\"></path>\n</g>\n<path d=\"M603 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M613 31h10\"></path>\n<path d=\"M 623 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Form",
+        "statement/FormDefinition"
+      ],
+      "filename": "form_raising.ts"
+    },
+    {
+      "name": "FormTables",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"TABLES\"'),Railroad.OneOrMore(Railroad.NonTerminal('FormParam', {href: '#/expression/FormParam'})))).toString();",
+      "using": [
+        "expression/FormParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"324.5\" height=\"71\" viewBox=\"0 0 324.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M274.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"TABLES\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g>\n<path d=\"M158 31h0\"></path>\n<path d=\"M274.5 31h0\"></path>\n<path d=\"M158 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M264.5 31h0\"></path>\n<rect x=\"168\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParam\"><text x=\"216.25\" y=\"35\">FormParam</text>\n</a>\n</g>\n<path d=\"M264.5 31h10\"></path>\n<path d=\"M168 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 51h96.5\"></path>\n</g>\n<path d=\"M264.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M274.5 31h10\"></path>\n<path d=\"M 284.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Form",
+        "statement/FormDefinition"
+      ],
+      "filename": "form_tables.ts"
+    },
+    {
+      "name": "FormUsing",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.OneOrMore(Railroad.NonTerminal('FormParam', {href: '#/expression/FormParam'})))).toString();",
+      "using": [
+        "expression/FormParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"316\" height=\"71\" viewBox=\"0 0 316 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M266 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"USING\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g>\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M266 31h0\"></path>\n<path d=\"M149.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 31h0\"></path>\n<path d=\"M256 31h0\"></path>\n<rect x=\"159.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParam\"><text x=\"207.75\" y=\"35\">FormParam</text>\n</a>\n</g>\n<path d=\"M256 31h10\"></path>\n<path d=\"M159.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M159.5 51h96.5\"></path>\n</g>\n<path d=\"M256 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M266 31h10\"></path>\n<path d=\"M 276 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Form",
+        "statement/FormDefinition"
+      ],
+      "filename": "form_using.ts"
+    },
+    {
+      "name": "FunctionExporting",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.NonTerminal('FunctionExportingParameter', {href: '#/expression/FunctionExportingParameter'}))).toString();",
+      "using": [
+        "expression/FunctionExportingParameter"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"361\" height=\"71\" viewBox=\"0 0 361 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M311 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M301 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"241\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FunctionExportingParameter\"><text x=\"180.5\" y=\"35\">FunctionExportingParameter</text>\n</a>\n</g>\n<path d=\"M301 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 51h241\"></path>\n</g>\n<path d=\"M301 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M311 31h10\"></path>\n<path d=\"M 321 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FunctionParameters"
+      ],
+      "filename": "function_exporting.ts"
+    },
+    {
+      "name": "FunctionExportingParameter",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('ParameterName', {href: '#/expression/ParameterName'}),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))).toString();",
+      "using": [
+        "expression/ParameterName",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"503\" height=\"92\" viewBox=\"0 0 503 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M453 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterName\"><text x=\"115.25\" y=\"35\">ParameterName</text>\n</a>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M190.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M200.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"200.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"223.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M246 31h10\"></path>\n<g>\n<path d=\"M256 31h0\"></path>\n<path d=\"M453 31h0\"></path>\n<path d=\"M256 31h20\"></path>\n<g>\n<path d=\"M276 31h0\"></path>\n<path d=\"M433 31h0\"></path>\n<g>\n<path d=\"M276 31h0\"></path>\n<path d=\"M342 31h0\"></path>\n<text x=\"309\" y=\"36\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M342 31h10\"></path>\n<path d=\"M352 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362 31h0\"></path>\n<path d=\"M433 31h0\"></path>\n<rect x=\"362\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"397.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M433 31h20\"></path>\n<path d=\"M256 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M276 61h0\"></path>\n<path d=\"M406.5 61h26.5\"></path>\n<rect x=\"276\" y=\"50\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"341.25\" y=\"65\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M433 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M453 31h10\"></path>\n<path d=\"M 463 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FunctionExporting"
+      ],
+      "filename": "function_exporting_parameter.ts"
+    },
+    {
+      "name": "FunctionName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"225\" height=\"92\" viewBox=\"0 0 225 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M185 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h17\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"104\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M165 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M165 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"112.5\" y=\"65\">FieldChain</text>\n</a>\n</g>\n<path d=\"M165 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 185 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallFunction",
+        "statement/Receive"
+      ],
+      "filename": "function_name.ts"
+    },
+    {
+      "name": "FunctionParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('FunctionExporting', {href: '#/expression/FunctionExporting'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TABLES\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPTIONS\"'),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('ParameterListExceptions', {href: '#/expression/ParameterListExceptions'}),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/FunctionExporting",
+        "expression/ParameterListExceptions",
+        "expression/ParameterListT"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1809\" height=\"109\" viewBox=\"0 0 1809 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1759 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M388 48h0\"></path>\n<path d=\"M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 28h298\"></path>\n</g>\n<path d=\"M368 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 48h20\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M368 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 48h0\"></path>\n<path d=\"M183.5 48h0\"></path>\n<rect x=\"70\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"52\">\"EXPORTING\"</text>\n</g>\n<path d=\"M183.5 48h10\"></path>\n<path d=\"M193.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M203.5 48h0\"></path>\n<path d=\"M368 48h0\"></path>\n<rect x=\"203.5\" y=\"37\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FunctionExporting\"><text x=\"285.75\" y=\"52\">FunctionExporting</text>\n</a>\n</g>\n</g>\n<path d=\"M368 48h20\"></path>\n</g>\n<g>\n<path d=\"M388 48h0\"></path>\n<path d=\"M700.5 48h0\"></path>\n<path d=\"M388 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M408 28h272.5\"></path>\n</g>\n<path d=\"M680.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M388 48h20\"></path>\n<g>\n<path d=\"M408 48h0\"></path>\n<path d=\"M680.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M408 48h0\"></path>\n<path d=\"M521.5 48h0\"></path>\n<rect x=\"408\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464.75\" y=\"52\">\"IMPORTING\"</text>\n</g>\n<path d=\"M521.5 48h10\"></path>\n<path d=\"M531.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541.5 48h0\"></path>\n<path d=\"M680.5 48h0\"></path>\n<rect x=\"541.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"611\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M680.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M700.5 48h0\"></path>\n<path d=\"M987.5 48h0\"></path>\n<path d=\"M700.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M720.5 28h247\"></path>\n</g>\n<path d=\"M967.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M700.5 48h20\"></path>\n<g>\n<path d=\"M720.5 48h0\"></path>\n<path d=\"M967.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M720.5 48h0\"></path>\n<path d=\"M808.5 48h0\"></path>\n<rect x=\"720.5\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"764.5\" y=\"52\">\"TABLES\"</text>\n</g>\n<path d=\"M808.5 48h10\"></path>\n<path d=\"M818.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M828.5 48h0\"></path>\n<path d=\"M967.5 48h0\"></path>\n<rect x=\"828.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"898\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M967.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M987.5 48h0\"></path>\n<path d=\"M1291.5 48h0\"></path>\n<path d=\"M987.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1007.5 28h264\"></path>\n</g>\n<path d=\"M1271.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M987.5 48h20\"></path>\n<g>\n<path d=\"M1007.5 48h0\"></path>\n<path d=\"M1271.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1007.5 48h0\"></path>\n<path d=\"M1112.5 48h0\"></path>\n<rect x=\"1007.5\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1060\" y=\"52\">\"CHANGING\"</text>\n</g>\n<path d=\"M1112.5 48h10\"></path>\n<path d=\"M1122.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1132.5 48h0\"></path>\n<path d=\"M1271.5 48h0\"></path>\n<rect x=\"1132.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"1202\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M1271.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1291.5 48h0\"></path>\n<path d=\"M1759 48h0\"></path>\n<path d=\"M1291.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1311.5 20h427.5\"></path>\n</g>\n<path d=\"M1739 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1291.5 48h20\"></path>\n<g>\n<path d=\"M1311.5 48h0\"></path>\n<path d=\"M1739 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1311.5 48h0\"></path>\n<path d=\"M1433.5 48h0\"></path>\n<rect x=\"1311.5\" y=\"37\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1372.5\" y=\"52\">\"EXCEPTIONS\"</text>\n</g>\n<path d=\"M1433.5 48h10\"></path>\n<g>\n<path d=\"M1443.5 48h0\"></path>\n<path d=\"M1739 48h0\"></path>\n<path d=\"M1443.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1463.5 28h255.5\"></path>\n</g>\n<path d=\"M1719 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1443.5 48h20\"></path>\n<g>\n<path d=\"M1463.5 48h0\"></path>\n<path d=\"M1719 48h0\"></path>\n<path d=\"M1463.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1483.5 48h0\"></path>\n<path d=\"M1699 48h0\"></path>\n<rect x=\"1483.5\" y=\"37\" width=\"215.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListExceptions\"><text x=\"1591.25\" y=\"52\">ParameterListExceptions</text>\n</a>\n</g>\n<path d=\"M1699 48h20\"></path>\n<path d=\"M1463.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1483.5 78h0\"></path>\n<path d=\"M1546 78h153\"></path>\n<rect x=\"1483.5\" y=\"67\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1514.75\" y=\"82\">Field</text>\n</a>\n</g>\n<path d=\"M1699 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1719 48h20\"></path>\n</g>\n</g>\n<path d=\"M1739 48h20\"></path>\n</g>\n</g>\n<path d=\"M1759 48h10\"></path>\n<path d=\"M 1769 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallFunction"
+      ],
+      "filename": "function_parameters.ts"
+    },
+    {
+      "name": "IncludeName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^<?(\\\\/\\\\w+\\\\/)?[\\\\w%]+(~\\\\w+)?>?$\"),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^\\\\w+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"553\" height=\"71\" viewBox=\"0 0 553 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M503 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M316.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"266.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.25\" y=\"44\">^&#60;?(\\/\\w+\\/)?&#91;\\w%&#93;+(~\\w+)?>?$</text>\n</g>\n<path d=\"M316.5 40h10\"></path>\n<g>\n<path d=\"M326.5 40h0\"></path>\n<path d=\"M503 40h0\"></path>\n<path d=\"M326.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M346.5 20h136.5\"></path>\n</g>\n<path d=\"M483 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M326.5 40h20\"></path>\n<g>\n<path d=\"M346.5 40h0\"></path>\n<path d=\"M483 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M346.5 40h0\"></path>\n<path d=\"M400.5 40h0\"></path>\n<rect x=\"346.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373.5\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M400.5 40h10\"></path>\n<path d=\"M410.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M420.5 40h0\"></path>\n<path d=\"M483 40h0\"></path>\n<rect x=\"420.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"451.75\" y=\"44\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M483 40h20\"></path>\n</g>\n</g>\n<path d=\"M503 40h10\"></path>\n<path d=\"M 513 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Include",
+        "statement/Perform"
+      ],
+      "filename": "include_name.ts"
+    },
+    {
+      "name": "InlineData",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"DATA\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"')))),Railroad.Sequence(Railroad.Comment(\"v757\", {}), Railroad.Sequence(Railroad.Terminal('\"FINAL\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"')))))).toString();",
+      "using": [
+        "expression/TargetField"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"597\" height=\"152\" viewBox=\"0 0 597 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M557 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M126 31h0\"></path>\n<text x=\"93\" y=\"36\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M126 31h10\"></path>\n<path d=\"M136 31h10\"></path>\n<g>\n<path d=\"M146 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 31h0\"></path>\n<path d=\"M217 31h0\"></path>\n<rect x=\"146\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"181.5\" y=\"35\">\"DATA\"</text>\n</g>\n<path d=\"M217 31h10\"></path>\n<path d=\"M227 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M237 31h0\"></path>\n<path d=\"M291 31h0\"></path>\n<rect x=\"237\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"264\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M291 31h10\"></path>\n<path d=\"M301 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311 31h0\"></path>\n<path d=\"M424.5 31h0\"></path>\n<rect x=\"311\" y=\"20\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"367.75\" y=\"35\">TargetField</text>\n</a>\n</g>\n<path d=\"M424.5 31h10\"></path>\n<g>\n<path d=\"M434.5 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<path d=\"M434.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 31h0\"></path>\n<path d=\"M517 31h0\"></path>\n<rect x=\"454.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485.75\" y=\"35\">!\") \"</text>\n</g>\n<path d=\"M517 31h20\"></path>\n<path d=\"M434.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 61h0\"></path>\n<path d=\"M508.5 61h8.5\"></path>\n<rect x=\"454.5\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"481.5\" y=\"65\">!\")\"</text>\n</g>\n<path d=\"M517 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M537 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M517.5 91h19.5\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M98 91h0\"></path>\n<text x=\"79\" y=\"96\" class=\"comment\">v757</text>\n</g>\n<path d=\"M98 91h10\"></path>\n<path d=\"M108 91h10\"></path>\n<g>\n<path d=\"M118 91h0\"></path>\n<path d=\"M517.5 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 91h0\"></path>\n<path d=\"M197.5 91h0\"></path>\n<rect x=\"118\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"157.75\" y=\"95\">\"FINAL\"</text>\n</g>\n<path d=\"M197.5 91h10\"></path>\n<path d=\"M207.5 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M217.5 91h0\"></path>\n<path d=\"M271.5 91h0\"></path>\n<rect x=\"217.5\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"244.5\" y=\"95\">!\"(\"</text>\n</g>\n<path d=\"M271.5 91h10\"></path>\n<path d=\"M281.5 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291.5 91h0\"></path>\n<path d=\"M405 91h0\"></path>\n<rect x=\"291.5\" y=\"80\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"348.25\" y=\"95\">TargetField</text>\n</a>\n</g>\n<path d=\"M405 91h10\"></path>\n<g>\n<path d=\"M415 91h0\"></path>\n<path d=\"M517.5 91h0\"></path>\n<path d=\"M415 91h20\"></path>\n<g class=\"terminal\">\n<path d=\"M435 91h0\"></path>\n<path d=\"M497.5 91h0\"></path>\n<rect x=\"435\" y=\"80\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"466.25\" y=\"95\">!\") \"</text>\n</g>\n<path d=\"M497.5 91h20\"></path>\n<path d=\"M415 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M435 121h0\"></path>\n<path d=\"M489 121h8.5\"></path>\n<rect x=\"435\" y=\"110\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"462\" y=\"125\">!\")\"</text>\n</g>\n<path d=\"M497.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M537 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 557 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Target"
+      ],
+      "filename": "inline_data.ts"
+    },
+    {
+      "name": "InlineFS",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"FIELD-SYMBOL\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'}),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"666\" height=\"62\" viewBox=\"0 0 666 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M616 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M116 31h0\"></path>\n<text x=\"83\" y=\"36\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M116 31h10\"></path>\n<path d=\"M126 31h10\"></path>\n<g>\n<path d=\"M136 31h0\"></path>\n<path d=\"M616 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 31h0\"></path>\n<path d=\"M275 31h0\"></path>\n<rect x=\"136\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"205.5\" y=\"35\">\"FIELD-SYMBOL\"</text>\n</g>\n<path d=\"M275 31h10\"></path>\n<path d=\"M285 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M295 31h0\"></path>\n<path d=\"M349 31h0\"></path>\n<rect x=\"295\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"322\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M349 31h10\"></path>\n<path d=\"M359 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M369 31h0\"></path>\n<path d=\"M533.5 31h0\"></path>\n<rect x=\"369\" y=\"20\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"451.25\" y=\"35\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M533.5 31h10\"></path>\n<path d=\"M543.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M553.5 31h0\"></path>\n<path d=\"M616 31h0\"></path>\n<rect x=\"553.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"584.75\" y=\"35\">!\") \"</text>\n</g>\n</g>\n</g>\n<path d=\"M616 31h10\"></path>\n<path d=\"M 626 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FSTarget",
+        "expression/Target"
+      ],
+      "filename": "inline_fs.ts"
+    },
+    {
+      "name": "InlineField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('Field', {href: '#/expression/Field'})).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"81.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/SelectionScreen"
+      ],
+      "filename": "inline_field.ts"
+    },
+    {
+      "name": "InlineFieldDefinition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Source",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"381.5\" height=\"92\" viewBox=\"0 0 381.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M341.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M279 31h42.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M122.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"91.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M122.5 31h10\"></path>\n<path d=\"M132.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 31h0\"></path>\n<path d=\"M188 31h0\"></path>\n<rect x=\"142.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M188 31h10\"></path>\n<path d=\"M198 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M208 31h0\"></path>\n<path d=\"M279 31h0\"></path>\n<rect x=\"208\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"243.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M321.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M321.5 61h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M122.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"91.25\" y=\"65\">Field</text>\n</a>\n</g>\n<path d=\"M122.5 61h10\"></path>\n<path d=\"M132.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 61h0\"></path>\n<path d=\"M213.5 61h0\"></path>\n<rect x=\"142.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178\" y=\"65\">\"TYPE\"</text>\n</g>\n<path d=\"M213.5 61h10\"></path>\n<path d=\"M223.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M233.5 61h0\"></path>\n<path d=\"M321.5 61h0\"></path>\n<rect x=\"233.5\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"277.5\" y=\"65\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M321.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 341.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/For",
+        "expression/Let",
+        "expression/ReduceBody"
+      ],
+      "filename": "inline_field_definition.ts"
+    },
+    {
+      "name": "InlineLoopDefinition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'}),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'})),Railroad.Terminal('\"IN\"'),Railroad.Optional(Railroad.Terminal('\"GROUP\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INDEX INTO\"'),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/TargetField",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"884.5\" height=\"101\" viewBox=\"0 0 884.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M834.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M254.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M234.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"152.25\" y=\"44\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M234.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h51\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"126.75\" y=\"74\">TargetField</text>\n</a>\n</g>\n<path d=\"M234.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M254.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M264.5 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<rect x=\"264.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.5\" y=\"44\">\"IN\"</text>\n</g>\n<path d=\"M318.5 40h10\"></path>\n<g>\n<path d=\"M328.5 40h0\"></path>\n<path d=\"M448 40h0\"></path>\n<path d=\"M328.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M348.5 20h79.5\"></path>\n</g>\n<path d=\"M428 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M328.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M428 40h0\"></path>\n<rect x=\"348.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.25\" y=\"44\">\"GROUP\"</text>\n</g>\n<path d=\"M428 40h20\"></path>\n</g>\n<path d=\"M448 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458 40h0\"></path>\n<path d=\"M529 40h0\"></path>\n<rect x=\"458\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"493.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M529 40h10\"></path>\n<g>\n<path d=\"M539 40h0\"></path>\n<path d=\"M834.5 40h0\"></path>\n<path d=\"M539 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M559 20h255.5\"></path>\n</g>\n<path d=\"M814.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M539 40h20\"></path>\n<g>\n<path d=\"M559 40h0\"></path>\n<path d=\"M814.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M559 40h0\"></path>\n<path d=\"M681 40h0\"></path>\n<rect x=\"559\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"620\" y=\"44\">\"INDEX INTO\"</text>\n</g>\n<path d=\"M681 40h10\"></path>\n<path d=\"M691 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M701 40h0\"></path>\n<path d=\"M814.5 40h0\"></path>\n<rect x=\"701\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"757.75\" y=\"44\">TargetField</text>\n</a>\n</g>\n</g>\n<path d=\"M814.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M834.5 40h10\"></path>\n<path d=\"M 844.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/For"
+      ],
+      "filename": "inline_loop_definition.ts"
+    },
+    {
+      "name": "Integer",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('!\" -\"'),Railroad.Terminal('!\" - \"'),Railroad.Terminal('!\" +\"'))),Railroad.Terminal(\"^\\\\d+$\"))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"323.5\" height=\"131\" viewBox=\"0 0 323.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M201 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h111\"></path>\n</g>\n<path d=\"M181 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M181 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M152.5 40h8.5\"></path>\n<rect x=\"90\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"121.25\" y=\"44\">!\" -\"</text>\n</g>\n<path d=\"M161 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M161 70h0\"></path>\n<rect x=\"90\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"125.5\" y=\"74\">!\" - \"</text>\n</g>\n<path d=\"M161 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 100h0\"></path>\n<path d=\"M152.5 100h8.5\"></path>\n<rect x=\"90\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"121.25\" y=\"104\">!\" +\"</text>\n</g>\n<path d=\"M161 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M181 40h20\"></path>\n</g>\n<path d=\"M201 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M211 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"211\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"44\">^\\d+$</text>\n</g>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<path d=\"M 283.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CallTransformationOptions",
+        "expression/CallTransformationParameters",
+        "expression/Constant",
+        "expression/ConstantFieldLength",
+        "expression/Decimals",
+        "expression/Length",
+        "expression/ParameterException",
+        "expression/SQLFieldAndValue",
+        "expression/SQLFunction",
+        "expression/TypeTable",
+        "statement/ClassDataBegin",
+        "statement/DataBegin",
+        "statement/FunctionPool",
+        "statement/Report",
+        "statement/SelectionScreen",
+        "statement/StaticBegin"
+      ],
+      "filename": "integer.ts"
+    },
+    {
+      "name": "InterfaceName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\w*(\\\\/\\\\w{3,}\\\\/)?\\\\w+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"298.5\" height=\"62\" viewBox=\"0 0 298.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M248.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"149.25\" y=\"35\">^\\w&#42;(\\/\\w{3,}\\/)?\\w+$</text>\n</g>\n<path d=\"M248.5 31h10\"></path>\n<path d=\"M 258.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Interface",
+        "statement/InterfaceDef",
+        "statement/InterfaceDeferred",
+        "statement/InterfaceLoad"
+      ],
+      "filename": "interface_name.ts"
+    },
+    {
+      "name": "KernelId",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"435.5\" height=\"62\" viewBox=\"0 0 435.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M385.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<path d=\"M114 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M124 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"124\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"159.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M205 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M215 31h0\"></path>\n<path d=\"M294.5 31h0\"></path>\n<rect x=\"215\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"254.75\" y=\"35\">\"FIELD\"</text>\n</g>\n<path d=\"M294.5 31h10\"></path>\n<path d=\"M304.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M314.5 31h0\"></path>\n<path d=\"M385.5 31h0\"></path>\n<rect x=\"314.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"350\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M385.5 31h10\"></path>\n<path d=\"M 395.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallKernel"
+      ],
+      "filename": "kernel_id.ts"
+    },
+    {
+      "name": "LOBHandle",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"WRITER FOR COLUMNS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"372.5\" height=\"62\" viewBox=\"0 0 372.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M322.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">\"WRITER FOR COLUMNS\"</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<path d=\"M250 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260 31h0\"></path>\n<path d=\"M322.5 31h0\"></path>\n<rect x=\"260\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"291.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M322.5 31h10\"></path>\n<path d=\"M 332.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Type"
+      ],
+      "filename": "l_ob_handle.ts"
+    },
+    {
+      "name": "Language",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"LANGUAGE\"'),Railroad.Choice(0, Railroad.Terminal('\"SQLSCRIPT\"'),Railroad.Terminal('\"SQL\"'),Railroad.Terminal('\"GRAPH\"')))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"368.5\" height=\"122\" viewBox=\"0 0 368.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M318.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"LANGUAGE\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<g>\n<path d=\"M165 31h0\"></path>\n<path d=\"M318.5 31h0\"></path>\n<path d=\"M165 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M298.5 31h0\"></path>\n<rect x=\"185\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"241.75\" y=\"35\">\"SQLSCRIPT\"</text>\n</g>\n<path d=\"M298.5 31h20\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 61h0\"></path>\n<path d=\"M247.5 61h51\"></path>\n<rect x=\"185\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.25\" y=\"65\">\"SQL\"</text>\n</g>\n<path d=\"M298.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 91h0\"></path>\n<path d=\"M264.5 91h34\"></path>\n<rect x=\"185\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"224.75\" y=\"95\">\"GRAPH\"</text>\n</g>\n<path d=\"M298.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M318.5 31h10\"></path>\n<path d=\"M 328.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodImplementation"
+      ],
+      "filename": "language.ts"
+    },
+    {
+      "name": "Length",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.Choice(0, Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.NonTerminal('ConstantString', {href: '#/expression/ConstantString'}),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'})))).toString();",
+      "using": [
+        "expression/ConstantString",
+        "expression/Integer",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"394\" height=\"122\" viewBox=\"0 0 394 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M344 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"LENGTH\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<g>\n<path d=\"M148 31h0\"></path>\n<path d=\"M344 31h0\"></path>\n<path d=\"M148 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M247.5 31h76.5\"></path>\n<rect x=\"168\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"207.75\" y=\"35\">Integer</text>\n</a>\n</g>\n<path d=\"M324 31h20\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 61h0\"></path>\n<path d=\"M307 61h17\"></path>\n<rect x=\"168\" y=\"50\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantString\"><text x=\"237.5\" y=\"65\">ConstantString</text>\n</a>\n</g>\n<path d=\"M324 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 91h0\"></path>\n<path d=\"M324 91h0\"></path>\n<rect x=\"168\" y=\"80\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"246\" y=\"95\">SimpleFieldChain</text>\n</a>\n</g>\n<path d=\"M324 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M344 31h10\"></path>\n<path d=\"M 354 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/Static",
+        "statement/Type"
+      ],
+      "filename": "length.ts"
+    },
+    {
+      "name": "Let",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"LET\"'),Railroad.OneOrMore(Railroad.NonTerminal('InlineFieldDefinition', {href: '#/expression/InlineFieldDefinition'})),Railroad.Terminal('\"IN\"'))).toString();",
+      "using": [
+        "expression/InlineFieldDefinition"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"475\" height=\"71\" viewBox=\"0 0 475 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M425 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">\"LET\"</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M122.5 31h10\"></path>\n<g>\n<path d=\"M132.5 31h0\"></path>\n<path d=\"M351 31h0\"></path>\n<path d=\"M132.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M142.5 31h0\"></path>\n<path d=\"M341 31h0\"></path>\n<rect x=\"142.5\" y=\"20\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineFieldDefinition\"><text x=\"241.75\" y=\"35\">InlineFieldDefinition</text>\n</a>\n</g>\n<path d=\"M341 31h10\"></path>\n<path d=\"M142.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M142.5 51h198.5\"></path>\n</g>\n<path d=\"M341 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M351 31h10\"></path>\n<path d=\"M361 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M371 31h0\"></path>\n<path d=\"M425 31h0\"></path>\n<rect x=\"371\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398\" y=\"35\">\"IN\"</text>\n</g>\n</g>\n<path d=\"M425 31h10\"></path>\n<path d=\"M 435 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Cast",
+        "expression/CondBody",
+        "expression/ConvBody",
+        "expression/For",
+        "expression/ReduceBody",
+        "expression/SwitchBody",
+        "expression/ValueBody"
+      ],
+      "filename": "let.ts"
+    },
+    {
+      "name": "LoopGroupBy",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.OneOrMore(Railroad.NonTerminal('LoopGroupByComponent', {href: '#/expression/LoopGroupByComponent'})),Railroad.Terminal('!\" ) \"'))),Railroad.Optional(Railroad.Terminal('\"ASCENDING\"')),Railroad.Optional(Railroad.Terminal('\"WITHOUT MEMBERS\"')),Railroad.NonTerminal('LoopGroupByTarget', {href: '#/expression/LoopGroupByTarget'}))).toString();",
+      "using": [
+        "expression/LoopGroupByComponent",
+        "expression/LoopGroupByTarget",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1064.5\" height=\"110\" viewBox=\"0 0 1064.5 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1014.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M482 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M141 40h321\"></path>\n<rect x=\"70\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"105.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M462 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 70h0\"></path>\n<path d=\"M462 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M141 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"105.5\" y=\"74\">!\" ( \"</text>\n</g>\n<path d=\"M141 70h10\"></path>\n<path d=\"M151 70h10\"></path>\n<g>\n<path d=\"M161 70h0\"></path>\n<path d=\"M371 70h0\"></path>\n<path d=\"M161 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M171 70h0\"></path>\n<path d=\"M361 70h0\"></path>\n<rect x=\"171\" y=\"59\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LoopGroupByComponent\"><text x=\"266\" y=\"74\">LoopGroupByComponent</text>\n</a>\n</g>\n<path d=\"M361 70h10\"></path>\n<path d=\"M171 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M171 90h190\"></path>\n</g>\n<path d=\"M361 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M371 70h10\"></path>\n<path d=\"M381 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M391 70h0\"></path>\n<path d=\"M462 70h0\"></path>\n<rect x=\"391\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"426.5\" y=\"74\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M462 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M482 40h0\"></path>\n<path d=\"M635.5 40h0\"></path>\n<path d=\"M482 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M502 20h113.5\"></path>\n</g>\n<path d=\"M615.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M482 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M502 40h0\"></path>\n<path d=\"M615.5 40h0\"></path>\n<rect x=\"502\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"558.75\" y=\"44\">\"ASCENDING\"</text>\n</g>\n<path d=\"M615.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M635.5 40h0\"></path>\n<path d=\"M840 40h0\"></path>\n<path d=\"M635.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M655.5 20h164.5\"></path>\n</g>\n<path d=\"M820 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M635.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M655.5 40h0\"></path>\n<path d=\"M820 40h0\"></path>\n<rect x=\"655.5\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"737.75\" y=\"44\">\"WITHOUT MEMBERS\"</text>\n</g>\n<path d=\"M820 40h20\"></path>\n</g>\n<path d=\"M840 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M850 40h0\"></path>\n<path d=\"M1014.5 40h0\"></path>\n<rect x=\"850\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LoopGroupByTarget\"><text x=\"932.25\" y=\"44\">LoopGroupByTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1014.5 40h10\"></path>\n<path d=\"M 1024.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Loop"
+      ],
+      "filename": "loop_group_by.ts"
+    },
+    {
+      "name": "LoopGroupByComponent",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('ComponentCompareSingle', {href: '#/expression/ComponentCompareSingle'}),Railroad.Sequence(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.Terminal('\"=\"'),Railroad.Terminal('\"GROUP SIZE\"')),Railroad.Sequence(Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.Terminal('\"=\"'),Railroad.Terminal('\"GROUP INDEX\"')))).toString();",
+      "using": [
+        "expression/ComponentCompareSingle",
+        "expression/ComponentName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"466.5\" height=\"122\" viewBox=\"0 0 466.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M426.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M267 31h139.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"207\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompareSingle\"><text x=\"163.5\" y=\"35\">ComponentCompareSingle</text>\n</a>\n</g>\n<path d=\"M406.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M398 61h8.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M190.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"125.25\" y=\"65\">ComponentName</text>\n</a>\n</g>\n<path d=\"M190.5 61h10\"></path>\n<path d=\"M200.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M210.5 61h0\"></path>\n<path d=\"M256 61h0\"></path>\n<rect x=\"210.5\" y=\"50\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.25\" y=\"65\">\"=\"</text>\n</g>\n<path d=\"M256 61h10\"></path>\n<path d=\"M266 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M276 61h0\"></path>\n<path d=\"M398 61h0\"></path>\n<rect x=\"276\" y=\"50\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"337\" y=\"65\">\"GROUP SIZE\"</text>\n</g>\n</g>\n<path d=\"M406.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M406.5 91h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M190.5 91h0\"></path>\n<rect x=\"60\" y=\"80\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"125.25\" y=\"95\">ComponentName</text>\n</a>\n</g>\n<path d=\"M190.5 91h10\"></path>\n<path d=\"M200.5 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M210.5 91h0\"></path>\n<path d=\"M256 91h0\"></path>\n<rect x=\"210.5\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.25\" y=\"95\">\"=\"</text>\n</g>\n<path d=\"M256 91h10\"></path>\n<path d=\"M266 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M276 91h0\"></path>\n<path d=\"M406.5 91h0\"></path>\n<rect x=\"276\" y=\"80\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"341.25\" y=\"95\">\"GROUP INDEX\"</text>\n</g>\n</g>\n<path d=\"M406.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 426.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/For",
+        "expression/LoopGroupBy"
+      ],
+      "filename": "loop_group_by_component.ts"
+    },
+    {
+      "name": "LoopGroupByTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"REFERENCE\"')),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}))))).toString();",
+      "using": [
+        "expression/FSTarget",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"485.5\" height=\"109\" viewBox=\"0 0 485.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 48h0\"></path>\n<path d=\"M445.5 48h0\"></path>\n<path d=\"M40 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h365.5\"></path>\n</g>\n<path d=\"M425.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 48h20\"></path>\n<g>\n<path d=\"M60 48h0\"></path>\n<path d=\"M425.5 48h0\"></path>\n<path d=\"M60 48h20\"></path>\n<g>\n<path d=\"M80 48h0\"></path>\n<path d=\"M405.5 48h0\"></path>\n<g>\n<path d=\"M80 48h0\"></path>\n<path d=\"M233.5 48h0\"></path>\n<path d=\"M80 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M100 28h113.5\"></path>\n</g>\n<path d=\"M213.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M80 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M100 48h0\"></path>\n<path d=\"M213.5 48h0\"></path>\n<rect x=\"100\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"156.75\" y=\"52\">\"REFERENCE\"</text>\n</g>\n<path d=\"M213.5 48h20\"></path>\n</g>\n<path d=\"M233.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 48h0\"></path>\n<path d=\"M314.5 48h0\"></path>\n<rect x=\"243.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279\" y=\"52\">\"INTO\"</text>\n</g>\n<path d=\"M314.5 48h10\"></path>\n<path d=\"M324.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M334.5 48h0\"></path>\n<path d=\"M405.5 48h0\"></path>\n<rect x=\"334.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"370\" y=\"52\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M405.5 48h20\"></path>\n<path d=\"M60 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 78h0\"></path>\n<path d=\"M301.5 78h104\"></path>\n<g class=\"terminal\">\n<path d=\"M80 78h0\"></path>\n<path d=\"M193.5 78h0\"></path>\n<rect x=\"80\" y=\"67\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.75\" y=\"82\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M193.5 78h10\"></path>\n<path d=\"M203.5 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M213.5 78h0\"></path>\n<path d=\"M301.5 78h0\"></path>\n<rect x=\"213.5\" y=\"67\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"257.5\" y=\"82\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M405.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M425.5 48h20\"></path>\n</g>\n<path d=\"M 445.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/LoopGroupBy"
+      ],
+      "filename": "loop_group_by_target.ts"
+    },
+    {
+      "name": "LoopTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"REFERENCE\"')),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}))),Railroad.Optional(Railroad.Terminal('\"CASTING\"'))),Railroad.Terminal('\"TRANSPORTING NO FIELDS\"'))).toString();",
+      "using": [
+        "expression/FSTarget",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"622\" height=\"131\" viewBox=\"0 0 622 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M582 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M562 40h0\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M425.5 40h0\"></path>\n<path d=\"M60 40h20\"></path>\n<g>\n<path d=\"M80 40h0\"></path>\n<path d=\"M405.5 40h0\"></path>\n<g>\n<path d=\"M80 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M80 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M100 20h113.5\"></path>\n</g>\n<path d=\"M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M80 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M100 40h0\"></path>\n<path d=\"M213.5 40h0\"></path>\n<rect x=\"100\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"156.75\" y=\"44\">\"REFERENCE\"</text>\n</g>\n<path d=\"M213.5 40h20\"></path>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<rect x=\"243.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M314.5 40h10\"></path>\n<path d=\"M324.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M334.5 40h0\"></path>\n<path d=\"M405.5 40h0\"></path>\n<rect x=\"334.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"370\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M405.5 40h20\"></path>\n<path d=\"M60 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 70h0\"></path>\n<path d=\"M301.5 70h104\"></path>\n<g class=\"terminal\">\n<path d=\"M80 70h0\"></path>\n<path d=\"M193.5 70h0\"></path>\n<rect x=\"80\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.75\" y=\"74\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M193.5 70h10\"></path>\n<path d=\"M203.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M213.5 70h0\"></path>\n<path d=\"M301.5 70h0\"></path>\n<rect x=\"213.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"257.5\" y=\"74\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M405.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M425.5 40h0\"></path>\n<path d=\"M562 40h0\"></path>\n<path d=\"M425.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M445.5 20h96.5\"></path>\n</g>\n<path d=\"M542 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M425.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M445.5 40h0\"></path>\n<path d=\"M542 40h0\"></path>\n<rect x=\"445.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"493.75\" y=\"44\">\"CASTING\"</text>\n</g>\n<path d=\"M542 40h20\"></path>\n</g>\n</g>\n<path d=\"M562 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M284 100h278\"></path>\n<rect x=\"60\" y=\"89\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"172\" y=\"104\">\"TRANSPORTING NO FIELDS\"</text>\n</g>\n<path d=\"M562 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 582 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Loop"
+      ],
+      "filename": "loop_target.ts"
+    },
+    {
+      "name": "MacroName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?[\\\\w\\\\*%\\\\?$&]+>?$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?[\\\\w\\\\*%\\\\?$&]+>?$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"726\" height=\"80\" viewBox=\"0 0 726 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M676 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M291 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"170.5\" y=\"44\">^(\\/\\w+\\/)?&#91;\\w\\&#42;%\\?$&#38;&#93;+>?$</text>\n</g>\n<path d=\"M291 40h10\"></path>\n<g>\n<path d=\"M301 40h0\"></path>\n<path d=\"M676 40h0\"></path>\n<path d=\"M301 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M321 20h335\"></path>\n</g>\n<path d=\"M656 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M301 40h20\"></path>\n<g>\n<path d=\"M321 40h0\"></path>\n<path d=\"M656 40h0\"></path>\n<path d=\"M321 40h10\"></path>\n<g>\n<path d=\"M331 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M331 40h0\"></path>\n<path d=\"M385 40h0\"></path>\n<rect x=\"331\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"358\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M385 40h10\"></path>\n<path d=\"M395 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M405 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<rect x=\"405\" y=\"29\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"525.5\" y=\"44\">^(\\/\\w+\\/)?&#91;\\w\\&#42;%\\?$&#38;&#93;+>?$</text>\n</g>\n</g>\n<path d=\"M646 40h10\"></path>\n<path d=\"M331 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M331 60h315\"></path>\n</g>\n<path d=\"M646 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M656 40h20\"></path>\n</g>\n</g>\n<path d=\"M676 40h10\"></path>\n<path d=\"M 686 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Define"
+      ],
+      "filename": "macro_name.ts"
+    },
+    {
+      "name": "MessageClass",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^>?[\\\\w\\\\/]+#?@?\\\\/?!?&?>?\\\\$?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"349.5\" height=\"62\" viewBox=\"0 0 349.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M299.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"249.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"174.75\" y=\"35\">^>?&#91;\\w\\/&#93;+#?@?\\/?!?&#38;?>?\\$?$</text>\n</g>\n<path d=\"M299.5 31h10\"></path>\n<path d=\"M 309.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MessageSource",
+        "statement/FunctionPool",
+        "statement/Report"
+      ],
+      "filename": "message_class.ts"
+    },
+    {
+      "name": "MessageNumber",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\d\\\\d\\\\d$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"188\" height=\"62\" viewBox=\"0 0 188 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">^\\d\\d\\d$</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M 148 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MessageSource",
+        "statement/Raise"
+      ],
+      "filename": "message_number.ts"
+    },
+    {
+      "name": "MessageSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('MessageTypeAndNumber', {href: '#/expression/MessageTypeAndNumber'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('MessageClass', {href: '#/expression/MessageClass'}),Railroad.Terminal('!\") \"')))),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"NUMBER\"'),Railroad.Choice(0, Railroad.NonTerminal('MessageNumber', {href: '#/expression/MessageNumber'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/MessageClass",
+        "expression/MessageNumber",
+        "expression/MessageTypeAndNumber",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"735.5\" height=\"131\" viewBox=\"0 0 735.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M695.5 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M578.5 40h97\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M250 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageTypeAndNumber\"><text x=\"155\" y=\"44\">MessageTypeAndNumber</text>\n</a>\n</g>\n<path d=\"M250 40h10\"></path>\n<g>\n<path d=\"M260 40h0\"></path>\n<path d=\"M578.5 40h0\"></path>\n<path d=\"M260 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M280 20h278.5\"></path>\n</g>\n<path d=\"M558.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M260 40h20\"></path>\n<g>\n<path d=\"M280 40h0\"></path>\n<path d=\"M558.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M280 40h0\"></path>\n<path d=\"M334 40h0\"></path>\n<rect x=\"280\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"307\" y=\"44\">!\"(\"</text>\n</g>\n<path d=\"M334 40h10\"></path>\n<path d=\"M344 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M354 40h0\"></path>\n<path d=\"M476 40h0\"></path>\n<rect x=\"354\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageClass\"><text x=\"415\" y=\"44\">MessageClass</text>\n</a>\n</g>\n<path d=\"M476 40h10\"></path>\n<path d=\"M486 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M496 40h0\"></path>\n<path d=\"M558.5 40h0\"></path>\n<rect x=\"496\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"527.25\" y=\"44\">!\") \"</text>\n</g>\n</g>\n<path d=\"M558.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M675.5 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 70h0\"></path>\n<path d=\"M675.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 70h0\"></path>\n<path d=\"M114 70h0\"></path>\n<rect x=\"60\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"74\">\"ID\"</text>\n</g>\n<path d=\"M114 70h10\"></path>\n<path d=\"M124 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 70h0\"></path>\n<path d=\"M205 70h0\"></path>\n<rect x=\"134\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"169.5\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M205 70h10\"></path>\n<path d=\"M215 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M225 70h0\"></path>\n<path d=\"M296 70h0\"></path>\n<rect x=\"225\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.5\" y=\"74\">\"TYPE\"</text>\n</g>\n<path d=\"M296 70h10\"></path>\n<path d=\"M306 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M316 70h0\"></path>\n<path d=\"M387 70h0\"></path>\n<rect x=\"316\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"351.5\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M387 70h10\"></path>\n<path d=\"M397 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M407 70h0\"></path>\n<path d=\"M495 70h0\"></path>\n<rect x=\"407\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"451\" y=\"74\">\"NUMBER\"</text>\n</g>\n<path d=\"M495 70h10\"></path>\n<g>\n<path d=\"M505 70h0\"></path>\n<path d=\"M675.5 70h0\"></path>\n<path d=\"M505 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M525 70h0\"></path>\n<path d=\"M655.5 70h0\"></path>\n<rect x=\"525\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageNumber\"><text x=\"590.25\" y=\"74\">MessageNumber</text>\n</a>\n</g>\n<path d=\"M655.5 70h20\"></path>\n<path d=\"M505 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M525 100h0\"></path>\n<path d=\"M596 100h59.5\"></path>\n<rect x=\"525\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"560.5\" y=\"104\">Source</text>\n</a>\n</g>\n<path d=\"M655.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M675.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 695.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Message",
+        "statement/Raise"
+      ],
+      "filename": "message_source.ts"
+    },
+    {
+      "name": "MessageTypeAndNumber",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[iweaxs]\\\\d\\\\d\\\\d$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"256\" height=\"62\" viewBox=\"0 0 256 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M206 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"128\" y=\"35\">^&#91;iweaxs&#93;\\d\\d\\d$</text>\n</g>\n<path d=\"M206 31h10\"></path>\n<path d=\"M 216 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MessageSource"
+      ],
+      "filename": "message_type_and_number.ts"
+    },
+    {
+      "name": "MethodCall",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('MethodName', {href: '#/expression/MethodName'}),Railroad.NonTerminal('MethodCallParam', {href: '#/expression/MethodCallParam'}))).toString();",
+      "using": [
+        "expression/MethodCallParam",
+        "expression/MethodName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"372.5\" height=\"62\" viewBox=\"0 0 372.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M322.5 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodName\"><text x=\"102.5\" y=\"35\">MethodName</text>\n</a>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M322.5 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallParam\"><text x=\"248.75\" y=\"35\">MethodCallParam</text>\n</a>\n</g>\n</g>\n<path d=\"M322.5 31h10\"></path>\n<path d=\"M 332.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCallChain",
+        "expression/MethodSource"
+      ],
+      "filename": "method_call.ts"
+    },
+    {
+      "name": "MethodCallBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('MethodCallParam', {href: '#/expression/MethodCallParam'}),Railroad.NonTerminal('MethodParameters', {href: '#/expression/MethodParameters'}),Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"PARAMETER-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPTION-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/MethodCallParam",
+        "expression/MethodParameters",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"681\" height=\"131\" viewBox=\"0 0 681 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M641 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M207.5 31h413.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallParam\"><text x=\"133.75\" y=\"35\">MethodCallParam</text>\n</a>\n</g>\n<path d=\"M621 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M216 61h405\"></path>\n<rect x=\"60\" y=\"50\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParameters\"><text x=\"138\" y=\"65\">MethodParameters</text>\n</a>\n</g>\n<path d=\"M621 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M621 100h0\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M315.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M224.5 100h0\"></path>\n<rect x=\"60\" y=\"89\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"142.25\" y=\"104\">\"PARAMETER-TABLE\"</text>\n</g>\n<path d=\"M224.5 100h10\"></path>\n<path d=\"M234.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M244.5 100h0\"></path>\n<path d=\"M315.5 100h0\"></path>\n<rect x=\"244.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"280\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M315.5 100h10\"></path>\n<g>\n<path d=\"M325.5 100h0\"></path>\n<path d=\"M621 100h0\"></path>\n<path d=\"M325.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M345.5 80h255.5\"></path>\n</g>\n<path d=\"M601 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M325.5 100h20\"></path>\n<g>\n<path d=\"M345.5 100h0\"></path>\n<path d=\"M601 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M345.5 100h0\"></path>\n<path d=\"M510 100h0\"></path>\n<rect x=\"345.5\" y=\"89\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"427.75\" y=\"104\">\"EXCEPTION-TABLE\"</text>\n</g>\n<path d=\"M510 100h10\"></path>\n<path d=\"M520 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M530 100h0\"></path>\n<path d=\"M601 100h0\"></path>\n<rect x=\"530\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"565.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M601 100h20\"></path>\n</g>\n</g>\n<path d=\"M621 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 641 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Call",
+        "statement/CallBadi"
+      ],
+      "filename": "method_call_body.ts"
+    },
+    {
+      "name": "MethodCallChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Terminal('!\"->\"')),Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"')))),Railroad.NonTerminal('MethodCall', {href: '#/expression/MethodCall'})),Railroad.NonTerminal('NewObject', {href: '#/expression/NewObject'}),Railroad.NonTerminal('Cast', {href: '#/expression/Cast'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})))),Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('MethodCall', {href: '#/expression/MethodCall'}))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/Cast",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/FieldChain",
+        "expression/MethodCall",
+        "expression/NewObject"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1093\" height=\"169\" viewBox=\"0 0 1093 169\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1043 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M472.5 48h0\"></path>\n<path d=\"M50 48h20\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M452.5 48h0\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M337.5 48h0\"></path>\n<path d=\"M70 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M90 28h227.5\"></path>\n</g>\n<path d=\"M317.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M70 48h20\"></path>\n<g>\n<path d=\"M90 48h0\"></path>\n<path d=\"M317.5 48h0\"></path>\n<path d=\"M90 48h20\"></path>\n<g>\n<path d=\"M110 48h0\"></path>\n<path d=\"M297.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M110 48h0\"></path>\n<path d=\"M215 48h0\"></path>\n<rect x=\"110\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"162.5\" y=\"52\">FieldChain</text>\n</a>\n</g>\n<path d=\"M215 48h10\"></path>\n<path d=\"M225 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 48h0\"></path>\n<path d=\"M297.5 48h0\"></path>\n<rect x=\"235\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"52\">!\"->\"</text>\n</g>\n</g>\n<path d=\"M297.5 48h20\"></path>\n<path d=\"M90 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M110 78h0\"></path>\n<path d=\"M289 78h8.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M110 78h0\"></path>\n<path d=\"M206.5 78h0\"></path>\n<rect x=\"110\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"158.25\" y=\"82\">ClassName</text>\n</a>\n</g>\n<path d=\"M206.5 78h10\"></path>\n<path d=\"M216.5 78h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 78h0\"></path>\n<path d=\"M289 78h0\"></path>\n<rect x=\"226.5\" y=\"67\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"82\">!\"=>\"</text>\n</g>\n</g>\n<path d=\"M297.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M317.5 48h20\"></path>\n</g>\n<path d=\"M337.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M347.5 48h0\"></path>\n<path d=\"M452.5 48h0\"></path>\n<rect x=\"347.5\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCall\"><text x=\"400\" y=\"52\">MethodCall</text>\n</a>\n</g>\n</g>\n<path d=\"M452.5 48h20\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 108h0\"></path>\n<path d=\"M166.5 108h286\"></path>\n<rect x=\"70\" y=\"97\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NewObject\"><text x=\"118.25\" y=\"112\">NewObject</text>\n</a>\n</g>\n<path d=\"M452.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 138h0\"></path>\n<path d=\"M124 138h328.5\"></path>\n<rect x=\"70\" y=\"127\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cast\"><text x=\"97\" y=\"142\">Cast</text>\n</a>\n</g>\n<path d=\"M452.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M472.5 48h0\"></path>\n<path d=\"M1043 48h0\"></path>\n<path d=\"M472.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M492.5 20h530.5\"></path>\n</g>\n<path d=\"M1023 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M472.5 48h20\"></path>\n<g>\n<path d=\"M492.5 48h0\"></path>\n<path d=\"M1023 48h0\"></path>\n<path d=\"M492.5 48h10\"></path>\n<g>\n<path d=\"M502.5 48h0\"></path>\n<path d=\"M1013 48h0\"></path>\n<g>\n<path d=\"M502.5 48h0\"></path>\n<path d=\"M815.5 48h0\"></path>\n<path d=\"M502.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M522.5 28h273\"></path>\n</g>\n<path d=\"M795.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M502.5 48h20\"></path>\n<g>\n<path d=\"M522.5 48h0\"></path>\n<path d=\"M795.5 48h0\"></path>\n<path d=\"M522.5 48h10\"></path>\n<g>\n<path d=\"M532.5 48h0\"></path>\n<path d=\"M785.5 48h0\"></path>\n<path d=\"M532.5 48h20\"></path>\n<g>\n<path d=\"M552.5 48h0\"></path>\n<path d=\"M765.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M552.5 48h0\"></path>\n<path d=\"M615 48h0\"></path>\n<rect x=\"552.5\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"583.75\" y=\"52\">!\"->\"</text>\n</g>\n<path d=\"M615 48h10\"></path>\n<path d=\"M625 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M635 48h0\"></path>\n<path d=\"M765.5 48h0\"></path>\n<rect x=\"635\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"700.25\" y=\"52\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M765.5 48h20\"></path>\n<path d=\"M532.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M552.5 78h0\"></path>\n<path d=\"M757 78h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M552.5 78h0\"></path>\n<path d=\"M606.5 78h0\"></path>\n<rect x=\"552.5\" y=\"67\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"579.5\" y=\"82\">!\"-\"</text>\n</g>\n<path d=\"M606.5 78h10\"></path>\n<path d=\"M616.5 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626.5 78h0\"></path>\n<path d=\"M757 78h0\"></path>\n<rect x=\"626.5\" y=\"67\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"691.75\" y=\"82\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M765.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M785.5 48h10\"></path>\n<path d=\"M532.5 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M532.5 97h253\"></path>\n</g>\n<path d=\"M785.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M795.5 48h20\"></path>\n</g>\n<path d=\"M815.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M825.5 48h0\"></path>\n<path d=\"M888 48h0\"></path>\n<rect x=\"825.5\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"856.75\" y=\"52\">!\"->\"</text>\n</g>\n<path d=\"M888 48h10\"></path>\n<path d=\"M898 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M908 48h0\"></path>\n<path d=\"M1013 48h0\"></path>\n<rect x=\"908\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCall\"><text x=\"960.5\" y=\"52\">MethodCall</text>\n</a>\n</g>\n</g>\n<path d=\"M1013 48h10\"></path>\n<path d=\"M502.5 48a10 10 0 0 0 -10 10v37a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M502.5 105h510.5\"></path>\n</g>\n<path d=\"M1013 105a10 10 0 0 0 10 -10v-37a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1023 48h20\"></path>\n</g>\n</g>\n<path d=\"M1043 48h10\"></path>\n<path d=\"M 1053 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Compare",
+        "expression/SimpleSource1",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "statement/Call"
+      ],
+      "filename": "method_call_chain.ts"
+    },
+    {
+      "name": "MethodCallParam",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}),Railroad.NonTerminal('MethodParameters', {href: '#/expression/MethodParameters'})),Railroad.Choice(0, Railroad.Terminal('!\" )\"'),Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\")\"'),Railroad.Terminal('!\") \"'))),Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}),Railroad.NonTerminal('MethodParameters', {href: '#/expression/MethodParameters'})),Railroad.Choice(0, Railroad.Terminal('!\" )\"'),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('ConstantString', {href: '#/expression/ConstantString'}),Railroad.Choice(0, Railroad.Terminal('!\")\"'),Railroad.Terminal('!\") \"'))))).toString();",
+      "using": [
+        "expression/ConstantString",
+        "expression/MethodParameters",
+        "expression/ParameterListS",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"499.5\" height=\"302\" viewBox=\"0 0 499.5 302\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M459.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M439.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M122.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"35\">!\"( \"</text>\n</g>\n<path d=\"M122.5 31h10\"></path>\n<g>\n<path d=\"M132.5 31h0\"></path>\n<path d=\"M328.5 31h0\"></path>\n<path d=\"M132.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M152.5 31h0\"></path>\n<path d=\"M223.5 31h85\"></path>\n<rect x=\"152.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"188\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M308.5 31h20\"></path>\n<path d=\"M132.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M152.5 61h0\"></path>\n<path d=\"M291.5 61h17\"></path>\n<rect x=\"152.5\" y=\"50\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"222\" y=\"65\">ParameterListS</text>\n</a>\n</g>\n<path d=\"M308.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M132.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M152.5 91h0\"></path>\n<path d=\"M308.5 91h0\"></path>\n<rect x=\"152.5\" y=\"80\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParameters\"><text x=\"230.5\" y=\"95\">MethodParameters</text>\n</a>\n</g>\n<path d=\"M308.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M328.5 31h0\"></path>\n<path d=\"M439.5 31h0\"></path>\n<path d=\"M328.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 31h0\"></path>\n<path d=\"M411 31h8.5\"></path>\n<rect x=\"348.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379.75\" y=\"35\">!\" )\"</text>\n</g>\n<path d=\"M419.5 31h20\"></path>\n<path d=\"M328.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 61h0\"></path>\n<path d=\"M419.5 61h0\"></path>\n<rect x=\"348.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"384\" y=\"65\">!\" ) \"</text>\n</g>\n<path d=\"M419.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M328.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 91h0\"></path>\n<path d=\"M402.5 91h17\"></path>\n<rect x=\"348.5\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"375.5\" y=\"95\">!\")\"</text>\n</g>\n<path d=\"M419.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M328.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 121h0\"></path>\n<path d=\"M411 121h8.5\"></path>\n<rect x=\"348.5\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379.75\" y=\"125\">!\") \"</text>\n</g>\n<path d=\"M419.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M439.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 151h0\"></path>\n<path d=\"M431 151h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M114 151h0\"></path>\n<rect x=\"60\" y=\"140\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"155\">!\"(\"</text>\n</g>\n<path d=\"M114 151h10\"></path>\n<g>\n<path d=\"M124 151h0\"></path>\n<path d=\"M320 151h0\"></path>\n<path d=\"M124 151h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M144 151h0\"></path>\n<path d=\"M215 151h85\"></path>\n<rect x=\"144\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"179.5\" y=\"155\">Source</text>\n</a>\n</g>\n<path d=\"M300 151h20\"></path>\n<path d=\"M124 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M144 181h0\"></path>\n<path d=\"M283 181h17\"></path>\n<rect x=\"144\" y=\"170\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"213.5\" y=\"185\">ParameterListS</text>\n</a>\n</g>\n<path d=\"M300 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M124 151a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M144 211h0\"></path>\n<path d=\"M300 211h0\"></path>\n<rect x=\"144\" y=\"200\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParameters\"><text x=\"222\" y=\"215\">MethodParameters</text>\n</a>\n</g>\n<path d=\"M300 211a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M320 151h0\"></path>\n<path d=\"M431 151h0\"></path>\n<path d=\"M320 151h20\"></path>\n<g class=\"terminal\">\n<path d=\"M340 151h0\"></path>\n<path d=\"M402.5 151h8.5\"></path>\n<rect x=\"340\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"371.25\" y=\"155\">!\" )\"</text>\n</g>\n<path d=\"M411 151h20\"></path>\n<path d=\"M320 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M340 181h0\"></path>\n<path d=\"M411 181h0\"></path>\n<rect x=\"340\" y=\"170\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"375.5\" y=\"185\">!\" ) \"</text>\n</g>\n<path d=\"M411 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M439.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 241h0\"></path>\n<path d=\"M385.5 241h54\"></path>\n<g class=\"terminal\">\n<path d=\"M60 241h0\"></path>\n<path d=\"M114 241h0\"></path>\n<rect x=\"60\" y=\"230\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"245\">!\"(\"</text>\n</g>\n<path d=\"M114 241h10\"></path>\n<path d=\"M124 241h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 241h0\"></path>\n<path d=\"M273 241h0\"></path>\n<rect x=\"134\" y=\"230\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantString\"><text x=\"203.5\" y=\"245\">ConstantString</text>\n</a>\n</g>\n<path d=\"M273 241h10\"></path>\n<g>\n<path d=\"M283 241h0\"></path>\n<path d=\"M385.5 241h0\"></path>\n<path d=\"M283 241h20\"></path>\n<g class=\"terminal\">\n<path d=\"M303 241h0\"></path>\n<path d=\"M357 241h8.5\"></path>\n<rect x=\"303\" y=\"230\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330\" y=\"245\">!\")\"</text>\n</g>\n<path d=\"M365.5 241h20\"></path>\n<path d=\"M283 241a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 271h0\"></path>\n<path d=\"M365.5 271h0\"></path>\n<rect x=\"303\" y=\"260\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"275\">!\") \"</text>\n</g>\n<path d=\"M365.5 271a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M439.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 459.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCall",
+        "expression/MethodCallBody"
+      ],
+      "filename": "method_call_param.ts"
+    },
+    {
+      "name": "MethodDefChanging",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodParamOptional', {href: '#/expression/MethodParamOptional'})))).toString();",
+      "using": [
+        "expression/MethodParamOptional"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"426.5\" height=\"71\" viewBox=\"0 0 426.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M376.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"CHANGING\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g>\n<path d=\"M175 31h0\"></path>\n<path d=\"M376.5 31h0\"></path>\n<path d=\"M175 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M366.5 31h0\"></path>\n<rect x=\"185\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamOptional\"><text x=\"275.75\" y=\"35\">MethodParamOptional</text>\n</a>\n</g>\n<path d=\"M366.5 31h10\"></path>\n<path d=\"M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M185 51h181.5\"></path>\n</g>\n<path d=\"M366.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M376.5 31h10\"></path>\n<path d=\"M 386.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_changing.ts"
+    },
+    {
+      "name": "MethodDefExceptions",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"EXCEPTIONS\"'),Railroad.OneOrMore(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"443.5\" height=\"71\" viewBox=\"0 0 443.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M393.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M172 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"35\">\"EXCEPTIONS\"</text>\n</g>\n<path d=\"M172 31h10\"></path>\n<path d=\"M182 31h10\"></path>\n<g>\n<path d=\"M192 31h0\"></path>\n<path d=\"M393.5 31h0\"></path>\n<path d=\"M192 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M202 31h0\"></path>\n<path d=\"M383.5 31h0\"></path>\n<rect x=\"202\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"292.75\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M383.5 31h10\"></path>\n<path d=\"M202 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M202 51h181.5\"></path>\n</g>\n<path d=\"M383.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M393.5 31h10\"></path>\n<path d=\"M 403.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_exceptions.ts"
+    },
+    {
+      "name": "MethodDefExporting",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodParam', {href: '#/expression/MethodParam'})))).toString();",
+      "using": [
+        "expression/MethodParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"367\" height=\"71\" viewBox=\"0 0 367 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M317 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"EXPORTING\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g>\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M317 31h0\"></path>\n<path d=\"M183.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M307 31h0\"></path>\n<rect x=\"193.5\" y=\"20\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParam\"><text x=\"250.25\" y=\"35\">MethodParam</text>\n</a>\n</g>\n<path d=\"M307 31h10\"></path>\n<path d=\"M193.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M193.5 51h113.5\"></path>\n</g>\n<path d=\"M307 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M317 31h10\"></path>\n<path d=\"M 327 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_exporting.ts"
+    },
+    {
+      "name": "MethodDefImporting",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodParamOptional', {href: '#/expression/MethodParamOptional'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PREFERRED PARAMETER\"'),Railroad.Terminal(\"^!?(\\\\/\\\\w+\\\\/)?\\\\w+$\"))))).toString();",
+      "using": [
+        "expression/MethodParamOptional"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"868\" height=\"80\" viewBox=\"0 0 868 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M818 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"44\">\"IMPORTING\"</text>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<path d=\"M173.5 40h10\"></path>\n<g>\n<path d=\"M183.5 40h0\"></path>\n<path d=\"M385 40h0\"></path>\n<path d=\"M183.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M193.5 40h0\"></path>\n<path d=\"M375 40h0\"></path>\n<rect x=\"193.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamOptional\"><text x=\"284.25\" y=\"44\">MethodParamOptional</text>\n</a>\n</g>\n<path d=\"M375 40h10\"></path>\n<path d=\"M193.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M193.5 60h181.5\"></path>\n</g>\n<path d=\"M375 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M385 40h10\"></path>\n<g>\n<path d=\"M395 40h0\"></path>\n<path d=\"M818 40h0\"></path>\n<path d=\"M395 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M415 20h383\"></path>\n</g>\n<path d=\"M798 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M395 40h20\"></path>\n<g>\n<path d=\"M415 40h0\"></path>\n<path d=\"M798 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M415 40h0\"></path>\n<path d=\"M613.5 40h0\"></path>\n<rect x=\"415\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"514.25\" y=\"44\">\"PREFERRED PARAMETER\"</text>\n</g>\n<path d=\"M613.5 40h10\"></path>\n<path d=\"M623.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 40h0\"></path>\n<path d=\"M798 40h0\"></path>\n<rect x=\"633.5\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"715.75\" y=\"44\">^!?(\\/\\w+\\/)?\\w+$</text>\n</g>\n</g>\n<path d=\"M798 40h20\"></path>\n</g>\n</g>\n<path d=\"M818 40h10\"></path>\n<path d=\"M 828 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_importing.ts"
+    },
+    {
+      "name": "MethodDefRaising",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"RESUMABLE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\") \"')),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}))))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"663\" height=\"100\" viewBox=\"0 0 663 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M613 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"RAISING\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g>\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M613 31h0\"></path>\n<path d=\"M166.5 31h10\"></path>\n<g>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M603 31h0\"></path>\n<path d=\"M176.5 31h20\"></path>\n<g>\n<path d=\"M196.5 31h0\"></path>\n<path d=\"M583 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 31h0\"></path>\n<path d=\"M310 31h0\"></path>\n<rect x=\"196.5\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.25\" y=\"35\">\"RESUMABLE\"</text>\n</g>\n<path d=\"M310 31h10\"></path>\n<path d=\"M320 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M330 31h0\"></path>\n<path d=\"M384 31h0\"></path>\n<rect x=\"330\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"357\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M384 31h10\"></path>\n<path d=\"M394 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 31h0\"></path>\n<path d=\"M500.5 31h0\"></path>\n<rect x=\"404\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"452.25\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M500.5 31h10\"></path>\n<path d=\"M510.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M520.5 31h0\"></path>\n<path d=\"M583 31h0\"></path>\n<rect x=\"520.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"551.75\" y=\"35\">!\") \"</text>\n</g>\n</g>\n<path d=\"M583 31h20\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M196.5 61h0\"></path>\n<path d=\"M293 61h290\"></path>\n<rect x=\"196.5\" y=\"50\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"244.75\" y=\"65\">ClassName</text>\n</a>\n</g>\n<path d=\"M583 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M603 31h10\"></path>\n<path d=\"M176.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 80h426.5\"></path>\n</g>\n<path d=\"M603 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M613 31h10\"></path>\n<path d=\"M 623 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_raising.ts"
+    },
+    {
+      "name": "MethodDefReturning",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"RETURNING\"'),Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('!\") \"')),Railroad.NonTerminal('TypeParam', {href: '#/expression/TypeParam'}))).toString();",
+      "using": [
+        "expression/MethodParamName",
+        "expression/TypeParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"753.5\" height=\"62\" viewBox=\"0 0 753.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M703.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"RETURNING\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g>\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M587 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M263 31h0\"></path>\n<rect x=\"183.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"223.25\" y=\"35\">\"VALUE\"</text>\n</g>\n<path d=\"M263 31h10\"></path>\n<path d=\"M273 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M283 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"283\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"310\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M337 31h10\"></path>\n<path d=\"M347 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M357 31h0\"></path>\n<path d=\"M504.5 31h0\"></path>\n<rect x=\"357\" y=\"20\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"430.75\" y=\"35\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M504.5 31h10\"></path>\n<path d=\"M514.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M524.5 31h0\"></path>\n<path d=\"M587 31h0\"></path>\n<rect x=\"524.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"555.75\" y=\"35\">!\") \"</text>\n</g>\n</g>\n<path d=\"M587 31h10\"></path>\n<path d=\"M597 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M607 31h0\"></path>\n<path d=\"M703.5 31h0\"></path>\n<rect x=\"607\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeParam\"><text x=\"655.25\" y=\"35\">TypeParam</text>\n</a>\n</g>\n</g>\n<path d=\"M703.5 31h10\"></path>\n<path d=\"M 713.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "method_def_returning.ts"
+    },
+    {
+      "name": "MethodName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?\\\\w+(~\\\\w+)?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"307\" height=\"62\" viewBox=\"0 0 307 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M257 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"153.5\" y=\"35\">^(\\/\\w+\\/)?\\w+(~\\w+)?$</text>\n</g>\n<path d=\"M257 31h10\"></path>\n<path d=\"M 267 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AbstractMethods",
+        "expression/FinalMethods",
+        "expression/MethodCall",
+        "statement/MethodDef",
+        "statement/MethodImplementation"
+      ],
+      "filename": "method_name.ts"
+    },
+    {
+      "name": "MethodParam",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('!\") \"')),Railroad.Sequence(Railroad.Terminal('\"REFERENCE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('!\") \"')),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})),Railroad.NonTerminal('TypeParam', {href: '#/expression/TypeParam'}))).toString();",
+      "using": [
+        "expression/MethodParamName",
+        "expression/TypeParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"684\" height=\"122\" viewBox=\"0 0 684 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M634 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M527.5 31h0\"></path>\n<path d=\"M50 31h20\"></path>\n<g>\n<path d=\"M70 31h0\"></path>\n<path d=\"M473.5 31h34\"></path>\n<g class=\"terminal\">\n<path d=\"M70 31h0\"></path>\n<path d=\"M149.5 31h0\"></path>\n<rect x=\"70\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"109.75\" y=\"35\">\"VALUE\"</text>\n</g>\n<path d=\"M149.5 31h10\"></path>\n<path d=\"M159.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M169.5 31h0\"></path>\n<path d=\"M223.5 31h0\"></path>\n<rect x=\"169.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"196.5\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M223.5 31h10\"></path>\n<path d=\"M233.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 31h0\"></path>\n<path d=\"M391 31h0\"></path>\n<rect x=\"243.5\" y=\"20\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"317.25\" y=\"35\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M391 31h10\"></path>\n<path d=\"M401 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M411 31h0\"></path>\n<path d=\"M473.5 31h0\"></path>\n<rect x=\"411\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"442.25\" y=\"35\">!\") \"</text>\n</g>\n</g>\n<path d=\"M507.5 31h20\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 61h0\"></path>\n<path d=\"M507.5 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 61h0\"></path>\n<path d=\"M183.5 61h0\"></path>\n<rect x=\"70\" y=\"50\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"65\">\"REFERENCE\"</text>\n</g>\n<path d=\"M183.5 61h10\"></path>\n<path d=\"M193.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M203.5 61h0\"></path>\n<path d=\"M257.5 61h0\"></path>\n<rect x=\"203.5\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"230.5\" y=\"65\">!\"(\"</text>\n</g>\n<path d=\"M257.5 61h10\"></path>\n<path d=\"M267.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M277.5 61h0\"></path>\n<path d=\"M425 61h0\"></path>\n<rect x=\"277.5\" y=\"50\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"351.25\" y=\"65\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M425 61h10\"></path>\n<path d=\"M435 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M445 61h0\"></path>\n<path d=\"M507.5 61h0\"></path>\n<rect x=\"445\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"476.25\" y=\"65\">!\") \"</text>\n</g>\n</g>\n<path d=\"M507.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 91h0\"></path>\n<path d=\"M217.5 91h290\"></path>\n<rect x=\"70\" y=\"80\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"143.75\" y=\"95\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M507.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M527.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M537.5 31h0\"></path>\n<path d=\"M634 31h0\"></path>\n<rect x=\"537.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeParam\"><text x=\"585.75\" y=\"35\">TypeParam</text>\n</a>\n</g>\n</g>\n<path d=\"M634 31h10\"></path>\n<path d=\"M 644 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodDefExporting",
+        "expression/MethodParamOptional"
+      ],
+      "filename": "method_param.ts"
+    },
+    {
+      "name": "MethodParamName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^!?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\w+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"290\" height=\"62\" viewBox=\"0 0 290 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">^!?\\w&#42;(\\/\\w+\\/)?\\w+$</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<path d=\"M 250 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/EventHandler",
+        "expression/MethodDefReturning",
+        "expression/MethodParam",
+        "statement/MethodDef"
+      ],
+      "filename": "method_param_name.ts"
+    },
+    {
+      "name": "MethodParamOptional",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('MethodParam', {href: '#/expression/MethodParam'}),Railroad.Optional(Railroad.Terminal('\"OPTIONAL\"')))).toString();",
+      "using": [
+        "expression/MethodParam"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"368.5\" height=\"71\" viewBox=\"0 0 368.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParam\"><text x=\"106.75\" y=\"44\">MethodParam</text>\n</a>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<g>\n<path d=\"M173.5 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<path d=\"M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M193.5 20h105\"></path>\n</g>\n<path d=\"M298.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M173.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M193.5 40h0\"></path>\n<path d=\"M298.5 40h0\"></path>\n<rect x=\"193.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246\" y=\"44\">\"OPTIONAL\"</text>\n</g>\n<path d=\"M298.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M318.5 40h10\"></path>\n<path d=\"M 328.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodDefChanging",
+        "expression/MethodDefImporting",
+        "statement/Events"
+      ],
+      "filename": "method_param_optional.ts"
+    },
+    {
+      "name": "MethodParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RECEIVING\"'),Railroad.NonTerminal('ParameterT', {href: '#/expression/ParameterT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPTIONS\"'),Railroad.NonTerminal('ParameterListExceptions', {href: '#/expression/ParameterListExceptions'}))))).toString();",
+      "using": [
+        "expression/ParameterListExceptions",
+        "expression/ParameterListS",
+        "expression/ParameterListT",
+        "expression/ParameterT"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1705\" height=\"71\" viewBox=\"0 0 1705 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1655 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h272.5\"></path>\n</g>\n<path d=\"M342.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M342.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M183.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"44\">\"EXPORTING\"</text>\n</g>\n<path d=\"M183.5 40h10\"></path>\n<path d=\"M193.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M342.5 40h0\"></path>\n<rect x=\"203.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"273\" y=\"44\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M342.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M675 40h0\"></path>\n<path d=\"M362.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M382.5 20h272.5\"></path>\n</g>\n<path d=\"M655 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M362.5 40h20\"></path>\n<g>\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M655 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M496 40h0\"></path>\n<rect x=\"382.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"439.25\" y=\"44\">\"IMPORTING\"</text>\n</g>\n<path d=\"M496 40h10\"></path>\n<path d=\"M506 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M516 40h0\"></path>\n<path d=\"M655 40h0\"></path>\n<rect x=\"516\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"585.5\" y=\"44\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M655 40h20\"></path>\n</g>\n<g>\n<path d=\"M675 40h0\"></path>\n<path d=\"M979 40h0\"></path>\n<path d=\"M675 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M695 20h264\"></path>\n</g>\n<path d=\"M959 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M675 40h20\"></path>\n<g>\n<path d=\"M695 40h0\"></path>\n<path d=\"M959 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M695 40h0\"></path>\n<path d=\"M800 40h0\"></path>\n<rect x=\"695\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"747.5\" y=\"44\">\"CHANGING\"</text>\n</g>\n<path d=\"M800 40h10\"></path>\n<path d=\"M810 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M820 40h0\"></path>\n<path d=\"M959 40h0\"></path>\n<rect x=\"820\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"889.5\" y=\"44\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M959 40h20\"></path>\n</g>\n<g>\n<path d=\"M979 40h0\"></path>\n<path d=\"M1257.5 40h0\"></path>\n<path d=\"M979 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M999 20h238.5\"></path>\n</g>\n<path d=\"M1237.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M979 40h20\"></path>\n<g>\n<path d=\"M999 40h0\"></path>\n<path d=\"M1237.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M999 40h0\"></path>\n<path d=\"M1112.5 40h0\"></path>\n<rect x=\"999\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1055.75\" y=\"44\">\"RECEIVING\"</text>\n</g>\n<path d=\"M1112.5 40h10\"></path>\n<path d=\"M1122.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1132.5 40h0\"></path>\n<path d=\"M1237.5 40h0\"></path>\n<rect x=\"1132.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterT\"><text x=\"1185\" y=\"44\">ParameterT</text>\n</a>\n</g>\n</g>\n<path d=\"M1237.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1257.5 40h0\"></path>\n<path d=\"M1655 40h0\"></path>\n<path d=\"M1257.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1277.5 20h357.5\"></path>\n</g>\n<path d=\"M1635 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1257.5 40h20\"></path>\n<g>\n<path d=\"M1277.5 40h0\"></path>\n<path d=\"M1635 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1277.5 40h0\"></path>\n<path d=\"M1399.5 40h0\"></path>\n<rect x=\"1277.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1338.5\" y=\"44\">\"EXCEPTIONS\"</text>\n</g>\n<path d=\"M1399.5 40h10\"></path>\n<path d=\"M1409.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1419.5 40h0\"></path>\n<path d=\"M1635 40h0\"></path>\n<rect x=\"1419.5\" y=\"29\" width=\"215.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListExceptions\"><text x=\"1527.25\" y=\"44\">ParameterListExceptions</text>\n</a>\n</g>\n</g>\n<path d=\"M1635 40h20\"></path>\n</g>\n</g>\n<path d=\"M1655 40h10\"></path>\n<path d=\"M 1665 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCallBody",
+        "expression/MethodCallParam"
+      ],
+      "filename": "method_parameters.ts"
+    },
+    {
+      "name": "MethodSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"')),Railroad.Choice(0, Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'}),Railroad.NonTerminal('MethodCall', {href: '#/expression/MethodCall'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.NonTerminal('SourceField', {href: '#/expression/SourceField'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\"->\"'),Railroad.Terminal('!\"=>\"')),Railroad.Choice(0, Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'}),Railroad.NonTerminal('MethodCall', {href: '#/expression/MethodCall'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/Dynamic",
+        "expression/MethodCall",
+        "expression/SourceField",
+        "expression/SourceFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"872.5\" height=\"221\" viewBox=\"0 0 872.5 221\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M822.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M429.5 40h0\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M166.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"118.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M166.5 40h10\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<rect x=\"186.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"44\">!\"=>\"</text>\n</g>\n</g>\n<path d=\"M249 40h10\"></path>\n<g>\n<path d=\"M259 40h0\"></path>\n<path d=\"M429.5 40h0\"></path>\n<path d=\"M259 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 40h0\"></path>\n<path d=\"M409.5 40h0\"></path>\n<rect x=\"279\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"344.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n<path d=\"M409.5 40h20\"></path>\n<path d=\"M259 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 70h0\"></path>\n<path d=\"M384 70h25.5\"></path>\n<rect x=\"279\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCall\"><text x=\"331.5\" y=\"74\">MethodCall</text>\n</a>\n</g>\n<path d=\"M409.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M259 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 100h0\"></path>\n<path d=\"M358.5 100h51\"></path>\n<rect x=\"279\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"318.75\" y=\"104\">Dynamic</text>\n</a>\n</g>\n<path d=\"M409.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M429.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 130h0\"></path>\n<path d=\"M183.5 130h246\"></path>\n<rect x=\"70\" y=\"119\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceField\"><text x=\"126.75\" y=\"134\">SourceField</text>\n</a>\n</g>\n<path d=\"M429.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 160h0\"></path>\n<path d=\"M234.5 160h195\"></path>\n<rect x=\"70\" y=\"149\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"152.25\" y=\"164\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M429.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 190h0\"></path>\n<path d=\"M149.5 190h280\"></path>\n<rect x=\"70\" y=\"179\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"109.75\" y=\"194\">Dynamic</text>\n</a>\n</g>\n<path d=\"M429.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M822.5 40h0\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M469.5 20h333\"></path>\n</g>\n<path d=\"M802.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M449.5 40h20\"></path>\n<g>\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M802.5 40h0\"></path>\n<path d=\"M469.5 40h10\"></path>\n<g>\n<path d=\"M479.5 40h0\"></path>\n<path d=\"M792.5 40h0\"></path>\n<path d=\"M479.5 40h20\"></path>\n<g>\n<path d=\"M499.5 40h0\"></path>\n<path d=\"M772.5 40h0\"></path>\n<g>\n<path d=\"M499.5 40h0\"></path>\n<path d=\"M602 40h0\"></path>\n<path d=\"M499.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M519.5 40h0\"></path>\n<path d=\"M582 40h0\"></path>\n<rect x=\"519.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.75\" y=\"44\">!\"->\"</text>\n</g>\n<path d=\"M582 40h20\"></path>\n<path d=\"M499.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M519.5 70h0\"></path>\n<path d=\"M582 70h0\"></path>\n<rect x=\"519.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.75\" y=\"74\">!\"=>\"</text>\n</g>\n<path d=\"M582 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M602 40h0\"></path>\n<path d=\"M772.5 40h0\"></path>\n<path d=\"M602 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M622 40h0\"></path>\n<path d=\"M752.5 40h0\"></path>\n<rect x=\"622\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"687.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n<path d=\"M752.5 40h20\"></path>\n<path d=\"M602 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M622 70h0\"></path>\n<path d=\"M727 70h25.5\"></path>\n<rect x=\"622\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCall\"><text x=\"674.5\" y=\"74\">MethodCall</text>\n</a>\n</g>\n<path d=\"M752.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M602 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M622 100h0\"></path>\n<path d=\"M701.5 100h51\"></path>\n<rect x=\"622\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"661.75\" y=\"104\">Dynamic</text>\n</a>\n</g>\n<path d=\"M752.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M772.5 40h20\"></path>\n<path d=\"M479.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M499.5 130h0\"></path>\n<path d=\"M704 130h68.5\"></path>\n<g class=\"terminal\">\n<path d=\"M499.5 130h0\"></path>\n<path d=\"M553.5 130h0\"></path>\n<rect x=\"499.5\" y=\"119\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"526.5\" y=\"134\">!\"-\"</text>\n</g>\n<path d=\"M553.5 130h10\"></path>\n<path d=\"M563.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 130h0\"></path>\n<path d=\"M704 130h0\"></path>\n<rect x=\"573.5\" y=\"119\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"638.75\" y=\"134\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M772.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M792.5 40h10\"></path>\n<path d=\"M479.5 40a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M479.5 149h313\"></path>\n</g>\n<path d=\"M792.5 149a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M802.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M822.5 40h10\"></path>\n<path d=\"M 832.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Call",
+        "statement/CallBadi",
+        "statement/CallFunction",
+        "statement/SetHandler"
+      ],
+      "filename": "method_source.ts"
+    },
+    {
+      "name": "Modif",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[\\\\w\\\\*]{1,3}$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"230.5\" height=\"62\" viewBox=\"0 0 230.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"35\">^&#91;\\w\\&#42;&#93;{1,3}$</text>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M 190.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Parameter",
+        "statement/SelectOption",
+        "statement/SelectionScreen"
+      ],
+      "filename": "modif.ts"
+    },
+    {
+      "name": "NamespaceSimpleName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^((\\\\w*\\\\/\\\\w+\\\\/)|(\\\\w*\\\\/\\\\w+\\\\/)?[\\\\w\\\\*$%]+)$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"451.5\" height=\"62\" viewBox=\"0 0 451.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M401.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"351.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.75\" y=\"35\">^((\\w&#42;\\/\\w+\\/)|(\\w&#42;\\/\\w+\\/)?&#91;\\w\\&#42;$%&#93;+)$</text>\n</g>\n<path d=\"M401.5 31h10\"></path>\n<path d=\"M 411.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodDefExceptions",
+        "expression/TypeStructure",
+        "statement/Assert",
+        "statement/CallTransformation",
+        "statement/ClassDataBegin",
+        "statement/ClassDataEnd",
+        "statement/CommitEntities",
+        "statement/Controls",
+        "statement/DeleteCluster",
+        "statement/Enhancement",
+        "statement/Export",
+        "statement/Import",
+        "statement/LogPoint",
+        "statement/MethodDef",
+        "statement/ModifyEntities",
+        "statement/ReadEntities",
+        "statement/Submit",
+        "statement/Type",
+        "statement/TypeBegin",
+        "statement/TypeEnd",
+        "statement/TypeEnum",
+        "statement/TypeEnumBegin",
+        "statement/TypeEnumEnd",
+        "statement/TypeMesh",
+        "statement/TypeMeshBegin",
+        "statement/TypeMeshEnd"
+      ],
+      "filename": "namespace_simple_name.ts"
+    },
+    {
+      "name": "NewObject",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"NEW\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.OneOrMore(Railroad.NonTerminal('FieldAssignment', {href: '#/expression/FieldAssignment'})),Railroad.Terminal('!\" ) \"'))))),Railroad.Terminal('\")\"')))).toString();",
+      "using": [
+        "expression/FieldAssignment",
+        "expression/ParameterListS",
+        "expression/Source",
+        "expression/TypeNameOrInfer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1013.5\" height=\"187\" viewBox=\"0 0 1013.5 187\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M963.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M116 40h0\"></path>\n<text x=\"83\" y=\"45\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M116 40h10\"></path>\n<path d=\"M126 40h10\"></path>\n<g>\n<path d=\"M136 40h0\"></path>\n<path d=\"M963.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 40h0\"></path>\n<path d=\"M198.5 40h0\"></path>\n<rect x=\"136\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"167.25\" y=\"44\">\"NEW\"</text>\n</g>\n<path d=\"M198.5 40h10\"></path>\n<path d=\"M208.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218.5 40h0\"></path>\n<path d=\"M366 40h0\"></path>\n<rect x=\"218.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"292.25\" y=\"44\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M366 40h10\"></path>\n<path d=\"M376 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M386 40h0\"></path>\n<path d=\"M448.5 40h0\"></path>\n<rect x=\"386\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"417.25\" y=\"44\">!\"( \"</text>\n</g>\n<path d=\"M448.5 40h10\"></path>\n<g>\n<path d=\"M458.5 40h0\"></path>\n<path d=\"M908 40h0\"></path>\n<path d=\"M458.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M478.5 20h409.5\"></path>\n</g>\n<path d=\"M888 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M458.5 40h20\"></path>\n<g>\n<path d=\"M478.5 40h0\"></path>\n<path d=\"M888 40h0\"></path>\n<path d=\"M478.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M498.5 40h0\"></path>\n<path d=\"M569.5 40h298.5\"></path>\n<rect x=\"498.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"534\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M868 40h20\"></path>\n<path d=\"M478.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M498.5 70h0\"></path>\n<path d=\"M637.5 70h230.5\"></path>\n<rect x=\"498.5\" y=\"59\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"568\" y=\"74\">ParameterListS</text>\n</a>\n</g>\n<path d=\"M868 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M478.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M498.5 100h0\"></path>\n<path d=\"M771.5 100h96.5\"></path>\n<path d=\"M498.5 100h10\"></path>\n<g>\n<path d=\"M508.5 100h0\"></path>\n<path d=\"M761.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 100h0\"></path>\n<path d=\"M579.5 100h0\"></path>\n<rect x=\"508.5\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544\" y=\"104\">!\" ( \"</text>\n</g>\n<path d=\"M579.5 100h10\"></path>\n<path d=\"M589.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M599.5 100h0\"></path>\n<path d=\"M670.5 100h0\"></path>\n<rect x=\"599.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"635\" y=\"104\">Source</text>\n</a>\n</g>\n<path d=\"M670.5 100h10\"></path>\n<path d=\"M680.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M690.5 100h0\"></path>\n<path d=\"M761.5 100h0\"></path>\n<rect x=\"690.5\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"726\" y=\"104\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M761.5 100h10\"></path>\n<path d=\"M508.5 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 120h253\"></path>\n</g>\n<path d=\"M761.5 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M868 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M478.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M498.5 139h0\"></path>\n<path d=\"M868 139h0\"></path>\n<path d=\"M498.5 139h10\"></path>\n<g>\n<path d=\"M508.5 139h0\"></path>\n<path d=\"M858 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 139h0\"></path>\n<path d=\"M579.5 139h0\"></path>\n<rect x=\"508.5\" y=\"128\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544\" y=\"143\">!\" ( \"</text>\n</g>\n<path d=\"M579.5 139h10\"></path>\n<path d=\"M589.5 139h10\"></path>\n<g>\n<path d=\"M599.5 139h0\"></path>\n<path d=\"M767 139h0\"></path>\n<path d=\"M599.5 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M609.5 139h0\"></path>\n<path d=\"M757 139h0\"></path>\n<rect x=\"609.5\" y=\"128\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldAssignment\"><text x=\"683.25\" y=\"143\">FieldAssignment</text>\n</a>\n</g>\n<path d=\"M757 139h10\"></path>\n<path d=\"M609.5 139a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M609.5 159h147.5\"></path>\n</g>\n<path d=\"M757 159a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M767 139h10\"></path>\n<path d=\"M777 139h10\"></path>\n<g class=\"terminal\">\n<path d=\"M787 139h0\"></path>\n<path d=\"M858 139h0\"></path>\n<rect x=\"787\" y=\"128\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"822.5\" y=\"143\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M858 139h10\"></path>\n<path d=\"M508.5 139a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 167h349.5\"></path>\n</g>\n<path d=\"M858 167a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M868 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M888 40h20\"></path>\n</g>\n<path d=\"M908 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M918 40h0\"></path>\n<path d=\"M963.5 40h0\"></path>\n<rect x=\"918\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"940.75\" y=\"44\">\")\"</text>\n</g>\n</g>\n</g>\n<path d=\"M963.5 40h10\"></path>\n<path d=\"M 973.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCallChain",
+        "expression/SimpleTarget",
+        "expression/Target"
+      ],
+      "filename": "new_object.ts"
+    },
+    {
+      "name": "OLEExporting",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal(\"^[&_!#\\\\*]?[\\\\w\\\\d\\\\*%\\\\$\\\\?#]+$\"),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"651\" height=\"71\" viewBox=\"0 0 651 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M601 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"EXPORTING\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g>\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M601 31h0\"></path>\n<path d=\"M183.5 31h10\"></path>\n<g>\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M591 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M434.5 31h0\"></path>\n<rect x=\"193.5\" y=\"20\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"314\" y=\"35\">^&#91;&#38;&#95;!#\\&#42;&#93;?&#91;\\w\\d\\&#42;%\\$\\?#&#93;+$</text>\n</g>\n<path d=\"M434.5 31h10\"></path>\n<path d=\"M444.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 31h0\"></path>\n<path d=\"M500 31h0\"></path>\n<rect x=\"454.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"477.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M500 31h10\"></path>\n<path d=\"M510 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M520 31h0\"></path>\n<path d=\"M591 31h0\"></path>\n<rect x=\"520\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"555.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M591 31h10\"></path>\n<path d=\"M193.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M193.5 51h397.5\"></path>\n</g>\n<path d=\"M591 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M601 31h10\"></path>\n<path d=\"M 611 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallOLE",
+        "statement/GetProperty",
+        "statement/SetProperty"
+      ],
+      "filename": "o_le_exporting.ts"
+    },
+    {
+      "name": "Or",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"OR\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"245\" height=\"62\" viewBox=\"0 0 245 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">\"OR\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<path d=\"M114 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M124 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"124\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"159.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M 205 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/When"
+      ],
+      "filename": "or.ts"
+    },
+    {
+      "name": "ParameterException",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"OTHERS\"'),Railroad.NonTerminal('ParameterName', {href: '#/expression/ParameterName'})),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/Integer",
+        "expression/ParameterName",
+        "expression/SimpleFieldChain",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"759.5\" height=\"101\" viewBox=\"0 0 759.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M709.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h42.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"44\">\"OTHERS\"</text>\n</g>\n<path d=\"M200.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M200.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterName\"><text x=\"135.25\" y=\"74\">ParameterName</text>\n</a>\n</g>\n<path d=\"M200.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M220.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M230.5 40h0\"></path>\n<path d=\"M276 40h0\"></path>\n<rect x=\"230.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M276 40h10\"></path>\n<g>\n<path d=\"M286 40h0\"></path>\n<path d=\"M482 40h0\"></path>\n<path d=\"M286 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M306 40h0\"></path>\n<path d=\"M385.5 40h76.5\"></path>\n<rect x=\"306\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"345.75\" y=\"44\">Integer</text>\n</a>\n</g>\n<path d=\"M462 40h20\"></path>\n<path d=\"M286 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M306 70h0\"></path>\n<path d=\"M462 70h0\"></path>\n<rect x=\"306\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"384\" y=\"74\">SimpleFieldChain</text>\n</a>\n</g>\n<path d=\"M462 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M482 40h0\"></path>\n<path d=\"M709.5 40h0\"></path>\n<path d=\"M482 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M502 20h187.5\"></path>\n</g>\n<path d=\"M689.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M482 40h20\"></path>\n<g>\n<path d=\"M502 40h0\"></path>\n<path d=\"M689.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M502 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<rect x=\"502\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.25\" y=\"44\">\"MESSAGE\"</text>\n</g>\n<path d=\"M598.5 40h10\"></path>\n<path d=\"M608.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M618.5 40h0\"></path>\n<path d=\"M689.5 40h0\"></path>\n<rect x=\"618.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"654\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M689.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M709.5 40h10\"></path>\n<path d=\"M 719.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ParameterListExceptions"
+      ],
+      "filename": "parameter_exception.ts"
+    },
+    {
+      "name": "ParameterListExceptions",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.NonTerminal('ParameterException', {href: '#/expression/ParameterException'}))).toString();",
+      "using": [
+        "expression/ParameterException"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"293\" height=\"71\" viewBox=\"0 0 293 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M243 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M233 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterException\"><text x=\"146.5\" y=\"35\">ParameterException</text>\n</a>\n</g>\n<path d=\"M233 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 51h173\"></path>\n</g>\n<path d=\"M233 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M243 31h10\"></path>\n<path d=\"M 253 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FunctionParameters",
+        "expression/MethodParameters",
+        "expression/ReceiveParameters",
+        "statement/CreateObject"
+      ],
+      "filename": "parameter_list_exceptions.ts"
+    },
+    {
+      "name": "ParameterListS",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.NonTerminal('ParameterS', {href: '#/expression/ParameterS'}))).toString();",
+      "using": [
+        "expression/ParameterS"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"225\" height=\"71\" viewBox=\"0 0 225 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M175 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M165 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterS\"><text x=\"112.5\" y=\"35\">ParameterS</text>\n</a>\n</g>\n<path d=\"M165 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 51h105\"></path>\n</g>\n<path d=\"M165 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M175 31h10\"></path>\n<path d=\"M 185 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodCallParam",
+        "expression/MethodParameters",
+        "expression/NewObject",
+        "expression/Throw",
+        "statement/CallDatabase",
+        "statement/CreateObject",
+        "statement/GetBadi",
+        "statement/Raise",
+        "statement/RaiseEvent"
+      ],
+      "filename": "parameter_list_s.ts"
+    },
+    {
+      "name": "ParameterListT",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.OneOrMore(Railroad.NonTerminal('ParameterT', {href: '#/expression/ParameterT'}))).toString();",
+      "using": [
+        "expression/ParameterT"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"225\" height=\"71\" viewBox=\"0 0 225 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M175 31h0\"></path>\n<path d=\"M50 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M165 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterT\"><text x=\"112.5\" y=\"35\">ParameterT</text>\n</a>\n</g>\n<path d=\"M165 31h10\"></path>\n<path d=\"M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 51h105\"></path>\n</g>\n<path d=\"M165 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M175 31h10\"></path>\n<path d=\"M 185 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FunctionParameters",
+        "expression/MethodParameters",
+        "expression/ReceiveParameters",
+        "statement/CallDatabase"
+      ],
+      "filename": "parameter_list_t.ts"
+    },
+    {
+      "name": "ParameterName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[&_!]?\\\\*?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\d*[a-zA-Z_%\\\\$][\\\\w\\\\*%\\\\$\\\\?]*(~\\\\w+)?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"613\" height=\"62\" viewBox=\"0 0 613 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M563 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"513\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"306.5\" y=\"35\">^&#91;&#38;&#95;!&#93;?\\&#42;?\\w&#42;(\\/\\w+\\/)?\\d&#42;&#91;a-zA-Z&#95;%\\$&#93;&#91;\\w\\&#42;%\\$\\?&#93;&#42;(~\\w+)?$</text>\n</g>\n<path d=\"M563 31h10\"></path>\n<path d=\"M 573 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FunctionExportingParameter",
+        "expression/ParameterException",
+        "expression/ParameterS",
+        "expression/ParameterT"
+      ],
+      "filename": "parameter_name.ts"
+    },
+    {
+      "name": "ParameterS",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('ParameterName', {href: '#/expression/ParameterName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/ParameterName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"387\" height=\"62\" viewBox=\"0 0 387 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterName\"><text x=\"115.25\" y=\"35\">ParameterName</text>\n</a>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M190.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M200.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"200.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"223.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"301.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M337 31h10\"></path>\n<path d=\"M 347 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ParameterListS",
+        "statement/Export"
+      ],
+      "filename": "parameter_s.ts"
+    },
+    {
+      "name": "ParameterT",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('ParameterName', {href: '#/expression/ParameterName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/ParameterName",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"387\" height=\"62\" viewBox=\"0 0 387 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterName\"><text x=\"115.25\" y=\"35\">ParameterName</text>\n</a>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M190.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M200.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"200.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"223.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"301.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M337 31h10\"></path>\n<path d=\"M 347 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodParameters",
+        "expression/ParameterListT"
+      ],
+      "filename": "parameter_t.ts"
+    },
+    {
+      "name": "PassByValue",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('FormParamName', {href: '#/expression/FormParamName'}),Railroad.Terminal('!\") \"'))).toString();",
+      "using": [
+        "expression/FormParamName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"486.5\" height=\"62\" viewBox=\"0 0 486.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"VALUE\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M203.5 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"176.5\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M203.5 31h10\"></path>\n<path d=\"M213.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M223.5 31h0\"></path>\n<path d=\"M354 31h0\"></path>\n<rect x=\"223.5\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormParamName\"><text x=\"288.75\" y=\"35\">FormParamName</text>\n</a>\n</g>\n<path d=\"M354 31h10\"></path>\n<path d=\"M364 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M374 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<rect x=\"374\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"405.25\" y=\"35\">!\") \"</text>\n</g>\n</g>\n<path d=\"M436.5 31h10\"></path>\n<path d=\"M 446.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FormParam"
+      ],
+      "filename": "pass_by_value.ts"
+    },
+    {
+      "name": "PerformChanging",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.OneOrMore(Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"316\" height=\"71\" viewBox=\"0 0 316 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M266 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"CHANGING\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g>\n<path d=\"M175 31h0\"></path>\n<path d=\"M266 31h0\"></path>\n<path d=\"M175 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M256 31h0\"></path>\n<rect x=\"185\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"220.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M256 31h10\"></path>\n<path d=\"M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M185 51h71\"></path>\n</g>\n<path d=\"M256 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M266 31h10\"></path>\n<path d=\"M 276 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Perform"
+      ],
+      "filename": "perform_changing.ts"
+    },
+    {
+      "name": "PerformTables",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"TABLES\"'),Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"299\" height=\"71\" viewBox=\"0 0 299 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M249 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"TABLES\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g>\n<path d=\"M158 31h0\"></path>\n<path d=\"M249 31h0\"></path>\n<path d=\"M158 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M239 31h0\"></path>\n<rect x=\"168\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"203.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M239 31h10\"></path>\n<path d=\"M168 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 51h71\"></path>\n</g>\n<path d=\"M239 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M249 31h10\"></path>\n<path d=\"M 259 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Perform"
+      ],
+      "filename": "perform_tables.ts"
+    },
+    {
+      "name": "PerformUsing",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"290.5\" height=\"71\" viewBox=\"0 0 290.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M240.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"USING\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g>\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M240.5 31h0\"></path>\n<path d=\"M149.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 31h0\"></path>\n<path d=\"M230.5 31h0\"></path>\n<rect x=\"159.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"195\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M230.5 31h10\"></path>\n<path d=\"M159.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M159.5 51h71\"></path>\n</g>\n<path d=\"M230.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M240.5 31h10\"></path>\n<path d=\"M 250.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Perform"
+      ],
+      "filename": "perform_using.ts"
+    },
+    {
+      "name": "RadioGroupName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[\\\\w\\\\d%]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">^&#91;\\w\\d%&#93;+$</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Parameter"
+      ],
+      "filename": "radio_group_name.ts"
+    },
+    {
+      "name": "RaiseWith",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'}),Railroad.Optional(Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'})),Railroad.Optional(Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'})),Railroad.Optional(Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'})))).toString();",
+      "using": [
+        "expression/SimpleSource1"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"843\" height=\"71\" viewBox=\"0 0 843 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M793 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M271.5 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"206.25\" y=\"44\">SimpleSource1</text>\n</a>\n</g>\n<path d=\"M271.5 40h10\"></path>\n<g>\n<path d=\"M281.5 40h0\"></path>\n<path d=\"M452 40h0\"></path>\n<path d=\"M281.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M301.5 20h130.5\"></path>\n</g>\n<path d=\"M432 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M281.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M301.5 40h0\"></path>\n<path d=\"M432 40h0\"></path>\n<rect x=\"301.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"366.75\" y=\"44\">SimpleSource1</text>\n</a>\n</g>\n<path d=\"M432 40h20\"></path>\n</g>\n<g>\n<path d=\"M452 40h0\"></path>\n<path d=\"M622.5 40h0\"></path>\n<path d=\"M452 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M472 20h130.5\"></path>\n</g>\n<path d=\"M602.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M452 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M472 40h0\"></path>\n<path d=\"M602.5 40h0\"></path>\n<rect x=\"472\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"537.25\" y=\"44\">SimpleSource1</text>\n</a>\n</g>\n<path d=\"M602.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M622.5 40h0\"></path>\n<path d=\"M793 40h0\"></path>\n<path d=\"M622.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M642.5 20h130.5\"></path>\n</g>\n<path d=\"M773 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M622.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642.5 40h0\"></path>\n<path d=\"M773 40h0\"></path>\n<rect x=\"642.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"707.75\" y=\"44\">SimpleSource1</text>\n</a>\n</g>\n<path d=\"M773 40h20\"></path>\n</g>\n</g>\n<path d=\"M793 40h10\"></path>\n<path d=\"M 803 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Raise"
+      ],
+      "filename": "raise_with.ts"
+    },
+    {
+      "name": "ReadTableTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'})),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"REFERENCE\"')),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Terminal('\"TRANSPORTING NO FIELDS\"'))).toString();",
+      "using": [
+        "expression/FSTarget",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"445.5\" height=\"131\" viewBox=\"0 0 445.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M405.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M281.5 31h104\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M173.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"116.75\" y=\"35\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M173.5 31h10\"></path>\n<path d=\"M183.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M281.5 31h0\"></path>\n<rect x=\"193.5\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"237.5\" y=\"35\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M385.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 70h0\"></path>\n<path d=\"M385.5 70h0\"></path>\n<g>\n<path d=\"M60 70h0\"></path>\n<path d=\"M213.5 70h0\"></path>\n<path d=\"M60 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M80 50h113.5\"></path>\n</g>\n<path d=\"M193.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M60 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M80 70h0\"></path>\n<path d=\"M193.5 70h0\"></path>\n<rect x=\"80\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.75\" y=\"74\">\"REFERENCE\"</text>\n</g>\n<path d=\"M193.5 70h20\"></path>\n</g>\n<path d=\"M213.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M223.5 70h0\"></path>\n<path d=\"M294.5 70h0\"></path>\n<rect x=\"223.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259\" y=\"74\">\"INTO\"</text>\n</g>\n<path d=\"M294.5 70h10\"></path>\n<path d=\"M304.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M314.5 70h0\"></path>\n<path d=\"M385.5 70h0\"></path>\n<rect x=\"314.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"350\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M385.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M284 100h101.5\"></path>\n<rect x=\"60\" y=\"89\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"172\" y=\"104\">\"TRANSPORTING NO FIELDS\"</text>\n</g>\n<path d=\"M385.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 405.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ReadTable"
+      ],
+      "filename": "read_table_target.ts"
+    },
+    {
+      "name": "ReceiveParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CHANGING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TABLES\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPTIONS\"'),Railroad.Optional(Railroad.NonTerminal('ParameterListExceptions', {href: '#/expression/ParameterListExceptions'})),Railroad.Optional(Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/ParameterListExceptions",
+        "expression/ParameterListT"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1533.5\" height=\"79\" viewBox=\"0 0 1533.5 79\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1483.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M362.5 48h0\"></path>\n<path d=\"M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 28h272.5\"></path>\n</g>\n<path d=\"M342.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 48h20\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M342.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 48h0\"></path>\n<path d=\"M183.5 48h0\"></path>\n<rect x=\"70\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"52\">\"IMPORTING\"</text>\n</g>\n<path d=\"M183.5 48h10\"></path>\n<path d=\"M193.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M203.5 48h0\"></path>\n<path d=\"M342.5 48h0\"></path>\n<rect x=\"203.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"273\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M342.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M362.5 48h0\"></path>\n<path d=\"M666.5 48h0\"></path>\n<path d=\"M362.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M382.5 28h264\"></path>\n</g>\n<path d=\"M646.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M362.5 48h20\"></path>\n<g>\n<path d=\"M382.5 48h0\"></path>\n<path d=\"M646.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 48h0\"></path>\n<path d=\"M487.5 48h0\"></path>\n<rect x=\"382.5\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"435\" y=\"52\">\"CHANGING\"</text>\n</g>\n<path d=\"M487.5 48h10\"></path>\n<path d=\"M497.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M507.5 48h0\"></path>\n<path d=\"M646.5 48h0\"></path>\n<rect x=\"507.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"577\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M646.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M666.5 48h0\"></path>\n<path d=\"M953.5 48h0\"></path>\n<path d=\"M666.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M686.5 28h247\"></path>\n</g>\n<path d=\"M933.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M666.5 48h20\"></path>\n<g>\n<path d=\"M686.5 48h0\"></path>\n<path d=\"M933.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M686.5 48h0\"></path>\n<path d=\"M774.5 48h0\"></path>\n<rect x=\"686.5\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"730.5\" y=\"52\">\"TABLES\"</text>\n</g>\n<path d=\"M774.5 48h10\"></path>\n<path d=\"M784.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M794.5 48h0\"></path>\n<path d=\"M933.5 48h0\"></path>\n<rect x=\"794.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"864\" y=\"52\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M933.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M953.5 48h0\"></path>\n<path d=\"M1483.5 48h0\"></path>\n<path d=\"M953.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M973.5 20h490\"></path>\n</g>\n<path d=\"M1463.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M953.5 48h20\"></path>\n<g>\n<path d=\"M973.5 48h0\"></path>\n<path d=\"M1463.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M973.5 48h0\"></path>\n<path d=\"M1095.5 48h0\"></path>\n<rect x=\"973.5\" y=\"37\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1034.5\" y=\"52\">\"EXCEPTIONS\"</text>\n</g>\n<path d=\"M1095.5 48h10\"></path>\n<g>\n<path d=\"M1105.5 48h0\"></path>\n<path d=\"M1361 48h0\"></path>\n<path d=\"M1105.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1125.5 28h215.5\"></path>\n</g>\n<path d=\"M1341 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1105.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1125.5 48h0\"></path>\n<path d=\"M1341 48h0\"></path>\n<rect x=\"1125.5\" y=\"37\" width=\"215.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListExceptions\"><text x=\"1233.25\" y=\"52\">ParameterListExceptions</text>\n</a>\n</g>\n<path d=\"M1341 48h20\"></path>\n</g>\n<g>\n<path d=\"M1361 48h0\"></path>\n<path d=\"M1463.5 48h0\"></path>\n<path d=\"M1361 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1381 28h62.5\"></path>\n</g>\n<path d=\"M1443.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1361 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1381 48h0\"></path>\n<path d=\"M1443.5 48h0\"></path>\n<rect x=\"1381\" y=\"37\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1412.25\" y=\"52\">Field</text>\n</a>\n</g>\n<path d=\"M1443.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1463.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1483.5 48h10\"></path>\n<path d=\"M 1493.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Receive"
+      ],
+      "filename": "receive_parameters.ts"
+    },
+    {
+      "name": "Redefinition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"FINAL\"')),Railroad.Terminal('\"REDEFINITION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"368.5\" height=\"71\" viewBox=\"0 0 368.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h79.5\"></path>\n</g>\n<path d=\"M149.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M149.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"109.75\" y=\"44\">\"FINAL\"</text>\n</g>\n<path d=\"M149.5 40h20\"></path>\n</g>\n<path d=\"M169.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<rect x=\"179.5\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249\" y=\"44\">\"REDEFINITION\"</text>\n</g>\n</g>\n<path d=\"M318.5 40h10\"></path>\n<path d=\"M 328.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/MethodDef"
+      ],
+      "filename": "redefinition.ts"
+    },
+    {
+      "name": "ReduceBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.Sequence(Railroad.Terminal('\"INIT\"'),Railroad.OneOrMore(Railroad.NonTerminal('InlineFieldDefinition', {href: '#/expression/InlineFieldDefinition'}))),Railroad.OneOrMore(Railroad.NonTerminal('For', {href: '#/expression/For'})),Railroad.NonTerminal('ReduceNext', {href: '#/expression/ReduceNext'}))).toString();",
+      "using": [
+        "expression/For",
+        "expression/InlineFieldDefinition",
+        "expression/Let",
+        "expression/ReduceNext"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"715.5\" height=\"80\" viewBox=\"0 0 715.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h45.5\"></path>\n</g>\n<path d=\"M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"92.75\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M115.5 40h20\"></path>\n</g>\n<path d=\"M135.5 40h10\"></path>\n<g>\n<path d=\"M145.5 40h0\"></path>\n<path d=\"M455 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M145.5 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<rect x=\"145.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"181\" y=\"44\">\"INIT\"</text>\n</g>\n<path d=\"M216.5 40h10\"></path>\n<path d=\"M226.5 40h10\"></path>\n<g>\n<path d=\"M236.5 40h0\"></path>\n<path d=\"M455 40h0\"></path>\n<path d=\"M236.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M246.5 40h0\"></path>\n<path d=\"M445 40h0\"></path>\n<rect x=\"246.5\" y=\"29\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineFieldDefinition\"><text x=\"345.75\" y=\"44\">InlineFieldDefinition</text>\n</a>\n</g>\n<path d=\"M445 40h10\"></path>\n<path d=\"M246.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M246.5 60h198.5\"></path>\n</g>\n<path d=\"M445 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M455 40h10\"></path>\n<path d=\"M465 40h10\"></path>\n<g>\n<path d=\"M475 40h0\"></path>\n<path d=\"M540.5 40h0\"></path>\n<path d=\"M475 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M485 40h0\"></path>\n<path d=\"M530.5 40h0\"></path>\n<rect x=\"485\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/For\"><text x=\"507.75\" y=\"44\">For</text>\n</a>\n</g>\n<path d=\"M530.5 40h10\"></path>\n<path d=\"M485 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M485 60h45.5\"></path>\n</g>\n<path d=\"M530.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M540.5 40h10\"></path>\n<path d=\"M550.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<rect x=\"560.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReduceNext\"><text x=\"613\" y=\"44\">ReduceNext</text>\n</a>\n</g>\n</g>\n<path d=\"M665.5 40h10\"></path>\n<path d=\"M 675.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "reduce_body.ts"
+    },
+    {
+      "name": "ReduceNext",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"NEXT\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('SimpleTarget', {href: '#/expression/SimpleTarget'}),Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" +\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('!\" -\"'),Railroad.Terminal('\"=\"')),Railroad.Terminal('\"/=\"'),Railroad.Terminal('\"*=\"'),Railroad.Terminal('\"&&=\"')))),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/SimpleTarget",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"680\" height=\"220\" viewBox=\"0 0 680 220\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M630 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"NEXT\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g>\n<path d=\"M141 31h0\"></path>\n<path d=\"M630 31h0\"></path>\n<path d=\"M141 31h10\"></path>\n<g>\n<path d=\"M151 31h0\"></path>\n<path d=\"M620 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 31h0\"></path>\n<path d=\"M273 31h0\"></path>\n<rect x=\"151\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleTarget\"><text x=\"212\" y=\"35\">SimpleTarget</text>\n</a>\n</g>\n<path d=\"M273 31h10\"></path>\n<g>\n<path d=\"M283 31h0\"></path>\n<path d=\"M539 31h0\"></path>\n<path d=\"M283 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M303 31h0\"></path>\n<path d=\"M348.5 31h170.5\"></path>\n<rect x=\"303\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"325.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M519 31h20\"></path>\n<path d=\"M283 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303 61h0\"></path>\n<path d=\"M519 61h0\"></path>\n<g>\n<path d=\"M303 61h0\"></path>\n<path d=\"M341 61h0\"></path>\n<text x=\"322\" y=\"66\" class=\"comment\">v754</text>\n</g>\n<path d=\"M341 61h10\"></path>\n<g>\n<path d=\"M351 61h0\"></path>\n<path d=\"M519 61h0\"></path>\n<path d=\"M351 61h20\"></path>\n<g>\n<path d=\"M371 61h0\"></path>\n<path d=\"M499 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M371 61h0\"></path>\n<path d=\"M433.5 61h0\"></path>\n<rect x=\"371\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402.25\" y=\"65\">!\" +\"</text>\n</g>\n<path d=\"M433.5 61h10\"></path>\n<path d=\"M443.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M453.5 61h0\"></path>\n<path d=\"M499 61h0\"></path>\n<rect x=\"453.5\" y=\"50\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"476.25\" y=\"65\">\"=\"</text>\n</g>\n</g>\n<path d=\"M499 61h20\"></path>\n<path d=\"M351 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M371 91h0\"></path>\n<path d=\"M499 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M371 91h0\"></path>\n<path d=\"M433.5 91h0\"></path>\n<rect x=\"371\" y=\"80\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402.25\" y=\"95\">!\" -\"</text>\n</g>\n<path d=\"M433.5 91h10\"></path>\n<path d=\"M443.5 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M453.5 91h0\"></path>\n<path d=\"M499 91h0\"></path>\n<rect x=\"453.5\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"476.25\" y=\"95\">\"=\"</text>\n</g>\n</g>\n<path d=\"M499 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M371 121h0\"></path>\n<path d=\"M425 121h74\"></path>\n<rect x=\"371\" y=\"110\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398\" y=\"125\">\"/=\"</text>\n</g>\n<path d=\"M499 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M371 151h0\"></path>\n<path d=\"M425 151h74\"></path>\n<rect x=\"371\" y=\"140\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398\" y=\"155\">\"&#42;=\"</text>\n</g>\n<path d=\"M499 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 61a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M371 181h0\"></path>\n<path d=\"M433.5 181h65.5\"></path>\n<rect x=\"371\" y=\"170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402.25\" y=\"185\">\"&#38;&#38;=\"</text>\n</g>\n<path d=\"M499 181a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M519 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M539 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M549 31h0\"></path>\n<path d=\"M620 31h0\"></path>\n<rect x=\"549\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"584.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M620 31h10\"></path>\n<path d=\"M151 31a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M151 200h469\"></path>\n</g>\n<path d=\"M620 200a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M630 31h10\"></path>\n<path d=\"M 640 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ReduceBody"
+      ],
+      "filename": "reduce_next.ts"
+    },
+    {
+      "name": "ReportName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w/$%]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^\\\\w+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"411.5\" height=\"80\" viewBox=\"0 0 411.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M361.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M155 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"44\">^&#91;\\w/$%&#93;+$</text>\n</g>\n<path d=\"M155 40h10\"></path>\n<g>\n<path d=\"M165 40h0\"></path>\n<path d=\"M361.5 40h0\"></path>\n<path d=\"M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M185 20h156.5\"></path>\n</g>\n<path d=\"M341.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M165 40h20\"></path>\n<g>\n<path d=\"M185 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<path d=\"M185 40h10\"></path>\n<g>\n<path d=\"M195 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M195 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<rect x=\"195\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"222\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M249 40h10\"></path>\n<path d=\"M259 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.25\" y=\"44\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M331.5 40h10\"></path>\n<path d=\"M195 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M195 60h136.5\"></path>\n</g>\n<path d=\"M331.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M341.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M361.5 40h10\"></path>\n<path d=\"M 371.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Program",
+        "statement/Report"
+      ],
+      "filename": "report_name.ts"
+    },
+    {
+      "name": "SQLAggregation",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"COUNT\"'),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\")\"'))),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"MAX\"'),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLArithmetics', {href: '#/expression/SQLArithmetics'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}))),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"MIN\"'),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLArithmetics', {href: '#/expression/SQLArithmetics'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}))),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"SUM\"'),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLArithmetics', {href: '#/expression/SQLArithmetics'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}))),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"AVG\"'),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLArithmetics', {href: '#/expression/SQLArithmetics'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}))),Railroad.Terminal('\")\"')))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/SQLArithmetics",
+        "expression/SQLFunction"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"746\" height=\"527\" viewBox=\"0 0 746 527\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M706 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M686 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M139.5 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"44\">\"COUNT\"</text>\n</g>\n<path d=\"M139.5 40h10\"></path>\n<g>\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M252 40h0\"></path>\n<path d=\"M149.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M223.5 40h8.5\"></path>\n<rect x=\"169.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"196.5\" y=\"44\">!\"(\"</text>\n</g>\n<path d=\"M232 40h20\"></path>\n<path d=\"M149.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M169.5 70h0\"></path>\n<path d=\"M232 70h0\"></path>\n<rect x=\"169.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"200.75\" y=\"74\">!\"( \"</text>\n</g>\n<path d=\"M232 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M252 40h0\"></path>\n<path d=\"M397 40h0\"></path>\n<path d=\"M252 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M272 20h105\"></path>\n</g>\n<path d=\"M377 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M252 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M272 40h0\"></path>\n<path d=\"M377 40h0\"></path>\n<rect x=\"272\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.5\" y=\"44\">\"DISTINCT\"</text>\n</g>\n<path d=\"M377 40h20\"></path>\n</g>\n<g>\n<path d=\"M397 40h0\"></path>\n<path d=\"M630.5 40h0\"></path>\n<path d=\"M397 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M417 40h0\"></path>\n<path d=\"M462.5 40h148\"></path>\n<rect x=\"417\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"439.75\" y=\"44\">\"&#42;\"</text>\n</g>\n<path d=\"M610.5 40h20\"></path>\n<path d=\"M397 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M417 70h0\"></path>\n<path d=\"M479.5 70h131\"></path>\n<rect x=\"417\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"448.25\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M610.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M397 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M417 100h0\"></path>\n<path d=\"M610.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M417 100h0\"></path>\n<path d=\"M462.5 100h0\"></path>\n<rect x=\"417\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"439.75\" y=\"104\">\"(\"</text>\n</g>\n<path d=\"M462.5 100h10\"></path>\n<path d=\"M472.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M482.5 100h0\"></path>\n<path d=\"M545 100h0\"></path>\n<rect x=\"482.5\" y=\"89\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"513.75\" y=\"104\">Field</text>\n</a>\n</g>\n<path d=\"M545 100h10\"></path>\n<path d=\"M555 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M565 100h0\"></path>\n<path d=\"M610.5 100h0\"></path>\n<rect x=\"565\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587.75\" y=\"104\">\")\"</text>\n</g>\n</g>\n<path d=\"M610.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M630.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M640.5 40h0\"></path>\n<path d=\"M686 40h0\"></path>\n<rect x=\"640.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"663.25\" y=\"44\">\")\"</text>\n</g>\n</g>\n<path d=\"M686 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 139h0\"></path>\n<path d=\"M634.5 139h51.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 139h0\"></path>\n<path d=\"M122.5 139h0\"></path>\n<rect x=\"60\" y=\"128\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"143\">\"MAX\"</text>\n</g>\n<path d=\"M122.5 139h10\"></path>\n<g>\n<path d=\"M132.5 139h0\"></path>\n<path d=\"M235 139h0\"></path>\n<path d=\"M132.5 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 139h0\"></path>\n<path d=\"M206.5 139h8.5\"></path>\n<rect x=\"152.5\" y=\"128\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"143\">!\"(\"</text>\n</g>\n<path d=\"M215 139h20\"></path>\n<path d=\"M132.5 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 169h0\"></path>\n<path d=\"M215 169h0\"></path>\n<rect x=\"152.5\" y=\"158\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"173\">!\"( \"</text>\n</g>\n<path d=\"M215 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M235 139h10\"></path>\n<g>\n<path d=\"M245 139h0\"></path>\n<path d=\"M569 139h0\"></path>\n<g>\n<path d=\"M245 139h0\"></path>\n<path d=\"M390 139h0\"></path>\n<path d=\"M245 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M265 119h105\"></path>\n</g>\n<path d=\"M370 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M245 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M265 139h0\"></path>\n<path d=\"M370 139h0\"></path>\n<rect x=\"265\" y=\"128\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"143\">\"DISTINCT\"</text>\n</g>\n<path d=\"M370 139h20\"></path>\n</g>\n<g>\n<path d=\"M390 139h0\"></path>\n<path d=\"M569 139h0\"></path>\n<path d=\"M390 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 139h0\"></path>\n<path d=\"M549 139h0\"></path>\n<rect x=\"410\" y=\"128\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmetics\"><text x=\"479.5\" y=\"143\">SQLArithmetics</text>\n</a>\n</g>\n<path d=\"M549 139h20\"></path>\n<path d=\"M390 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 169h0\"></path>\n<path d=\"M489.5 169h59.5\"></path>\n<rect x=\"410\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"449.75\" y=\"173\">Dynamic</text>\n</a>\n</g>\n<path d=\"M549 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M390 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 199h0\"></path>\n<path d=\"M523.5 199h25.5\"></path>\n<rect x=\"410\" y=\"188\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"466.75\" y=\"203\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M549 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M569 139h10\"></path>\n<path d=\"M579 139h10\"></path>\n<g class=\"terminal\">\n<path d=\"M589 139h0\"></path>\n<path d=\"M634.5 139h0\"></path>\n<rect x=\"589\" y=\"128\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"611.75\" y=\"143\">\")\"</text>\n</g>\n</g>\n<path d=\"M686 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 238h0\"></path>\n<path d=\"M634.5 238h51.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 238h0\"></path>\n<path d=\"M122.5 238h0\"></path>\n<rect x=\"60\" y=\"227\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"242\">\"MIN\"</text>\n</g>\n<path d=\"M122.5 238h10\"></path>\n<g>\n<path d=\"M132.5 238h0\"></path>\n<path d=\"M235 238h0\"></path>\n<path d=\"M132.5 238h20\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 238h0\"></path>\n<path d=\"M206.5 238h8.5\"></path>\n<rect x=\"152.5\" y=\"227\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"242\">!\"(\"</text>\n</g>\n<path d=\"M215 238h20\"></path>\n<path d=\"M132.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 268h0\"></path>\n<path d=\"M215 268h0\"></path>\n<rect x=\"152.5\" y=\"257\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"272\">!\"( \"</text>\n</g>\n<path d=\"M215 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M235 238h10\"></path>\n<g>\n<path d=\"M245 238h0\"></path>\n<path d=\"M569 238h0\"></path>\n<g>\n<path d=\"M245 238h0\"></path>\n<path d=\"M390 238h0\"></path>\n<path d=\"M245 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M265 218h105\"></path>\n</g>\n<path d=\"M370 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M245 238h20\"></path>\n<g class=\"terminal\">\n<path d=\"M265 238h0\"></path>\n<path d=\"M370 238h0\"></path>\n<rect x=\"265\" y=\"227\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"242\">\"DISTINCT\"</text>\n</g>\n<path d=\"M370 238h20\"></path>\n</g>\n<g>\n<path d=\"M390 238h0\"></path>\n<path d=\"M569 238h0\"></path>\n<path d=\"M390 238h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 238h0\"></path>\n<path d=\"M549 238h0\"></path>\n<rect x=\"410\" y=\"227\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmetics\"><text x=\"479.5\" y=\"242\">SQLArithmetics</text>\n</a>\n</g>\n<path d=\"M549 238h20\"></path>\n<path d=\"M390 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 268h0\"></path>\n<path d=\"M489.5 268h59.5\"></path>\n<rect x=\"410\" y=\"257\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"449.75\" y=\"272\">Dynamic</text>\n</a>\n</g>\n<path d=\"M549 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M390 238a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 298h0\"></path>\n<path d=\"M523.5 298h25.5\"></path>\n<rect x=\"410\" y=\"287\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"466.75\" y=\"302\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M549 298a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M569 238h10\"></path>\n<path d=\"M579 238h10\"></path>\n<g class=\"terminal\">\n<path d=\"M589 238h0\"></path>\n<path d=\"M634.5 238h0\"></path>\n<rect x=\"589\" y=\"227\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"611.75\" y=\"242\">\")\"</text>\n</g>\n</g>\n<path d=\"M686 238a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v277a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 337h0\"></path>\n<path d=\"M634.5 337h51.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 337h0\"></path>\n<path d=\"M122.5 337h0\"></path>\n<rect x=\"60\" y=\"326\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"341\">\"SUM\"</text>\n</g>\n<path d=\"M122.5 337h10\"></path>\n<g>\n<path d=\"M132.5 337h0\"></path>\n<path d=\"M235 337h0\"></path>\n<path d=\"M132.5 337h20\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 337h0\"></path>\n<path d=\"M206.5 337h8.5\"></path>\n<rect x=\"152.5\" y=\"326\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"341\">!\"(\"</text>\n</g>\n<path d=\"M215 337h20\"></path>\n<path d=\"M132.5 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 367h0\"></path>\n<path d=\"M215 367h0\"></path>\n<rect x=\"152.5\" y=\"356\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"371\">!\"( \"</text>\n</g>\n<path d=\"M215 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M235 337h10\"></path>\n<g>\n<path d=\"M245 337h0\"></path>\n<path d=\"M569 337h0\"></path>\n<g>\n<path d=\"M245 337h0\"></path>\n<path d=\"M390 337h0\"></path>\n<path d=\"M245 337a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M265 317h105\"></path>\n</g>\n<path d=\"M370 317a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M245 337h20\"></path>\n<g class=\"terminal\">\n<path d=\"M265 337h0\"></path>\n<path d=\"M370 337h0\"></path>\n<rect x=\"265\" y=\"326\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"341\">\"DISTINCT\"</text>\n</g>\n<path d=\"M370 337h20\"></path>\n</g>\n<g>\n<path d=\"M390 337h0\"></path>\n<path d=\"M569 337h0\"></path>\n<path d=\"M390 337h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 337h0\"></path>\n<path d=\"M549 337h0\"></path>\n<rect x=\"410\" y=\"326\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmetics\"><text x=\"479.5\" y=\"341\">SQLArithmetics</text>\n</a>\n</g>\n<path d=\"M549 337h20\"></path>\n<path d=\"M390 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 367h0\"></path>\n<path d=\"M489.5 367h59.5\"></path>\n<rect x=\"410\" y=\"356\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"449.75\" y=\"371\">Dynamic</text>\n</a>\n</g>\n<path d=\"M549 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M390 337a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 397h0\"></path>\n<path d=\"M523.5 397h25.5\"></path>\n<rect x=\"410\" y=\"386\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"466.75\" y=\"401\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M549 397a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M569 337h10\"></path>\n<path d=\"M579 337h10\"></path>\n<g class=\"terminal\">\n<path d=\"M589 337h0\"></path>\n<path d=\"M634.5 337h0\"></path>\n<rect x=\"589\" y=\"326\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"611.75\" y=\"341\">\")\"</text>\n</g>\n</g>\n<path d=\"M686 337a10 10 0 0 0 10 -10v-277a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v376a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 436h0\"></path>\n<path d=\"M634.5 436h51.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 436h0\"></path>\n<path d=\"M122.5 436h0\"></path>\n<rect x=\"60\" y=\"425\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"440\">\"AVG\"</text>\n</g>\n<path d=\"M122.5 436h10\"></path>\n<g>\n<path d=\"M132.5 436h0\"></path>\n<path d=\"M235 436h0\"></path>\n<path d=\"M132.5 436h20\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 436h0\"></path>\n<path d=\"M206.5 436h8.5\"></path>\n<rect x=\"152.5\" y=\"425\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"440\">!\"(\"</text>\n</g>\n<path d=\"M215 436h20\"></path>\n<path d=\"M132.5 436a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M152.5 466h0\"></path>\n<path d=\"M215 466h0\"></path>\n<rect x=\"152.5\" y=\"455\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"470\">!\"( \"</text>\n</g>\n<path d=\"M215 466a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M235 436h10\"></path>\n<g>\n<path d=\"M245 436h0\"></path>\n<path d=\"M569 436h0\"></path>\n<g>\n<path d=\"M245 436h0\"></path>\n<path d=\"M390 436h0\"></path>\n<path d=\"M245 436a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M265 416h105\"></path>\n</g>\n<path d=\"M370 416a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M245 436h20\"></path>\n<g class=\"terminal\">\n<path d=\"M265 436h0\"></path>\n<path d=\"M370 436h0\"></path>\n<rect x=\"265\" y=\"425\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"440\">\"DISTINCT\"</text>\n</g>\n<path d=\"M370 436h20\"></path>\n</g>\n<g>\n<path d=\"M390 436h0\"></path>\n<path d=\"M569 436h0\"></path>\n<path d=\"M390 436h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 436h0\"></path>\n<path d=\"M549 436h0\"></path>\n<rect x=\"410\" y=\"425\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmetics\"><text x=\"479.5\" y=\"440\">SQLArithmetics</text>\n</a>\n</g>\n<path d=\"M549 436h20\"></path>\n<path d=\"M390 436a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 466h0\"></path>\n<path d=\"M489.5 466h59.5\"></path>\n<rect x=\"410\" y=\"455\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"449.75\" y=\"470\">Dynamic</text>\n</a>\n</g>\n<path d=\"M549 466a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M390 436a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 496h0\"></path>\n<path d=\"M523.5 496h25.5\"></path>\n<rect x=\"410\" y=\"485\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"466.75\" y=\"500\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M549 496a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M569 436h10\"></path>\n<path d=\"M579 436h10\"></path>\n<g class=\"terminal\">\n<path d=\"M589 436h0\"></path>\n<path d=\"M634.5 436h0\"></path>\n<rect x=\"589\" y=\"425\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"611.75\" y=\"440\">\")\"</text>\n</g>\n</g>\n<path d=\"M686 436a10 10 0 0 0 10 -10v-376a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 706 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCase",
+        "expression/SQLField",
+        "expression/SQLFunctionInput",
+        "expression/SQLHaving"
+      ],
+      "filename": "s_ql_aggregation.ts"
+    },
+    {
+      "name": "SQLAliasField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(\\\\/\\\\w+\\\\/)?\\\\w+~\\\\w+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"281.5\" height=\"62\" viewBox=\"0 0 281.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M231.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"140.75\" y=\"35\">^(\\/\\w+\\/)?\\w+~\\w+$</text>\n</g>\n<path d=\"M231.5 31h10\"></path>\n<path d=\"M 241.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFunctionInput",
+        "expression/SQLSource",
+        "expression/SQLSourceNoSpace"
+      ],
+      "filename": "s_ql_alias_field.ts"
+    },
+    {
+      "name": "SQLArithmeticOperator",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('!\" + \"'),Railroad.Terminal('!\" - \"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"191\" height=\"152\" viewBox=\"0 0 191 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M151 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M131 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"35\">!\" + \"</text>\n</g>\n<path d=\"M131 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M131 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"65\">!\" - \"</text>\n</g>\n<path d=\"M131 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M105.5 91h25.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"95\">\"&#42;\"</text>\n</g>\n<path d=\"M131 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M105.5 121h25.5\"></path>\n<rect x=\"60\" y=\"110\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"125\">\"/\"</text>\n</g>\n<path d=\"M131 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 151 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLArithmetics",
+        "expression/SQLFieldAndValue"
+      ],
+      "filename": "s_ql_arithmetic_operator.ts"
+    },
+    {
+      "name": "SQLArithmetics",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('SQLArithmeticOperator', {href: '#/expression/SQLArithmeticOperator'}),Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'})))))).toString();",
+      "using": [
+        "expression/SQLArithmeticOperator",
+        "expression/SQLFieldName",
+        "expression/SQLFunction"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"692.5\" height=\"109\" viewBox=\"0 0 692.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M212 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M192 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"131\" y=\"44\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M192 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h8.5\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"126.75\" y=\"74\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M192 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M212 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<path d=\"M212 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M232 20h390.5\"></path>\n</g>\n<path d=\"M622.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M212 40h20\"></path>\n<g>\n<path d=\"M232 40h0\"></path>\n<path d=\"M622.5 40h0\"></path>\n<path d=\"M232 40h10\"></path>\n<g>\n<path d=\"M242 40h0\"></path>\n<path d=\"M612.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242 40h0\"></path>\n<path d=\"M440.5 40h0\"></path>\n<rect x=\"242\" y=\"29\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmeticOperator\"><text x=\"341.25\" y=\"44\">SQLArithmeticOperator</text>\n</a>\n</g>\n<path d=\"M440.5 40h10\"></path>\n<g>\n<path d=\"M450.5 40h0\"></path>\n<path d=\"M612.5 40h0\"></path>\n<path d=\"M450.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470.5 40h0\"></path>\n<path d=\"M592.5 40h0\"></path>\n<rect x=\"470.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"531.5\" y=\"44\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M592.5 40h20\"></path>\n<path d=\"M450.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470.5 70h0\"></path>\n<path d=\"M584 70h8.5\"></path>\n<rect x=\"470.5\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"527.25\" y=\"74\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M592.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M612.5 40h10\"></path>\n<path d=\"M242 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M242 89h370.5\"></path>\n</g>\n<path d=\"M612.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M622.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M642.5 40h10\"></path>\n<path d=\"M 652.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLAggregation"
+      ],
+      "filename": "s_ql_arithmetics.ts"
+    },
+    {
+      "name": "SQLAsName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[&_!]?\\\\*?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\d*[a-zA-Z_%\\\\$][\\\\w\\\\*%\\\\$\\\\?]*(~\\\\w+)?$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[&_!]?\\\\*?\\\\w*(\\\\/\\\\w+\\\\/)?\\\\d*[a-zA-Z_%\\\\$][\\\\w\\\\*%\\\\$\\\\?]*(~\\\\w+)?$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1270\" height=\"80\" viewBox=\"0 0 1270 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1220 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M563 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"513\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"306.5\" y=\"44\">^&#91;&#38;&#95;!&#93;?\\&#42;?\\w&#42;(\\/\\w+\\/)?\\d&#42;&#91;a-zA-Z&#95;%\\$&#93;&#91;\\w\\&#42;%\\$\\?&#93;&#42;(~\\w+)?$</text>\n</g>\n<path d=\"M563 40h10\"></path>\n<g>\n<path d=\"M573 40h0\"></path>\n<path d=\"M1220 40h0\"></path>\n<path d=\"M573 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M593 20h607\"></path>\n</g>\n<path d=\"M1200 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M573 40h20\"></path>\n<g>\n<path d=\"M593 40h0\"></path>\n<path d=\"M1200 40h0\"></path>\n<path d=\"M593 40h10\"></path>\n<g>\n<path d=\"M603 40h0\"></path>\n<path d=\"M1190 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M603 40h0\"></path>\n<path d=\"M657 40h0\"></path>\n<rect x=\"603\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"630\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M657 40h10\"></path>\n<path d=\"M667 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M677 40h0\"></path>\n<path d=\"M1190 40h0\"></path>\n<rect x=\"677\" y=\"29\" width=\"513\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.5\" y=\"44\">^&#91;&#38;&#95;!&#93;?\\&#42;?\\w&#42;(\\/\\w+\\/)?\\d&#42;&#91;a-zA-Z&#95;%\\$&#93;&#91;\\w\\&#42;%\\$\\?&#93;&#42;(~\\w+)?$</text>\n</g>\n</g>\n<path d=\"M1190 40h10\"></path>\n<path d=\"M603 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M603 60h587\"></path>\n</g>\n<path d=\"M1190 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1200 40h20\"></path>\n</g>\n</g>\n<path d=\"M1220 40h10\"></path>\n<path d=\"M 1230 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLField",
+        "expression/SQLFieldListLoop",
+        "expression/SQLFromSource"
+      ],
+      "filename": "s_ql_as_name.ts"
+    },
+    {
+      "name": "SQLCDSParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))))),Railroad.Terminal('\")\"'))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Field",
+        "expression/FieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1087.5\" height=\"109\" viewBox=\"0 0 1087.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1037.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M95.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"44\">\"(\"</text>\n</g>\n<path d=\"M95.5 40h10\"></path>\n<path d=\"M105.5 40h10\"></path>\n<g>\n<path d=\"M115.5 40h0\"></path>\n<path d=\"M481 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M115.5 40h0\"></path>\n<path d=\"M178 40h0\"></path>\n<rect x=\"115.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"146.75\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M178 40h10\"></path>\n<path d=\"M188 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M198 40h0\"></path>\n<path d=\"M243.5 40h0\"></path>\n<rect x=\"198\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M243.5 40h10\"></path>\n<g>\n<path d=\"M253.5 40h0\"></path>\n<path d=\"M481 40h0\"></path>\n<path d=\"M253.5 40h20\"></path>\n<g>\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M461 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M273.5 40h0\"></path>\n<path d=\"M336 40h0\"></path>\n<rect x=\"273.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"304.75\" y=\"44\">!\" @\"</text>\n</g>\n<path d=\"M336 40h10\"></path>\n<path d=\"M346 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M356 40h0\"></path>\n<path d=\"M461 40h0\"></path>\n<rect x=\"356\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"408.5\" y=\"44\">FieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M461 40h20\"></path>\n<path d=\"M253.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M273.5 70h0\"></path>\n<path d=\"M361.5 70h99.5\"></path>\n<rect x=\"273.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"317.5\" y=\"74\">Constant</text>\n</a>\n</g>\n<path d=\"M461 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481 40h10\"></path>\n<g>\n<path d=\"M491 40h0\"></path>\n<path d=\"M982 40h0\"></path>\n<path d=\"M491 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M511 20h451\"></path>\n</g>\n<path d=\"M962 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M491 40h20\"></path>\n<g>\n<path d=\"M511 40h0\"></path>\n<path d=\"M962 40h0\"></path>\n<path d=\"M511 40h10\"></path>\n<g>\n<path d=\"M521 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M521 40h0\"></path>\n<path d=\"M566.5 40h0\"></path>\n<rect x=\"521\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"543.75\" y=\"44\">\",\"</text>\n</g>\n<path d=\"M566.5 40h10\"></path>\n<path d=\"M576.5 40h10\"></path>\n<g>\n<path d=\"M586.5 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M586.5 40h0\"></path>\n<path d=\"M649 40h0\"></path>\n<rect x=\"586.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"617.75\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M649 40h10\"></path>\n<path d=\"M659 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M669 40h0\"></path>\n<path d=\"M714.5 40h0\"></path>\n<rect x=\"669\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"691.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M714.5 40h10\"></path>\n<g>\n<path d=\"M724.5 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<path d=\"M724.5 40h20\"></path>\n<g>\n<path d=\"M744.5 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M744.5 40h0\"></path>\n<path d=\"M807 40h0\"></path>\n<rect x=\"744.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"775.75\" y=\"44\">!\" @\"</text>\n</g>\n<path d=\"M807 40h10\"></path>\n<path d=\"M817 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M827 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<rect x=\"827\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"879.5\" y=\"44\">FieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M932 40h20\"></path>\n<path d=\"M724.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M744.5 70h0\"></path>\n<path d=\"M832.5 70h99.5\"></path>\n<rect x=\"744.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"788.5\" y=\"74\">Constant</text>\n</a>\n</g>\n<path d=\"M932 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M952 40h10\"></path>\n<path d=\"M521 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M521 89h431\"></path>\n</g>\n<path d=\"M952 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M962 40h20\"></path>\n</g>\n<path d=\"M982 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M992 40h0\"></path>\n<path d=\"M1037.5 40h0\"></path>\n<rect x=\"992\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1014.75\" y=\"44\">\")\"</text>\n</g>\n</g>\n<path d=\"M1037.5 40h10\"></path>\n<path d=\"M 1047.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFromSource"
+      ],
+      "filename": "s_ql_cd_sparameters.ts"
+    },
+    {
+      "name": "SQLCase",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"CASE\"'),Railroad.Optional(Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Terminal('\"THEN\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLCase', {href: '#/expression/SQLCase'}),Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"+\"'),Railroad.Terminal('\"-\"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"'),Railroad.Terminal('\"&&\"')),Railroad.Optional(Railroad.Terminal('!\" ( \"')),Railroad.Choice(0, Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLCase', {href: '#/expression/SQLCase'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLPath', {href: '#/expression/SQLPath'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Optional(Railroad.Terminal('!\" ) \"')))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ELSE\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLCase', {href: '#/expression/SQLCase'}),Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})))),Railroad.Terminal('\"END\"')))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/SQLAggregation",
+        "expression/SQLCase",
+        "expression/SQLCond",
+        "expression/SQLFieldName",
+        "expression/SQLFunction",
+        "expression/SQLPath",
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1875.5\" height=\"245\" viewBox=\"0 0 1875.5 245\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1825.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M116 48h0\"></path>\n<text x=\"83\" y=\"53\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M116 48h10\"></path>\n<path d=\"M126 48h10\"></path>\n<g>\n<path d=\"M136 48h0\"></path>\n<path d=\"M1825.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 48h0\"></path>\n<path d=\"M207 48h0\"></path>\n<rect x=\"136\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"171.5\" y=\"52\">\"CASE\"</text>\n</g>\n<path d=\"M207 48h10\"></path>\n<g>\n<path d=\"M217 48h0\"></path>\n<path d=\"M379 48h0\"></path>\n<path d=\"M217 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M237 28h122\"></path>\n</g>\n<path d=\"M359 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M217 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M237 48h0\"></path>\n<path d=\"M359 48h0\"></path>\n<rect x=\"237\" y=\"37\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"298\" y=\"52\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M359 48h20\"></path>\n</g>\n<path d=\"M379 48h10\"></path>\n<g>\n<path d=\"M389 48h0\"></path>\n<path d=\"M1443 48h0\"></path>\n<path d=\"M389 48h10\"></path>\n<g>\n<path d=\"M399 48h0\"></path>\n<path d=\"M1433 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M399 48h0\"></path>\n<path d=\"M470 48h0\"></path>\n<rect x=\"399\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"434.5\" y=\"52\">\"WHEN\"</text>\n</g>\n<path d=\"M470 48h10\"></path>\n<g>\n<path d=\"M480 48h0\"></path>\n<path d=\"M608 48h0\"></path>\n<path d=\"M480 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500 48h0\"></path>\n<path d=\"M579.5 48h8.5\"></path>\n<rect x=\"500\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"539.75\" y=\"52\">SQLCond</text>\n</a>\n</g>\n<path d=\"M588 48h20\"></path>\n<path d=\"M480 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500 78h0\"></path>\n<path d=\"M588 78h0\"></path>\n<rect x=\"500\" y=\"67\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"544\" y=\"82\">Constant</text>\n</a>\n</g>\n<path d=\"M588 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M608 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M618 48h0\"></path>\n<path d=\"M689 48h0\"></path>\n<rect x=\"618\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"653.5\" y=\"52\">\"THEN\"</text>\n</g>\n<path d=\"M689 48h10\"></path>\n<g>\n<path d=\"M699 48h0\"></path>\n<path d=\"M878 48h0\"></path>\n<path d=\"M699 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M719 48h0\"></path>\n<path d=\"M798.5 48h59.5\"></path>\n<rect x=\"719\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCase\"><text x=\"758.75\" y=\"52\">SQLCase</text>\n</a>\n</g>\n<path d=\"M858 48h20\"></path>\n<path d=\"M699 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M719 78h0\"></path>\n<path d=\"M858 78h0\"></path>\n<rect x=\"719\" y=\"67\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"788.5\" y=\"82\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M858 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M699 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M719 108h0\"></path>\n<path d=\"M832.5 108h25.5\"></path>\n<rect x=\"719\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"775.75\" y=\"112\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M858 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M699 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M719 138h0\"></path>\n<path d=\"M815.5 138h42.5\"></path>\n<rect x=\"719\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"767.25\" y=\"142\">SQLSource</text>\n</a>\n</g>\n<path d=\"M858 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M878 48h0\"></path>\n<path d=\"M1433 48h0\"></path>\n<path d=\"M878 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M898 20h515\"></path>\n</g>\n<path d=\"M1413 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M878 48h20\"></path>\n<g>\n<path d=\"M898 48h0\"></path>\n<path d=\"M1413 48h0\"></path>\n<path d=\"M898 48h10\"></path>\n<g>\n<path d=\"M908 48h0\"></path>\n<path d=\"M1403 48h0\"></path>\n<g>\n<path d=\"M908 48h0\"></path>\n<path d=\"M1002 48h0\"></path>\n<path d=\"M908 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M928 48h0\"></path>\n<path d=\"M973.5 48h8.5\"></path>\n<rect x=\"928\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"950.75\" y=\"52\">\"+\"</text>\n</g>\n<path d=\"M982 48h20\"></path>\n<path d=\"M908 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M928 78h0\"></path>\n<path d=\"M973.5 78h8.5\"></path>\n<rect x=\"928\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"950.75\" y=\"82\">\"-\"</text>\n</g>\n<path d=\"M982 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M908 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M928 108h0\"></path>\n<path d=\"M973.5 108h8.5\"></path>\n<rect x=\"928\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"950.75\" y=\"112\">\"&#42;\"</text>\n</g>\n<path d=\"M982 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M908 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M928 138h0\"></path>\n<path d=\"M973.5 138h8.5\"></path>\n<rect x=\"928\" y=\"127\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"950.75\" y=\"142\">\"/\"</text>\n</g>\n<path d=\"M982 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M908 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M928 168h0\"></path>\n<path d=\"M982 168h0\"></path>\n<rect x=\"928\" y=\"157\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"955\" y=\"172\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M982 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1002 48h0\"></path>\n<path d=\"M1113 48h0\"></path>\n<path d=\"M1002 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1022 28h71\"></path>\n</g>\n<path d=\"M1093 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1002 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1022 48h0\"></path>\n<path d=\"M1093 48h0\"></path>\n<rect x=\"1022\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1057.5\" y=\"52\">!\" ( \"</text>\n</g>\n<path d=\"M1093 48h20\"></path>\n</g>\n<g>\n<path d=\"M1113 48h0\"></path>\n<path d=\"M1292 48h0\"></path>\n<path d=\"M1113 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 48h0\"></path>\n<path d=\"M1272 48h0\"></path>\n<rect x=\"1133\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"1202.5\" y=\"52\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M1272 48h20\"></path>\n<path d=\"M1113 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 78h0\"></path>\n<path d=\"M1212.5 78h59.5\"></path>\n<rect x=\"1133\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCase\"><text x=\"1172.75\" y=\"82\">SQLCase</text>\n</a>\n</g>\n<path d=\"M1272 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1113 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 108h0\"></path>\n<path d=\"M1246.5 108h25.5\"></path>\n<rect x=\"1133\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"1189.75\" y=\"112\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M1272 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1113 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 138h0\"></path>\n<path d=\"M1212.5 138h59.5\"></path>\n<rect x=\"1133\" y=\"127\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLPath\"><text x=\"1172.75\" y=\"142\">SQLPath</text>\n</a>\n</g>\n<path d=\"M1272 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1113 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 168h0\"></path>\n<path d=\"M1255 168h17\"></path>\n<rect x=\"1133\" y=\"157\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"1194\" y=\"172\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M1272 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1113 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1133 198h0\"></path>\n<path d=\"M1221 198h51\"></path>\n<rect x=\"1133\" y=\"187\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1177\" y=\"202\">Constant</text>\n</a>\n</g>\n<path d=\"M1272 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1292 48h0\"></path>\n<path d=\"M1403 48h0\"></path>\n<path d=\"M1292 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1312 28h71\"></path>\n</g>\n<path d=\"M1383 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1292 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1312 48h0\"></path>\n<path d=\"M1383 48h0\"></path>\n<rect x=\"1312\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1347.5\" y=\"52\">!\" ) \"</text>\n</g>\n<path d=\"M1383 48h20\"></path>\n</g>\n</g>\n<path d=\"M1403 48h10\"></path>\n<path d=\"M908 48a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M908 217h495\"></path>\n</g>\n<path d=\"M1403 217a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1413 48h20\"></path>\n</g>\n</g>\n<path d=\"M1433 48h10\"></path>\n<path d=\"M399 48a10 10 0 0 0 -10 10v157a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M399 225h1034\"></path>\n</g>\n<path d=\"M1433 225a10 10 0 0 0 10 -10v-157a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1443 48h10\"></path>\n<g>\n<path d=\"M1453 48h0\"></path>\n<path d=\"M1753 48h0\"></path>\n<path d=\"M1453 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1473 28h260\"></path>\n</g>\n<path d=\"M1733 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1453 48h20\"></path>\n<g>\n<path d=\"M1473 48h0\"></path>\n<path d=\"M1733 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1473 48h0\"></path>\n<path d=\"M1544 48h0\"></path>\n<rect x=\"1473\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1508.5\" y=\"52\">\"ELSE\"</text>\n</g>\n<path d=\"M1544 48h10\"></path>\n<g>\n<path d=\"M1554 48h0\"></path>\n<path d=\"M1733 48h0\"></path>\n<path d=\"M1554 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1574 48h0\"></path>\n<path d=\"M1653.5 48h59.5\"></path>\n<rect x=\"1574\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCase\"><text x=\"1613.75\" y=\"52\">SQLCase</text>\n</a>\n</g>\n<path d=\"M1713 48h20\"></path>\n<path d=\"M1554 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1574 78h0\"></path>\n<path d=\"M1713 78h0\"></path>\n<rect x=\"1574\" y=\"67\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"1643.5\" y=\"82\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M1713 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1554 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1574 108h0\"></path>\n<path d=\"M1687.5 108h25.5\"></path>\n<rect x=\"1574\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"1630.75\" y=\"112\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M1713 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1554 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1574 138h0\"></path>\n<path d=\"M1670.5 138h42.5\"></path>\n<rect x=\"1574\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"1622.25\" y=\"142\">SQLSource</text>\n</a>\n</g>\n<path d=\"M1713 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1733 48h20\"></path>\n</g>\n<path d=\"M1753 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1763 48h0\"></path>\n<path d=\"M1825.5 48h0\"></path>\n<rect x=\"1763\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1794.25\" y=\"52\">\"END\"</text>\n</g>\n</g>\n</g>\n<path d=\"M1825.5 48h10\"></path>\n<path d=\"M 1835.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCase",
+        "expression/SQLField"
+      ],
+      "filename": "s_ql_case.ts"
+    },
+    {
+      "name": "SQLClient",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"CLIENT SPECIFIED\"')),Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'}))),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"CLIENTS IN\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'}),Railroad.Terminal('\"T000\"')))),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Terminal('\"ALL CLIENTS\"')))))).toString();",
+      "using": [
+        "expression/SQLSourceSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"627\" height=\"182\" viewBox=\"0 0 627 182\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M587 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M326 31h241\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M133 31h0\"></path>\n<text x=\"96.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M133 31h10\"></path>\n<path d=\"M143 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M153 31h0\"></path>\n<path d=\"M326 31h0\"></path>\n<rect x=\"153\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"239.5\" y=\"35\">\"CLIENT SPECIFIED\"</text>\n</g>\n</g>\n<path d=\"M567 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M567 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M139.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"65\">\"USING\"</text>\n</g>\n<path d=\"M139.5 61h10\"></path>\n<g>\n<path d=\"M149.5 61h0\"></path>\n<path d=\"M567 61h0\"></path>\n<path d=\"M149.5 61h20\"></path>\n<g>\n<path d=\"M169.5 61h0\"></path>\n<path d=\"M511 61h36\"></path>\n<g>\n<path d=\"M169.5 61h0\"></path>\n<path d=\"M235.5 61h0\"></path>\n<text x=\"202.5\" y=\"66\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M235.5 61h10\"></path>\n<path d=\"M245.5 61h10\"></path>\n<g>\n<path d=\"M255.5 61h0\"></path>\n<path d=\"M511 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M255.5 61h0\"></path>\n<path d=\"M343.5 61h0\"></path>\n<rect x=\"255.5\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"299.5\" y=\"65\">\"CLIENT\"</text>\n</g>\n<path d=\"M343.5 61h10\"></path>\n<path d=\"M353.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363.5 61h0\"></path>\n<path d=\"M511 61h0\"></path>\n<rect x=\"363.5\" y=\"50\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"437.25\" y=\"65\">SQLSourceSimple</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M547 61h20\"></path>\n<path d=\"M149.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M169.5 91h0\"></path>\n<path d=\"M547 91h0\"></path>\n<g>\n<path d=\"M169.5 91h0\"></path>\n<path d=\"M207.5 91h0\"></path>\n<text x=\"188.5\" y=\"96\" class=\"comment\">v754</text>\n</g>\n<path d=\"M207.5 91h10\"></path>\n<path d=\"M217.5 91h10\"></path>\n<g>\n<path d=\"M227.5 91h0\"></path>\n<path d=\"M547 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 91h0\"></path>\n<path d=\"M349.5 91h0\"></path>\n<rect x=\"227.5\" y=\"80\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"288.5\" y=\"95\">\"CLIENTS IN\"</text>\n</g>\n<path d=\"M349.5 91h10\"></path>\n<g>\n<path d=\"M359.5 91h0\"></path>\n<path d=\"M547 91h0\"></path>\n<path d=\"M359.5 91h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M379.5 91h0\"></path>\n<path d=\"M527 91h0\"></path>\n<rect x=\"379.5\" y=\"80\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"453.25\" y=\"95\">SQLSourceSimple</text>\n</a>\n</g>\n<path d=\"M527 91h20\"></path>\n<path d=\"M359.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M379.5 121h0\"></path>\n<path d=\"M450.5 121h76.5\"></path>\n<rect x=\"379.5\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"415\" y=\"125\">\"T000\"</text>\n</g>\n<path d=\"M527 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M547 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M149.5 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M169.5 151h0\"></path>\n<path d=\"M358 151h189\"></path>\n<g>\n<path d=\"M169.5 151h0\"></path>\n<path d=\"M207.5 151h0\"></path>\n<text x=\"188.5\" y=\"156\" class=\"comment\">v754</text>\n</g>\n<path d=\"M207.5 151h10\"></path>\n<path d=\"M217.5 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 151h0\"></path>\n<path d=\"M358 151h0\"></path>\n<rect x=\"227.5\" y=\"140\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"292.75\" y=\"155\">\"ALL CLIENTS\"</text>\n</g>\n</g>\n<path d=\"M547 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M567 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 587 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/DeleteDatabase",
+        "statement/InsertDatabase",
+        "statement/ModifyDatabase",
+        "statement/UpdateDatabase"
+      ],
+      "filename": "s_ql_client.ts"
+    },
+    {
+      "name": "SQLCompare",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"EXISTS\"'),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.Terminal('\")\"'))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('ConstantString', {href: '#/expression/ConstantString'}),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLPath', {href: '#/expression/SQLPath'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'})),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"+\"'),Railroad.Terminal('\"-\"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"')),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'})))))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"')))))),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('SQLCompareOperator', {href: '#/expression/SQLCompareOperator'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ALL\"'),Railroad.Terminal('\"ANY\"'),Railroad.Terminal('\"SOME\"'))),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.Terminal('\")\"'),Railroad.Terminal('\")\"')))),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLIn', {href: '#/expression/SQLIn'}),Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ESCAPE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})))),Railroad.Sequence(Railroad.Terminal('\"BETWEEN\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})))),Railroad.Sequence(Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('\"NULL\"'),Railroad.Sequence(Railroad.Comment(\"v753\", {}), Railroad.Terminal('\"INITIAL\"')))))))).toString();",
+      "using": [
+        "expression/ConstantString",
+        "expression/Dynamic",
+        "expression/SQLCompareOperator",
+        "expression/SQLFieldName",
+        "expression/SQLFunction",
+        "expression/SQLIn",
+        "expression/SQLPath",
+        "expression/SQLSource",
+        "expression/Select",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1444.5\" height=\"398\" viewBox=\"0 0 1444.5 398\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M1404.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M370 31h1014.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"35\">\"EXISTS\"</text>\n</g>\n<path d=\"M148 31h10\"></path>\n<path d=\"M158 31h10\"></path>\n<g>\n<path d=\"M168 31h0\"></path>\n<path d=\"M370 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M213.5 31h0\"></path>\n<rect x=\"168\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"190.75\" y=\"35\">\"(\"</text>\n</g>\n<path d=\"M213.5 31h10\"></path>\n<path d=\"M223.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M233.5 31h0\"></path>\n<path d=\"M304.5 31h0\"></path>\n<rect x=\"233.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"269\" y=\"35\">Select</text>\n</a>\n</g>\n<path d=\"M304.5 31h10\"></path>\n<path d=\"M314.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M324.5 31h0\"></path>\n<path d=\"M370 31h0\"></path>\n<rect x=\"324.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"347.25\" y=\"35\">\")\"</text>\n</g>\n</g>\n</g>\n<path d=\"M1384.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M139.5 61h1245\"></path>\n<rect x=\"60\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1384.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M1384.5 100h0\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M597.5 100h0\"></path>\n<path d=\"M60 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 100h0\"></path>\n<path d=\"M193.5 100h384\"></path>\n<rect x=\"80\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"136.75\" y=\"104\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M577.5 100h20\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 130h0\"></path>\n<path d=\"M219 130h358.5\"></path>\n<rect x=\"80\" y=\"119\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantString\"><text x=\"149.5\" y=\"134\">ConstantString</text>\n</a>\n</g>\n<path d=\"M577.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 169h0\"></path>\n<path d=\"M577.5 169h0\"></path>\n<g>\n<path d=\"M80 169h0\"></path>\n<path d=\"M242 169h0\"></path>\n<path d=\"M80 169h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M100 169h0\"></path>\n<path d=\"M179.5 169h42.5\"></path>\n<rect x=\"100\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLPath\"><text x=\"139.75\" y=\"173\">SQLPath</text>\n</a>\n</g>\n<path d=\"M222 169h20\"></path>\n<path d=\"M80 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M100 199h0\"></path>\n<path d=\"M222 199h0\"></path>\n<rect x=\"100\" y=\"188\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"161\" y=\"203\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M222 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M242 169h0\"></path>\n<path d=\"M577.5 169h0\"></path>\n<path d=\"M242 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M262 149h295.5\"></path>\n</g>\n<path d=\"M557.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M242 169h20\"></path>\n<g>\n<path d=\"M262 169h0\"></path>\n<path d=\"M557.5 169h0\"></path>\n<g>\n<path d=\"M262 169h0\"></path>\n<path d=\"M300 169h0\"></path>\n<text x=\"281\" y=\"174\" class=\"comment\">v750</text>\n</g>\n<path d=\"M300 169h10\"></path>\n<path d=\"M310 169h10\"></path>\n<g>\n<path d=\"M320 169h0\"></path>\n<path d=\"M557.5 169h0\"></path>\n<path d=\"M320 169h10\"></path>\n<g>\n<path d=\"M330 169h0\"></path>\n<path d=\"M547.5 169h0\"></path>\n<g>\n<path d=\"M330 169h0\"></path>\n<path d=\"M415.5 169h0\"></path>\n<path d=\"M330 169h20\"></path>\n<g class=\"terminal\">\n<path d=\"M350 169h0\"></path>\n<path d=\"M395.5 169h0\"></path>\n<rect x=\"350\" y=\"158\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"372.75\" y=\"173\">\"+\"</text>\n</g>\n<path d=\"M395.5 169h20\"></path>\n<path d=\"M330 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M350 199h0\"></path>\n<path d=\"M395.5 199h0\"></path>\n<rect x=\"350\" y=\"188\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"372.75\" y=\"203\">\"-\"</text>\n</g>\n<path d=\"M395.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M330 169a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M350 229h0\"></path>\n<path d=\"M395.5 229h0\"></path>\n<rect x=\"350\" y=\"218\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"372.75\" y=\"233\">\"&#42;\"</text>\n</g>\n<path d=\"M395.5 229a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M330 169a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M350 259h0\"></path>\n<path d=\"M395.5 259h0\"></path>\n<rect x=\"350\" y=\"248\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"372.75\" y=\"263\">\"/\"</text>\n</g>\n<path d=\"M395.5 259a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M415.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M425.5 169h0\"></path>\n<path d=\"M547.5 169h0\"></path>\n<rect x=\"425.5\" y=\"158\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"486.5\" y=\"173\">SQLFieldName</text>\n</a>\n</g>\n</g>\n<path d=\"M547.5 169h10\"></path>\n<path d=\"M330 169a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M330 278h217.5\"></path>\n</g>\n<path d=\"M547.5 278a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M557.5 169h20\"></path>\n</g>\n</g>\n<path d=\"M577.5 169a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v177a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 297h0\"></path>\n<path d=\"M523 297h54.5\"></path>\n<g>\n<path d=\"M80 297h0\"></path>\n<path d=\"M146 297h0\"></path>\n<text x=\"113\" y=\"302\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M146 297h10\"></path>\n<path d=\"M156 297h10\"></path>\n<g>\n<path d=\"M166 297h0\"></path>\n<path d=\"M523 297h0\"></path>\n<g class=\"terminal\">\n<path d=\"M166 297h0\"></path>\n<path d=\"M228.5 297h0\"></path>\n<rect x=\"166\" y=\"286\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"197.25\" y=\"301\">!\" @\"</text>\n</g>\n<path d=\"M228.5 297h10\"></path>\n<g>\n<path d=\"M238.5 297h0\"></path>\n<path d=\"M523 297h0\"></path>\n<path d=\"M238.5 297h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M258.5 297h0\"></path>\n<path d=\"M389 297h114\"></path>\n<rect x=\"258.5\" y=\"286\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"323.75\" y=\"301\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M503 297h20\"></path>\n<path d=\"M238.5 297a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M258.5 327h0\"></path>\n<path d=\"M503 327h0\"></path>\n<g class=\"terminal\">\n<path d=\"M258.5 327h0\"></path>\n<path d=\"M321 327h0\"></path>\n<rect x=\"258.5\" y=\"316\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"289.75\" y=\"331\">!\"( \"</text>\n</g>\n<path d=\"M321 327h10\"></path>\n<path d=\"M331 327h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M341 327h0\"></path>\n<path d=\"M412 327h0\"></path>\n<rect x=\"341\" y=\"316\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"376.5\" y=\"331\">Source</text>\n</a>\n</g>\n<path d=\"M412 327h10\"></path>\n<path d=\"M422 327h10\"></path>\n<g class=\"terminal\">\n<path d=\"M432 327h0\"></path>\n<path d=\"M503 327h0\"></path>\n<rect x=\"432\" y=\"316\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"467.5\" y=\"331\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M503 327a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M577.5 297a10 10 0 0 0 10 -10v-177a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M597.5 100h0\"></path>\n<path d=\"M1384.5 100h0\"></path>\n<path d=\"M597.5 100h20\"></path>\n<g>\n<path d=\"M617.5 100h0\"></path>\n<path d=\"M1364.5 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M617.5 100h0\"></path>\n<path d=\"M790.5 100h0\"></path>\n<rect x=\"617.5\" y=\"89\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCompareOperator\"><text x=\"704\" y=\"104\">SQLCompareOperator</text>\n</a>\n</g>\n<path d=\"M790.5 100h10\"></path>\n<g>\n<path d=\"M800.5 100h0\"></path>\n<path d=\"M1364.5 100h0\"></path>\n<path d=\"M800.5 100h20\"></path>\n<g>\n<path d=\"M820.5 100h0\"></path>\n<path d=\"M1344.5 100h0\"></path>\n<g>\n<path d=\"M820.5 100h0\"></path>\n<path d=\"M971.5 100h0\"></path>\n<path d=\"M820.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M840.5 80h111\"></path>\n</g>\n<path d=\"M951.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M820.5 100h20\"></path>\n<g>\n<path d=\"M840.5 100h0\"></path>\n<path d=\"M951.5 100h0\"></path>\n<path d=\"M840.5 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M860.5 100h0\"></path>\n<path d=\"M923 100h8.5\"></path>\n<rect x=\"860.5\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"891.75\" y=\"104\">\"ALL\"</text>\n</g>\n<path d=\"M931.5 100h20\"></path>\n<path d=\"M840.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M860.5 130h0\"></path>\n<path d=\"M923 130h8.5\"></path>\n<rect x=\"860.5\" y=\"119\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"891.75\" y=\"134\">\"ANY\"</text>\n</g>\n<path d=\"M931.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M840.5 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M860.5 160h0\"></path>\n<path d=\"M931.5 160h0\"></path>\n<rect x=\"860.5\" y=\"149\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"896\" y=\"164\">\"SOME\"</text>\n</g>\n<path d=\"M931.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M951.5 100h20\"></path>\n</g>\n<g>\n<path d=\"M971.5 100h0\"></path>\n<path d=\"M1344.5 100h0\"></path>\n<path d=\"M971.5 100h20\"></path>\n<g>\n<path d=\"M991.5 100h0\"></path>\n<path d=\"M1193.5 100h131\"></path>\n<g class=\"terminal\">\n<path d=\"M991.5 100h0\"></path>\n<path d=\"M1037 100h0\"></path>\n<rect x=\"991.5\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1014.25\" y=\"104\">\"(\"</text>\n</g>\n<path d=\"M1037 100h10\"></path>\n<path d=\"M1047 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1057 100h0\"></path>\n<path d=\"M1128 100h0\"></path>\n<rect x=\"1057\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"1092.5\" y=\"104\">Select</text>\n</a>\n</g>\n<path d=\"M1128 100h10\"></path>\n<path d=\"M1138 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1148 100h0\"></path>\n<path d=\"M1193.5 100h0\"></path>\n<rect x=\"1148\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1170.75\" y=\"104\">\")\"</text>\n</g>\n</g>\n<path d=\"M1324.5 100h20\"></path>\n<path d=\"M971.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M991.5 130h0\"></path>\n<path d=\"M1324.5 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M991.5 130h0\"></path>\n<path d=\"M1037 130h0\"></path>\n<rect x=\"991.5\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1014.25\" y=\"134\">\"(\"</text>\n</g>\n<path d=\"M1037 130h10\"></path>\n<path d=\"M1047 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1057 130h0\"></path>\n<path d=\"M1102.5 130h0\"></path>\n<rect x=\"1057\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1079.75\" y=\"134\">\"(\"</text>\n</g>\n<path d=\"M1102.5 130h10\"></path>\n<path d=\"M1112.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122.5 130h0\"></path>\n<path d=\"M1193.5 130h0\"></path>\n<rect x=\"1122.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"1158\" y=\"134\">Select</text>\n</a>\n</g>\n<path d=\"M1193.5 130h10\"></path>\n<path d=\"M1203.5 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1213.5 130h0\"></path>\n<path d=\"M1259 130h0\"></path>\n<rect x=\"1213.5\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1236.25\" y=\"134\">\")\"</text>\n</g>\n<path d=\"M1259 130h10\"></path>\n<path d=\"M1269 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1279 130h0\"></path>\n<path d=\"M1324.5 130h0\"></path>\n<rect x=\"1279\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1301.75\" y=\"134\">\")\"</text>\n</g>\n</g>\n<path d=\"M1324.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1344.5 100h20\"></path>\n<path d=\"M800.5 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M820.5 190h0\"></path>\n<path d=\"M917 190h427.5\"></path>\n<rect x=\"820.5\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"868.75\" y=\"194\">SQLSource</text>\n</a>\n</g>\n<path d=\"M1344.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1364.5 100h20\"></path>\n<path d=\"M597.5 100a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M617.5 229h0\"></path>\n<path d=\"M1202 229h162.5\"></path>\n<g>\n<path d=\"M617.5 229h0\"></path>\n<path d=\"M720 229h0\"></path>\n<path d=\"M617.5 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M637.5 209h62.5\"></path>\n</g>\n<path d=\"M700 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M617.5 229h20\"></path>\n<g class=\"terminal\">\n<path d=\"M637.5 229h0\"></path>\n<path d=\"M700 229h0\"></path>\n<rect x=\"637.5\" y=\"218\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"668.75\" y=\"233\">\"NOT\"</text>\n</g>\n<path d=\"M700 229h20\"></path>\n</g>\n<g>\n<path d=\"M720 229h0\"></path>\n<path d=\"M1202 229h0\"></path>\n<path d=\"M720 229h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M740 229h0\"></path>\n<path d=\"M802.5 229h379.5\"></path>\n<rect x=\"740\" y=\"218\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIn\"><text x=\"771.25\" y=\"233\">SQLIn</text>\n</a>\n</g>\n<path d=\"M1182 229h20\"></path>\n<path d=\"M720 229a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M740 268h0\"></path>\n<path d=\"M1182 268h0\"></path>\n<g class=\"terminal\">\n<path d=\"M740 268h0\"></path>\n<path d=\"M811 268h0\"></path>\n<rect x=\"740\" y=\"257\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"775.5\" y=\"272\">\"LIKE\"</text>\n</g>\n<path d=\"M811 268h10\"></path>\n<path d=\"M821 268h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M831 268h0\"></path>\n<path d=\"M927.5 268h0\"></path>\n<rect x=\"831\" y=\"257\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"879.25\" y=\"272\">SQLSource</text>\n</a>\n</g>\n<path d=\"M927.5 268h10\"></path>\n<g>\n<path d=\"M937.5 268h0\"></path>\n<path d=\"M1182 268h0\"></path>\n<path d=\"M937.5 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M957.5 248h204.5\"></path>\n</g>\n<path d=\"M1162 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M937.5 268h20\"></path>\n<g>\n<path d=\"M957.5 268h0\"></path>\n<path d=\"M1162 268h0\"></path>\n<g class=\"terminal\">\n<path d=\"M957.5 268h0\"></path>\n<path d=\"M1045.5 268h0\"></path>\n<rect x=\"957.5\" y=\"257\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001.5\" y=\"272\">\"ESCAPE\"</text>\n</g>\n<path d=\"M1045.5 268h10\"></path>\n<path d=\"M1055.5 268h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1065.5 268h0\"></path>\n<path d=\"M1162 268h0\"></path>\n<rect x=\"1065.5\" y=\"257\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"1113.75\" y=\"272\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1162 268h20\"></path>\n</g>\n</g>\n<path d=\"M1182 268a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M720 229a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M740 298h0\"></path>\n<path d=\"M1152 298h30\"></path>\n<g class=\"terminal\">\n<path d=\"M740 298h0\"></path>\n<path d=\"M836.5 298h0\"></path>\n<rect x=\"740\" y=\"287\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.25\" y=\"302\">\"BETWEEN\"</text>\n</g>\n<path d=\"M836.5 298h10\"></path>\n<path d=\"M846.5 298h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M856.5 298h0\"></path>\n<path d=\"M953 298h0\"></path>\n<rect x=\"856.5\" y=\"287\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"904.75\" y=\"302\">SQLSource</text>\n</a>\n</g>\n<path d=\"M953 298h10\"></path>\n<path d=\"M963 298h10\"></path>\n<g class=\"terminal\">\n<path d=\"M973 298h0\"></path>\n<path d=\"M1035.5 298h0\"></path>\n<rect x=\"973\" y=\"287\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1004.25\" y=\"302\">\"AND\"</text>\n</g>\n<path d=\"M1035.5 298h10\"></path>\n<path d=\"M1045.5 298h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1055.5 298h0\"></path>\n<path d=\"M1152 298h0\"></path>\n<rect x=\"1055.5\" y=\"287\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"1103.75\" y=\"302\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1182 298a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1364.5 229a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M597.5 100a10 10 0 0 1 10 10v217a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M617.5 337h0\"></path>\n<path d=\"M978.5 337h386\"></path>\n<g class=\"terminal\">\n<path d=\"M617.5 337h0\"></path>\n<path d=\"M671.5 337h0\"></path>\n<rect x=\"617.5\" y=\"326\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"644.5\" y=\"341\">\"IS\"</text>\n</g>\n<path d=\"M671.5 337h10\"></path>\n<g>\n<path d=\"M681.5 337h0\"></path>\n<path d=\"M784 337h0\"></path>\n<path d=\"M681.5 337a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M701.5 317h62.5\"></path>\n</g>\n<path d=\"M764 317a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M681.5 337h20\"></path>\n<g class=\"terminal\">\n<path d=\"M701.5 337h0\"></path>\n<path d=\"M764 337h0\"></path>\n<rect x=\"701.5\" y=\"326\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"732.75\" y=\"341\">\"NOT\"</text>\n</g>\n<path d=\"M764 337h20\"></path>\n</g>\n<g>\n<path d=\"M784 337h0\"></path>\n<path d=\"M978.5 337h0\"></path>\n<path d=\"M784 337h20\"></path>\n<g class=\"terminal\">\n<path d=\"M804 337h0\"></path>\n<path d=\"M875 337h83.5\"></path>\n<rect x=\"804\" y=\"326\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"839.5\" y=\"341\">\"NULL\"</text>\n</g>\n<path d=\"M958.5 337h20\"></path>\n<path d=\"M784 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M804 367h0\"></path>\n<path d=\"M958.5 367h0\"></path>\n<g>\n<path d=\"M804 367h0\"></path>\n<path d=\"M842 367h0\"></path>\n<text x=\"823\" y=\"372\" class=\"comment\">v753</text>\n</g>\n<path d=\"M842 367h10\"></path>\n<path d=\"M852 367h10\"></path>\n<g class=\"terminal\">\n<path d=\"M862 367h0\"></path>\n<path d=\"M958.5 367h0\"></path>\n<rect x=\"862\" y=\"356\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"910.25\" y=\"371\">\"INITIAL\"</text>\n</g>\n</g>\n<path d=\"M958.5 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1364.5 337a10 10 0 0 0 10 -10v-217a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1384.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1404.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCond"
+      ],
+      "filename": "s_ql_compare.ts"
+    },
+    {
+      "name": "SQLCompareOperator",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Terminal('\"<>\"'),Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"'),Railroad.Terminal('\"<=\"'),Railroad.Terminal('\">=\"'),Railroad.Terminal('\"EQ\"'),Railroad.Terminal('\"NE\"'),Railroad.Terminal('\"GE\"'),Railroad.Terminal('\"GT\"'),Railroad.Terminal('\"LT\"'),Railroad.Terminal('\"LE\"'),Railroad.Terminal('\"><\"'),Railroad.Terminal('\"=>\"'),Railroad.Terminal('\"=<\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"174\" height=\"482\" viewBox=\"0 0 174 482\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M134 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M105.5 31h8.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M114 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M114 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"65\">\"&#60;>\"</text>\n</g>\n<path d=\"M114 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M105.5 91h8.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"95\">\"&#60;\"</text>\n</g>\n<path d=\"M114 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M105.5 121h8.5\"></path>\n<rect x=\"60\" y=\"110\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"125\">\">\"</text>\n</g>\n<path d=\"M114 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M114 151h0\"></path>\n<rect x=\"60\" y=\"140\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"155\">\"&#60;=\"</text>\n</g>\n<path d=\"M114 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 181h0\"></path>\n<path d=\"M114 181h0\"></path>\n<rect x=\"60\" y=\"170\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"185\">\">=\"</text>\n</g>\n<path d=\"M114 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 211h0\"></path>\n<path d=\"M114 211h0\"></path>\n<rect x=\"60\" y=\"200\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"215\">\"EQ\"</text>\n</g>\n<path d=\"M114 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 241h0\"></path>\n<path d=\"M114 241h0\"></path>\n<rect x=\"60\" y=\"230\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"245\">\"NE\"</text>\n</g>\n<path d=\"M114 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 271h0\"></path>\n<path d=\"M114 271h0\"></path>\n<rect x=\"60\" y=\"260\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"275\">\"GE\"</text>\n</g>\n<path d=\"M114 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 301h0\"></path>\n<path d=\"M114 301h0\"></path>\n<rect x=\"60\" y=\"290\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"305\">\"GT\"</text>\n</g>\n<path d=\"M114 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 331h0\"></path>\n<path d=\"M114 331h0\"></path>\n<rect x=\"60\" y=\"320\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"335\">\"LT\"</text>\n</g>\n<path d=\"M114 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 361h0\"></path>\n<path d=\"M114 361h0\"></path>\n<rect x=\"60\" y=\"350\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"365\">\"LE\"</text>\n</g>\n<path d=\"M114 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 391h0\"></path>\n<path d=\"M114 391h0\"></path>\n<rect x=\"60\" y=\"380\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"395\">\">&#60;\"</text>\n</g>\n<path d=\"M114 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 421h0\"></path>\n<path d=\"M114 421h0\"></path>\n<rect x=\"60\" y=\"410\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"425\">\"=>\"</text>\n</g>\n<path d=\"M114 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 451h0\"></path>\n<path d=\"M114 451h0\"></path>\n<rect x=\"60\" y=\"440\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"87\" y=\"455\">\"=&#60;\"</text>\n</g>\n<path d=\"M114 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 134 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCompare",
+        "expression/SQLHaving"
+      ],
+      "filename": "s_ql_compare_operator.ts"
+    },
+    {
+      "name": "SQLCond",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLCompare', {href: '#/expression/SQLCompare'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'}),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"'))))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"AND\"'),Railroad.Terminal('\"OR\"')),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLCompare', {href: '#/expression/SQLCompare'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'}),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"'))))))))).toString();",
+      "using": [
+        "expression/SQLCompare",
+        "expression/SQLCond"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1150.5\" height=\"147\" viewBox=\"0 0 1150.5 147\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1100.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M484 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M152.5 48h0\"></path>\n<path d=\"M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 28h62.5\"></path>\n</g>\n<path d=\"M132.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 48h0\"></path>\n<path d=\"M132.5 48h0\"></path>\n<rect x=\"70\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"52\">\"NOT\"</text>\n</g>\n<path d=\"M132.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M152.5 48h0\"></path>\n<path d=\"M484 48h0\"></path>\n<path d=\"M152.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M172.5 48h0\"></path>\n<path d=\"M277.5 48h186.5\"></path>\n<rect x=\"172.5\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCompare\"><text x=\"225\" y=\"52\">SQLCompare</text>\n</a>\n</g>\n<path d=\"M464 48h20\"></path>\n<path d=\"M152.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M172.5 78h0\"></path>\n<path d=\"M464 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M172.5 78h0\"></path>\n<path d=\"M243.5 78h0\"></path>\n<rect x=\"172.5\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208\" y=\"82\">!\" ( \"</text>\n</g>\n<path d=\"M243.5 78h10\"></path>\n<path d=\"M253.5 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M263.5 78h0\"></path>\n<path d=\"M343 78h0\"></path>\n<rect x=\"263.5\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"303.25\" y=\"82\">SQLCond</text>\n</a>\n</g>\n<path d=\"M343 78h10\"></path>\n<g>\n<path d=\"M353 78h0\"></path>\n<path d=\"M464 78h0\"></path>\n<path d=\"M353 78h20\"></path>\n<g class=\"terminal\">\n<path d=\"M373 78h0\"></path>\n<path d=\"M444 78h0\"></path>\n<rect x=\"373\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"408.5\" y=\"82\">!\" ) \"</text>\n</g>\n<path d=\"M444 78h20\"></path>\n<path d=\"M353 78a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M373 108h0\"></path>\n<path d=\"M435.5 108h8.5\"></path>\n<rect x=\"373\" y=\"97\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404.25\" y=\"112\">!\") \"</text>\n</g>\n<path d=\"M444 108a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M464 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M484 48h10\"></path>\n<g>\n<path d=\"M494 48h0\"></path>\n<path d=\"M1100.5 48h0\"></path>\n<path d=\"M494 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M514 20h566.5\"></path>\n</g>\n<path d=\"M1080.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M494 48h20\"></path>\n<g>\n<path d=\"M514 48h0\"></path>\n<path d=\"M1080.5 48h0\"></path>\n<path d=\"M514 48h10\"></path>\n<g>\n<path d=\"M524 48h0\"></path>\n<path d=\"M1070.5 48h0\"></path>\n<g>\n<path d=\"M524 48h0\"></path>\n<path d=\"M626.5 48h0\"></path>\n<path d=\"M524 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M544 48h0\"></path>\n<path d=\"M606.5 48h0\"></path>\n<rect x=\"544\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"575.25\" y=\"52\">\"AND\"</text>\n</g>\n<path d=\"M606.5 48h20\"></path>\n<path d=\"M524 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M544 78h0\"></path>\n<path d=\"M598 78h8.5\"></path>\n<rect x=\"544\" y=\"67\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"571\" y=\"82\">\"OR\"</text>\n</g>\n<path d=\"M606.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M626.5 48h10\"></path>\n<g>\n<path d=\"M636.5 48h0\"></path>\n<path d=\"M1070.5 48h0\"></path>\n<g>\n<path d=\"M636.5 48h0\"></path>\n<path d=\"M739 48h0\"></path>\n<path d=\"M636.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M656.5 28h62.5\"></path>\n</g>\n<path d=\"M719 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M636.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 48h0\"></path>\n<path d=\"M719 48h0\"></path>\n<rect x=\"656.5\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"687.75\" y=\"52\">\"NOT\"</text>\n</g>\n<path d=\"M719 48h20\"></path>\n</g>\n<g>\n<path d=\"M739 48h0\"></path>\n<path d=\"M1070.5 48h0\"></path>\n<path d=\"M739 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M759 48h0\"></path>\n<path d=\"M864 48h186.5\"></path>\n<rect x=\"759\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCompare\"><text x=\"811.5\" y=\"52\">SQLCompare</text>\n</a>\n</g>\n<path d=\"M1050.5 48h20\"></path>\n<path d=\"M739 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M759 78h0\"></path>\n<path d=\"M1050.5 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M759 78h0\"></path>\n<path d=\"M830 78h0\"></path>\n<rect x=\"759\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"794.5\" y=\"82\">!\" ( \"</text>\n</g>\n<path d=\"M830 78h10\"></path>\n<path d=\"M840 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M850 78h0\"></path>\n<path d=\"M929.5 78h0\"></path>\n<rect x=\"850\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"889.75\" y=\"82\">SQLCond</text>\n</a>\n</g>\n<path d=\"M929.5 78h10\"></path>\n<g>\n<path d=\"M939.5 78h0\"></path>\n<path d=\"M1050.5 78h0\"></path>\n<path d=\"M939.5 78h20\"></path>\n<g class=\"terminal\">\n<path d=\"M959.5 78h0\"></path>\n<path d=\"M1030.5 78h0\"></path>\n<rect x=\"959.5\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"995\" y=\"82\">!\" ) \"</text>\n</g>\n<path d=\"M1030.5 78h20\"></path>\n<path d=\"M939.5 78a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M959.5 108h0\"></path>\n<path d=\"M1022 108h8.5\"></path>\n<rect x=\"959.5\" y=\"97\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"990.75\" y=\"112\">!\") \"</text>\n</g>\n<path d=\"M1030.5 108a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1050.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1070.5 48h10\"></path>\n<path d=\"M524 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M524 127h546.5\"></path>\n</g>\n<path d=\"M1070.5 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1080.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1100.5 48h10\"></path>\n<path d=\"M 1110.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCase",
+        "expression/SQLCond",
+        "expression/SQLJoin",
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/DeleteDatabase",
+        "statement/UpdateDatabase"
+      ],
+      "filename": "s_ql_cond.ts"
+    },
+    {
+      "name": "SQLField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLCase', {href: '#/expression/SQLCase'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLPath', {href: '#/expression/SQLPath'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'}))),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"+\"'),Railroad.Terminal('\"-\"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"'),Railroad.Terminal('\"&&\"')),Railroad.Optional(Railroad.Terminal('!\" ( \"')),Railroad.Choice(0, Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLCase', {href: '#/expression/SQLCase'}),Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLPath', {href: '#/expression/SQLPath'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'}))),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Optional(Railroad.Terminal('!\" ) \"')))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('SQLAsName', {href: '#/expression/SQLAsName'}))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/SQLAggregation",
+        "expression/SQLAsName",
+        "expression/SQLCase",
+        "expression/SQLFieldName",
+        "expression/SQLFunction",
+        "expression/SQLPath",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1501.5\" height=\"267\" viewBox=\"0 0 1501.5 267\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1451.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M414.5 48h0\"></path>\n<path d=\"M50 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 48h0\"></path>\n<path d=\"M209 48h185.5\"></path>\n<rect x=\"70\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"139.5\" y=\"52\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M394.5 48h20\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 78h0\"></path>\n<path d=\"M149.5 78h245\"></path>\n<rect x=\"70\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCase\"><text x=\"109.75\" y=\"82\">SQLCase</text>\n</a>\n</g>\n<path d=\"M394.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 108h0\"></path>\n<path d=\"M183.5 108h211\"></path>\n<rect x=\"70\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"126.75\" y=\"112\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M394.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 138h0\"></path>\n<path d=\"M149.5 138h245\"></path>\n<rect x=\"70\" y=\"127\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLPath\"><text x=\"109.75\" y=\"142\">SQLPath</text>\n</a>\n</g>\n<path d=\"M394.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 168h0\"></path>\n<path d=\"M192 168h202.5\"></path>\n<rect x=\"70\" y=\"157\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"131\" y=\"172\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M394.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 198h0\"></path>\n<path d=\"M394.5 198h0\"></path>\n<g>\n<path d=\"M70 198h0\"></path>\n<path d=\"M136 198h0\"></path>\n<text x=\"103\" y=\"203\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M136 198h10\"></path>\n<path d=\"M146 198h10\"></path>\n<g>\n<path d=\"M156 198h0\"></path>\n<path d=\"M394.5 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M156 198h0\"></path>\n<path d=\"M218.5 198h0\"></path>\n<rect x=\"156\" y=\"187\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187.25\" y=\"202\">!\" @\"</text>\n</g>\n<path d=\"M218.5 198h10\"></path>\n<path d=\"M228.5 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M238.5 198h0\"></path>\n<path d=\"M394.5 198h0\"></path>\n<rect x=\"238.5\" y=\"187\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"316.5\" y=\"202\">SimpleFieldChain</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M394.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 228h0\"></path>\n<path d=\"M158 228h236.5\"></path>\n<rect x=\"70\" y=\"217\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"114\" y=\"232\">Constant</text>\n</a>\n</g>\n<path d=\"M394.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M414.5 48h0\"></path>\n<path d=\"M1241 48h0\"></path>\n<path d=\"M414.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M434.5 20h786.5\"></path>\n</g>\n<path d=\"M1221 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M414.5 48h20\"></path>\n<g>\n<path d=\"M434.5 48h0\"></path>\n<path d=\"M1221 48h0\"></path>\n<g>\n<path d=\"M434.5 48h0\"></path>\n<path d=\"M500.5 48h0\"></path>\n<text x=\"467.5\" y=\"53\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M500.5 48h10\"></path>\n<path d=\"M510.5 48h10\"></path>\n<g>\n<path d=\"M520.5 48h0\"></path>\n<path d=\"M1221 48h0\"></path>\n<path d=\"M520.5 48h10\"></path>\n<g>\n<path d=\"M530.5 48h0\"></path>\n<path d=\"M1211 48h0\"></path>\n<g>\n<path d=\"M530.5 48h0\"></path>\n<path d=\"M624.5 48h0\"></path>\n<path d=\"M530.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 48h0\"></path>\n<path d=\"M596 48h8.5\"></path>\n<rect x=\"550.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"52\">\"+\"</text>\n</g>\n<path d=\"M604.5 48h20\"></path>\n<path d=\"M530.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 78h0\"></path>\n<path d=\"M596 78h8.5\"></path>\n<rect x=\"550.5\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"82\">\"-\"</text>\n</g>\n<path d=\"M604.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M530.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 108h0\"></path>\n<path d=\"M596 108h8.5\"></path>\n<rect x=\"550.5\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"112\">\"&#42;\"</text>\n</g>\n<path d=\"M604.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M530.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 138h0\"></path>\n<path d=\"M596 138h8.5\"></path>\n<rect x=\"550.5\" y=\"127\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"142\">\"/\"</text>\n</g>\n<path d=\"M604.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M530.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 168h0\"></path>\n<path d=\"M604.5 168h0\"></path>\n<rect x=\"550.5\" y=\"157\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"577.5\" y=\"172\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M604.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M624.5 48h0\"></path>\n<path d=\"M735.5 48h0\"></path>\n<path d=\"M624.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M644.5 28h71\"></path>\n</g>\n<path d=\"M715.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M624.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M644.5 48h0\"></path>\n<path d=\"M715.5 48h0\"></path>\n<rect x=\"644.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"680\" y=\"52\">!\" ( \"</text>\n</g>\n<path d=\"M715.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M735.5 48h0\"></path>\n<path d=\"M1100 48h0\"></path>\n<path d=\"M735.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 48h0\"></path>\n<path d=\"M894.5 48h185.5\"></path>\n<rect x=\"755.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"825\" y=\"52\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M1080 48h20\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 78h0\"></path>\n<path d=\"M835 78h245\"></path>\n<rect x=\"755.5\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCase\"><text x=\"795.25\" y=\"82\">SQLCase</text>\n</a>\n</g>\n<path d=\"M1080 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 108h0\"></path>\n<path d=\"M869 108h211\"></path>\n<rect x=\"755.5\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"812.25\" y=\"112\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M1080 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 138h0\"></path>\n<path d=\"M835 138h245\"></path>\n<rect x=\"755.5\" y=\"127\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLPath\"><text x=\"795.25\" y=\"142\">SQLPath</text>\n</a>\n</g>\n<path d=\"M1080 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 168h0\"></path>\n<path d=\"M877.5 168h202.5\"></path>\n<rect x=\"755.5\" y=\"157\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"816.5\" y=\"172\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M1080 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M755.5 198h0\"></path>\n<path d=\"M1080 198h0\"></path>\n<g>\n<path d=\"M755.5 198h0\"></path>\n<path d=\"M821.5 198h0\"></path>\n<text x=\"788.5\" y=\"203\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M821.5 198h10\"></path>\n<path d=\"M831.5 198h10\"></path>\n<g>\n<path d=\"M841.5 198h0\"></path>\n<path d=\"M1080 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M841.5 198h0\"></path>\n<path d=\"M904 198h0\"></path>\n<rect x=\"841.5\" y=\"187\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"872.75\" y=\"202\">!\" @\"</text>\n</g>\n<path d=\"M904 198h10\"></path>\n<path d=\"M914 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M924 198h0\"></path>\n<path d=\"M1080 198h0\"></path>\n<rect x=\"924\" y=\"187\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"1002\" y=\"202\">SimpleFieldChain</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1080 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M735.5 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M755.5 228h0\"></path>\n<path d=\"M843.5 228h236.5\"></path>\n<rect x=\"755.5\" y=\"217\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"799.5\" y=\"232\">Constant</text>\n</a>\n</g>\n<path d=\"M1080 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1100 48h0\"></path>\n<path d=\"M1211 48h0\"></path>\n<path d=\"M1100 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1120 28h71\"></path>\n</g>\n<path d=\"M1191 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1100 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1120 48h0\"></path>\n<path d=\"M1191 48h0\"></path>\n<rect x=\"1120\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1155.5\" y=\"52\">!\" ) \"</text>\n</g>\n<path d=\"M1191 48h20\"></path>\n</g>\n</g>\n<path d=\"M1211 48h10\"></path>\n<path d=\"M530.5 48a10 10 0 0 0 -10 10v179a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M530.5 247h680.5\"></path>\n</g>\n<path d=\"M1211 247a10 10 0 0 0 10 -10v-179a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1221 48h20\"></path>\n</g>\n<g>\n<path d=\"M1241 48h0\"></path>\n<path d=\"M1451.5 48h0\"></path>\n<path d=\"M1241 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1261 28h170.5\"></path>\n</g>\n<path d=\"M1431.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1241 48h20\"></path>\n<g>\n<path d=\"M1261 48h0\"></path>\n<path d=\"M1431.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1261 48h0\"></path>\n<path d=\"M1315 48h0\"></path>\n<rect x=\"1261\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1288\" y=\"52\">\"AS\"</text>\n</g>\n<path d=\"M1315 48h10\"></path>\n<path d=\"M1325 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1335 48h0\"></path>\n<path d=\"M1431.5 48h0\"></path>\n<rect x=\"1335\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAsName\"><text x=\"1383.25\" y=\"52\">SQLAsName</text>\n</a>\n</g>\n</g>\n<path d=\"M1431.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1451.5 48h10\"></path>\n<path d=\"M 1461.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFieldList",
+        "expression/SQLFieldListLoop"
+      ],
+      "filename": "s_ql_field.ts"
+    },
+    {
+      "name": "SQLFieldAndValue",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'})),Railroad.NonTerminal('SQLArithmeticOperator', {href: '#/expression/SQLArithmeticOperator'}),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})))).toString();",
+      "using": [
+        "expression/Integer",
+        "expression/SQLArithmeticOperator",
+        "expression/SQLFieldName",
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"824.5\" height=\"122\" viewBox=\"0 0 824.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M774.5 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M172 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"111\" y=\"35\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M172 31h10\"></path>\n<path d=\"M182 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M192 31h0\"></path>\n<path d=\"M237.5 31h0\"></path>\n<rect x=\"192\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"214.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M237.5 31h10\"></path>\n<g>\n<path d=\"M247.5 31h0\"></path>\n<path d=\"M774.5 31h0\"></path>\n<path d=\"M247.5 31h20\"></path>\n<g>\n<path d=\"M267.5 31h0\"></path>\n<path d=\"M754.5 31h0\"></path>\n<g>\n<path d=\"M267.5 31h0\"></path>\n<path d=\"M429.5 31h0\"></path>\n<path d=\"M267.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M287.5 31h0\"></path>\n<path d=\"M367 31h42.5\"></path>\n<rect x=\"287.5\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"327.25\" y=\"35\">Integer</text>\n</a>\n</g>\n<path d=\"M409.5 31h20\"></path>\n<path d=\"M267.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M287.5 61h0\"></path>\n<path d=\"M409.5 61h0\"></path>\n<rect x=\"287.5\" y=\"50\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"348.5\" y=\"65\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M409.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M429.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M439.5 31h0\"></path>\n<path d=\"M638 31h0\"></path>\n<rect x=\"439.5\" y=\"20\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLArithmeticOperator\"><text x=\"538.75\" y=\"35\">SQLArithmeticOperator</text>\n</a>\n</g>\n<path d=\"M638 31h10\"></path>\n<path d=\"M648 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M658 31h0\"></path>\n<path d=\"M754.5 31h0\"></path>\n<rect x=\"658\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"706.25\" y=\"35\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M754.5 31h20\"></path>\n<path d=\"M247.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M267.5 91h0\"></path>\n<path d=\"M364 91h390.5\"></path>\n<rect x=\"267.5\" y=\"80\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"315.75\" y=\"95\">SQLSource</text>\n</a>\n</g>\n<path d=\"M754.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M774.5 31h10\"></path>\n<path d=\"M 784.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/UpdateDatabase"
+      ],
+      "filename": "s_ql_field_and_value.ts"
+    },
+    {
+      "name": "SQLFieldList",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Sequence(Railroad.NonTerminal('SQLField', {href: '#/expression/SQLField'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLField', {href: '#/expression/SQLField'})))),Railroad.ZeroOrMore(Railroad.NonTerminal('SQLField', {href: '#/expression/SQLField'})))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/SQLField"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"547.5\" height=\"188\" viewBox=\"0 0 547.5 188\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M507.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M105.5 31h382\"></path>\n<rect x=\"60\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"35\">\"&#42;\"</text>\n</g>\n<path d=\"M487.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M139.5 61h348\"></path>\n<rect x=\"60\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M487.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M487.5 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M148 100h0\"></path>\n<rect x=\"60\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLField\"><text x=\"104\" y=\"104\">SQLField</text>\n</a>\n</g>\n<path d=\"M148 100h10\"></path>\n<g>\n<path d=\"M158 100h0\"></path>\n<path d=\"M487.5 100h0\"></path>\n<path d=\"M158 100h20\"></path>\n<g>\n<path d=\"M178 100h0\"></path>\n<path d=\"M467.5 100h0\"></path>\n<g>\n<path d=\"M178 100h0\"></path>\n<path d=\"M244 100h0\"></path>\n<text x=\"211\" y=\"105\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M244 100h10\"></path>\n<g>\n<path d=\"M254 100h0\"></path>\n<path d=\"M467.5 100h0\"></path>\n<path d=\"M254 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M274 80h173.5\"></path>\n</g>\n<path d=\"M447.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M254 100h20\"></path>\n<g>\n<path d=\"M274 100h0\"></path>\n<path d=\"M447.5 100h0\"></path>\n<path d=\"M274 100h10\"></path>\n<g>\n<path d=\"M284 100h0\"></path>\n<path d=\"M437.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M284 100h0\"></path>\n<path d=\"M329.5 100h0\"></path>\n<rect x=\"284\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"306.75\" y=\"104\">\",\"</text>\n</g>\n<path d=\"M329.5 100h10\"></path>\n<path d=\"M339.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M349.5 100h0\"></path>\n<path d=\"M437.5 100h0\"></path>\n<rect x=\"349.5\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLField\"><text x=\"393.5\" y=\"104\">SQLField</text>\n</a>\n</g>\n</g>\n<path d=\"M437.5 100h10\"></path>\n<path d=\"M284 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M284 120h153.5\"></path>\n</g>\n<path d=\"M437.5 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M447.5 100h20\"></path>\n</g>\n</g>\n<path d=\"M467.5 100h20\"></path>\n<path d=\"M158 100a10 10 0 0 1 10 10v28a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 148h0\"></path>\n<path d=\"M326 148h141.5\"></path>\n<path d=\"M178 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M198 128h108\"></path>\n</g>\n<path d=\"M306 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M178 148h20\"></path>\n<g>\n<path d=\"M198 148h0\"></path>\n<path d=\"M306 148h0\"></path>\n<path d=\"M198 148h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M208 148h0\"></path>\n<path d=\"M296 148h0\"></path>\n<rect x=\"208\" y=\"137\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLField\"><text x=\"252\" y=\"152\">SQLField</text>\n</a>\n</g>\n<path d=\"M296 148h10\"></path>\n<path d=\"M208 148a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M208 168h88\"></path>\n</g>\n<path d=\"M296 168a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M306 148h20\"></path>\n</g>\n<path d=\"M467.5 148a10 10 0 0 0 10 -10v-28a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M487.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 507.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFields",
+        "expression/Select"
+      ],
+      "filename": "s_ql_field_list.ts"
+    },
+    {
+      "name": "SQLFieldListLoop",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('SQLField', {href: '#/expression/SQLField'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Terminal('\",\"'))))),Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'}))),Railroad.NonTerminal('SQLPath', {href: '#/expression/SQLPath'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('SQLAsName', {href: '#/expression/SQLAsName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Terminal('\",\"'))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('SQLField', {href: '#/expression/SQLField'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Terminal('\",\"')))))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Dynamic",
+        "expression/SQLAsName",
+        "expression/SQLField",
+        "expression/SQLFieldName",
+        "expression/SQLPath",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1525.5\" height=\"229\" viewBox=\"0 0 1525.5 229\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M1485.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M105.5 31h1360\"></path>\n<rect x=\"60\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"35\">\"&#42;\"</text>\n</g>\n<path d=\"M1465.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M139.5 61h1326\"></path>\n<rect x=\"60\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1465.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 108h0\"></path>\n<path d=\"M1465.5 108h0\"></path>\n<g>\n<path d=\"M60 108h0\"></path>\n<path d=\"M389.5 108h0\"></path>\n<path d=\"M60 108a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M80 80h289.5\"></path>\n</g>\n<path d=\"M369.5 80a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M60 108h20\"></path>\n<g>\n<path d=\"M80 108h0\"></path>\n<path d=\"M369.5 108h0\"></path>\n<path d=\"M80 108h10\"></path>\n<g>\n<path d=\"M90 108h0\"></path>\n<path d=\"M359.5 108h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 108h0\"></path>\n<path d=\"M178 108h0\"></path>\n<rect x=\"90\" y=\"97\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLField\"><text x=\"134\" y=\"112\">SQLField</text>\n</a>\n</g>\n<path d=\"M178 108h10\"></path>\n<g>\n<path d=\"M188 108h0\"></path>\n<path d=\"M359.5 108h0\"></path>\n<path d=\"M188 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M208 88h131.5\"></path>\n</g>\n<path d=\"M339.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M188 108h20\"></path>\n<g>\n<path d=\"M208 108h0\"></path>\n<path d=\"M339.5 108h0\"></path>\n<g>\n<path d=\"M208 108h0\"></path>\n<path d=\"M274 108h0\"></path>\n<text x=\"241\" y=\"113\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M274 108h10\"></path>\n<path d=\"M284 108h10\"></path>\n<g class=\"terminal\">\n<path d=\"M294 108h0\"></path>\n<path d=\"M339.5 108h0\"></path>\n<rect x=\"294\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"316.75\" y=\"112\">\",\"</text>\n</g>\n</g>\n<path d=\"M339.5 108h20\"></path>\n</g>\n</g>\n<path d=\"M359.5 108h10\"></path>\n<path d=\"M90 108a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M90 128h269.5\"></path>\n</g>\n<path d=\"M359.5 128a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M369.5 108h20\"></path>\n</g>\n<g>\n<path d=\"M389.5 108h0\"></path>\n<path d=\"M754 108h0\"></path>\n<path d=\"M389.5 108h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409.5 108h0\"></path>\n<path d=\"M531.5 108h202.5\"></path>\n<rect x=\"409.5\" y=\"97\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"470.5\" y=\"112\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M734 108h20\"></path>\n<path d=\"M389.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409.5 138h0\"></path>\n<path d=\"M734 138h0\"></path>\n<g>\n<path d=\"M409.5 138h0\"></path>\n<path d=\"M475.5 138h0\"></path>\n<text x=\"442.5\" y=\"143\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M475.5 138h10\"></path>\n<path d=\"M485.5 138h10\"></path>\n<g>\n<path d=\"M495.5 138h0\"></path>\n<path d=\"M734 138h0\"></path>\n<g class=\"terminal\">\n<path d=\"M495.5 138h0\"></path>\n<path d=\"M558 138h0\"></path>\n<rect x=\"495.5\" y=\"127\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"526.75\" y=\"142\">!\" @\"</text>\n</g>\n<path d=\"M558 138h10\"></path>\n<path d=\"M568 138h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M578 138h0\"></path>\n<path d=\"M734 138h0\"></path>\n<rect x=\"578\" y=\"127\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"656\" y=\"142\">SimpleFieldChain</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M734 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M389.5 108a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409.5 168h0\"></path>\n<path d=\"M489 168h245\"></path>\n<rect x=\"409.5\" y=\"157\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLPath\"><text x=\"449.25\" y=\"172\">SQLPath</text>\n</a>\n</g>\n<path d=\"M734 168a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M389.5 108a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409.5 198h0\"></path>\n<path d=\"M497.5 198h236.5\"></path>\n<rect x=\"409.5\" y=\"187\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"453.5\" y=\"202\">Constant</text>\n</a>\n</g>\n<path d=\"M734 198a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M754 108h0\"></path>\n<path d=\"M964.5 108h0\"></path>\n<path d=\"M754 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M774 88h170.5\"></path>\n</g>\n<path d=\"M944.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M754 108h20\"></path>\n<g>\n<path d=\"M774 108h0\"></path>\n<path d=\"M944.5 108h0\"></path>\n<g class=\"terminal\">\n<path d=\"M774 108h0\"></path>\n<path d=\"M828 108h0\"></path>\n<rect x=\"774\" y=\"97\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"801\" y=\"112\">\"AS\"</text>\n</g>\n<path d=\"M828 108h10\"></path>\n<path d=\"M838 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M848 108h0\"></path>\n<path d=\"M944.5 108h0\"></path>\n<rect x=\"848\" y=\"97\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAsName\"><text x=\"896.25\" y=\"112\">SQLAsName</text>\n</a>\n</g>\n</g>\n<path d=\"M944.5 108h20\"></path>\n</g>\n<g>\n<path d=\"M964.5 108h0\"></path>\n<path d=\"M1136 108h0\"></path>\n<path d=\"M964.5 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M984.5 88h131.5\"></path>\n</g>\n<path d=\"M1116 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M964.5 108h20\"></path>\n<g>\n<path d=\"M984.5 108h0\"></path>\n<path d=\"M1116 108h0\"></path>\n<g>\n<path d=\"M984.5 108h0\"></path>\n<path d=\"M1050.5 108h0\"></path>\n<text x=\"1017.5\" y=\"113\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M1050.5 108h10\"></path>\n<path d=\"M1060.5 108h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1070.5 108h0\"></path>\n<path d=\"M1116 108h0\"></path>\n<rect x=\"1070.5\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1093.25\" y=\"112\">\",\"</text>\n</g>\n</g>\n<path d=\"M1116 108h20\"></path>\n</g>\n<g>\n<path d=\"M1136 108h0\"></path>\n<path d=\"M1465.5 108h0\"></path>\n<path d=\"M1136 108a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1156 80h289.5\"></path>\n</g>\n<path d=\"M1445.5 80a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1136 108h20\"></path>\n<g>\n<path d=\"M1156 108h0\"></path>\n<path d=\"M1445.5 108h0\"></path>\n<path d=\"M1156 108h10\"></path>\n<g>\n<path d=\"M1166 108h0\"></path>\n<path d=\"M1435.5 108h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1166 108h0\"></path>\n<path d=\"M1254 108h0\"></path>\n<rect x=\"1166\" y=\"97\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLField\"><text x=\"1210\" y=\"112\">SQLField</text>\n</a>\n</g>\n<path d=\"M1254 108h10\"></path>\n<g>\n<path d=\"M1264 108h0\"></path>\n<path d=\"M1435.5 108h0\"></path>\n<path d=\"M1264 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1284 88h131.5\"></path>\n</g>\n<path d=\"M1415.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1264 108h20\"></path>\n<g>\n<path d=\"M1284 108h0\"></path>\n<path d=\"M1415.5 108h0\"></path>\n<g>\n<path d=\"M1284 108h0\"></path>\n<path d=\"M1350 108h0\"></path>\n<text x=\"1317\" y=\"113\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M1350 108h10\"></path>\n<path d=\"M1360 108h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1370 108h0\"></path>\n<path d=\"M1415.5 108h0\"></path>\n<rect x=\"1370\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1392.75\" y=\"112\">\",\"</text>\n</g>\n</g>\n<path d=\"M1415.5 108h20\"></path>\n</g>\n</g>\n<path d=\"M1435.5 108h10\"></path>\n<path d=\"M1166 108a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1166 128h269.5\"></path>\n</g>\n<path d=\"M1435.5 128a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1445.5 108h20\"></path>\n</g>\n</g>\n<path d=\"M1465.5 108a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1485.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_field_list_loop.ts"
+    },
+    {
+      "name": "SQLFieldName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\\\\/\\\\w+\\\\/)?(\\\\w+~(\\\\w+|\\\\*)|\\\\w+)$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"944.5\" height=\"62\" viewBox=\"0 0 944.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M894.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"844.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"472.25\" y=\"35\">^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\\/\\w+\\/)?(\\w+~(\\w+|\\&#42;)|\\w+)$</text>\n</g>\n<path d=\"M894.5 31h10\"></path>\n<path d=\"M 904.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLArithmetics",
+        "expression/SQLCase",
+        "expression/SQLCompare",
+        "expression/SQLField",
+        "expression/SQLFieldAndValue",
+        "expression/SQLFieldListLoop",
+        "expression/SQLFunctionInput",
+        "expression/SQLGroupBy",
+        "expression/SQLOrderBy",
+        "expression/Select"
+      ],
+      "filename": "s_ql_field_name.ts"
+    },
+    {
+      "name": "SQLFields",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.NonTerminal('SQLFieldList', {href: '#/expression/SQLFieldList'}))).toString();",
+      "using": [
+        "expression/SQLFieldList"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"475\" height=\"71\" viewBox=\"0 0 475 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M425 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"FIELDS\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h105\"></path>\n</g>\n<path d=\"M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M273 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.5\" y=\"44\">\"DISTINCT\"</text>\n</g>\n<path d=\"M273 40h20\"></path>\n</g>\n<path d=\"M293 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 40h0\"></path>\n<path d=\"M425 40h0\"></path>\n<rect x=\"303\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldList\"><text x=\"364\" y=\"44\">SQLFieldList</text>\n</a>\n</g>\n</g>\n<path d=\"M425 40h10\"></path>\n<path d=\"M 435 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_fields.ts"
+    },
+    {
+      "name": "SQLForAllEntries",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"FOR ALL ENTRIES IN\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))).toString();",
+      "using": [
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"406.5\" height=\"62\" viewBox=\"0 0 406.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M356.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">\"FOR ALL ENTRIES IN\"</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<path d=\"M250 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260 31h0\"></path>\n<path d=\"M356.5 31h0\"></path>\n<rect x=\"260\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"308.25\" y=\"35\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M356.5 31h10\"></path>\n<path d=\"M 366.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_for_all_entries.ts"
+    },
+    {
+      "name": "SQLFrom",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.ZeroOrMore(Railroad.Terminal('!\" ( \"')),Railroad.NonTerminal('SQLFromSource', {href: '#/expression/SQLFromSource'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('!\" ) \"')),Railroad.NonTerminal('SQLJoin', {href: '#/expression/SQLJoin'}),Railroad.Optional(Railroad.Terminal('!\" ) \"')))))).toString();",
+      "using": [
+        "expression/SQLFromSource",
+        "expression/SQLJoin"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"844\" height=\"88\" viewBox=\"0 0 844 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M794 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M402.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M121 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"52\">\"FROM\"</text>\n</g>\n<path d=\"M121 48h10\"></path>\n<g>\n<path d=\"M131 48h0\"></path>\n<path d=\"M262 48h0\"></path>\n<path d=\"M131 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 28h91\"></path>\n</g>\n<path d=\"M242 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 48h20\"></path>\n<g>\n<path d=\"M151 48h0\"></path>\n<path d=\"M242 48h0\"></path>\n<path d=\"M151 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M161 48h0\"></path>\n<path d=\"M232 48h0\"></path>\n<rect x=\"161\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"196.5\" y=\"52\">!\" ( \"</text>\n</g>\n<path d=\"M232 48h10\"></path>\n<path d=\"M161 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 68h71\"></path>\n</g>\n<path d=\"M232 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M242 48h20\"></path>\n</g>\n<path d=\"M262 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M272 48h0\"></path>\n<path d=\"M402.5 48h0\"></path>\n<rect x=\"272\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFromSource\"><text x=\"337.25\" y=\"52\">SQLFromSource</text>\n</a>\n</g>\n</g>\n<path d=\"M402.5 48h10\"></path>\n<g>\n<path d=\"M412.5 48h0\"></path>\n<path d=\"M794 48h0\"></path>\n<path d=\"M412.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M432.5 20h341.5\"></path>\n</g>\n<path d=\"M774 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M412.5 48h20\"></path>\n<g>\n<path d=\"M432.5 48h0\"></path>\n<path d=\"M774 48h0\"></path>\n<path d=\"M432.5 48h10\"></path>\n<g>\n<path d=\"M442.5 48h0\"></path>\n<path d=\"M764 48h0\"></path>\n<g>\n<path d=\"M442.5 48h0\"></path>\n<path d=\"M553.5 48h0\"></path>\n<path d=\"M442.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M462.5 28h71\"></path>\n</g>\n<path d=\"M533.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M442.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M462.5 48h0\"></path>\n<path d=\"M533.5 48h0\"></path>\n<rect x=\"462.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498\" y=\"52\">!\" ) \"</text>\n</g>\n<path d=\"M533.5 48h20\"></path>\n</g>\n<path d=\"M553.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M563.5 48h0\"></path>\n<path d=\"M643 48h0\"></path>\n<rect x=\"563.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLJoin\"><text x=\"603.25\" y=\"52\">SQLJoin</text>\n</a>\n</g>\n<path d=\"M643 48h10\"></path>\n<g>\n<path d=\"M653 48h0\"></path>\n<path d=\"M764 48h0\"></path>\n<path d=\"M653 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M673 28h71\"></path>\n</g>\n<path d=\"M744 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M653 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M673 48h0\"></path>\n<path d=\"M744 48h0\"></path>\n<rect x=\"673\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.5\" y=\"52\">!\" ) \"</text>\n</g>\n<path d=\"M744 48h20\"></path>\n</g>\n</g>\n<path d=\"M764 48h10\"></path>\n<path d=\"M442.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M442.5 68h321.5\"></path>\n</g>\n<path d=\"M764 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M774 48h20\"></path>\n</g>\n</g>\n<path d=\"M794 48h10\"></path>\n<path d=\"M 804 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_from.ts"
+    },
+    {
+      "name": "SQLFromSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('WithName', {href: '#/expression/WithName'}),Railroad.Sequence(Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.NonTerminal('SQLCDSParameters', {href: '#/expression/SQLCDSParameters'}))),Railroad.Sequence(Railroad.Comment(\"v752\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v752\", {}), Railroad.Terminal('\"WITH PRIVILEGED ACCESS\"'))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('SQLAsName', {href: '#/expression/SQLAsName'}))))).toString();",
+      "using": [
+        "expression/DatabaseTable",
+        "expression/FieldChain",
+        "expression/SQLAsName",
+        "expression/SQLCDSParameters",
+        "expression/WithName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1009\" height=\"140\" viewBox=\"0 0 1009 140\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M959 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M426.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h248.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/WithName\"><text x=\"114\" y=\"44\">WithName</text>\n</a>\n</g>\n<path d=\"M406.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 79h0\"></path>\n<path d=\"M406.5 79h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 79h0\"></path>\n<path d=\"M200.5 79h0\"></path>\n<rect x=\"70\" y=\"68\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"135.25\" y=\"83\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M200.5 79h10\"></path>\n<g>\n<path d=\"M210.5 79h0\"></path>\n<path d=\"M406.5 79h0\"></path>\n<path d=\"M210.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M230.5 59h156\"></path>\n</g>\n<path d=\"M386.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M210.5 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M230.5 79h0\"></path>\n<path d=\"M386.5 79h0\"></path>\n<rect x=\"230.5\" y=\"68\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCDSParameters\"><text x=\"308.5\" y=\"83\">SQLCDSParameters</text>\n</a>\n</g>\n<path d=\"M386.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M406.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 109h0\"></path>\n<path d=\"M315.5 109h91\"></path>\n<g>\n<path d=\"M70 109h0\"></path>\n<path d=\"M108 109h0\"></path>\n<text x=\"89\" y=\"114\" class=\"comment\">v752</text>\n</g>\n<path d=\"M108 109h10\"></path>\n<path d=\"M118 109h10\"></path>\n<g>\n<path d=\"M128 109h0\"></path>\n<path d=\"M315.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M128 109h0\"></path>\n<path d=\"M190.5 109h0\"></path>\n<rect x=\"128\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"159.25\" y=\"113\">!\" @\"</text>\n</g>\n<path d=\"M190.5 109h10\"></path>\n<path d=\"M200.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 109h0\"></path>\n<path d=\"M315.5 109h0\"></path>\n<rect x=\"210.5\" y=\"98\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"263\" y=\"113\">FieldChain</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M406.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M426.5 40h0\"></path>\n<path d=\"M748.5 40h0\"></path>\n<path d=\"M426.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M446.5 20h282\"></path>\n</g>\n<path d=\"M728.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M426.5 40h20\"></path>\n<g>\n<path d=\"M446.5 40h0\"></path>\n<path d=\"M728.5 40h0\"></path>\n<g>\n<path d=\"M446.5 40h0\"></path>\n<path d=\"M484.5 40h0\"></path>\n<text x=\"465.5\" y=\"45\" class=\"comment\">v752</text>\n</g>\n<path d=\"M484.5 40h10\"></path>\n<path d=\"M494.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M504.5 40h0\"></path>\n<path d=\"M728.5 40h0\"></path>\n<rect x=\"504.5\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616.5\" y=\"44\">\"WITH PRIVILEGED ACCESS\"</text>\n</g>\n</g>\n<path d=\"M728.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M748.5 40h0\"></path>\n<path d=\"M959 40h0\"></path>\n<path d=\"M748.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M768.5 20h170.5\"></path>\n</g>\n<path d=\"M939 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M748.5 40h20\"></path>\n<g>\n<path d=\"M768.5 40h0\"></path>\n<path d=\"M939 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M768.5 40h0\"></path>\n<path d=\"M822.5 40h0\"></path>\n<rect x=\"768.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"795.5\" y=\"44\">\"AS\"</text>\n</g>\n<path d=\"M822.5 40h10\"></path>\n<path d=\"M832.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M842.5 40h0\"></path>\n<path d=\"M939 40h0\"></path>\n<rect x=\"842.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAsName\"><text x=\"890.75\" y=\"44\">SQLAsName</text>\n</a>\n</g>\n</g>\n<path d=\"M939 40h20\"></path>\n</g>\n</g>\n<path d=\"M959 40h10\"></path>\n<path d=\"M 969 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFrom",
+        "expression/SQLJoin"
+      ],
+      "filename": "s_ql_from_source.ts"
+    },
+    {
+      "name": "SQLFunction",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal(\"^uuid$\"),Railroad.Terminal('!\"( \"'),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^abs$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^ceil$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^floor$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal(\"^cast$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('\"AS\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"CHAR\"'),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('!\" ) \"')),Railroad.Sequence(Railroad.Terminal('\"DEC\"'),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('\",\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('!\" ) \"')),Railroad.Terminal('\"FLTP\"'),Railroad.Terminal('\"NUMC\"'),Railroad.Terminal('\"INT8\"')),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^div$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^mod$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal(\"^coalesce$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}))),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal(\"^concat$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal(\"^replace$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal(\"^length$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal(\"^lower$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal(\"^upper$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal(\"^round$\"),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'}),Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLFunctionInput', {href: '#/expression/SQLFunctionInput'})),Railroad.Terminal('!\" ) \"'))))).toString();",
+      "using": [
+        "expression/Integer",
+        "expression/SQLFunctionInput"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1213\" height=\"581\" viewBox=\"0 0 1213 581\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M1173 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M362.5 31h790.5\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M98 31h0\"></path>\n<text x=\"79\" y=\"36\" class=\"comment\">v754</text>\n</g>\n<path d=\"M98 31h10\"></path>\n<path d=\"M108 31h10\"></path>\n<g>\n<path d=\"M118 31h0\"></path>\n<path d=\"M362.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 31h0\"></path>\n<path d=\"M189 31h0\"></path>\n<rect x=\"118\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"153.5\" y=\"35\">^uuid$</text>\n</g>\n<path d=\"M189 31h10\"></path>\n<path d=\"M199 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M209 31h0\"></path>\n<path d=\"M271.5 31h0\"></path>\n<rect x=\"209\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.25\" y=\"35\">!\"( \"</text>\n</g>\n<path d=\"M271.5 31h10\"></path>\n<path d=\"M281.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M291.5 31h0\"></path>\n<path d=\"M362.5 31h0\"></path>\n<rect x=\"291.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"327\" y=\"35\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M558 61h595\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M126 61h0\"></path>\n<text x=\"93\" y=\"66\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 61h10\"></path>\n<path d=\"M136 61h10\"></path>\n<g>\n<path d=\"M146 61h0\"></path>\n<path d=\"M558 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 61h0\"></path>\n<path d=\"M208.5 61h0\"></path>\n<rect x=\"146\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.25\" y=\"65\">^abs$</text>\n</g>\n<path d=\"M208.5 61h10\"></path>\n<path d=\"M218.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M228.5 61h0\"></path>\n<path d=\"M291 61h0\"></path>\n<rect x=\"228.5\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.75\" y=\"65\">!\"( \"</text>\n</g>\n<path d=\"M291 61h10\"></path>\n<path d=\"M301 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311 61h0\"></path>\n<path d=\"M467 61h0\"></path>\n<rect x=\"311\" y=\"50\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"389\" y=\"65\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M467 61h10\"></path>\n<path d=\"M477 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M487 61h0\"></path>\n<path d=\"M558 61h0\"></path>\n<rect x=\"487\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"522.5\" y=\"65\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M566.5 91h586.5\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M126 91h0\"></path>\n<text x=\"93\" y=\"96\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 91h10\"></path>\n<path d=\"M136 91h10\"></path>\n<g>\n<path d=\"M146 91h0\"></path>\n<path d=\"M566.5 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 91h0\"></path>\n<path d=\"M217 91h0\"></path>\n<rect x=\"146\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"181.5\" y=\"95\">^ceil$</text>\n</g>\n<path d=\"M217 91h10\"></path>\n<path d=\"M227 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M237 91h0\"></path>\n<path d=\"M299.5 91h0\"></path>\n<rect x=\"237\" y=\"80\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"268.25\" y=\"95\">!\"( \"</text>\n</g>\n<path d=\"M299.5 91h10\"></path>\n<path d=\"M309.5 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M319.5 91h0\"></path>\n<path d=\"M475.5 91h0\"></path>\n<rect x=\"319.5\" y=\"80\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"397.5\" y=\"95\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M475.5 91h10\"></path>\n<path d=\"M485.5 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M495.5 91h0\"></path>\n<path d=\"M566.5 91h0\"></path>\n<rect x=\"495.5\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"531\" y=\"95\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 121h0\"></path>\n<path d=\"M575 121h578\"></path>\n<g>\n<path d=\"M60 121h0\"></path>\n<path d=\"M126 121h0\"></path>\n<text x=\"93\" y=\"126\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 121h10\"></path>\n<path d=\"M136 121h10\"></path>\n<g>\n<path d=\"M146 121h0\"></path>\n<path d=\"M575 121h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 121h0\"></path>\n<path d=\"M225.5 121h0\"></path>\n<rect x=\"146\" y=\"110\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"185.75\" y=\"125\">^floor$</text>\n</g>\n<path d=\"M225.5 121h10\"></path>\n<path d=\"M235.5 121h10\"></path>\n<g class=\"terminal\">\n<path d=\"M245.5 121h0\"></path>\n<path d=\"M308 121h0\"></path>\n<rect x=\"245.5\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"276.75\" y=\"125\">!\"( \"</text>\n</g>\n<path d=\"M308 121h10\"></path>\n<path d=\"M318 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M328 121h0\"></path>\n<path d=\"M484 121h0\"></path>\n<rect x=\"328\" y=\"110\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"406\" y=\"125\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M484 121h10\"></path>\n<path d=\"M494 121h10\"></path>\n<g class=\"terminal\">\n<path d=\"M504 121h0\"></path>\n<path d=\"M575 121h0\"></path>\n<rect x=\"504\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"539.5\" y=\"125\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 151h0\"></path>\n<path d=\"M1153 151h0\"></path>\n<g>\n<path d=\"M60 151h0\"></path>\n<path d=\"M98 151h0\"></path>\n<text x=\"79\" y=\"156\" class=\"comment\">v750</text>\n</g>\n<path d=\"M98 151h10\"></path>\n<path d=\"M108 151h10\"></path>\n<g>\n<path d=\"M118 151h0\"></path>\n<path d=\"M1153 151h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 151h0\"></path>\n<path d=\"M189 151h0\"></path>\n<rect x=\"118\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"153.5\" y=\"155\">^cast$</text>\n</g>\n<path d=\"M189 151h10\"></path>\n<path d=\"M199 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M209 151h0\"></path>\n<path d=\"M271.5 151h0\"></path>\n<rect x=\"209\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.25\" y=\"155\">!\"( \"</text>\n</g>\n<path d=\"M271.5 151h10\"></path>\n<path d=\"M281.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291.5 151h0\"></path>\n<path d=\"M447.5 151h0\"></path>\n<rect x=\"291.5\" y=\"140\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"369.5\" y=\"155\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M447.5 151h10\"></path>\n<path d=\"M457.5 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M467.5 151h0\"></path>\n<path d=\"M521.5 151h0\"></path>\n<rect x=\"467.5\" y=\"140\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494.5\" y=\"155\">\"AS\"</text>\n</g>\n<path d=\"M521.5 151h10\"></path>\n<g>\n<path d=\"M531.5 151h0\"></path>\n<path d=\"M1072 151h0\"></path>\n<path d=\"M531.5 151h20\"></path>\n<g>\n<path d=\"M551.5 151h0\"></path>\n<path d=\"M895.5 151h156.5\"></path>\n<g class=\"terminal\">\n<path d=\"M551.5 151h0\"></path>\n<path d=\"M622.5 151h0\"></path>\n<rect x=\"551.5\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587\" y=\"155\">\"CHAR\"</text>\n</g>\n<path d=\"M622.5 151h10\"></path>\n<path d=\"M632.5 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M642.5 151h0\"></path>\n<path d=\"M705 151h0\"></path>\n<rect x=\"642.5\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"673.75\" y=\"155\">!\"( \"</text>\n</g>\n<path d=\"M705 151h10\"></path>\n<path d=\"M715 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725 151h0\"></path>\n<path d=\"M804.5 151h0\"></path>\n<rect x=\"725\" y=\"140\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"764.75\" y=\"155\">Integer</text>\n</a>\n</g>\n<path d=\"M804.5 151h10\"></path>\n<path d=\"M814.5 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M824.5 151h0\"></path>\n<path d=\"M895.5 151h0\"></path>\n<rect x=\"824.5\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"860\" y=\"155\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M1052 151h20\"></path>\n<path d=\"M531.5 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M551.5 181h0\"></path>\n<path d=\"M1052 181h0\"></path>\n<g class=\"terminal\">\n<path d=\"M551.5 181h0\"></path>\n<path d=\"M614 181h0\"></path>\n<rect x=\"551.5\" y=\"170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"582.75\" y=\"185\">\"DEC\"</text>\n</g>\n<path d=\"M614 181h10\"></path>\n<path d=\"M624 181h10\"></path>\n<g class=\"terminal\">\n<path d=\"M634 181h0\"></path>\n<path d=\"M696.5 181h0\"></path>\n<rect x=\"634\" y=\"170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"665.25\" y=\"185\">!\"( \"</text>\n</g>\n<path d=\"M696.5 181h10\"></path>\n<path d=\"M706.5 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M716.5 181h0\"></path>\n<path d=\"M796 181h0\"></path>\n<rect x=\"716.5\" y=\"170\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"756.25\" y=\"185\">Integer</text>\n</a>\n</g>\n<path d=\"M796 181h10\"></path>\n<path d=\"M806 181h10\"></path>\n<g class=\"terminal\">\n<path d=\"M816 181h0\"></path>\n<path d=\"M861.5 181h0\"></path>\n<rect x=\"816\" y=\"170\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"838.75\" y=\"185\">\",\"</text>\n</g>\n<path d=\"M861.5 181h10\"></path>\n<path d=\"M871.5 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M881.5 181h0\"></path>\n<path d=\"M961 181h0\"></path>\n<rect x=\"881.5\" y=\"170\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"921.25\" y=\"185\">Integer</text>\n</a>\n</g>\n<path d=\"M961 181h10\"></path>\n<path d=\"M971 181h10\"></path>\n<g class=\"terminal\">\n<path d=\"M981 181h0\"></path>\n<path d=\"M1052 181h0\"></path>\n<rect x=\"981\" y=\"170\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1016.5\" y=\"185\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M1052 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M531.5 151a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M551.5 211h0\"></path>\n<path d=\"M622.5 211h429.5\"></path>\n<rect x=\"551.5\" y=\"200\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587\" y=\"215\">\"FLTP\"</text>\n</g>\n<path d=\"M1052 211a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M531.5 151a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M551.5 241h0\"></path>\n<path d=\"M622.5 241h429.5\"></path>\n<rect x=\"551.5\" y=\"230\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587\" y=\"245\">\"NUMC\"</text>\n</g>\n<path d=\"M1052 241a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M531.5 151a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M551.5 271h0\"></path>\n<path d=\"M622.5 271h429.5\"></path>\n<rect x=\"551.5\" y=\"260\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587\" y=\"275\">\"INT8\"</text>\n</g>\n<path d=\"M1052 271a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1072 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1082 151h0\"></path>\n<path d=\"M1153 151h0\"></path>\n<rect x=\"1082\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1117.5\" y=\"155\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 301h0\"></path>\n<path d=\"M799.5 301h353.5\"></path>\n<g>\n<path d=\"M60 301h0\"></path>\n<path d=\"M126 301h0\"></path>\n<text x=\"93\" y=\"306\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 301h10\"></path>\n<path d=\"M136 301h10\"></path>\n<g>\n<path d=\"M146 301h0\"></path>\n<path d=\"M799.5 301h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 301h0\"></path>\n<path d=\"M208.5 301h0\"></path>\n<rect x=\"146\" y=\"290\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.25\" y=\"305\">^div$</text>\n</g>\n<path d=\"M208.5 301h10\"></path>\n<path d=\"M218.5 301h10\"></path>\n<g class=\"terminal\">\n<path d=\"M228.5 301h0\"></path>\n<path d=\"M291 301h0\"></path>\n<rect x=\"228.5\" y=\"290\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.75\" y=\"305\">!\"( \"</text>\n</g>\n<path d=\"M291 301h10\"></path>\n<path d=\"M301 301h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311 301h0\"></path>\n<path d=\"M467 301h0\"></path>\n<rect x=\"311\" y=\"290\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"389\" y=\"305\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M467 301h10\"></path>\n<path d=\"M477 301h10\"></path>\n<g>\n<path d=\"M487 301h0\"></path>\n<path d=\"M708.5 301h0\"></path>\n<g class=\"terminal\">\n<path d=\"M487 301h0\"></path>\n<path d=\"M532.5 301h0\"></path>\n<rect x=\"487\" y=\"290\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"509.75\" y=\"305\">\",\"</text>\n</g>\n<path d=\"M532.5 301h10\"></path>\n<path d=\"M542.5 301h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552.5 301h0\"></path>\n<path d=\"M708.5 301h0\"></path>\n<rect x=\"552.5\" y=\"290\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"630.5\" y=\"305\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M708.5 301h10\"></path>\n<path d=\"M718.5 301h10\"></path>\n<g class=\"terminal\">\n<path d=\"M728.5 301h0\"></path>\n<path d=\"M799.5 301h0\"></path>\n<rect x=\"728.5\" y=\"290\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"764\" y=\"305\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 331h0\"></path>\n<path d=\"M799.5 331h353.5\"></path>\n<g>\n<path d=\"M60 331h0\"></path>\n<path d=\"M126 331h0\"></path>\n<text x=\"93\" y=\"336\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 331h10\"></path>\n<path d=\"M136 331h10\"></path>\n<g>\n<path d=\"M146 331h0\"></path>\n<path d=\"M799.5 331h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 331h0\"></path>\n<path d=\"M208.5 331h0\"></path>\n<rect x=\"146\" y=\"320\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.25\" y=\"335\">^mod$</text>\n</g>\n<path d=\"M208.5 331h10\"></path>\n<path d=\"M218.5 331h10\"></path>\n<g class=\"terminal\">\n<path d=\"M228.5 331h0\"></path>\n<path d=\"M291 331h0\"></path>\n<rect x=\"228.5\" y=\"320\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.75\" y=\"335\">!\"( \"</text>\n</g>\n<path d=\"M291 331h10\"></path>\n<path d=\"M301 331h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311 331h0\"></path>\n<path d=\"M467 331h0\"></path>\n<rect x=\"311\" y=\"320\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"389\" y=\"335\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M467 331h10\"></path>\n<path d=\"M477 331h10\"></path>\n<g>\n<path d=\"M487 331h0\"></path>\n<path d=\"M708.5 331h0\"></path>\n<g class=\"terminal\">\n<path d=\"M487 331h0\"></path>\n<path d=\"M532.5 331h0\"></path>\n<rect x=\"487\" y=\"320\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"509.75\" y=\"335\">\",\"</text>\n</g>\n<path d=\"M532.5 331h10\"></path>\n<path d=\"M542.5 331h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552.5 331h0\"></path>\n<path d=\"M708.5 331h0\"></path>\n<rect x=\"552.5\" y=\"320\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"630.5\" y=\"335\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M708.5 331h10\"></path>\n<path d=\"M718.5 331h10\"></path>\n<g class=\"terminal\">\n<path d=\"M728.5 331h0\"></path>\n<path d=\"M799.5 331h0\"></path>\n<rect x=\"728.5\" y=\"320\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"764\" y=\"335\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v319a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 370h0\"></path>\n<path d=\"M1103.5 370h49.5\"></path>\n<g>\n<path d=\"M60 370h0\"></path>\n<path d=\"M126 370h0\"></path>\n<text x=\"93\" y=\"375\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 370h10\"></path>\n<path d=\"M136 370h10\"></path>\n<g>\n<path d=\"M146 370h0\"></path>\n<path d=\"M1103.5 370h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 370h0\"></path>\n<path d=\"M251 370h0\"></path>\n<rect x=\"146\" y=\"359\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"198.5\" y=\"374\">^coalesce$</text>\n</g>\n<path d=\"M251 370h10\"></path>\n<path d=\"M261 370h10\"></path>\n<g class=\"terminal\">\n<path d=\"M271 370h0\"></path>\n<path d=\"M333.5 370h0\"></path>\n<rect x=\"271\" y=\"359\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"302.25\" y=\"374\">!\"( \"</text>\n</g>\n<path d=\"M333.5 370h10\"></path>\n<path d=\"M343.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353.5 370h0\"></path>\n<path d=\"M509.5 370h0\"></path>\n<rect x=\"353.5\" y=\"359\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"431.5\" y=\"374\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M509.5 370h10\"></path>\n<path d=\"M519.5 370h10\"></path>\n<g>\n<path d=\"M529.5 370h0\"></path>\n<path d=\"M751 370h0\"></path>\n<g class=\"terminal\">\n<path d=\"M529.5 370h0\"></path>\n<path d=\"M575 370h0\"></path>\n<rect x=\"529.5\" y=\"359\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"552.25\" y=\"374\">\",\"</text>\n</g>\n<path d=\"M575 370h10\"></path>\n<path d=\"M585 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M595 370h0\"></path>\n<path d=\"M751 370h0\"></path>\n<rect x=\"595\" y=\"359\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"673\" y=\"374\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M751 370h10\"></path>\n<g>\n<path d=\"M761 370h0\"></path>\n<path d=\"M1022.5 370h0\"></path>\n<path d=\"M761 370a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M781 350h221.5\"></path>\n</g>\n<path d=\"M1002.5 350a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M761 370h20\"></path>\n<g>\n<path d=\"M781 370h0\"></path>\n<path d=\"M1002.5 370h0\"></path>\n<g class=\"terminal\">\n<path d=\"M781 370h0\"></path>\n<path d=\"M826.5 370h0\"></path>\n<rect x=\"781\" y=\"359\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"803.75\" y=\"374\">\",\"</text>\n</g>\n<path d=\"M826.5 370h10\"></path>\n<path d=\"M836.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M846.5 370h0\"></path>\n<path d=\"M1002.5 370h0\"></path>\n<rect x=\"846.5\" y=\"359\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"924.5\" y=\"374\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M1002.5 370h20\"></path>\n</g>\n<path d=\"M1022.5 370h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1032.5 370h0\"></path>\n<path d=\"M1103.5 370h0\"></path>\n<rect x=\"1032.5\" y=\"359\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1068\" y=\"374\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 370a10 10 0 0 0 10 -10v-319a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v349a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 400h0\"></path>\n<path d=\"M797 400h356\"></path>\n<g>\n<path d=\"M60 400h0\"></path>\n<path d=\"M98 400h0\"></path>\n<text x=\"79\" y=\"405\" class=\"comment\">v750</text>\n</g>\n<path d=\"M98 400h10\"></path>\n<path d=\"M108 400h10\"></path>\n<g>\n<path d=\"M118 400h0\"></path>\n<path d=\"M797 400h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 400h0\"></path>\n<path d=\"M206 400h0\"></path>\n<rect x=\"118\" y=\"389\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"162\" y=\"404\">^concat$</text>\n</g>\n<path d=\"M206 400h10\"></path>\n<path d=\"M216 400h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226 400h0\"></path>\n<path d=\"M288.5 400h0\"></path>\n<rect x=\"226\" y=\"389\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.25\" y=\"404\">!\"( \"</text>\n</g>\n<path d=\"M288.5 400h10\"></path>\n<path d=\"M298.5 400h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M308.5 400h0\"></path>\n<path d=\"M464.5 400h0\"></path>\n<rect x=\"308.5\" y=\"389\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"386.5\" y=\"404\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M464.5 400h10\"></path>\n<path d=\"M474.5 400h10\"></path>\n<g>\n<path d=\"M484.5 400h0\"></path>\n<path d=\"M706 400h0\"></path>\n<g class=\"terminal\">\n<path d=\"M484.5 400h0\"></path>\n<path d=\"M530 400h0\"></path>\n<rect x=\"484.5\" y=\"389\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507.25\" y=\"404\">\",\"</text>\n</g>\n<path d=\"M530 400h10\"></path>\n<path d=\"M540 400h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M550 400h0\"></path>\n<path d=\"M706 400h0\"></path>\n<rect x=\"550\" y=\"389\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"628\" y=\"404\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M706 400h10\"></path>\n<path d=\"M716 400h10\"></path>\n<g class=\"terminal\">\n<path d=\"M726 400h0\"></path>\n<path d=\"M797 400h0\"></path>\n<rect x=\"726\" y=\"389\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"761.5\" y=\"404\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 400a10 10 0 0 0 10 -10v-349a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 430h0\"></path>\n<path d=\"M1047 430h106\"></path>\n<g>\n<path d=\"M60 430h0\"></path>\n<path d=\"M98 430h0\"></path>\n<text x=\"79\" y=\"435\" class=\"comment\">v750</text>\n</g>\n<path d=\"M98 430h10\"></path>\n<path d=\"M108 430h10\"></path>\n<g>\n<path d=\"M118 430h0\"></path>\n<path d=\"M1047 430h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 430h0\"></path>\n<path d=\"M214.5 430h0\"></path>\n<rect x=\"118\" y=\"419\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"166.25\" y=\"434\">^replace$</text>\n</g>\n<path d=\"M214.5 430h10\"></path>\n<path d=\"M224.5 430h10\"></path>\n<g class=\"terminal\">\n<path d=\"M234.5 430h0\"></path>\n<path d=\"M297 430h0\"></path>\n<rect x=\"234.5\" y=\"419\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265.75\" y=\"434\">!\"( \"</text>\n</g>\n<path d=\"M297 430h10\"></path>\n<path d=\"M307 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M317 430h0\"></path>\n<path d=\"M473 430h0\"></path>\n<rect x=\"317\" y=\"419\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"395\" y=\"434\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M473 430h10\"></path>\n<path d=\"M483 430h10\"></path>\n<g>\n<path d=\"M493 430h0\"></path>\n<path d=\"M714.5 430h0\"></path>\n<g class=\"terminal\">\n<path d=\"M493 430h0\"></path>\n<path d=\"M538.5 430h0\"></path>\n<rect x=\"493\" y=\"419\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"515.75\" y=\"434\">\",\"</text>\n</g>\n<path d=\"M538.5 430h10\"></path>\n<path d=\"M548.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M558.5 430h0\"></path>\n<path d=\"M714.5 430h0\"></path>\n<rect x=\"558.5\" y=\"419\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"636.5\" y=\"434\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M714.5 430h10\"></path>\n<path d=\"M724.5 430h10\"></path>\n<g>\n<path d=\"M734.5 430h0\"></path>\n<path d=\"M956 430h0\"></path>\n<g class=\"terminal\">\n<path d=\"M734.5 430h0\"></path>\n<path d=\"M780 430h0\"></path>\n<rect x=\"734.5\" y=\"419\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"757.25\" y=\"434\">\",\"</text>\n</g>\n<path d=\"M780 430h10\"></path>\n<path d=\"M790 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M800 430h0\"></path>\n<path d=\"M956 430h0\"></path>\n<rect x=\"800\" y=\"419\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"878\" y=\"434\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M956 430h10\"></path>\n<path d=\"M966 430h10\"></path>\n<g class=\"terminal\">\n<path d=\"M976 430h0\"></path>\n<path d=\"M1047 430h0\"></path>\n<rect x=\"976\" y=\"419\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1011.5\" y=\"434\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 430a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 460h0\"></path>\n<path d=\"M555.5 460h597.5\"></path>\n<g>\n<path d=\"M60 460h0\"></path>\n<path d=\"M98 460h0\"></path>\n<text x=\"79\" y=\"465\" class=\"comment\">v750</text>\n</g>\n<path d=\"M98 460h10\"></path>\n<path d=\"M108 460h10\"></path>\n<g>\n<path d=\"M118 460h0\"></path>\n<path d=\"M555.5 460h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 460h0\"></path>\n<path d=\"M206 460h0\"></path>\n<rect x=\"118\" y=\"449\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"162\" y=\"464\">^length$</text>\n</g>\n<path d=\"M206 460h10\"></path>\n<path d=\"M216 460h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226 460h0\"></path>\n<path d=\"M288.5 460h0\"></path>\n<rect x=\"226\" y=\"449\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.25\" y=\"464\">!\"( \"</text>\n</g>\n<path d=\"M288.5 460h10\"></path>\n<path d=\"M298.5 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M308.5 460h0\"></path>\n<path d=\"M464.5 460h0\"></path>\n<rect x=\"308.5\" y=\"449\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"386.5\" y=\"464\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M464.5 460h10\"></path>\n<path d=\"M474.5 460h10\"></path>\n<g class=\"terminal\">\n<path d=\"M484.5 460h0\"></path>\n<path d=\"M555.5 460h0\"></path>\n<rect x=\"484.5\" y=\"449\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"520\" y=\"464\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 460a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v439a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 490h0\"></path>\n<path d=\"M547 490h606\"></path>\n<g>\n<path d=\"M60 490h0\"></path>\n<path d=\"M98 490h0\"></path>\n<text x=\"79\" y=\"495\" class=\"comment\">v751</text>\n</g>\n<path d=\"M98 490h10\"></path>\n<path d=\"M108 490h10\"></path>\n<g>\n<path d=\"M118 490h0\"></path>\n<path d=\"M547 490h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 490h0\"></path>\n<path d=\"M197.5 490h0\"></path>\n<rect x=\"118\" y=\"479\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"157.75\" y=\"494\">^lower$</text>\n</g>\n<path d=\"M197.5 490h10\"></path>\n<path d=\"M207.5 490h10\"></path>\n<g class=\"terminal\">\n<path d=\"M217.5 490h0\"></path>\n<path d=\"M280 490h0\"></path>\n<rect x=\"217.5\" y=\"479\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"248.75\" y=\"494\">!\"( \"</text>\n</g>\n<path d=\"M280 490h10\"></path>\n<path d=\"M290 490h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M300 490h0\"></path>\n<path d=\"M456 490h0\"></path>\n<rect x=\"300\" y=\"479\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"378\" y=\"494\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M456 490h10\"></path>\n<path d=\"M466 490h10\"></path>\n<g class=\"terminal\">\n<path d=\"M476 490h0\"></path>\n<path d=\"M547 490h0\"></path>\n<rect x=\"476\" y=\"479\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511.5\" y=\"494\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 490a10 10 0 0 0 10 -10v-439a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v469a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 520h0\"></path>\n<path d=\"M547 520h606\"></path>\n<g>\n<path d=\"M60 520h0\"></path>\n<path d=\"M98 520h0\"></path>\n<text x=\"79\" y=\"525\" class=\"comment\">v751</text>\n</g>\n<path d=\"M98 520h10\"></path>\n<path d=\"M108 520h10\"></path>\n<g>\n<path d=\"M118 520h0\"></path>\n<path d=\"M547 520h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 520h0\"></path>\n<path d=\"M197.5 520h0\"></path>\n<rect x=\"118\" y=\"509\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"157.75\" y=\"524\">^upper$</text>\n</g>\n<path d=\"M197.5 520h10\"></path>\n<path d=\"M207.5 520h10\"></path>\n<g class=\"terminal\">\n<path d=\"M217.5 520h0\"></path>\n<path d=\"M280 520h0\"></path>\n<rect x=\"217.5\" y=\"509\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"248.75\" y=\"524\">!\"( \"</text>\n</g>\n<path d=\"M280 520h10\"></path>\n<path d=\"M290 520h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M300 520h0\"></path>\n<path d=\"M456 520h0\"></path>\n<rect x=\"300\" y=\"509\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"378\" y=\"524\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M456 520h10\"></path>\n<path d=\"M466 520h10\"></path>\n<g class=\"terminal\">\n<path d=\"M476 520h0\"></path>\n<path d=\"M547 520h0\"></path>\n<rect x=\"476\" y=\"509\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511.5\" y=\"524\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 520a10 10 0 0 0 10 -10v-469a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v499a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 550h0\"></path>\n<path d=\"M788.5 550h364.5\"></path>\n<g>\n<path d=\"M60 550h0\"></path>\n<path d=\"M98 550h0\"></path>\n<text x=\"79\" y=\"555\" class=\"comment\">v750</text>\n</g>\n<path d=\"M98 550h10\"></path>\n<path d=\"M108 550h10\"></path>\n<g>\n<path d=\"M118 550h0\"></path>\n<path d=\"M788.5 550h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 550h0\"></path>\n<path d=\"M197.5 550h0\"></path>\n<rect x=\"118\" y=\"539\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"157.75\" y=\"554\">^round$</text>\n</g>\n<path d=\"M197.5 550h10\"></path>\n<path d=\"M207.5 550h10\"></path>\n<g class=\"terminal\">\n<path d=\"M217.5 550h0\"></path>\n<path d=\"M280 550h0\"></path>\n<rect x=\"217.5\" y=\"539\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"248.75\" y=\"554\">!\"( \"</text>\n</g>\n<path d=\"M280 550h10\"></path>\n<path d=\"M290 550h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M300 550h0\"></path>\n<path d=\"M456 550h0\"></path>\n<rect x=\"300\" y=\"539\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"378\" y=\"554\">SQLFunctionInput</text>\n</a>\n</g>\n<path d=\"M456 550h10\"></path>\n<path d=\"M466 550h10\"></path>\n<g>\n<path d=\"M476 550h0\"></path>\n<path d=\"M697.5 550h0\"></path>\n<g class=\"terminal\">\n<path d=\"M476 550h0\"></path>\n<path d=\"M521.5 550h0\"></path>\n<rect x=\"476\" y=\"539\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.75\" y=\"554\">\",\"</text>\n</g>\n<path d=\"M521.5 550h10\"></path>\n<path d=\"M531.5 550h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541.5 550h0\"></path>\n<path d=\"M697.5 550h0\"></path>\n<rect x=\"541.5\" y=\"539\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunctionInput\"><text x=\"619.5\" y=\"554\">SQLFunctionInput</text>\n</a>\n</g>\n</g>\n<path d=\"M697.5 550h10\"></path>\n<path d=\"M707.5 550h10\"></path>\n<g class=\"terminal\">\n<path d=\"M717.5 550h0\"></path>\n<path d=\"M788.5 550h0\"></path>\n<rect x=\"717.5\" y=\"539\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"753\" y=\"554\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1153 550a10 10 0 0 0 10 -10v-499a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1173 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLAggregation",
+        "expression/SQLArithmetics",
+        "expression/SQLCase",
+        "expression/SQLCompare",
+        "expression/SQLField",
+        "expression/SQLFunctionInput"
+      ],
+      "filename": "s_ql_function.ts"
+    },
+    {
+      "name": "SQLFunctionInput",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('SQLAliasField', {href: '#/expression/SQLAliasField'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"')))))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"+\"'),Railroad.Terminal('\"-\"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"'),Railroad.Terminal('\"&&\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLFunction', {href: '#/expression/SQLFunction'}),Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('SQLAliasField', {href: '#/expression/SQLAliasField'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"')))))))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/SQLAggregation",
+        "expression/SQLAliasField",
+        "expression/SQLFieldName",
+        "expression/SQLFunction",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1220\" height=\"259\" viewBox=\"0 0 1220 259\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1170 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M533 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M183.5 40h329.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"126.75\" y=\"44\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M513 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M209 70h304\"></path>\n<rect x=\"70\" y=\"59\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"139.5\" y=\"74\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M513 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M192 100h321\"></path>\n<rect x=\"70\" y=\"89\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"131\" y=\"104\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M513 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 130h0\"></path>\n<path d=\"M200.5 130h312.5\"></path>\n<rect x=\"70\" y=\"119\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAliasField\"><text x=\"135.25\" y=\"134\">SQLAliasField</text>\n</a>\n</g>\n<path d=\"M513 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 160h0\"></path>\n<path d=\"M158 160h355\"></path>\n<rect x=\"70\" y=\"149\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"114\" y=\"164\">Constant</text>\n</a>\n</g>\n<path d=\"M513 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 190h0\"></path>\n<path d=\"M513 190h0\"></path>\n<g>\n<path d=\"M70 190h0\"></path>\n<path d=\"M136 190h0\"></path>\n<text x=\"103\" y=\"195\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M136 190h10\"></path>\n<path d=\"M146 190h10\"></path>\n<g>\n<path d=\"M156 190h0\"></path>\n<path d=\"M513 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M156 190h0\"></path>\n<path d=\"M218.5 190h0\"></path>\n<rect x=\"156\" y=\"179\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187.25\" y=\"194\">!\" @\"</text>\n</g>\n<path d=\"M218.5 190h10\"></path>\n<g>\n<path d=\"M228.5 190h0\"></path>\n<path d=\"M513 190h0\"></path>\n<path d=\"M228.5 190h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M248.5 190h0\"></path>\n<path d=\"M379 190h114\"></path>\n<rect x=\"248.5\" y=\"179\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"313.75\" y=\"194\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M493 190h20\"></path>\n<path d=\"M228.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M248.5 220h0\"></path>\n<path d=\"M493 220h0\"></path>\n<g class=\"terminal\">\n<path d=\"M248.5 220h0\"></path>\n<path d=\"M311 220h0\"></path>\n<rect x=\"248.5\" y=\"209\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279.75\" y=\"224\">!\"( \"</text>\n</g>\n<path d=\"M311 220h10\"></path>\n<path d=\"M321 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M331 220h0\"></path>\n<path d=\"M402 220h0\"></path>\n<rect x=\"331\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"366.5\" y=\"224\">Source</text>\n</a>\n</g>\n<path d=\"M402 220h10\"></path>\n<path d=\"M412 220h10\"></path>\n<g class=\"terminal\">\n<path d=\"M422 220h0\"></path>\n<path d=\"M493 220h0\"></path>\n<rect x=\"422\" y=\"209\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"457.5\" y=\"224\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M493 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M513 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M533 40h0\"></path>\n<path d=\"M1170 40h0\"></path>\n<path d=\"M533 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M553 20h597\"></path>\n</g>\n<path d=\"M1150 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M533 40h20\"></path>\n<g>\n<path d=\"M553 40h0\"></path>\n<path d=\"M1150 40h0\"></path>\n<path d=\"M553 40h10\"></path>\n<g>\n<path d=\"M563 40h0\"></path>\n<path d=\"M1140 40h0\"></path>\n<g>\n<path d=\"M563 40h0\"></path>\n<path d=\"M657 40h0\"></path>\n<path d=\"M563 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M583 40h0\"></path>\n<path d=\"M628.5 40h8.5\"></path>\n<rect x=\"583\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"605.75\" y=\"44\">\"+\"</text>\n</g>\n<path d=\"M637 40h20\"></path>\n<path d=\"M563 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M583 70h0\"></path>\n<path d=\"M628.5 70h8.5\"></path>\n<rect x=\"583\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"605.75\" y=\"74\">\"-\"</text>\n</g>\n<path d=\"M637 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M563 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M583 100h0\"></path>\n<path d=\"M628.5 100h8.5\"></path>\n<rect x=\"583\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"605.75\" y=\"104\">\"&#42;\"</text>\n</g>\n<path d=\"M637 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M563 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M583 130h0\"></path>\n<path d=\"M628.5 130h8.5\"></path>\n<rect x=\"583\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"605.75\" y=\"134\">\"/\"</text>\n</g>\n<path d=\"M637 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M563 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M583 160h0\"></path>\n<path d=\"M637 160h0\"></path>\n<rect x=\"583\" y=\"149\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"610\" y=\"164\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M637 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M657 40h0\"></path>\n<path d=\"M1140 40h0\"></path>\n<path d=\"M657 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 40h0\"></path>\n<path d=\"M790.5 40h329.5\"></path>\n<rect x=\"677\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFunction\"><text x=\"733.75\" y=\"44\">SQLFunction</text>\n</a>\n</g>\n<path d=\"M1120 40h20\"></path>\n<path d=\"M657 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 70h0\"></path>\n<path d=\"M816 70h304\"></path>\n<rect x=\"677\" y=\"59\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"746.5\" y=\"74\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M1120 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M657 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 100h0\"></path>\n<path d=\"M799 100h321\"></path>\n<rect x=\"677\" y=\"89\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"738\" y=\"104\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M1120 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M657 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 130h0\"></path>\n<path d=\"M807.5 130h312.5\"></path>\n<rect x=\"677\" y=\"119\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAliasField\"><text x=\"742.25\" y=\"134\">SQLAliasField</text>\n</a>\n</g>\n<path d=\"M1120 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M657 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 160h0\"></path>\n<path d=\"M765 160h355\"></path>\n<rect x=\"677\" y=\"149\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"721\" y=\"164\">Constant</text>\n</a>\n</g>\n<path d=\"M1120 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M657 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M677 190h0\"></path>\n<path d=\"M1120 190h0\"></path>\n<g>\n<path d=\"M677 190h0\"></path>\n<path d=\"M743 190h0\"></path>\n<text x=\"710\" y=\"195\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M743 190h10\"></path>\n<path d=\"M753 190h10\"></path>\n<g>\n<path d=\"M763 190h0\"></path>\n<path d=\"M1120 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M763 190h0\"></path>\n<path d=\"M825.5 190h0\"></path>\n<rect x=\"763\" y=\"179\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"794.25\" y=\"194\">!\" @\"</text>\n</g>\n<path d=\"M825.5 190h10\"></path>\n<g>\n<path d=\"M835.5 190h0\"></path>\n<path d=\"M1120 190h0\"></path>\n<path d=\"M835.5 190h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M855.5 190h0\"></path>\n<path d=\"M986 190h114\"></path>\n<rect x=\"855.5\" y=\"179\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"920.75\" y=\"194\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1100 190h20\"></path>\n<path d=\"M835.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M855.5 220h0\"></path>\n<path d=\"M1100 220h0\"></path>\n<g class=\"terminal\">\n<path d=\"M855.5 220h0\"></path>\n<path d=\"M918 220h0\"></path>\n<rect x=\"855.5\" y=\"209\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"886.75\" y=\"224\">!\"( \"</text>\n</g>\n<path d=\"M918 220h10\"></path>\n<path d=\"M928 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M938 220h0\"></path>\n<path d=\"M1009 220h0\"></path>\n<rect x=\"938\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"973.5\" y=\"224\">Source</text>\n</a>\n</g>\n<path d=\"M1009 220h10\"></path>\n<path d=\"M1019 220h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1029 220h0\"></path>\n<path d=\"M1100 220h0\"></path>\n<rect x=\"1029\" y=\"209\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1064.5\" y=\"224\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M1100 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1120 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1140 40h10\"></path>\n<path d=\"M563 40a10 10 0 0 0 -10 10v179a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M563 239h577\"></path>\n</g>\n<path d=\"M1140 239a10 10 0 0 0 10 -10v-179a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1150 40h20\"></path>\n</g>\n</g>\n<path d=\"M1170 40h10\"></path>\n<path d=\"M 1180 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFunction"
+      ],
+      "filename": "s_ql_function_input.ts"
+    },
+    {
+      "name": "SQLGroupBy",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"GROUP BY\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\",\"'))),Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/SQLFieldName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"664.5\" height=\"168\" viewBox=\"0 0 664.5 168\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M614.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"GROUP BY\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<g>\n<path d=\"M165 31h0\"></path>\n<path d=\"M614.5 31h0\"></path>\n<path d=\"M165 31h20\"></path>\n<g>\n<path d=\"M185 31h0\"></path>\n<path d=\"M594.5 31h0\"></path>\n<g>\n<path d=\"M185 31h0\"></path>\n<path d=\"M422.5 31h0\"></path>\n<path d=\"M185 31h10\"></path>\n<g>\n<path d=\"M195 31h0\"></path>\n<path d=\"M412.5 31h0\"></path>\n<g>\n<path d=\"M195 31h0\"></path>\n<path d=\"M357 31h0\"></path>\n<path d=\"M195 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"215\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"276\" y=\"35\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M337 31h20\"></path>\n<path d=\"M195 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 61h0\"></path>\n<path d=\"M294.5 61h42.5\"></path>\n<rect x=\"215\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"254.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M337 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M357 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M367 31h0\"></path>\n<path d=\"M412.5 31h0\"></path>\n<rect x=\"367\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"389.75\" y=\"35\">\",\"</text>\n</g>\n</g>\n<path d=\"M412.5 31h10\"></path>\n<path d=\"M195 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M195 80h217.5\"></path>\n</g>\n<path d=\"M412.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M422.5 31h10\"></path>\n<g>\n<path d=\"M432.5 31h0\"></path>\n<path d=\"M594.5 31h0\"></path>\n<path d=\"M432.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 31h0\"></path>\n<path d=\"M574.5 31h0\"></path>\n<rect x=\"452.5\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"513.5\" y=\"35\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M574.5 31h20\"></path>\n<path d=\"M432.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 61h0\"></path>\n<path d=\"M532 61h42.5\"></path>\n<rect x=\"452.5\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"492.25\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M574.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M594.5 31h20\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M185 99h0\"></path>\n<path d=\"M367 99h227.5\"></path>\n<path d=\"M185 99h10\"></path>\n<g>\n<path d=\"M195 99h0\"></path>\n<path d=\"M357 99h0\"></path>\n<path d=\"M195 99h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 99h0\"></path>\n<path d=\"M337 99h0\"></path>\n<rect x=\"215\" y=\"88\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"276\" y=\"103\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M337 99h20\"></path>\n<path d=\"M195 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 129h0\"></path>\n<path d=\"M294.5 129h42.5\"></path>\n<rect x=\"215\" y=\"118\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"254.75\" y=\"133\">Dynamic</text>\n</a>\n</g>\n<path d=\"M337 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M357 99h10\"></path>\n<path d=\"M195 99a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M195 148h162\"></path>\n</g>\n<path d=\"M357 148a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M594.5 99a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M614.5 31h10\"></path>\n<path d=\"M 624.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_group_by.ts"
+    },
+    {
+      "name": "SQLHaving",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"HAVING\"'),Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Sequence(Railroad.NonTerminal('SQLAggregation', {href: '#/expression/SQLAggregation'}),Railroad.NonTerminal('SQLCompareOperator', {href: '#/expression/SQLCompareOperator'}),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/SQLAggregation",
+        "expression/SQLCompareOperator",
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"686.5\" height=\"92\" viewBox=\"0 0 686.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M636.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"HAVING\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<g>\n<path d=\"M148 31h0\"></path>\n<path d=\"M636.5 31h0\"></path>\n<path d=\"M148 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M247.5 31h369\"></path>\n<rect x=\"168\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"207.75\" y=\"35\">Dynamic</text>\n</a>\n</g>\n<path d=\"M616.5 31h20\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 61h0\"></path>\n<path d=\"M616.5 61h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 61h0\"></path>\n<path d=\"M307 61h0\"></path>\n<rect x=\"168\" y=\"50\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAggregation\"><text x=\"237.5\" y=\"65\">SQLAggregation</text>\n</a>\n</g>\n<path d=\"M307 61h10\"></path>\n<path d=\"M317 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327 61h0\"></path>\n<path d=\"M500 61h0\"></path>\n<rect x=\"327\" y=\"50\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCompareOperator\"><text x=\"413.5\" y=\"65\">SQLCompareOperator</text>\n</a>\n</g>\n<path d=\"M500 61h10\"></path>\n<path d=\"M510 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M520 61h0\"></path>\n<path d=\"M616.5 61h0\"></path>\n<rect x=\"520\" y=\"50\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"568.25\" y=\"65\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M616.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M636.5 31h10\"></path>\n<path d=\"M 646.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_having.ts"
+    },
+    {
+      "name": "SQLHints",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"%_HINTS\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"ORACLE\"'),Railroad.Terminal('\"ADABAS\"'),Railroad.Terminal('\"AS400\"'),Railroad.Terminal('\"DB2\"'),Railroad.Terminal('\"HDB\"'),Railroad.Terminal('\"MSSQLNT\"'),Railroad.Terminal('\"SYBASE\"'),Railroad.Terminal('\"DB6\"')),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))))).toString();",
+      "using": [
+        "expression/Constant"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"471\" height=\"280\" viewBox=\"0 0 471 280\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M421 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"%&#95;HINTS\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g>\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M421 31h0\"></path>\n<path d=\"M166.5 31h10\"></path>\n<g>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M411 31h0\"></path>\n<g>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M313 31h0\"></path>\n<path d=\"M176.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 31h0\"></path>\n<path d=\"M284.5 31h8.5\"></path>\n<rect x=\"196.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"35\">\"ORACLE\"</text>\n</g>\n<path d=\"M293 31h20\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 61h0\"></path>\n<path d=\"M284.5 61h8.5\"></path>\n<rect x=\"196.5\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"65\">\"ADABAS\"</text>\n</g>\n<path d=\"M293 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 91h0\"></path>\n<path d=\"M276 91h17\"></path>\n<rect x=\"196.5\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"236.25\" y=\"95\">\"AS400\"</text>\n</g>\n<path d=\"M293 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 121h0\"></path>\n<path d=\"M259 121h34\"></path>\n<rect x=\"196.5\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"227.75\" y=\"125\">\"DB2\"</text>\n</g>\n<path d=\"M293 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 151h0\"></path>\n<path d=\"M259 151h34\"></path>\n<rect x=\"196.5\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"227.75\" y=\"155\">\"HDB\"</text>\n</g>\n<path d=\"M293 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 181h0\"></path>\n<path d=\"M293 181h0\"></path>\n<rect x=\"196.5\" y=\"170\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"244.75\" y=\"185\">\"MSSQLNT\"</text>\n</g>\n<path d=\"M293 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 211h0\"></path>\n<path d=\"M284.5 211h8.5\"></path>\n<rect x=\"196.5\" y=\"200\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"215\">\"SYBASE\"</text>\n</g>\n<path d=\"M293 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M176.5 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 241h0\"></path>\n<path d=\"M259 241h34\"></path>\n<rect x=\"196.5\" y=\"230\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"227.75\" y=\"245\">\"DB6\"</text>\n</g>\n<path d=\"M293 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M313 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M323 31h0\"></path>\n<path d=\"M411 31h0\"></path>\n<rect x=\"323\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"367\" y=\"35\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M411 31h10\"></path>\n<path d=\"M176.5 31a10 10 0 0 0 -10 10v209a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 260h234.5\"></path>\n</g>\n<path d=\"M411 260a10 10 0 0 0 10 -10v-209a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M421 31h10\"></path>\n<path d=\"M 431 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_hints.ts"
+    },
+    {
+      "name": "SQLIn",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" (\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.NonTerminal('SQLSourceNoSpace', {href: '#/expression/SQLSourceNoSpace'})),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))),Railroad.Choice(0, Railroad.Terminal('!\")\"'),Railroad.Terminal('!\") \"'),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLSourceNoSpace', {href: '#/expression/SQLSourceNoSpace'}),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})))),Railroad.Choice(0, Railroad.Terminal('!\" )\"'),Railroad.Terminal('!\" ) \"'))))),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.Terminal('\")\"'))))).toString();",
+      "using": [
+        "expression/SQLSource",
+        "expression/SQLSourceNoSpace",
+        "expression/Select"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"950\" height=\"268\" viewBox=\"0 0 950 268\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M900 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">\"IN\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<g>\n<path d=\"M114 31h0\"></path>\n<path d=\"M900 31h0\"></path>\n<path d=\"M114 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 31h0\"></path>\n<path d=\"M230.5 31h649.5\"></path>\n<rect x=\"134\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"182.25\" y=\"35\">SQLSource</text>\n</a>\n</g>\n<path d=\"M880 31h20\"></path>\n<path d=\"M114 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M134 70h0\"></path>\n<path d=\"M880 70h0\"></path>\n<path d=\"M134 70h20\"></path>\n<g>\n<path d=\"M154 70h0\"></path>\n<path d=\"M841.5 70h18.5\"></path>\n<g class=\"terminal\">\n<path d=\"M154 70h0\"></path>\n<path d=\"M216.5 70h0\"></path>\n<rect x=\"154\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"185.25\" y=\"74\">!\" (\"</text>\n</g>\n<path d=\"M216.5 70h10\"></path>\n<g>\n<path d=\"M226.5 70h0\"></path>\n<path d=\"M508.5 70h0\"></path>\n<path d=\"M226.5 70h20\"></path>\n<g>\n<path d=\"M246.5 70h0\"></path>\n<path d=\"M488.5 70h0\"></path>\n<g>\n<path d=\"M246.5 70h0\"></path>\n<path d=\"M312.5 70h0\"></path>\n<text x=\"279.5\" y=\"75\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M312.5 70h10\"></path>\n<path d=\"M322.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M332.5 70h0\"></path>\n<path d=\"M488.5 70h0\"></path>\n<rect x=\"332.5\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceNoSpace\"><text x=\"410.5\" y=\"74\">SQLSourceNoSpace</text>\n</a>\n</g>\n</g>\n<path d=\"M488.5 70h20\"></path>\n<path d=\"M226.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M246.5 100h0\"></path>\n<path d=\"M343 100h145.5\"></path>\n<rect x=\"246.5\" y=\"89\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"294.75\" y=\"104\">SQLSource</text>\n</a>\n</g>\n<path d=\"M488.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M508.5 70h0\"></path>\n<path d=\"M730.5 70h0\"></path>\n<path d=\"M508.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M528.5 50h182\"></path>\n</g>\n<path d=\"M710.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M508.5 70h20\"></path>\n<g>\n<path d=\"M528.5 70h0\"></path>\n<path d=\"M710.5 70h0\"></path>\n<path d=\"M528.5 70h10\"></path>\n<g>\n<path d=\"M538.5 70h0\"></path>\n<path d=\"M700.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M538.5 70h0\"></path>\n<path d=\"M584 70h0\"></path>\n<rect x=\"538.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"561.25\" y=\"74\">\",\"</text>\n</g>\n<path d=\"M584 70h10\"></path>\n<path d=\"M594 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M604 70h0\"></path>\n<path d=\"M700.5 70h0\"></path>\n<rect x=\"604\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"652.25\" y=\"74\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M700.5 70h10\"></path>\n<path d=\"M538.5 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M538.5 90h162\"></path>\n</g>\n<path d=\"M700.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M710.5 70h20\"></path>\n</g>\n<g>\n<path d=\"M730.5 70h0\"></path>\n<path d=\"M841.5 70h0\"></path>\n<path d=\"M730.5 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M750.5 70h0\"></path>\n<path d=\"M804.5 70h17\"></path>\n<rect x=\"750.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"777.5\" y=\"74\">!\")\"</text>\n</g>\n<path d=\"M821.5 70h20\"></path>\n<path d=\"M730.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M750.5 100h0\"></path>\n<path d=\"M813 100h8.5\"></path>\n<rect x=\"750.5\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"781.75\" y=\"104\">!\") \"</text>\n</g>\n<path d=\"M821.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M730.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M750.5 130h0\"></path>\n<path d=\"M821.5 130h0\"></path>\n<rect x=\"750.5\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"786\" y=\"134\">!\" ) \"</text>\n</g>\n<path d=\"M821.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M860 70h20\"></path>\n<path d=\"M134 70a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M154 169h0\"></path>\n<path d=\"M860 169h0\"></path>\n<g>\n<path d=\"M154 169h0\"></path>\n<path d=\"M220 169h0\"></path>\n<text x=\"187\" y=\"174\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M220 169h10\"></path>\n<path d=\"M230 169h10\"></path>\n<g>\n<path d=\"M240 169h0\"></path>\n<path d=\"M860 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M240 169h0\"></path>\n<path d=\"M311 169h0\"></path>\n<rect x=\"240\" y=\"158\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"275.5\" y=\"173\">!\" ( \"</text>\n</g>\n<path d=\"M311 169h10\"></path>\n<path d=\"M321 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M331 169h0\"></path>\n<path d=\"M427.5 169h0\"></path>\n<rect x=\"331\" y=\"158\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"379.25\" y=\"173\">SQLSource</text>\n</a>\n</g>\n<path d=\"M427.5 169h10\"></path>\n<g>\n<path d=\"M437.5 169h0\"></path>\n<path d=\"M749 169h0\"></path>\n<path d=\"M437.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M457.5 149h271.5\"></path>\n</g>\n<path d=\"M729 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M437.5 169h20\"></path>\n<g>\n<path d=\"M457.5 169h0\"></path>\n<path d=\"M729 169h0\"></path>\n<path d=\"M457.5 169h10\"></path>\n<g>\n<path d=\"M467.5 169h0\"></path>\n<path d=\"M719 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M467.5 169h0\"></path>\n<path d=\"M513 169h0\"></path>\n<rect x=\"467.5\" y=\"158\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"490.25\" y=\"173\">\",\"</text>\n</g>\n<path d=\"M513 169h10\"></path>\n<g>\n<path d=\"M523 169h0\"></path>\n<path d=\"M719 169h0\"></path>\n<path d=\"M523 169h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M543 169h0\"></path>\n<path d=\"M699 169h0\"></path>\n<rect x=\"543\" y=\"158\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceNoSpace\"><text x=\"621\" y=\"173\">SQLSourceNoSpace</text>\n</a>\n</g>\n<path d=\"M699 169h20\"></path>\n<path d=\"M523 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M543 199h0\"></path>\n<path d=\"M639.5 199h59.5\"></path>\n<rect x=\"543\" y=\"188\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"591.25\" y=\"203\">SQLSource</text>\n</a>\n</g>\n<path d=\"M699 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M719 169h10\"></path>\n<path d=\"M467.5 169a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467.5 218h251.5\"></path>\n</g>\n<path d=\"M719 218a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M729 169h20\"></path>\n</g>\n<g>\n<path d=\"M749 169h0\"></path>\n<path d=\"M860 169h0\"></path>\n<path d=\"M749 169h20\"></path>\n<g class=\"terminal\">\n<path d=\"M769 169h0\"></path>\n<path d=\"M831.5 169h8.5\"></path>\n<rect x=\"769\" y=\"158\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"800.25\" y=\"173\">!\" )\"</text>\n</g>\n<path d=\"M840 169h20\"></path>\n<path d=\"M749 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M769 199h0\"></path>\n<path d=\"M840 199h0\"></path>\n<rect x=\"769\" y=\"188\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"804.5\" y=\"203\">!\" ) \"</text>\n</g>\n<path d=\"M840 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M860 169a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M880 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M114 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M134 237h0\"></path>\n<path d=\"M336 237h544\"></path>\n<g class=\"terminal\">\n<path d=\"M134 237h0\"></path>\n<path d=\"M179.5 237h0\"></path>\n<rect x=\"134\" y=\"226\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"156.75\" y=\"241\">\"(\"</text>\n</g>\n<path d=\"M179.5 237h10\"></path>\n<path d=\"M189.5 237h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M199.5 237h0\"></path>\n<path d=\"M270.5 237h0\"></path>\n<rect x=\"199.5\" y=\"226\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"235\" y=\"241\">Select</text>\n</a>\n</g>\n<path d=\"M270.5 237h10\"></path>\n<path d=\"M280.5 237h10\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 237h0\"></path>\n<path d=\"M336 237h0\"></path>\n<rect x=\"290.5\" y=\"226\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"313.25\" y=\"241\">\")\"</text>\n</g>\n</g>\n<path d=\"M880 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M900 31h10\"></path>\n<path d=\"M 910 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCompare"
+      ],
+      "filename": "s_ql_in.ts"
+    },
+    {
+      "name": "SQLIntoList",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\" (\"'),Railroad.Terminal('!\" ( \"')),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('SQLTarget', {href: '#/expression/SQLTarget'}),Railroad.Terminal('\",\"'))),Railroad.NonTerminal('SQLTarget', {href: '#/expression/SQLTarget'}),Railroad.Terminal('\")\"')))).toString();",
+      "using": [
+        "expression/SQLTarget"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"696\" height=\"101\" viewBox=\"0 0 696 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M252 40h0\"></path>\n<path d=\"M141 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M161 40h0\"></path>\n<path d=\"M223.5 40h8.5\"></path>\n<rect x=\"161\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"192.25\" y=\"44\">!\" (\"</text>\n</g>\n<path d=\"M232 40h20\"></path>\n<path d=\"M141 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M161 70h0\"></path>\n<path d=\"M232 70h0\"></path>\n<rect x=\"161\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"196.5\" y=\"74\">!\" ( \"</text>\n</g>\n<path d=\"M232 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M252 40h0\"></path>\n<path d=\"M474 40h0\"></path>\n<path d=\"M252 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M272 20h182\"></path>\n</g>\n<path d=\"M454 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M252 40h20\"></path>\n<g>\n<path d=\"M272 40h0\"></path>\n<path d=\"M454 40h0\"></path>\n<path d=\"M272 40h10\"></path>\n<g>\n<path d=\"M282 40h0\"></path>\n<path d=\"M444 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M282 40h0\"></path>\n<path d=\"M378.5 40h0\"></path>\n<rect x=\"282\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLTarget\"><text x=\"330.25\" y=\"44\">SQLTarget</text>\n</a>\n</g>\n<path d=\"M378.5 40h10\"></path>\n<path d=\"M388.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M398.5 40h0\"></path>\n<path d=\"M444 40h0\"></path>\n<rect x=\"398.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"421.25\" y=\"44\">\",\"</text>\n</g>\n</g>\n<path d=\"M444 40h10\"></path>\n<path d=\"M282 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M282 60h162\"></path>\n</g>\n<path d=\"M444 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M454 40h20\"></path>\n</g>\n<path d=\"M474 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M484 40h0\"></path>\n<path d=\"M580.5 40h0\"></path>\n<rect x=\"484\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLTarget\"><text x=\"532.25\" y=\"44\">SQLTarget</text>\n</a>\n</g>\n<path d=\"M580.5 40h10\"></path>\n<path d=\"M590.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M600.5 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<rect x=\"600.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"623.25\" y=\"44\">\")\"</text>\n</g>\n</g>\n</g>\n<path d=\"M646 40h10\"></path>\n<path d=\"M 656 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/FetchNextCursor"
+      ],
+      "filename": "s_ql_into_list.ts"
+    },
+    {
+      "name": "SQLIntoStructure",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"CORRESPONDING FIELDS OF\"')),Railroad.NonTerminal('SQLTarget', {href: '#/expression/SQLTarget'})))).toString();",
+      "using": [
+        "expression/SQLTarget"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"570\" height=\"71\" viewBox=\"0 0 570 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M520 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M520 40h0\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M413.5 40h0\"></path>\n<path d=\"M141 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M161 20h232.5\"></path>\n</g>\n<path d=\"M393.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M141 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M161 40h0\"></path>\n<path d=\"M393.5 40h0\"></path>\n<rect x=\"161\" y=\"29\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"277.25\" y=\"44\">\"CORRESPONDING FIELDS OF\"</text>\n</g>\n<path d=\"M393.5 40h20\"></path>\n</g>\n<path d=\"M413.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M423.5 40h0\"></path>\n<path d=\"M520 40h0\"></path>\n<rect x=\"423.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLTarget\"><text x=\"471.75\" y=\"44\">SQLTarget</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M520 40h10\"></path>\n<path d=\"M 530 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/FetchNextCursor"
+      ],
+      "filename": "s_ql_into_structure.ts"
+    },
+    {
+      "name": "SQLIntoTable",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"INTO\"'),Railroad.Terminal('\"APPENDING\"')),Railroad.Optional(Railroad.Terminal('\"CORRESPONDING FIELDS OF\"')),Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('SQLTarget', {href: '#/expression/SQLTarget'}))).toString();",
+      "using": [
+        "expression/SQLTarget"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"732\" height=\"101\" viewBox=\"0 0 732 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M682 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M141 40h42.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"105.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M183.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"74\">\"APPENDING\"</text>\n</g>\n<path d=\"M183.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M476 40h0\"></path>\n<path d=\"M203.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M223.5 20h232.5\"></path>\n</g>\n<path d=\"M456 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M203.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M223.5 40h0\"></path>\n<path d=\"M456 40h0\"></path>\n<rect x=\"223.5\" y=\"29\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"339.75\" y=\"44\">\"CORRESPONDING FIELDS OF\"</text>\n</g>\n<path d=\"M456 40h20\"></path>\n</g>\n<path d=\"M476 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M486 40h0\"></path>\n<path d=\"M565.5 40h0\"></path>\n<rect x=\"486\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"525.75\" y=\"44\">\"TABLE\"</text>\n</g>\n<path d=\"M565.5 40h10\"></path>\n<path d=\"M575.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M585.5 40h0\"></path>\n<path d=\"M682 40h0\"></path>\n<rect x=\"585.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLTarget\"><text x=\"633.75\" y=\"44\">SQLTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M682 40h10\"></path>\n<path d=\"M 692 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/FetchNextCursor"
+      ],
+      "filename": "s_ql_into_table.ts"
+    },
+    {
+      "name": "SQLJoin",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"INNER\"'),Railroad.Terminal('\"LEFT OUTER\"'),Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"RIGHT OUTER\"'),Railroad.Terminal('\"RIGHT\"'))),Railroad.Terminal('\"JOIN\"')),Railroad.NonTerminal('SQLFromSource', {href: '#/expression/SQLFromSource'}),Railroad.Terminal('\"ON\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'}))).toString();",
+      "using": [
+        "expression/SQLCond",
+        "expression/SQLFromSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"715.5\" height=\"191\" viewBox=\"0 0 715.5 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M260.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h170.5\"></path>\n</g>\n<path d=\"M240.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M169.5 40h51\"></path>\n<rect x=\"90\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.75\" y=\"44\">\"INNER\"</text>\n</g>\n<path d=\"M220.5 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M212 70h8.5\"></path>\n<rect x=\"90\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"151\" y=\"74\">\"LEFT OUTER\"</text>\n</g>\n<path d=\"M220.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 100h0\"></path>\n<path d=\"M161 100h59.5\"></path>\n<rect x=\"90\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"125.5\" y=\"104\">\"LEFT\"</text>\n</g>\n<path d=\"M220.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 130h0\"></path>\n<path d=\"M220.5 130h0\"></path>\n<rect x=\"90\" y=\"119\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"155.25\" y=\"134\">\"RIGHT OUTER\"</text>\n</g>\n<path d=\"M220.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 160h0\"></path>\n<path d=\"M169.5 160h51\"></path>\n<rect x=\"90\" y=\"149\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.75\" y=\"164\">\"RIGHT\"</text>\n</g>\n<path d=\"M220.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M240.5 40h20\"></path>\n</g>\n<path d=\"M260.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M270.5 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<rect x=\"270.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"306\" y=\"44\">\"JOIN\"</text>\n</g>\n</g>\n<path d=\"M341.5 40h10\"></path>\n<path d=\"M351.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M361.5 40h0\"></path>\n<path d=\"M492 40h0\"></path>\n<rect x=\"361.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFromSource\"><text x=\"426.75\" y=\"44\">SQLFromSource</text>\n</a>\n</g>\n<path d=\"M492 40h10\"></path>\n<path d=\"M502 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M512 40h0\"></path>\n<path d=\"M566 40h0\"></path>\n<rect x=\"512\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"539\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M566 40h10\"></path>\n<path d=\"M576 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M586 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<rect x=\"586\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"625.75\" y=\"44\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M665.5 40h10\"></path>\n<path d=\"M 675.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFrom"
+      ],
+      "filename": "s_ql_join.ts"
+    },
+    {
+      "name": "SQLOrderBy",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"ORDER BY\"'),Railroad.Choice(0, Railroad.Terminal('\"PRIMARY KEY\"'),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ASCENDING\"'),Railroad.Terminal('\"DESCENDING\"'))),Railroad.Optional(Railroad.Terminal('\",\"'))))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/SQLFieldName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"694.5\" height=\"169\" viewBox=\"0 0 694.5 169\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M644.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"ORDER BY\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<g>\n<path d=\"M165 31h0\"></path>\n<path d=\"M644.5 31h0\"></path>\n<path d=\"M165 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M315.5 31h309\"></path>\n<rect x=\"185\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"35\">\"PRIMARY KEY\"</text>\n</g>\n<path d=\"M624.5 31h20\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 61h0\"></path>\n<path d=\"M264.5 61h360\"></path>\n<rect x=\"185\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"224.75\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M624.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M185 100h0\"></path>\n<path d=\"M624.5 100h0\"></path>\n<path d=\"M185 100h10\"></path>\n<g>\n<path d=\"M195 100h0\"></path>\n<path d=\"M614.5 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M195 100h0\"></path>\n<path d=\"M317 100h0\"></path>\n<rect x=\"195\" y=\"89\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"256\" y=\"104\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M317 100h10\"></path>\n<g>\n<path d=\"M327 100h0\"></path>\n<path d=\"M529 100h0\"></path>\n<path d=\"M327 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M347 80h162\"></path>\n</g>\n<path d=\"M509 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M327 100h20\"></path>\n<g>\n<path d=\"M347 100h0\"></path>\n<path d=\"M509 100h0\"></path>\n<path d=\"M347 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M367 100h0\"></path>\n<path d=\"M480.5 100h8.5\"></path>\n<rect x=\"367\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"423.75\" y=\"104\">\"ASCENDING\"</text>\n</g>\n<path d=\"M489 100h20\"></path>\n<path d=\"M347 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M367 130h0\"></path>\n<path d=\"M489 130h0\"></path>\n<rect x=\"367\" y=\"119\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428\" y=\"134\">\"DESCENDING\"</text>\n</g>\n<path d=\"M489 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M509 100h20\"></path>\n</g>\n<g>\n<path d=\"M529 100h0\"></path>\n<path d=\"M614.5 100h0\"></path>\n<path d=\"M529 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M549 80h45.5\"></path>\n</g>\n<path d=\"M594.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M529 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M549 100h0\"></path>\n<path d=\"M594.5 100h0\"></path>\n<rect x=\"549\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"571.75\" y=\"104\">\",\"</text>\n</g>\n<path d=\"M594.5 100h20\"></path>\n</g>\n</g>\n<path d=\"M614.5 100h10\"></path>\n<path d=\"M195 100a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M195 149h419.5\"></path>\n</g>\n<path d=\"M614.5 149a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M624.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M644.5 31h10\"></path>\n<path d=\"M 654.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_order_by.ts"
+    },
+    {
+      "name": "SQLPath",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"\\\\\\\\_\\\\w+\"),Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"\\\\w+\"))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"310.5\" height=\"62\" viewBox=\"0 0 310.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M260.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\\\\&#95;\\w+</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"168\" y=\"35\">!\"-\"</text>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M205 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M215 31h0\"></path>\n<path d=\"M260.5 31h0\"></path>\n<rect x=\"215\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"237.75\" y=\"35\">\\w+</text>\n</g>\n</g>\n<path d=\"M260.5 31h10\"></path>\n<path d=\"M 270.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCase",
+        "expression/SQLCompare",
+        "expression/SQLField",
+        "expression/SQLFieldListLoop"
+      ],
+      "filename": "s_ql_path.ts"
+    },
+    {
+      "name": "SQLSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('SQLAliasField', {href: '#/expression/SQLAliasField'}),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))))))).toString();",
+      "using": [
+        "expression/SQLAliasField",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"563\" height=\"152\" viewBox=\"0 0 563 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M523 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M190.5 31h312.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAliasField\"><text x=\"125.25\" y=\"35\">SQLAliasField</text>\n</a>\n</g>\n<path d=\"M503 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M190.5 61h312.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"125.25\" y=\"65\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M503 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M503 91h0\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M126 91h0\"></path>\n<text x=\"93\" y=\"96\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 91h10\"></path>\n<path d=\"M136 91h10\"></path>\n<g>\n<path d=\"M146 91h0\"></path>\n<path d=\"M503 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 91h0\"></path>\n<path d=\"M208.5 91h0\"></path>\n<rect x=\"146\" y=\"80\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.25\" y=\"95\">!\" @\"</text>\n</g>\n<path d=\"M208.5 91h10\"></path>\n<g>\n<path d=\"M218.5 91h0\"></path>\n<path d=\"M503 91h0\"></path>\n<path d=\"M218.5 91h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M238.5 91h0\"></path>\n<path d=\"M369 91h114\"></path>\n<rect x=\"238.5\" y=\"80\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"303.75\" y=\"95\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M483 91h20\"></path>\n<path d=\"M218.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M238.5 121h0\"></path>\n<path d=\"M483 121h0\"></path>\n<g class=\"terminal\">\n<path d=\"M238.5 121h0\"></path>\n<path d=\"M301 121h0\"></path>\n<rect x=\"238.5\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"269.75\" y=\"125\">!\"( \"</text>\n</g>\n<path d=\"M301 121h10\"></path>\n<path d=\"M311 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M321 121h0\"></path>\n<path d=\"M392 121h0\"></path>\n<rect x=\"321\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"356.5\" y=\"125\">Source</text>\n</a>\n</g>\n<path d=\"M392 121h10\"></path>\n<path d=\"M402 121h10\"></path>\n<g class=\"terminal\">\n<path d=\"M412 121h0\"></path>\n<path d=\"M483 121h0\"></path>\n<rect x=\"412\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"447.5\" y=\"125\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M483 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M503 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 523 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCase",
+        "expression/SQLCompare",
+        "expression/SQLFieldAndValue",
+        "expression/SQLForAllEntries",
+        "expression/SQLHaving",
+        "expression/SQLIn",
+        "expression/SQLUpTo",
+        "expression/Select",
+        "expression/SelectLoop",
+        "statement/InsertDatabase",
+        "statement/ModifyDatabase",
+        "statement/UpdateDatabase"
+      ],
+      "filename": "s_ql_source.ts"
+    },
+    {
+      "name": "SQLSourceNoSpace",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('SQLAliasField', {href: '#/expression/SQLAliasField'}),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\"@\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))))))).toString();",
+      "using": [
+        "expression/SQLAliasField",
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"554.5\" height=\"152\" viewBox=\"0 0 554.5 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M514.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M190.5 31h304\"></path>\n<rect x=\"60\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLAliasField\"><text x=\"125.25\" y=\"35\">SQLAliasField</text>\n</a>\n</g>\n<path d=\"M494.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M190.5 61h304\"></path>\n<rect x=\"60\" y=\"50\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"125.25\" y=\"65\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M494.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M494.5 91h0\"></path>\n<g>\n<path d=\"M60 91h0\"></path>\n<path d=\"M126 91h0\"></path>\n<text x=\"93\" y=\"96\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 91h10\"></path>\n<path d=\"M136 91h10\"></path>\n<g>\n<path d=\"M146 91h0\"></path>\n<path d=\"M494.5 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 91h0\"></path>\n<path d=\"M200 91h0\"></path>\n<rect x=\"146\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"173\" y=\"95\">!\"@\"</text>\n</g>\n<path d=\"M200 91h10\"></path>\n<g>\n<path d=\"M210 91h0\"></path>\n<path d=\"M494.5 91h0\"></path>\n<path d=\"M210 91h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M230 91h0\"></path>\n<path d=\"M360.5 91h114\"></path>\n<rect x=\"230\" y=\"80\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"295.25\" y=\"95\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M474.5 91h20\"></path>\n<path d=\"M210 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M230 121h0\"></path>\n<path d=\"M474.5 121h0\"></path>\n<g class=\"terminal\">\n<path d=\"M230 121h0\"></path>\n<path d=\"M292.5 121h0\"></path>\n<rect x=\"230\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"261.25\" y=\"125\">!\"( \"</text>\n</g>\n<path d=\"M292.5 121h10\"></path>\n<path d=\"M302.5 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M312.5 121h0\"></path>\n<path d=\"M383.5 121h0\"></path>\n<rect x=\"312.5\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"348\" y=\"125\">Source</text>\n</a>\n</g>\n<path d=\"M383.5 121h10\"></path>\n<path d=\"M393.5 121h10\"></path>\n<g class=\"terminal\">\n<path d=\"M403.5 121h0\"></path>\n<path d=\"M474.5 121h0\"></path>\n<rect x=\"403.5\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"439\" y=\"125\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M474.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M494.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 514.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLIn"
+      ],
+      "filename": "s_ql_source_no_space.ts"
+    },
+    {
+      "name": "SQLSourceSimple",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('!\" @\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Sequence(Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))))))).toString();",
+      "using": [
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"563\" height=\"122\" viewBox=\"0 0 563 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M523 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M190.5 31h312.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"125.25\" y=\"35\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M503 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M503 61h0\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M126 61h0\"></path>\n<text x=\"93\" y=\"66\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 61h10\"></path>\n<path d=\"M136 61h10\"></path>\n<g>\n<path d=\"M146 61h0\"></path>\n<path d=\"M503 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 61h0\"></path>\n<path d=\"M208.5 61h0\"></path>\n<rect x=\"146\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.25\" y=\"65\">!\" @\"</text>\n</g>\n<path d=\"M208.5 61h10\"></path>\n<g>\n<path d=\"M218.5 61h0\"></path>\n<path d=\"M503 61h0\"></path>\n<path d=\"M218.5 61h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M238.5 61h0\"></path>\n<path d=\"M369 61h114\"></path>\n<rect x=\"238.5\" y=\"50\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"303.75\" y=\"65\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M483 61h20\"></path>\n<path d=\"M218.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M238.5 91h0\"></path>\n<path d=\"M483 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M238.5 91h0\"></path>\n<path d=\"M301 91h0\"></path>\n<rect x=\"238.5\" y=\"80\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"269.75\" y=\"95\">!\"( \"</text>\n</g>\n<path d=\"M301 91h10\"></path>\n<path d=\"M311 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M321 91h0\"></path>\n<path d=\"M392 91h0\"></path>\n<rect x=\"321\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"356.5\" y=\"95\">Source</text>\n</a>\n</g>\n<path d=\"M392 91h10\"></path>\n<path d=\"M402 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M412 91h0\"></path>\n<path d=\"M483 91h0\"></path>\n<rect x=\"412\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"447.5\" y=\"95\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M483 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M503 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 523 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLClient",
+        "statement/CloseCursor",
+        "statement/DeleteDatabase",
+        "statement/FetchNextCursor"
+      ],
+      "filename": "s_ql_source_simple.ts"
+    },
+    {
+      "name": "SQLTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Terminal('\"NEW\"'))),Railroad.Choice(0, Railroad.Terminal('!\" @\"'),Railroad.Terminal('!\"@\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"550\" height=\"131\" viewBox=\"0 0 550 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M510 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M490 40h0\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M126 40h0\"></path>\n<text x=\"93\" y=\"45\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M126 40h10\"></path>\n<path d=\"M136 40h10\"></path>\n<g>\n<path d=\"M146 40h0\"></path>\n<path d=\"M490 40h0\"></path>\n<g>\n<path d=\"M146 40h0\"></path>\n<path d=\"M306.5 40h0\"></path>\n<path d=\"M146 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M166 20h120.5\"></path>\n</g>\n<path d=\"M286.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M146 40h20\"></path>\n<g>\n<path d=\"M166 40h0\"></path>\n<path d=\"M286.5 40h0\"></path>\n<g>\n<path d=\"M166 40h0\"></path>\n<path d=\"M204 40h0\"></path>\n<text x=\"185\" y=\"45\" class=\"comment\">v754</text>\n</g>\n<path d=\"M204 40h10\"></path>\n<path d=\"M214 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M224 40h0\"></path>\n<path d=\"M286.5 40h0\"></path>\n<rect x=\"224\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"255.25\" y=\"44\">\"NEW\"</text>\n</g>\n</g>\n<path d=\"M286.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M306.5 40h0\"></path>\n<path d=\"M409 40h0\"></path>\n<path d=\"M306.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M326.5 40h0\"></path>\n<path d=\"M389 40h0\"></path>\n<rect x=\"326.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"357.75\" y=\"44\">!\" @\"</text>\n</g>\n<path d=\"M389 40h20\"></path>\n<path d=\"M306.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M326.5 70h0\"></path>\n<path d=\"M380.5 70h8.5\"></path>\n<rect x=\"326.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"353.5\" y=\"74\">!\"@\"</text>\n</g>\n<path d=\"M389 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M409 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419 40h0\"></path>\n<path d=\"M490 40h0\"></path>\n<rect x=\"419\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"454.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M490 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M131 100h359\"></path>\n<rect x=\"60\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"95.5\" y=\"104\">Target</text>\n</a>\n</g>\n<path d=\"M490 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 510 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLIntoList",
+        "expression/SQLIntoStructure",
+        "expression/SQLIntoTable",
+        "statement/OpenCursor"
+      ],
+      "filename": "s_ql_target.ts"
+    },
+    {
+      "name": "SQLUpTo",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"UP TO\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.Terminal('\"ROWS\"'))).toString();",
+      "using": [
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"387\" height=\"62\" viewBox=\"0 0 387 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"UP TO\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"197.75\" y=\"35\">SQLSource</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"301.5\" y=\"35\">\"ROWS\"</text>\n</g>\n</g>\n<path d=\"M337 31h10\"></path>\n<path d=\"M 347 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Select",
+        "expression/SelectLoop"
+      ],
+      "filename": "s_ql_up_to.ts"
+    },
+    {
+      "name": "Select",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"SELECT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"SINGLE\"'),Railroad.Optional(Railroad.Terminal('\"FOR UPDATE\"')),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('SQLFieldList', {href: '#/expression/SQLFieldList'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Terminal('!\" ) \"')))),Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'}),Railroad.Choice(0, Railroad.NonTerminal('SQLIntoStructure', {href: '#/expression/SQLIntoStructure'}),Railroad.NonTerminal('SQLIntoList', {href: '#/expression/SQLIntoList'})),Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'})),Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'}),Railroad.Terminal('\"BYPASSING BUFFER\"'),Railroad.NonTerminal('SQLGroupBy', {href: '#/expression/SQLGroupBy'}),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.NonTerminal('SQLFields', {href: '#/expression/SQLFields'})),Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'}),Railroad.NonTerminal('SQLHints', {href: '#/expression/SQLHints'}))),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('SQLFieldList', {href: '#/expression/SQLFieldList'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SQLFieldName', {href: '#/expression/SQLFieldName'}),Railroad.Terminal('!\" ) \"')))),Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'}),Railroad.Choice(0, Railroad.NonTerminal('SQLIntoTable', {href: '#/expression/SQLIntoTable'}),Railroad.NonTerminal('SQLIntoStructure', {href: '#/expression/SQLIntoStructure'}),Railroad.NonTerminal('SQLIntoList', {href: '#/expression/SQLIntoList'})),Railroad.NonTerminal('SQLForAllEntries', {href: '#/expression/SQLForAllEntries'}),Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'})),Railroad.NonTerminal('SQLOrderBy', {href: '#/expression/SQLOrderBy'}),Railroad.NonTerminal('SQLUpTo', {href: '#/expression/SQLUpTo'}),Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))),Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'}),Railroad.NonTerminal('SQLHaving', {href: '#/expression/SQLHaving'}),Railroad.Terminal('\"BYPASSING BUFFER\"'),Railroad.NonTerminal('SQLGroupBy', {href: '#/expression/SQLGroupBy'}),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.NonTerminal('SQLFields', {href: '#/expression/SQLFields'})),Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'}),Railroad.NonTerminal('SQLHints', {href: '#/expression/SQLHints'})))))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/SQLClient",
+        "expression/SQLCond",
+        "expression/SQLFieldList",
+        "expression/SQLFieldName",
+        "expression/SQLFields",
+        "expression/SQLForAllEntries",
+        "expression/SQLFrom",
+        "expression/SQLGroupBy",
+        "expression/SQLHaving",
+        "expression/SQLHints",
+        "expression/SQLIntoList",
+        "expression/SQLIntoStructure",
+        "expression/SQLIntoTable",
+        "expression/SQLOrderBy",
+        "expression/SQLSource",
+        "expression/SQLUpTo"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1158\" height=\"830\" viewBox=\"0 0 1158 830\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1108 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"SELECT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M1108 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M1088 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M256 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212\" y=\"44\">\"SINGLE\"</text>\n</g>\n<path d=\"M256 40h10\"></path>\n<g>\n<path d=\"M266 40h0\"></path>\n<path d=\"M428 40h0\"></path>\n<path d=\"M266 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M286 20h122\"></path>\n</g>\n<path d=\"M408 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M266 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M286 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<rect x=\"286\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"347\" y=\"44\">\"FOR UPDATE\"</text>\n</g>\n<path d=\"M408 40h20\"></path>\n</g>\n<g>\n<path d=\"M428 40h0\"></path>\n<path d=\"M812 40h0\"></path>\n<path d=\"M428 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M448 20h344\"></path>\n</g>\n<path d=\"M792 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M428 40h20\"></path>\n<g>\n<path d=\"M448 40h0\"></path>\n<path d=\"M792 40h0\"></path>\n<path d=\"M448 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M468 40h0\"></path>\n<path d=\"M590 40h182\"></path>\n<rect x=\"468\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldList\"><text x=\"529\" y=\"44\">SQLFieldList</text>\n</a>\n</g>\n<path d=\"M772 40h20\"></path>\n<path d=\"M448 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468 70h0\"></path>\n<path d=\"M772 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M468 70h0\"></path>\n<path d=\"M539 70h0\"></path>\n<rect x=\"468\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"503.5\" y=\"74\">!\" ( \"</text>\n</g>\n<path d=\"M539 70h10\"></path>\n<path d=\"M549 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559 70h0\"></path>\n<path d=\"M681 70h0\"></path>\n<rect x=\"559\" y=\"59\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"620\" y=\"74\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M681 70h10\"></path>\n<path d=\"M691 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M701 70h0\"></path>\n<path d=\"M772 70h0\"></path>\n<rect x=\"701\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"74\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M772 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M792 40h20\"></path>\n</g>\n<path d=\"M812 40h10\"></path>\n<g>\n<path d=\"M822 40h0\"></path>\n<path d=\"M1088 40h0\"></path>\n<path d=\"M852 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862 40h0\"></path>\n<path d=\"M941.5 40h116.5\"></path>\n<rect x=\"862\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"901.75\" y=\"44\">SQLFrom</text>\n</a>\n</g>\n<path d=\"M1058 40h10\"></path>\n<path d=\"M852 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M862 70h0\"></path>\n<path d=\"M1058 70h0\"></path>\n<path d=\"M862 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M882 70h0\"></path>\n<path d=\"M1038 70h0\"></path>\n<rect x=\"882\" y=\"59\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoStructure\"><text x=\"960\" y=\"74\">SQLIntoStructure</text>\n</a>\n</g>\n<path d=\"M1038 70h20\"></path>\n<path d=\"M862 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M882 100h0\"></path>\n<path d=\"M995.5 100h42.5\"></path>\n<rect x=\"882\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoList\"><text x=\"938.75\" y=\"104\">SQLIntoList</text>\n</a>\n</g>\n<path d=\"M1038 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1058 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M852 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M862 130h0\"></path>\n<path d=\"M1041 130h17\"></path>\n<g class=\"terminal\">\n<path d=\"M862 130h0\"></path>\n<path d=\"M941.5 130h0\"></path>\n<rect x=\"862\" y=\"119\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"901.75\" y=\"134\">\"WHERE\"</text>\n</g>\n<path d=\"M941.5 130h10\"></path>\n<path d=\"M951.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M961.5 130h0\"></path>\n<path d=\"M1041 130h0\"></path>\n<rect x=\"961.5\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"1001.25\" y=\"134\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M1058 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M852 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862 160h0\"></path>\n<path d=\"M958.5 160h99.5\"></path>\n<rect x=\"862\" y=\"149\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"910.25\" y=\"164\">SQLClient</text>\n</a>\n</g>\n<path d=\"M1058 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M852 40v140a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M862 190h0\"></path>\n<path d=\"M1035 190h23\"></path>\n<rect x=\"862\" y=\"179\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"948.5\" y=\"194\">\"BYPASSING BUFFER\"</text>\n</g>\n<path d=\"M1058 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M852 40v170a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862 220h0\"></path>\n<path d=\"M967 220h91\"></path>\n<rect x=\"862\" y=\"209\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLGroupBy\"><text x=\"914.5\" y=\"224\">SQLGroupBy</text>\n</a>\n</g>\n<path d=\"M1058 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M852 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M862 250h0\"></path>\n<path d=\"M1016.5 250h41.5\"></path>\n<g>\n<path d=\"M862 250h0\"></path>\n<path d=\"M900 250h0\"></path>\n<text x=\"881\" y=\"255\" class=\"comment\">v750</text>\n</g>\n<path d=\"M900 250h10\"></path>\n<path d=\"M910 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M920 250h0\"></path>\n<path d=\"M1016.5 250h0\"></path>\n<rect x=\"920\" y=\"239\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFields\"><text x=\"968.25\" y=\"254\">SQLFields</text>\n</a>\n</g>\n</g>\n<path d=\"M1058 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M852 40v230a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862 280h0\"></path>\n<path d=\"M1035 280h23\"></path>\n<rect x=\"862\" y=\"269\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"948.5\" y=\"284\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M1058 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M852 40v260a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862 310h0\"></path>\n<path d=\"M950 310h108\"></path>\n<rect x=\"862\" y=\"299\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLHints\"><text x=\"906\" y=\"314\">SQLHints</text>\n</a>\n</g>\n<path d=\"M1058 310a10 10 0 0 0 10 -10v-260\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 852 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"837\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1068 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1075 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1088 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v289a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 349h0\"></path>\n<path d=\"M1039.5 349h48.5\"></path>\n<g>\n<path d=\"M168 349h0\"></path>\n<path d=\"M313 349h0\"></path>\n<path d=\"M168 349a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M188 329h105\"></path>\n</g>\n<path d=\"M293 329a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M168 349h20\"></path>\n<g class=\"terminal\">\n<path d=\"M188 349h0\"></path>\n<path d=\"M293 349h0\"></path>\n<rect x=\"188\" y=\"338\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"353\">\"DISTINCT\"</text>\n</g>\n<path d=\"M293 349h20\"></path>\n</g>\n<g>\n<path d=\"M313 349h0\"></path>\n<path d=\"M697 349h0\"></path>\n<path d=\"M313 349a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M333 329h344\"></path>\n</g>\n<path d=\"M677 329a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M313 349h20\"></path>\n<g>\n<path d=\"M333 349h0\"></path>\n<path d=\"M677 349h0\"></path>\n<path d=\"M333 349h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353 349h0\"></path>\n<path d=\"M475 349h182\"></path>\n<rect x=\"353\" y=\"338\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldList\"><text x=\"414\" y=\"353\">SQLFieldList</text>\n</a>\n</g>\n<path d=\"M657 349h20\"></path>\n<path d=\"M333 349a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M353 379h0\"></path>\n<path d=\"M657 379h0\"></path>\n<g class=\"terminal\">\n<path d=\"M353 379h0\"></path>\n<path d=\"M424 379h0\"></path>\n<rect x=\"353\" y=\"368\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.5\" y=\"383\">!\" ( \"</text>\n</g>\n<path d=\"M424 379h10\"></path>\n<path d=\"M434 379h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M444 379h0\"></path>\n<path d=\"M566 379h0\"></path>\n<rect x=\"444\" y=\"368\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldName\"><text x=\"505\" y=\"383\">SQLFieldName</text>\n</a>\n</g>\n<path d=\"M566 379h10\"></path>\n<path d=\"M576 379h10\"></path>\n<g class=\"terminal\">\n<path d=\"M586 379h0\"></path>\n<path d=\"M657 379h0\"></path>\n<rect x=\"586\" y=\"368\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"621.5\" y=\"383\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M657 379a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M677 349h20\"></path>\n</g>\n<path d=\"M697 349h10\"></path>\n<g>\n<path d=\"M707 349h0\"></path>\n<path d=\"M1039.5 349h0\"></path>\n<path d=\"M737 349h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 349h0\"></path>\n<path d=\"M826.5 349h183\"></path>\n<rect x=\"747\" y=\"338\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"786.75\" y=\"353\">SQLFrom</text>\n</a>\n</g>\n<path d=\"M1009.5 349h10\"></path>\n<path d=\"M737 349v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M747 379h0\"></path>\n<path d=\"M943 379h66.5\"></path>\n<path d=\"M747 379h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M767 379h0\"></path>\n<path d=\"M889 379h34\"></path>\n<rect x=\"767\" y=\"368\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoTable\"><text x=\"828\" y=\"383\">SQLIntoTable</text>\n</a>\n</g>\n<path d=\"M923 379h20\"></path>\n<path d=\"M747 379a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M767 409h0\"></path>\n<path d=\"M923 409h0\"></path>\n<rect x=\"767\" y=\"398\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoStructure\"><text x=\"845\" y=\"413\">SQLIntoStructure</text>\n</a>\n</g>\n<path d=\"M923 409a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M747 379a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M767 439h0\"></path>\n<path d=\"M880.5 439h42.5\"></path>\n<rect x=\"767\" y=\"428\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoList\"><text x=\"823.75\" y=\"443\">SQLIntoList</text>\n</a>\n</g>\n<path d=\"M923 439a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1009.5 379a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M737 349v110a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 469h0\"></path>\n<path d=\"M903 469h106.5\"></path>\n<rect x=\"747\" y=\"458\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLForAllEntries\"><text x=\"825\" y=\"473\">SQLForAllEntries</text>\n</a>\n</g>\n<path d=\"M1009.5 469a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M737 349v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M747 499h0\"></path>\n<path d=\"M926 499h83.5\"></path>\n<g class=\"terminal\">\n<path d=\"M747 499h0\"></path>\n<path d=\"M826.5 499h0\"></path>\n<rect x=\"747\" y=\"488\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"786.75\" y=\"503\">\"WHERE\"</text>\n</g>\n<path d=\"M826.5 499h10\"></path>\n<path d=\"M836.5 499h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M846.5 499h0\"></path>\n<path d=\"M926 499h0\"></path>\n<rect x=\"846.5\" y=\"488\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"886.25\" y=\"503\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M1009.5 499a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M737 349v170a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 529h0\"></path>\n<path d=\"M852 529h157.5\"></path>\n<rect x=\"747\" y=\"518\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLOrderBy\"><text x=\"799.5\" y=\"533\">SQLOrderBy</text>\n</a>\n</g>\n<path d=\"M1009.5 529a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M737 349v200a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 559h0\"></path>\n<path d=\"M826.5 559h183\"></path>\n<rect x=\"747\" y=\"548\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLUpTo\"><text x=\"786.75\" y=\"563\">SQLUpTo</text>\n</a>\n</g>\n<path d=\"M1009.5 559a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M737 349v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M747 589h0\"></path>\n<path d=\"M1009.5 589h0\"></path>\n<g>\n<path d=\"M747 589h0\"></path>\n<path d=\"M785 589h0\"></path>\n<text x=\"766\" y=\"594\" class=\"comment\">v751</text>\n</g>\n<path d=\"M785 589h10\"></path>\n<path d=\"M795 589h10\"></path>\n<g>\n<path d=\"M805 589h0\"></path>\n<path d=\"M1009.5 589h0\"></path>\n<g class=\"terminal\">\n<path d=\"M805 589h0\"></path>\n<path d=\"M893 589h0\"></path>\n<rect x=\"805\" y=\"578\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"849\" y=\"593\">\"OFFSET\"</text>\n</g>\n<path d=\"M893 589h10\"></path>\n<path d=\"M903 589h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M913 589h0\"></path>\n<path d=\"M1009.5 589h0\"></path>\n<rect x=\"913\" y=\"578\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"961.25\" y=\"593\">SQLSource</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1009.5 589a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M737 349v260a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 619h0\"></path>\n<path d=\"M843.5 619h166\"></path>\n<rect x=\"747\" y=\"608\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"795.25\" y=\"623\">SQLClient</text>\n</a>\n</g>\n<path d=\"M1009.5 619a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M737 349v290a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 649h0\"></path>\n<path d=\"M843.5 649h166\"></path>\n<rect x=\"747\" y=\"638\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLHaving\"><text x=\"795.25\" y=\"653\">SQLHaving</text>\n</a>\n</g>\n<path d=\"M1009.5 649a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M737 349v320a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M747 679h0\"></path>\n<path d=\"M920 679h89.5\"></path>\n<rect x=\"747\" y=\"668\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"833.5\" y=\"683\">\"BYPASSING BUFFER\"</text>\n</g>\n<path d=\"M1009.5 679a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M737 349v350a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 709h0\"></path>\n<path d=\"M852 709h157.5\"></path>\n<rect x=\"747\" y=\"698\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLGroupBy\"><text x=\"799.5\" y=\"713\">SQLGroupBy</text>\n</a>\n</g>\n<path d=\"M1009.5 709a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M737 349v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M747 739h0\"></path>\n<path d=\"M901.5 739h108\"></path>\n<g>\n<path d=\"M747 739h0\"></path>\n<path d=\"M785 739h0\"></path>\n<text x=\"766\" y=\"744\" class=\"comment\">v750</text>\n</g>\n<path d=\"M785 739h10\"></path>\n<path d=\"M795 739h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M805 739h0\"></path>\n<path d=\"M901.5 739h0\"></path>\n<rect x=\"805\" y=\"728\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFields\"><text x=\"853.25\" y=\"743\">SQLFields</text>\n</a>\n</g>\n</g>\n<path d=\"M1009.5 739a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M737 349v410a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 769h0\"></path>\n<path d=\"M920 769h89.5\"></path>\n<rect x=\"747\" y=\"758\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"833.5\" y=\"773\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M1009.5 769a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M737 349v440a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M747 799h0\"></path>\n<path d=\"M835 799h174.5\"></path>\n<rect x=\"747\" y=\"788\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLHints\"><text x=\"791\" y=\"803\">SQLHints</text>\n</a>\n</g>\n<path d=\"M1009.5 799a10 10 0 0 0 10 -10v-440\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 737 339 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"722\" y=\"353\" class=\"diagram-text\">1+</text>\n<path d=\"M 1019.5 339 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1026.5 347 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1088 349a10 10 0 0 0 10 -10v-289a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1108 40h10\"></path>\n<path d=\"M 1118 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLCompare",
+        "expression/SQLIn",
+        "statement/InsertDatabase",
+        "statement/OpenCursor",
+        "statement/Select",
+        "statement/With"
+      ],
+      "filename": "select.ts"
+    },
+    {
+      "name": "SelectLoop",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"SELECT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.NonTerminal('SQLFieldListLoop', {href: '#/expression/SQLFieldListLoop'}),Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'}),Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'})),Railroad.NonTerminal('SQLUpTo', {href: '#/expression/SQLUpTo'}),Railroad.NonTerminal('SQLOrderBy', {href: '#/expression/SQLOrderBy'}),Railroad.NonTerminal('SQLHaving', {href: '#/expression/SQLHaving'}),Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'}),Railroad.Terminal('\"BYPASSING BUFFER\"'),Railroad.NonTerminal('SQLGroupBy', {href: '#/expression/SQLGroupBy'}),Railroad.NonTerminal('SQLForAllEntries', {href: '#/expression/SQLForAllEntries'}),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('SQLIntoTable', {href: '#/expression/SQLIntoTable'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"PACKAGE SIZE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.Sequence(Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'}),Railroad.Sequence(Railroad.Terminal('\"PACKAGE SIZE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))),Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"PACKAGE SIZE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'})))),Railroad.Choice(0, Railroad.NonTerminal('SQLIntoStructure', {href: '#/expression/SQLIntoStructure'}),Railroad.NonTerminal('SQLIntoList', {href: '#/expression/SQLIntoList'})),Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"PACKAGE SIZE\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.NonTerminal('SQLIntoTable', {href: '#/expression/SQLIntoTable'}))))),Railroad.Sequence(Railroad.NonTerminal('SQLFrom', {href: '#/expression/SQLFrom'}),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.NonTerminal('SQLFields', {href: '#/expression/SQLFields'})),Railroad.Optional(Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'})),Railroad.Optional(Railroad.NonTerminal('SQLOrderBy', {href: '#/expression/SQLOrderBy'})),Railroad.Choice(0, Railroad.NonTerminal('SQLIntoStructure', {href: '#/expression/SQLIntoStructure'}),Railroad.NonTerminal('SQLIntoList', {href: '#/expression/SQLIntoList'})),Railroad.Optional(Railroad.NonTerminal('SQLUpTo', {href: '#/expression/SQLUpTo'})))))),Railroad.Optional(Railroad.NonTerminal('SQLHints', {href: '#/expression/SQLHints'})))).toString();",
+      "using": [
+        "expression/SQLClient",
+        "expression/SQLCond",
+        "expression/SQLFieldListLoop",
+        "expression/SQLFields",
+        "expression/SQLForAllEntries",
+        "expression/SQLFrom",
+        "expression/SQLGroupBy",
+        "expression/SQLHaving",
+        "expression/SQLHints",
+        "expression/SQLIntoList",
+        "expression/SQLIntoStructure",
+        "expression/SQLIntoTable",
+        "expression/SQLOrderBy",
+        "expression/SQLSource",
+        "expression/SQLUpTo"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1334\" height=\"568\" viewBox=\"0 0 1334 568\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1284 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"SELECT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M1156 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M1136 40h0\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M313 40h0\"></path>\n<path d=\"M168 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M188 20h105\"></path>\n</g>\n<path d=\"M293 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M168 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M188 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<rect x=\"188\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"44\">\"DISTINCT\"</text>\n</g>\n<path d=\"M293 40h20\"></path>\n</g>\n<path d=\"M313 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M323 40h0\"></path>\n<path d=\"M479 40h0\"></path>\n<rect x=\"323\" y=\"29\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldListLoop\"><text x=\"401\" y=\"44\">SQLFieldListLoop</text>\n</a>\n</g>\n<path d=\"M479 40h10\"></path>\n<path d=\"M489 40h10\"></path>\n<g>\n<path d=\"M499 40h0\"></path>\n<path d=\"M1136 40h0\"></path>\n<path d=\"M529 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 40h0\"></path>\n<path d=\"M618.5 40h487.5\"></path>\n<rect x=\"539\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"578.75\" y=\"44\">SQLFrom</text>\n</a>\n</g>\n<path d=\"M1106 40h10\"></path>\n<path d=\"M529 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M539 70h0\"></path>\n<path d=\"M718 70h388\"></path>\n<g class=\"terminal\">\n<path d=\"M539 70h0\"></path>\n<path d=\"M618.5 70h0\"></path>\n<rect x=\"539\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"578.75\" y=\"74\">\"WHERE\"</text>\n</g>\n<path d=\"M618.5 70h10\"></path>\n<path d=\"M628.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M638.5 70h0\"></path>\n<path d=\"M718 70h0\"></path>\n<rect x=\"638.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"678.25\" y=\"74\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M1106 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M529 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 100h0\"></path>\n<path d=\"M618.5 100h487.5\"></path>\n<rect x=\"539\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLUpTo\"><text x=\"578.75\" y=\"104\">SQLUpTo</text>\n</a>\n</g>\n<path d=\"M1106 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M529 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 130h0\"></path>\n<path d=\"M644 130h462\"></path>\n<rect x=\"539\" y=\"119\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLOrderBy\"><text x=\"591.5\" y=\"134\">SQLOrderBy</text>\n</a>\n</g>\n<path d=\"M1106 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M529 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 160h0\"></path>\n<path d=\"M635.5 160h470.5\"></path>\n<rect x=\"539\" y=\"149\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLHaving\"><text x=\"587.25\" y=\"164\">SQLHaving</text>\n</a>\n</g>\n<path d=\"M1106 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M529 40v140a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 190h0\"></path>\n<path d=\"M635.5 190h470.5\"></path>\n<rect x=\"539\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"587.25\" y=\"194\">SQLClient</text>\n</a>\n</g>\n<path d=\"M1106 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M529 40v170a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M539 220h0\"></path>\n<path d=\"M712 220h394\"></path>\n<rect x=\"539\" y=\"209\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"625.5\" y=\"224\">\"BYPASSING BUFFER\"</text>\n</g>\n<path d=\"M1106 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M529 40v200a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 250h0\"></path>\n<path d=\"M644 250h462\"></path>\n<rect x=\"539\" y=\"239\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLGroupBy\"><text x=\"591.5\" y=\"254\">SQLGroupBy</text>\n</a>\n</g>\n<path d=\"M1106 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M529 40v230a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M539 280h0\"></path>\n<path d=\"M695 280h411\"></path>\n<rect x=\"539\" y=\"269\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLForAllEntries\"><text x=\"617\" y=\"284\">SQLForAllEntries</text>\n</a>\n</g>\n<path d=\"M1106 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M529 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M539 310h0\"></path>\n<path d=\"M1106 310h0\"></path>\n<path d=\"M539 310h20\"></path>\n<g>\n<path d=\"M559 310h0\"></path>\n<path d=\"M1086 310h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559 310h0\"></path>\n<path d=\"M681 310h0\"></path>\n<rect x=\"559\" y=\"299\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoTable\"><text x=\"620\" y=\"314\">SQLIntoTable</text>\n</a>\n</g>\n<path d=\"M681 310h10\"></path>\n<g>\n<path d=\"M691 310h0\"></path>\n<path d=\"M1086 310h0\"></path>\n<path d=\"M691 310h20\"></path>\n<g>\n<path d=\"M711 310h0\"></path>\n<path d=\"M966.5 310h99.5\"></path>\n<g class=\"terminal\">\n<path d=\"M711 310h0\"></path>\n<path d=\"M850 310h0\"></path>\n<rect x=\"711\" y=\"299\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"780.5\" y=\"314\">\"PACKAGE SIZE\"</text>\n</g>\n<path d=\"M850 310h10\"></path>\n<path d=\"M860 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M870 310h0\"></path>\n<path d=\"M966.5 310h0\"></path>\n<rect x=\"870\" y=\"299\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"918.25\" y=\"314\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1066 310h20\"></path>\n<path d=\"M691 310a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 340h0\"></path>\n<path d=\"M1066 340h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M711 340h0\"></path>\n<path d=\"M790.5 340h0\"></path>\n<rect x=\"711\" y=\"329\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"750.75\" y=\"344\">SQLFrom</text>\n</a>\n</g>\n<path d=\"M790.5 340h10\"></path>\n<path d=\"M800.5 340h10\"></path>\n<g>\n<path d=\"M810.5 340h0\"></path>\n<path d=\"M1066 340h0\"></path>\n<g class=\"terminal\">\n<path d=\"M810.5 340h0\"></path>\n<path d=\"M949.5 340h0\"></path>\n<rect x=\"810.5\" y=\"329\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"880\" y=\"344\">\"PACKAGE SIZE\"</text>\n</g>\n<path d=\"M949.5 340h10\"></path>\n<path d=\"M959.5 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969.5 340h0\"></path>\n<path d=\"M1066 340h0\"></path>\n<rect x=\"969.5\" y=\"329\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"1017.75\" y=\"344\">SQLSource</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1066 340a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M691 310a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 370h0\"></path>\n<path d=\"M1066 370h0\"></path>\n<g>\n<path d=\"M711 370h0\"></path>\n<path d=\"M966.5 370h0\"></path>\n<g class=\"terminal\">\n<path d=\"M711 370h0\"></path>\n<path d=\"M850 370h0\"></path>\n<rect x=\"711\" y=\"359\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"780.5\" y=\"374\">\"PACKAGE SIZE\"</text>\n</g>\n<path d=\"M850 370h10\"></path>\n<path d=\"M860 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M870 370h0\"></path>\n<path d=\"M966.5 370h0\"></path>\n<rect x=\"870\" y=\"359\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"918.25\" y=\"374\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M966.5 370h10\"></path>\n<path d=\"M976.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986.5 370h0\"></path>\n<path d=\"M1066 370h0\"></path>\n<rect x=\"986.5\" y=\"359\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"1026.25\" y=\"374\">SQLFrom</text>\n</a>\n</g>\n</g>\n<path d=\"M1066 370a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1086 310h20\"></path>\n<path d=\"M539 310a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M559 400h0\"></path>\n<path d=\"M755 400h331\"></path>\n<path d=\"M559 400h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M579 400h0\"></path>\n<path d=\"M735 400h0\"></path>\n<rect x=\"579\" y=\"389\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoStructure\"><text x=\"657\" y=\"404\">SQLIntoStructure</text>\n</a>\n</g>\n<path d=\"M735 400h20\"></path>\n<path d=\"M559 400a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M579 430h0\"></path>\n<path d=\"M692.5 430h42.5\"></path>\n<rect x=\"579\" y=\"419\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoList\"><text x=\"635.75\" y=\"434\">SQLIntoList</text>\n</a>\n</g>\n<path d=\"M735 430a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1086 400a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M539 310a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M559 460h0\"></path>\n<path d=\"M956.5 460h129.5\"></path>\n<g>\n<path d=\"M559 460h0\"></path>\n<path d=\"M814.5 460h0\"></path>\n<g class=\"terminal\">\n<path d=\"M559 460h0\"></path>\n<path d=\"M698 460h0\"></path>\n<rect x=\"559\" y=\"449\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"628.5\" y=\"464\">\"PACKAGE SIZE\"</text>\n</g>\n<path d=\"M698 460h10\"></path>\n<path d=\"M708 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M718 460h0\"></path>\n<path d=\"M814.5 460h0\"></path>\n<rect x=\"718\" y=\"449\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"766.25\" y=\"464\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M814.5 460h10\"></path>\n<path d=\"M824.5 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M834.5 460h0\"></path>\n<path d=\"M956.5 460h0\"></path>\n<rect x=\"834.5\" y=\"449\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoTable\"><text x=\"895.5\" y=\"464\">SQLIntoTable</text>\n</a>\n</g>\n</g>\n<path d=\"M1086 460a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1106 310a10 10 0 0 0 10 -10v-260\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 529 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"514\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1116 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1123 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1136 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v447a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 507h0\"></path>\n<path d=\"M1121.5 507h14.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 507h0\"></path>\n<path d=\"M247.5 507h0\"></path>\n<rect x=\"168\" y=\"496\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFrom\"><text x=\"207.75\" y=\"511\">SQLFrom</text>\n</a>\n</g>\n<path d=\"M247.5 507h10\"></path>\n<path d=\"M257.5 507h10\"></path>\n<g>\n<path d=\"M267.5 507h0\"></path>\n<path d=\"M422 507h0\"></path>\n<g>\n<path d=\"M267.5 507h0\"></path>\n<path d=\"M305.5 507h0\"></path>\n<text x=\"286.5\" y=\"512\" class=\"comment\">v750</text>\n</g>\n<path d=\"M305.5 507h10\"></path>\n<path d=\"M315.5 507h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M325.5 507h0\"></path>\n<path d=\"M422 507h0\"></path>\n<rect x=\"325.5\" y=\"496\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFields\"><text x=\"373.75\" y=\"511\">SQLFields</text>\n</a>\n</g>\n</g>\n<path d=\"M422 507h10\"></path>\n<g>\n<path d=\"M432 507h0\"></path>\n<path d=\"M1121.5 507h0\"></path>\n<path d=\"M432 507a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M452 479h649.5\"></path>\n</g>\n<path d=\"M1101.5 479a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M432 507h20\"></path>\n<g>\n<path d=\"M452 507h0\"></path>\n<path d=\"M1101.5 507h0\"></path>\n<g>\n<path d=\"M452 507h0\"></path>\n<path d=\"M631 507h0\"></path>\n<g class=\"terminal\">\n<path d=\"M452 507h0\"></path>\n<path d=\"M531.5 507h0\"></path>\n<rect x=\"452\" y=\"496\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"491.75\" y=\"511\">\"WHERE\"</text>\n</g>\n<path d=\"M531.5 507h10\"></path>\n<path d=\"M541.5 507h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M551.5 507h0\"></path>\n<path d=\"M631 507h0\"></path>\n<rect x=\"551.5\" y=\"496\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"591.25\" y=\"511\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M631 507h10\"></path>\n<g>\n<path d=\"M641 507h0\"></path>\n<path d=\"M786 507h0\"></path>\n<path d=\"M641 507a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M661 487h105\"></path>\n</g>\n<path d=\"M766 487a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M641 507h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M661 507h0\"></path>\n<path d=\"M766 507h0\"></path>\n<rect x=\"661\" y=\"496\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLOrderBy\"><text x=\"713.5\" y=\"511\">SQLOrderBy</text>\n</a>\n</g>\n<path d=\"M766 507h20\"></path>\n</g>\n<g>\n<path d=\"M786 507h0\"></path>\n<path d=\"M982 507h0\"></path>\n<path d=\"M786 507h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M806 507h0\"></path>\n<path d=\"M962 507h0\"></path>\n<rect x=\"806\" y=\"496\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoStructure\"><text x=\"884\" y=\"511\">SQLIntoStructure</text>\n</a>\n</g>\n<path d=\"M962 507h20\"></path>\n<path d=\"M786 507a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M806 537h0\"></path>\n<path d=\"M919.5 537h42.5\"></path>\n<rect x=\"806\" y=\"526\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoList\"><text x=\"862.75\" y=\"541\">SQLIntoList</text>\n</a>\n</g>\n<path d=\"M962 537a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M982 507h0\"></path>\n<path d=\"M1101.5 507h0\"></path>\n<path d=\"M982 507a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1002 487h79.5\"></path>\n</g>\n<path d=\"M1081.5 487a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M982 507h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1002 507h0\"></path>\n<path d=\"M1081.5 507h0\"></path>\n<rect x=\"1002\" y=\"496\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLUpTo\"><text x=\"1041.75\" y=\"511\">SQLUpTo</text>\n</a>\n</g>\n<path d=\"M1081.5 507h20\"></path>\n</g>\n</g>\n<path d=\"M1101.5 507h20\"></path>\n</g>\n</g>\n<path d=\"M1136 507a10 10 0 0 0 10 -10v-447a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1156 40h0\"></path>\n<path d=\"M1284 40h0\"></path>\n<path d=\"M1156 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1176 20h88\"></path>\n</g>\n<path d=\"M1264 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1156 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1176 40h0\"></path>\n<path d=\"M1264 40h0\"></path>\n<rect x=\"1176\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLHints\"><text x=\"1220\" y=\"44\">SQLHints</text>\n</a>\n</g>\n<path d=\"M1264 40h20\"></path>\n</g>\n</g>\n<path d=\"M1284 40h10\"></path>\n<path d=\"M 1294 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/SelectLoop",
+        "statement/With",
+        "statement/WithLoop"
+      ],
+      "filename": "select_loop.ts"
+    },
+    {
+      "name": "SimpleFieldChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"734\" height=\"101\" viewBox=\"0 0 734 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M684 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M166.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"118.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M166.5 40h10\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<rect x=\"186.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"44\">!\"=>\"</text>\n</g>\n<path d=\"M249 40h10\"></path>\n<path d=\"M259 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"334.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M399.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M132.5 70h267\"></path>\n<rect x=\"70\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"101.25\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M684 40h0\"></path>\n<path d=\"M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M439.5 20h224.5\"></path>\n</g>\n<path d=\"M664 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M419.5 40h20\"></path>\n<g>\n<path d=\"M439.5 40h0\"></path>\n<path d=\"M664 40h0\"></path>\n<path d=\"M439.5 40h10\"></path>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M654 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M503.5 40h0\"></path>\n<rect x=\"449.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"476.5\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M503.5 40h10\"></path>\n<path d=\"M513.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M523.5 40h0\"></path>\n<path d=\"M654 40h0\"></path>\n<rect x=\"523.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"588.75\" y=\"44\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M654 40h10\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 60h204.5\"></path>\n</g>\n<path d=\"M654 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M664 40h20\"></path>\n</g>\n</g>\n<path d=\"M684 40h10\"></path>\n<path d=\"M 694 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ConstantFieldLength",
+        "expression/FormParam",
+        "expression/Length",
+        "expression/ParameterException",
+        "expression/SQLField",
+        "expression/SQLFieldListLoop",
+        "expression/Value",
+        "statement/MethodImplementation"
+      ],
+      "filename": "simple_field_chain.ts"
+    },
+    {
+      "name": "SimpleFieldChain2",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.NonTerminal('SourceField', {href: '#/expression/SourceField'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'})),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/SourceField",
+        "expression/SourceFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"782.5\" height=\"131\" viewBox=\"0 0 782.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M732.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M166.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"118.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M166.5 40h10\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M249 40h0\"></path>\n<rect x=\"186.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"44\">!\"=>\"</text>\n</g>\n<path d=\"M249 40h10\"></path>\n<path d=\"M259 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"334.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M399.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h216\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceField\"><text x=\"126.75\" y=\"74\">SourceField</text>\n</a>\n</g>\n<path d=\"M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M234.5 100h165\"></path>\n<rect x=\"70\" y=\"89\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"152.25\" y=\"104\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M439.5 20h273\"></path>\n</g>\n<path d=\"M712.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M419.5 40h20\"></path>\n<g>\n<path d=\"M439.5 40h0\"></path>\n<path d=\"M712.5 40h0\"></path>\n<path d=\"M439.5 40h10\"></path>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M702.5 40h0\"></path>\n<path d=\"M449.5 40h20\"></path>\n<g>\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M682.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M532 40h0\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"500.75\" y=\"44\">!\"->\"</text>\n</g>\n<path d=\"M532 40h10\"></path>\n<path d=\"M542 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 40h0\"></path>\n<path d=\"M682.5 40h0\"></path>\n<rect x=\"552\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"617.25\" y=\"44\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M682.5 40h20\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M674 70h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M523.5 70h0\"></path>\n<rect x=\"469.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"496.5\" y=\"74\">!\"-\"</text>\n</g>\n<path d=\"M523.5 70h10\"></path>\n<path d=\"M533.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M543.5 70h0\"></path>\n<path d=\"M674 70h0\"></path>\n<rect x=\"543.5\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"608.75\" y=\"74\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M682.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M702.5 40h10\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 89h253\"></path>\n</g>\n<path d=\"M702.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M712.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M732.5 40h10\"></path>\n<path d=\"M 742.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/WriteOffsetLength",
+        "statement/Ranges"
+      ],
+      "filename": "simple_field_chain2.ts"
+    },
+    {
+      "name": "SimpleName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^[\\\\w$%]+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">^&#91;\\w$%&#93;+$</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FilterBody",
+        "expression/TableExpression",
+        "statement/Aliases",
+        "statement/DeleteCluster",
+        "statement/DeleteInternal",
+        "statement/ExecSQL",
+        "statement/GetPermissions",
+        "statement/Loop",
+        "statement/ModifyEntities",
+        "statement/ModifyInternal",
+        "statement/Ranges",
+        "statement/ReadEntities",
+        "statement/SetLocks"
+      ],
+      "filename": "simple_name.ts"
+    },
+    {
+      "name": "SimpleSource1",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}),Railroad.NonTerminal('MethodCallChain', {href: '#/expression/MethodCallChain'}),Railroad.Sequence(Railroad.NonTerminal('StringTemplate', {href: '#/expression/StringTemplate'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('StringTemplate', {href: '#/expression/StringTemplate'})))),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/MethodCallChain",
+        "expression/StringTemplate",
+        "expression/TextElement"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"542\" height=\"200\" viewBox=\"0 0 542 200\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M502 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h334\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"104\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M482 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M173.5 61h308.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"116.75\" y=\"65\">TextElement</text>\n</a>\n</g>\n<path d=\"M482 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M207.5 91h274.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallChain\"><text x=\"133.75\" y=\"95\">MethodCallChain</text>\n</a>\n</g>\n<path d=\"M482 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 130h0\"></path>\n<path d=\"M482 130h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 130h0\"></path>\n<path d=\"M199 130h0\"></path>\n<rect x=\"60\" y=\"119\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplate\"><text x=\"129.5\" y=\"134\">StringTemplate</text>\n</a>\n</g>\n<path d=\"M199 130h10\"></path>\n<g>\n<path d=\"M209 130h0\"></path>\n<path d=\"M482 130h0\"></path>\n<path d=\"M209 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M229 110h233\"></path>\n</g>\n<path d=\"M462 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M209 130h20\"></path>\n<g>\n<path d=\"M229 130h0\"></path>\n<path d=\"M462 130h0\"></path>\n<path d=\"M229 130h10\"></path>\n<g>\n<path d=\"M239 130h0\"></path>\n<path d=\"M452 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M239 130h0\"></path>\n<path d=\"M293 130h0\"></path>\n<rect x=\"239\" y=\"119\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266\" y=\"134\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M293 130h10\"></path>\n<path d=\"M303 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M313 130h0\"></path>\n<path d=\"M452 130h0\"></path>\n<rect x=\"313\" y=\"119\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplate\"><text x=\"382.5\" y=\"134\">StringTemplate</text>\n</a>\n</g>\n</g>\n<path d=\"M452 130h10\"></path>\n<path d=\"M239 130a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M239 150h213\"></path>\n</g>\n<path d=\"M452 150a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M462 130h20\"></path>\n</g>\n</g>\n<path d=\"M482 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 169h0\"></path>\n<path d=\"M165 169h317\"></path>\n<rect x=\"60\" y=\"158\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"112.5\" y=\"173\">FieldChain</text>\n</a>\n</g>\n<path d=\"M482 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 502 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/RaiseWith",
+        "statement/InsertFieldGroup",
+        "statement/Parameter",
+        "statement/SelectOption"
+      ],
+      "filename": "simple_source1.ts"
+    },
+    {
+      "name": "SimpleSource2",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}),Railroad.Sequence(Railroad.NonTerminal('StringTemplate', {href: '#/expression/StringTemplate'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('StringTemplate', {href: '#/expression/StringTemplate'})))),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/StringTemplate",
+        "expression/TextElement"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"542\" height=\"170\" viewBox=\"0 0 542 170\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M502 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h334\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"104\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M482 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M173.5 61h308.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"116.75\" y=\"65\">TextElement</text>\n</a>\n</g>\n<path d=\"M482 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M482 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 100h0\"></path>\n<path d=\"M199 100h0\"></path>\n<rect x=\"60\" y=\"89\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplate\"><text x=\"129.5\" y=\"104\">StringTemplate</text>\n</a>\n</g>\n<path d=\"M199 100h10\"></path>\n<g>\n<path d=\"M209 100h0\"></path>\n<path d=\"M482 100h0\"></path>\n<path d=\"M209 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M229 80h233\"></path>\n</g>\n<path d=\"M462 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M209 100h20\"></path>\n<g>\n<path d=\"M229 100h0\"></path>\n<path d=\"M462 100h0\"></path>\n<path d=\"M229 100h10\"></path>\n<g>\n<path d=\"M239 100h0\"></path>\n<path d=\"M452 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M239 100h0\"></path>\n<path d=\"M293 100h0\"></path>\n<rect x=\"239\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266\" y=\"104\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M293 100h10\"></path>\n<path d=\"M303 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M313 100h0\"></path>\n<path d=\"M452 100h0\"></path>\n<rect x=\"313\" y=\"89\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplate\"><text x=\"382.5\" y=\"104\">StringTemplate</text>\n</a>\n</g>\n</g>\n<path d=\"M452 100h10\"></path>\n<path d=\"M239 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M239 120h213\"></path>\n</g>\n<path d=\"M452 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M462 100h20\"></path>\n</g>\n</g>\n<path d=\"M482 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v88a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 139h0\"></path>\n<path d=\"M165 139h317\"></path>\n<rect x=\"60\" y=\"128\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"112.5\" y=\"143\">FieldChain</text>\n</a>\n</g>\n<path d=\"M482 139a10 10 0 0 0 10 -10v-88a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 502 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/CallFunction",
+        "statement/Loop",
+        "statement/Raise",
+        "statement/ReadTable"
+      ],
+      "filename": "simple_source2.ts"
+    },
+    {
+      "name": "SimpleSource3",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/TextElement"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"233.5\" height=\"122\" viewBox=\"0 0 233.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h25.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"104\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M173.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M173.5 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"116.75\" y=\"65\">TextElement</text>\n</a>\n</g>\n<path d=\"M173.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M165 91h8.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"112.5\" y=\"95\">FieldChain</text>\n</a>\n</g>\n<path d=\"M173.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 193.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AssignSource",
+        "expression/CallTransformationParameters",
+        "expression/FunctionExportingParameter",
+        "expression/SQLCompare",
+        "expression/SQLFunctionInput",
+        "expression/SQLSource",
+        "expression/SQLSourceNoSpace",
+        "expression/SQLSourceSimple",
+        "statement/CallTransformation",
+        "statement/Concatenate",
+        "statement/EditorCall",
+        "statement/Message",
+        "statement/Provide"
+      ],
+      "filename": "simple_source3.ts"
+    },
+    {
+      "name": "SimpleSource4",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.NonTerminal('MethodCallChain', {href: '#/expression/MethodCallChain'}))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/MethodCallChain",
+        "expression/TextElement"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"267.5\" height=\"152\" viewBox=\"0 0 267.5 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M227.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h59.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"104\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M207.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M173.5 61h34\"></path>\n<rect x=\"60\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"116.75\" y=\"65\">TextElement</text>\n</a>\n</g>\n<path d=\"M207.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M165 91h42.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"112.5\" y=\"95\">FieldChain</text>\n</a>\n</g>\n<path d=\"M207.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M207.5 121h0\"></path>\n<rect x=\"60\" y=\"110\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallChain\"><text x=\"133.75\" y=\"125\">MethodCallChain</text>\n</a>\n</g>\n<path d=\"M207.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 227.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Append",
+        "statement/InsertInternal"
+      ],
+      "filename": "simple_source4.ts"
+    },
+    {
+      "name": "SimpleTarget",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Cast', {href: '#/expression/Cast'}),Railroad.NonTerminal('NewObject', {href: '#/expression/NewObject'})),Railroad.NonTerminal('Arrow', {href: '#/expression/Arrow'}),Railroad.NonTerminal('FieldAll', {href: '#/expression/FieldAll'})),Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'})),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('Dereference', {href: '#/expression/Dereference'}),Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})),Railroad.NonTerminal('TableExpression', {href: '#/expression/TableExpression'}))),Railroad.Choice(0, Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'}),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})))))).toString();",
+      "using": [
+        "expression/Arrow",
+        "expression/AttributeName",
+        "expression/Cast",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/Dereference",
+        "expression/FieldAll",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/NewObject",
+        "expression/TableBody",
+        "expression/TableExpression",
+        "expression/TargetField",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1129.5\" height=\"191\" viewBox=\"0 0 1129.5 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1079.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M387 40h12.5\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M144 40h42.5\"></path>\n<rect x=\"90\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cast\"><text x=\"117\" y=\"44\">Cast</text>\n</a>\n</g>\n<path d=\"M186.5 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M186.5 70h0\"></path>\n<rect x=\"90\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NewObject\"><text x=\"138.25\" y=\"74\">NewObject</text>\n</a>\n</g>\n<path d=\"M186.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M206.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M279 40h0\"></path>\n<rect x=\"216.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Arrow\"><text x=\"247.75\" y=\"44\">Arrow</text>\n</a>\n</g>\n<path d=\"M279 40h10\"></path>\n<path d=\"M289 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M299 40h0\"></path>\n<path d=\"M387 40h0\"></path>\n<rect x=\"299\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldAll\"><text x=\"343\" y=\"44\">FieldAll</text>\n</a>\n</g>\n</g>\n<path d=\"M399.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 100h0\"></path>\n<path d=\"M399.5 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M166.5 100h0\"></path>\n<rect x=\"70\" y=\"89\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"118.25\" y=\"104\">ClassName</text>\n</a>\n</g>\n<path d=\"M166.5 100h10\"></path>\n<path d=\"M176.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 100h0\"></path>\n<path d=\"M249 100h0\"></path>\n<rect x=\"186.5\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"104\">!\"=>\"</text>\n</g>\n<path d=\"M249 100h10\"></path>\n<path d=\"M259 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 100h0\"></path>\n<path d=\"M399.5 100h0\"></path>\n<rect x=\"269\" y=\"89\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"334.25\" y=\"104\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 130h0\"></path>\n<path d=\"M183.5 130h216\"></path>\n<rect x=\"70\" y=\"119\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"126.75\" y=\"134\">TargetField</text>\n</a>\n</g>\n<path d=\"M399.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 160h0\"></path>\n<path d=\"M234.5 160h165\"></path>\n<rect x=\"70\" y=\"149\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"152.25\" y=\"164\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M399.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M439.5 20h273\"></path>\n</g>\n<path d=\"M712.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M419.5 40h20\"></path>\n<g>\n<path d=\"M439.5 40h0\"></path>\n<path d=\"M712.5 40h0\"></path>\n<path d=\"M439.5 40h10\"></path>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M702.5 40h0\"></path>\n<path d=\"M449.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M583 40h99.5\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dereference\"><text x=\"526.25\" y=\"44\">Dereference</text>\n</a>\n</g>\n<path d=\"M682.5 40h20\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M682.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 70h0\"></path>\n<path d=\"M532 70h0\"></path>\n<rect x=\"469.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"500.75\" y=\"74\">!\"->\"</text>\n</g>\n<path d=\"M532 70h10\"></path>\n<path d=\"M542 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 70h0\"></path>\n<path d=\"M682.5 70h0\"></path>\n<rect x=\"552\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"617.25\" y=\"74\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M682.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M469.5 100h0\"></path>\n<path d=\"M674 100h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 100h0\"></path>\n<path d=\"M523.5 100h0\"></path>\n<rect x=\"469.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"496.5\" y=\"104\">!\"-\"</text>\n</g>\n<path d=\"M523.5 100h10\"></path>\n<path d=\"M533.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M543.5 100h0\"></path>\n<path d=\"M674 100h0\"></path>\n<rect x=\"543.5\" y=\"89\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"608.75\" y=\"104\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M682.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M449.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M469.5 130h0\"></path>\n<path d=\"M617 130h65.5\"></path>\n<rect x=\"469.5\" y=\"119\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableExpression\"><text x=\"543.25\" y=\"134\">TableExpression</text>\n</a>\n</g>\n<path d=\"M682.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M702.5 40h10\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 149h253\"></path>\n</g>\n<path d=\"M702.5 149a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M712.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M1079.5 40h0\"></path>\n<path d=\"M732.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M752.5 40h0\"></path>\n<path d=\"M849 40h210.5\"></path>\n<rect x=\"752.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"800.75\" y=\"44\">TableBody</text>\n</a>\n</g>\n<path d=\"M1059.5 40h20\"></path>\n<path d=\"M732.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M752.5 79h0\"></path>\n<path d=\"M1059.5 79h0\"></path>\n<g>\n<path d=\"M752.5 79h0\"></path>\n<path d=\"M906 79h0\"></path>\n<path d=\"M752.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M772.5 59h113.5\"></path>\n</g>\n<path d=\"M886 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M752.5 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M772.5 79h0\"></path>\n<path d=\"M886 79h0\"></path>\n<rect x=\"772.5\" y=\"68\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"829.25\" y=\"83\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M886 79h20\"></path>\n</g>\n<g>\n<path d=\"M906 79h0\"></path>\n<path d=\"M1059.5 79h0\"></path>\n<path d=\"M906 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M926 59h113.5\"></path>\n</g>\n<path d=\"M1039.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M906 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M926 79h0\"></path>\n<path d=\"M1039.5 79h0\"></path>\n<rect x=\"926\" y=\"68\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"982.75\" y=\"83\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1039.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M1059.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1079.5 40h10\"></path>\n<path d=\"M 1089.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ReduceNext",
+        "statement/MoveCorresponding",
+        "statement/ReadTextpool"
+      ],
+      "filename": "simple_target.ts"
+    },
+    {
+      "name": "Source",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('!\" - \"'),Railroad.Terminal('!\" + \"'))),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Sequence(Railroad.Terminal('\"FILTER\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('FilterBody', {href: '#/expression/FilterBody'}),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"REF\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"OPTIONAL\"')),Railroad.Terminal('!\" ) \"'))),Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"CORRESPONDING\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('CorrespondingBody', {href: '#/expression/CorrespondingBody'}),Railroad.Terminal('!\" ) \"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"CONV\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\"( \"')),Railroad.NonTerminal('ConvBody', {href: '#/expression/ConvBody'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\" ) \"')),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('ValueBody', {href: '#/expression/ValueBody'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\" ) \"')),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"COND\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('CondBody', {href: '#/expression/CondBody'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\" ) \"')),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"EXACT\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"SWITCH\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('SwitchBody', {href: '#/expression/SwitchBody'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\" ) \"')),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Sequence(Railroad.Terminal('\"REDUCE\"'),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('ReduceBody', {href: '#/expression/ReduceBody'}),Railroad.Terminal('!\" ) \"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('!\" +\"'),Railroad.Terminal('\"BIT-NOT\"'))),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('StringTemplate', {href: '#/expression/StringTemplate'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v702\", {}), Railroad.Terminal(\"^BOOLC$\")),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Terminal(\"^XSDBOOL$\"))),Railroad.Terminal('!\"( \"'),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.NonTerminal('MethodCallChain', {href: '#/expression/MethodCallChain'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('Arrow', {href: '#/expression/Arrow'}),Railroad.NonTerminal('AttributeChain', {href: '#/expression/AttributeChain'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentChain', {href: '#/expression/ComponentChain'})))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v756\", {}), Railroad.NonTerminal('Dereference', {href: '#/expression/Dereference'})))),Railroad.Sequence(Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v756\", {}), Railroad.NonTerminal('Dereference', {href: '#/expression/Dereference'})))),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('!\" ) \"'))),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"&\"'),Railroad.Terminal('\"&&\"'),Railroad.NonTerminal('ArithOperator', {href: '#/expression/ArithOperator'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/ArithOperator",
+        "expression/Arrow",
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/Cond",
+        "expression/CondBody",
+        "expression/Constant",
+        "expression/ConvBody",
+        "expression/CorrespondingBody",
+        "expression/Dereference",
+        "expression/FieldChain",
+        "expression/FilterBody",
+        "expression/MethodCallChain",
+        "expression/ReduceBody",
+        "expression/Source",
+        "expression/StringTemplate",
+        "expression/SwitchBody",
+        "expression/TextElement",
+        "expression/TypeNameOrInfer",
+        "expression/ValueBody"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1489.5\" height=\"1100\" viewBox=\"0 0 1489.5 1100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1439.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M221 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h131\"></path>\n</g>\n<path d=\"M201 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M201 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g>\n<path d=\"M80 40h0\"></path>\n<path d=\"M191 40h0\"></path>\n<path d=\"M80 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M100 40h0\"></path>\n<path d=\"M171 40h0\"></path>\n<rect x=\"100\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"135.5\" y=\"44\">!\" - \"</text>\n</g>\n<path d=\"M171 40h20\"></path>\n<path d=\"M80 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M100 70h0\"></path>\n<path d=\"M171 70h0\"></path>\n<rect x=\"100\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"135.5\" y=\"74\">!\" + \"</text>\n</g>\n<path d=\"M171 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M191 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 89h111\"></path>\n</g>\n<path d=\"M191 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M201 40h20\"></path>\n</g>\n<g>\n<path d=\"M221 40h0\"></path>\n<path d=\"M1439.5 40h0\"></path>\n<path d=\"M221 40h20\"></path>\n<g>\n<path d=\"M241 40h0\"></path>\n<path d=\"M881 40h538.5\"></path>\n<g>\n<path d=\"M241 40h0\"></path>\n<path d=\"M307 40h0\"></path>\n<text x=\"274\" y=\"45\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M307 40h10\"></path>\n<path d=\"M317 40h10\"></path>\n<g>\n<path d=\"M327 40h0\"></path>\n<path d=\"M881 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 40h0\"></path>\n<path d=\"M415 40h0\"></path>\n<rect x=\"327\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"371\" y=\"44\">\"FILTER\"</text>\n</g>\n<path d=\"M415 40h10\"></path>\n<path d=\"M425 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M435 40h0\"></path>\n<path d=\"M582.5 40h0\"></path>\n<rect x=\"435\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"508.75\" y=\"44\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M582.5 40h10\"></path>\n<path d=\"M592.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M602.5 40h0\"></path>\n<path d=\"M665 40h0\"></path>\n<rect x=\"602.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633.75\" y=\"44\">!\"( \"</text>\n</g>\n<path d=\"M665 40h10\"></path>\n<path d=\"M675 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M685 40h0\"></path>\n<path d=\"M790 40h0\"></path>\n<rect x=\"685\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FilterBody\"><text x=\"737.5\" y=\"44\">FilterBody</text>\n</a>\n</g>\n<path d=\"M790 40h10\"></path>\n<path d=\"M800 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M810 40h0\"></path>\n<path d=\"M881 40h0\"></path>\n<rect x=\"810\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"845.5\" y=\"44\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 40h20\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 79h0\"></path>\n<path d=\"M966.5 79h453\"></path>\n<g>\n<path d=\"M241 79h0\"></path>\n<path d=\"M307 79h0\"></path>\n<text x=\"274\" y=\"84\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 79h10\"></path>\n<path d=\"M317 79h10\"></path>\n<g>\n<path d=\"M327 79h0\"></path>\n<path d=\"M966.5 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 79h0\"></path>\n<path d=\"M389.5 79h0\"></path>\n<rect x=\"327\" y=\"68\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"358.25\" y=\"83\">\"REF\"</text>\n</g>\n<path d=\"M389.5 79h10\"></path>\n<path d=\"M399.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409.5 79h0\"></path>\n<path d=\"M557 79h0\"></path>\n<rect x=\"409.5\" y=\"68\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"483.25\" y=\"83\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M557 79h10\"></path>\n<path d=\"M567 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M577 79h0\"></path>\n<path d=\"M639.5 79h0\"></path>\n<rect x=\"577\" y=\"68\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"608.25\" y=\"83\">!\"( \"</text>\n</g>\n<path d=\"M639.5 79h10\"></path>\n<path d=\"M649.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M659.5 79h0\"></path>\n<path d=\"M730.5 79h0\"></path>\n<rect x=\"659.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"695\" y=\"83\">Source</text>\n</a>\n</g>\n<path d=\"M730.5 79h10\"></path>\n<g>\n<path d=\"M740.5 79h0\"></path>\n<path d=\"M885.5 79h0\"></path>\n<path d=\"M740.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M760.5 59h105\"></path>\n</g>\n<path d=\"M865.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M740.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M760.5 79h0\"></path>\n<path d=\"M865.5 79h0\"></path>\n<rect x=\"760.5\" y=\"68\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"813\" y=\"83\">\"OPTIONAL\"</text>\n</g>\n<path d=\"M865.5 79h20\"></path>\n</g>\n<path d=\"M885.5 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M895.5 79h0\"></path>\n<path d=\"M966.5 79h0\"></path>\n<rect x=\"895.5\" y=\"68\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"931\" y=\"83\">!\" ) \"</text>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v58a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 118h0\"></path>\n<path d=\"M1301.5 118h118\"></path>\n<g>\n<path d=\"M241 118h0\"></path>\n<path d=\"M307 118h0\"></path>\n<text x=\"274\" y=\"123\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M307 118h10\"></path>\n<path d=\"M317 118h10\"></path>\n<g>\n<path d=\"M327 118h0\"></path>\n<path d=\"M1301.5 118h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 118h0\"></path>\n<path d=\"M474.5 118h0\"></path>\n<rect x=\"327\" y=\"107\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"400.75\" y=\"122\">\"CORRESPONDING\"</text>\n</g>\n<path d=\"M474.5 118h10\"></path>\n<path d=\"M484.5 118h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M494.5 118h0\"></path>\n<path d=\"M642 118h0\"></path>\n<rect x=\"494.5\" y=\"107\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"568.25\" y=\"122\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M642 118h10\"></path>\n<path d=\"M652 118h10\"></path>\n<g class=\"terminal\">\n<path d=\"M662 118h0\"></path>\n<path d=\"M724.5 118h0\"></path>\n<rect x=\"662\" y=\"107\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"693.25\" y=\"122\">!\"( \"</text>\n</g>\n<path d=\"M724.5 118h10\"></path>\n<path d=\"M734.5 118h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M744.5 118h0\"></path>\n<path d=\"M909 118h0\"></path>\n<rect x=\"744.5\" y=\"107\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CorrespondingBody\"><text x=\"826.75\" y=\"122\">CorrespondingBody</text>\n</a>\n</g>\n<path d=\"M909 118h10\"></path>\n<path d=\"M919 118h10\"></path>\n<g class=\"terminal\">\n<path d=\"M929 118h0\"></path>\n<path d=\"M1000 118h0\"></path>\n<rect x=\"929\" y=\"107\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"964.5\" y=\"122\">!\" ) \"</text>\n</g>\n<path d=\"M1000 118h10\"></path>\n<g>\n<path d=\"M1010 118h0\"></path>\n<path d=\"M1301.5 118h0\"></path>\n<path d=\"M1010 118a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1030 98h251.5\"></path>\n</g>\n<path d=\"M1281.5 98a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1010 118h20\"></path>\n<g>\n<path d=\"M1030 118h0\"></path>\n<path d=\"M1281.5 118h0\"></path>\n<g>\n<path d=\"M1030 118h0\"></path>\n<path d=\"M1200.5 118h0\"></path>\n<path d=\"M1030 118h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1050 118h0\"></path>\n<path d=\"M1095.5 118h85\"></path>\n<rect x=\"1050\" y=\"107\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1072.75\" y=\"122\">\"&#38;\"</text>\n</g>\n<path d=\"M1180.5 118h20\"></path>\n<path d=\"M1030 118a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1050 148h0\"></path>\n<path d=\"M1104 148h76.5\"></path>\n<rect x=\"1050\" y=\"137\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1077\" y=\"152\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1180.5 148a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1030 118a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1050 178h0\"></path>\n<path d=\"M1180.5 178h0\"></path>\n<rect x=\"1050\" y=\"167\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"1115.25\" y=\"182\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1180.5 178a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1200.5 118h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1210.5 118h0\"></path>\n<path d=\"M1281.5 118h0\"></path>\n<rect x=\"1210.5\" y=\"107\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1246\" y=\"122\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1281.5 118h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 118a10 10 0 0 0 10 -10v-58a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v157a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 217h0\"></path>\n<path d=\"M1188.5 217h231\"></path>\n<g>\n<path d=\"M241 217h0\"></path>\n<path d=\"M307 217h0\"></path>\n<text x=\"274\" y=\"222\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 217h10\"></path>\n<path d=\"M317 217h10\"></path>\n<g>\n<path d=\"M327 217h0\"></path>\n<path d=\"M1188.5 217h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 217h0\"></path>\n<path d=\"M398 217h0\"></path>\n<rect x=\"327\" y=\"206\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.5\" y=\"221\">\"CONV\"</text>\n</g>\n<path d=\"M398 217h10\"></path>\n<path d=\"M408 217h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M418 217h0\"></path>\n<path d=\"M565.5 217h0\"></path>\n<rect x=\"418\" y=\"206\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"491.75\" y=\"221\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M565.5 217h10\"></path>\n<g>\n<path d=\"M575.5 217h0\"></path>\n<path d=\"M678 217h0\"></path>\n<path d=\"M575.5 217h20\"></path>\n<g class=\"terminal\">\n<path d=\"M595.5 217h0\"></path>\n<path d=\"M649.5 217h8.5\"></path>\n<rect x=\"595.5\" y=\"206\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"622.5\" y=\"221\">!\"(\"</text>\n</g>\n<path d=\"M658 217h20\"></path>\n<path d=\"M575.5 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M595.5 247h0\"></path>\n<path d=\"M658 247h0\"></path>\n<rect x=\"595.5\" y=\"236\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626.75\" y=\"251\">!\"( \"</text>\n</g>\n<path d=\"M658 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M678 217h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M688 217h0\"></path>\n<path d=\"M776 217h0\"></path>\n<rect x=\"688\" y=\"206\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConvBody\"><text x=\"732\" y=\"221\">ConvBody</text>\n</a>\n</g>\n<path d=\"M776 217h10\"></path>\n<g>\n<path d=\"M786 217h0\"></path>\n<path d=\"M897 217h0\"></path>\n<path d=\"M786 217h20\"></path>\n<g class=\"terminal\">\n<path d=\"M806 217h0\"></path>\n<path d=\"M868.5 217h8.5\"></path>\n<rect x=\"806\" y=\"206\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"837.25\" y=\"221\">!\") \"</text>\n</g>\n<path d=\"M877 217h20\"></path>\n<path d=\"M786 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M806 247h0\"></path>\n<path d=\"M877 247h0\"></path>\n<rect x=\"806\" y=\"236\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"841.5\" y=\"251\">!\" ) \"</text>\n</g>\n<path d=\"M877 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M897 217h0\"></path>\n<path d=\"M1188.5 217h0\"></path>\n<path d=\"M897 217a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M917 197h251.5\"></path>\n</g>\n<path d=\"M1168.5 197a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M897 217h20\"></path>\n<g>\n<path d=\"M917 217h0\"></path>\n<path d=\"M1168.5 217h0\"></path>\n<g>\n<path d=\"M917 217h0\"></path>\n<path d=\"M1087.5 217h0\"></path>\n<path d=\"M917 217h20\"></path>\n<g class=\"terminal\">\n<path d=\"M937 217h0\"></path>\n<path d=\"M982.5 217h85\"></path>\n<rect x=\"937\" y=\"206\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"959.75\" y=\"221\">\"&#38;\"</text>\n</g>\n<path d=\"M1067.5 217h20\"></path>\n<path d=\"M917 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M937 247h0\"></path>\n<path d=\"M991 247h76.5\"></path>\n<rect x=\"937\" y=\"236\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"964\" y=\"251\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1067.5 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M917 217a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M937 277h0\"></path>\n<path d=\"M1067.5 277h0\"></path>\n<rect x=\"937\" y=\"266\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"1002.25\" y=\"281\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1067.5 277a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1087.5 217h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1097.5 217h0\"></path>\n<path d=\"M1168.5 217h0\"></path>\n<rect x=\"1097.5\" y=\"206\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1133\" y=\"221\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1168.5 217h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 217a10 10 0 0 0 10 -10v-157a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v256a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 316h0\"></path>\n<path d=\"M1185.5 316h234\"></path>\n<g>\n<path d=\"M241 316h0\"></path>\n<path d=\"M307 316h0\"></path>\n<text x=\"274\" y=\"321\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 316h10\"></path>\n<path d=\"M317 316h10\"></path>\n<g>\n<path d=\"M327 316h0\"></path>\n<path d=\"M1185.5 316h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 316h0\"></path>\n<path d=\"M406.5 316h0\"></path>\n<rect x=\"327\" y=\"305\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"366.75\" y=\"320\">\"VALUE\"</text>\n</g>\n<path d=\"M406.5 316h10\"></path>\n<path d=\"M416.5 316h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M426.5 316h0\"></path>\n<path d=\"M574 316h0\"></path>\n<rect x=\"426.5\" y=\"305\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"500.25\" y=\"320\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M574 316h10\"></path>\n<path d=\"M584 316h10\"></path>\n<g class=\"terminal\">\n<path d=\"M594 316h0\"></path>\n<path d=\"M656.5 316h0\"></path>\n<rect x=\"594\" y=\"305\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"625.25\" y=\"320\">!\"( \"</text>\n</g>\n<path d=\"M656.5 316h10\"></path>\n<path d=\"M666.5 316h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M676.5 316h0\"></path>\n<path d=\"M773 316h0\"></path>\n<rect x=\"676.5\" y=\"305\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ValueBody\"><text x=\"724.75\" y=\"320\">ValueBody</text>\n</a>\n</g>\n<path d=\"M773 316h10\"></path>\n<g>\n<path d=\"M783 316h0\"></path>\n<path d=\"M894 316h0\"></path>\n<path d=\"M783 316h20\"></path>\n<g class=\"terminal\">\n<path d=\"M803 316h0\"></path>\n<path d=\"M865.5 316h8.5\"></path>\n<rect x=\"803\" y=\"305\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"834.25\" y=\"320\">!\") \"</text>\n</g>\n<path d=\"M874 316h20\"></path>\n<path d=\"M783 316a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M803 346h0\"></path>\n<path d=\"M874 346h0\"></path>\n<rect x=\"803\" y=\"335\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"838.5\" y=\"350\">!\" ) \"</text>\n</g>\n<path d=\"M874 346a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M894 316h0\"></path>\n<path d=\"M1185.5 316h0\"></path>\n<path d=\"M894 316a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M914 296h251.5\"></path>\n</g>\n<path d=\"M1165.5 296a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M894 316h20\"></path>\n<g>\n<path d=\"M914 316h0\"></path>\n<path d=\"M1165.5 316h0\"></path>\n<g>\n<path d=\"M914 316h0\"></path>\n<path d=\"M1084.5 316h0\"></path>\n<path d=\"M914 316h20\"></path>\n<g class=\"terminal\">\n<path d=\"M934 316h0\"></path>\n<path d=\"M979.5 316h85\"></path>\n<rect x=\"934\" y=\"305\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"956.75\" y=\"320\">\"&#38;\"</text>\n</g>\n<path d=\"M1064.5 316h20\"></path>\n<path d=\"M914 316a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M934 346h0\"></path>\n<path d=\"M988 346h76.5\"></path>\n<rect x=\"934\" y=\"335\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"961\" y=\"350\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1064.5 346a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M914 316a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M934 376h0\"></path>\n<path d=\"M1064.5 376h0\"></path>\n<rect x=\"934\" y=\"365\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"999.25\" y=\"380\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1064.5 376a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1084.5 316h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1094.5 316h0\"></path>\n<path d=\"M1165.5 316h0\"></path>\n<rect x=\"1094.5\" y=\"305\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1130\" y=\"320\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1165.5 316h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 316a10 10 0 0 0 10 -10v-256a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v355a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 415h0\"></path>\n<path d=\"M1168.5 415h251\"></path>\n<g>\n<path d=\"M241 415h0\"></path>\n<path d=\"M307 415h0\"></path>\n<text x=\"274\" y=\"420\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 415h10\"></path>\n<path d=\"M317 415h10\"></path>\n<g>\n<path d=\"M327 415h0\"></path>\n<path d=\"M1168.5 415h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 415h0\"></path>\n<path d=\"M398 415h0\"></path>\n<rect x=\"327\" y=\"404\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.5\" y=\"419\">\"COND\"</text>\n</g>\n<path d=\"M398 415h10\"></path>\n<path d=\"M408 415h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M418 415h0\"></path>\n<path d=\"M565.5 415h0\"></path>\n<rect x=\"418\" y=\"404\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"491.75\" y=\"419\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M565.5 415h10\"></path>\n<path d=\"M575.5 415h10\"></path>\n<g class=\"terminal\">\n<path d=\"M585.5 415h0\"></path>\n<path d=\"M648 415h0\"></path>\n<rect x=\"585.5\" y=\"404\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616.75\" y=\"419\">!\"( \"</text>\n</g>\n<path d=\"M648 415h10\"></path>\n<path d=\"M658 415h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M668 415h0\"></path>\n<path d=\"M756 415h0\"></path>\n<rect x=\"668\" y=\"404\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CondBody\"><text x=\"712\" y=\"419\">CondBody</text>\n</a>\n</g>\n<path d=\"M756 415h10\"></path>\n<g>\n<path d=\"M766 415h0\"></path>\n<path d=\"M877 415h0\"></path>\n<path d=\"M766 415h20\"></path>\n<g class=\"terminal\">\n<path d=\"M786 415h0\"></path>\n<path d=\"M848.5 415h8.5\"></path>\n<rect x=\"786\" y=\"404\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"817.25\" y=\"419\">!\") \"</text>\n</g>\n<path d=\"M857 415h20\"></path>\n<path d=\"M766 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M786 445h0\"></path>\n<path d=\"M857 445h0\"></path>\n<rect x=\"786\" y=\"434\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"821.5\" y=\"449\">!\" ) \"</text>\n</g>\n<path d=\"M857 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M877 415h0\"></path>\n<path d=\"M1168.5 415h0\"></path>\n<path d=\"M877 415a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M897 395h251.5\"></path>\n</g>\n<path d=\"M1148.5 395a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M877 415h20\"></path>\n<g>\n<path d=\"M897 415h0\"></path>\n<path d=\"M1148.5 415h0\"></path>\n<g>\n<path d=\"M897 415h0\"></path>\n<path d=\"M1067.5 415h0\"></path>\n<path d=\"M897 415h20\"></path>\n<g class=\"terminal\">\n<path d=\"M917 415h0\"></path>\n<path d=\"M962.5 415h85\"></path>\n<rect x=\"917\" y=\"404\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"939.75\" y=\"419\">\"&#38;\"</text>\n</g>\n<path d=\"M1047.5 415h20\"></path>\n<path d=\"M897 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M917 445h0\"></path>\n<path d=\"M971 445h76.5\"></path>\n<rect x=\"917\" y=\"434\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"944\" y=\"449\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1047.5 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M897 415a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M917 475h0\"></path>\n<path d=\"M1047.5 475h0\"></path>\n<rect x=\"917\" y=\"464\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"982.25\" y=\"479\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1047.5 475a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1067.5 415h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1077.5 415h0\"></path>\n<path d=\"M1148.5 415h0\"></path>\n<rect x=\"1077.5\" y=\"404\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1113\" y=\"419\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1148.5 415h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 415a10 10 0 0 0 10 -10v-355a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v454a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 514h0\"></path>\n<path d=\"M1140 514h279.5\"></path>\n<g>\n<path d=\"M241 514h0\"></path>\n<path d=\"M307 514h0\"></path>\n<text x=\"274\" y=\"519\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 514h10\"></path>\n<path d=\"M317 514h10\"></path>\n<g>\n<path d=\"M327 514h0\"></path>\n<path d=\"M1140 514h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 514h0\"></path>\n<path d=\"M406.5 514h0\"></path>\n<rect x=\"327\" y=\"503\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"366.75\" y=\"518\">\"EXACT\"</text>\n</g>\n<path d=\"M406.5 514h10\"></path>\n<path d=\"M416.5 514h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M426.5 514h0\"></path>\n<path d=\"M574 514h0\"></path>\n<rect x=\"426.5\" y=\"503\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"500.25\" y=\"518\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M574 514h10\"></path>\n<path d=\"M584 514h10\"></path>\n<g class=\"terminal\">\n<path d=\"M594 514h0\"></path>\n<path d=\"M656.5 514h0\"></path>\n<rect x=\"594\" y=\"503\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"625.25\" y=\"518\">!\"( \"</text>\n</g>\n<path d=\"M656.5 514h10\"></path>\n<path d=\"M666.5 514h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M676.5 514h0\"></path>\n<path d=\"M747.5 514h0\"></path>\n<rect x=\"676.5\" y=\"503\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"712\" y=\"518\">Source</text>\n</a>\n</g>\n<path d=\"M747.5 514h10\"></path>\n<path d=\"M757.5 514h10\"></path>\n<g class=\"terminal\">\n<path d=\"M767.5 514h0\"></path>\n<path d=\"M838.5 514h0\"></path>\n<rect x=\"767.5\" y=\"503\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"803\" y=\"518\">!\" ) \"</text>\n</g>\n<path d=\"M838.5 514h10\"></path>\n<g>\n<path d=\"M848.5 514h0\"></path>\n<path d=\"M1140 514h0\"></path>\n<path d=\"M848.5 514a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M868.5 494h251.5\"></path>\n</g>\n<path d=\"M1120 494a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M848.5 514h20\"></path>\n<g>\n<path d=\"M868.5 514h0\"></path>\n<path d=\"M1120 514h0\"></path>\n<g>\n<path d=\"M868.5 514h0\"></path>\n<path d=\"M1039 514h0\"></path>\n<path d=\"M868.5 514h20\"></path>\n<g class=\"terminal\">\n<path d=\"M888.5 514h0\"></path>\n<path d=\"M934 514h85\"></path>\n<rect x=\"888.5\" y=\"503\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"911.25\" y=\"518\">\"&#38;\"</text>\n</g>\n<path d=\"M1019 514h20\"></path>\n<path d=\"M868.5 514a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M888.5 544h0\"></path>\n<path d=\"M942.5 544h76.5\"></path>\n<rect x=\"888.5\" y=\"533\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"915.5\" y=\"548\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1019 544a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M868.5 514a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M888.5 574h0\"></path>\n<path d=\"M1019 574h0\"></path>\n<rect x=\"888.5\" y=\"563\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"953.75\" y=\"578\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1019 574a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1039 514h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1049 514h0\"></path>\n<path d=\"M1120 514h0\"></path>\n<rect x=\"1049\" y=\"503\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1084.5\" y=\"518\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1120 514h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 514a10 10 0 0 0 10 -10v-454a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v553a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 613h0\"></path>\n<path d=\"M1202.5 613h217\"></path>\n<g>\n<path d=\"M241 613h0\"></path>\n<path d=\"M307 613h0\"></path>\n<text x=\"274\" y=\"618\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M307 613h10\"></path>\n<path d=\"M317 613h10\"></path>\n<g>\n<path d=\"M327 613h0\"></path>\n<path d=\"M1202.5 613h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 613h0\"></path>\n<path d=\"M415 613h0\"></path>\n<rect x=\"327\" y=\"602\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"371\" y=\"617\">\"SWITCH\"</text>\n</g>\n<path d=\"M415 613h10\"></path>\n<path d=\"M425 613h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M435 613h0\"></path>\n<path d=\"M582.5 613h0\"></path>\n<rect x=\"435\" y=\"602\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"508.75\" y=\"617\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M582.5 613h10\"></path>\n<path d=\"M592.5 613h10\"></path>\n<g class=\"terminal\">\n<path d=\"M602.5 613h0\"></path>\n<path d=\"M665 613h0\"></path>\n<rect x=\"602.5\" y=\"602\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633.75\" y=\"617\">!\"( \"</text>\n</g>\n<path d=\"M665 613h10\"></path>\n<path d=\"M675 613h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M685 613h0\"></path>\n<path d=\"M790 613h0\"></path>\n<rect x=\"685\" y=\"602\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SwitchBody\"><text x=\"737.5\" y=\"617\">SwitchBody</text>\n</a>\n</g>\n<path d=\"M790 613h10\"></path>\n<g>\n<path d=\"M800 613h0\"></path>\n<path d=\"M911 613h0\"></path>\n<path d=\"M800 613h20\"></path>\n<g class=\"terminal\">\n<path d=\"M820 613h0\"></path>\n<path d=\"M882.5 613h8.5\"></path>\n<rect x=\"820\" y=\"602\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"851.25\" y=\"617\">!\") \"</text>\n</g>\n<path d=\"M891 613h20\"></path>\n<path d=\"M800 613a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M820 643h0\"></path>\n<path d=\"M891 643h0\"></path>\n<rect x=\"820\" y=\"632\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"855.5\" y=\"647\">!\" ) \"</text>\n</g>\n<path d=\"M891 643a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M911 613h0\"></path>\n<path d=\"M1202.5 613h0\"></path>\n<path d=\"M911 613a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M931 593h251.5\"></path>\n</g>\n<path d=\"M1182.5 593a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M911 613h20\"></path>\n<g>\n<path d=\"M931 613h0\"></path>\n<path d=\"M1182.5 613h0\"></path>\n<g>\n<path d=\"M931 613h0\"></path>\n<path d=\"M1101.5 613h0\"></path>\n<path d=\"M931 613h20\"></path>\n<g class=\"terminal\">\n<path d=\"M951 613h0\"></path>\n<path d=\"M996.5 613h85\"></path>\n<rect x=\"951\" y=\"602\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"973.75\" y=\"617\">\"&#38;\"</text>\n</g>\n<path d=\"M1081.5 613h20\"></path>\n<path d=\"M931 613a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M951 643h0\"></path>\n<path d=\"M1005 643h76.5\"></path>\n<rect x=\"951\" y=\"632\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"978\" y=\"647\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1081.5 643a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M931 613a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M951 673h0\"></path>\n<path d=\"M1081.5 673h0\"></path>\n<rect x=\"951\" y=\"662\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"1016.25\" y=\"677\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1081.5 673a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1101.5 613h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1111.5 613h0\"></path>\n<path d=\"M1182.5 613h0\"></path>\n<rect x=\"1111.5\" y=\"602\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1147\" y=\"617\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1182.5 613h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 613a10 10 0 0 0 10 -10v-553a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v652a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 712h0\"></path>\n<path d=\"M1182.5 712h237\"></path>\n<g>\n<path d=\"M241 712h0\"></path>\n<path d=\"M307 712h0\"></path>\n<text x=\"274\" y=\"717\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M307 712h10\"></path>\n<path d=\"M317 712h10\"></path>\n<g>\n<path d=\"M327 712h0\"></path>\n<path d=\"M1182.5 712h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 712h0\"></path>\n<path d=\"M415 712h0\"></path>\n<rect x=\"327\" y=\"701\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"371\" y=\"716\">\"REDUCE\"</text>\n</g>\n<path d=\"M415 712h10\"></path>\n<path d=\"M425 712h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M435 712h0\"></path>\n<path d=\"M582.5 712h0\"></path>\n<rect x=\"435\" y=\"701\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"508.75\" y=\"716\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M582.5 712h10\"></path>\n<path d=\"M592.5 712h10\"></path>\n<g class=\"terminal\">\n<path d=\"M602.5 712h0\"></path>\n<path d=\"M665 712h0\"></path>\n<rect x=\"602.5\" y=\"701\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633.75\" y=\"716\">!\"( \"</text>\n</g>\n<path d=\"M665 712h10\"></path>\n<path d=\"M675 712h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M685 712h0\"></path>\n<path d=\"M790 712h0\"></path>\n<rect x=\"685\" y=\"701\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReduceBody\"><text x=\"737.5\" y=\"716\">ReduceBody</text>\n</a>\n</g>\n<path d=\"M790 712h10\"></path>\n<path d=\"M800 712h10\"></path>\n<g class=\"terminal\">\n<path d=\"M810 712h0\"></path>\n<path d=\"M881 712h0\"></path>\n<rect x=\"810\" y=\"701\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"845.5\" y=\"716\">!\" ) \"</text>\n</g>\n<path d=\"M881 712h10\"></path>\n<g>\n<path d=\"M891 712h0\"></path>\n<path d=\"M1182.5 712h0\"></path>\n<path d=\"M891 712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M911 692h251.5\"></path>\n</g>\n<path d=\"M1162.5 692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M891 712h20\"></path>\n<g>\n<path d=\"M911 712h0\"></path>\n<path d=\"M1162.5 712h0\"></path>\n<g>\n<path d=\"M911 712h0\"></path>\n<path d=\"M1081.5 712h0\"></path>\n<path d=\"M911 712h20\"></path>\n<g class=\"terminal\">\n<path d=\"M931 712h0\"></path>\n<path d=\"M976.5 712h85\"></path>\n<rect x=\"931\" y=\"701\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"953.75\" y=\"716\">\"&#38;\"</text>\n</g>\n<path d=\"M1061.5 712h20\"></path>\n<path d=\"M911 712a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M931 742h0\"></path>\n<path d=\"M985 742h76.5\"></path>\n<rect x=\"931\" y=\"731\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"958\" y=\"746\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1061.5 742a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M911 712a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M931 772h0\"></path>\n<path d=\"M1061.5 772h0\"></path>\n<rect x=\"931\" y=\"761\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"996.25\" y=\"776\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1061.5 772a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1081.5 712h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1091.5 712h0\"></path>\n<path d=\"M1162.5 712h0\"></path>\n<rect x=\"1091.5\" y=\"701\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1127\" y=\"716\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1162.5 712h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1419.5 712a10 10 0 0 0 10 -10v-652a10 10 0 0 1 10 -10\"></path>\n<path d=\"M221 40a10 10 0 0 1 10 10v751a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M241 811h0\"></path>\n<path d=\"M1419.5 811h0\"></path>\n<g>\n<path d=\"M241 811h0\"></path>\n<path d=\"M417.5 811h0\"></path>\n<path d=\"M241 811a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M261 791h136.5\"></path>\n</g>\n<path d=\"M397.5 791a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M241 811h20\"></path>\n<g>\n<path d=\"M261 811h0\"></path>\n<path d=\"M397.5 811h0\"></path>\n<path d=\"M261 811h20\"></path>\n<g class=\"terminal\">\n<path d=\"M281 811h0\"></path>\n<path d=\"M343.5 811h34\"></path>\n<rect x=\"281\" y=\"800\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"312.25\" y=\"815\">!\" +\"</text>\n</g>\n<path d=\"M377.5 811h20\"></path>\n<path d=\"M261 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M281 841h0\"></path>\n<path d=\"M377.5 841h0\"></path>\n<rect x=\"281\" y=\"830\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"329.25\" y=\"845\">\"BIT-NOT\"</text>\n</g>\n<path d=\"M377.5 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M397.5 811h20\"></path>\n</g>\n<g>\n<path d=\"M417.5 811h0\"></path>\n<path d=\"M1128 811h0\"></path>\n<path d=\"M417.5 811h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437.5 811h0\"></path>\n<path d=\"M525.5 811h582.5\"></path>\n<rect x=\"437.5\" y=\"800\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"481.5\" y=\"815\">Constant</text>\n</a>\n</g>\n<path d=\"M1108 811h20\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437.5 841h0\"></path>\n<path d=\"M576.5 841h531.5\"></path>\n<rect x=\"437.5\" y=\"830\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplate\"><text x=\"507\" y=\"845\">StringTemplate</text>\n</a>\n</g>\n<path d=\"M1108 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437.5 871h0\"></path>\n<path d=\"M551 871h557\"></path>\n<rect x=\"437.5\" y=\"860\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"494.25\" y=\"875\">TextElement</text>\n</a>\n</g>\n<path d=\"M1108 871a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437.5 901h0\"></path>\n<path d=\"M872 901h236\"></path>\n<g>\n<path d=\"M437.5 901h0\"></path>\n<path d=\"M660 901h0\"></path>\n<path d=\"M437.5 901h20\"></path>\n<g>\n<path d=\"M457.5 901h0\"></path>\n<path d=\"M595 901h45\"></path>\n<g>\n<path d=\"M457.5 901h0\"></path>\n<path d=\"M495.5 901h0\"></path>\n<text x=\"476.5\" y=\"906\" class=\"comment\">v702</text>\n</g>\n<path d=\"M495.5 901h10\"></path>\n<path d=\"M505.5 901h10\"></path>\n<g class=\"terminal\">\n<path d=\"M515.5 901h0\"></path>\n<path d=\"M595 901h0\"></path>\n<rect x=\"515.5\" y=\"890\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"555.25\" y=\"905\">^BOOLC$</text>\n</g>\n</g>\n<path d=\"M640 901h20\"></path>\n<path d=\"M437.5 901a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M457.5 931h0\"></path>\n<path d=\"M640 931h0\"></path>\n<g>\n<path d=\"M457.5 931h0\"></path>\n<path d=\"M523.5 931h0\"></path>\n<text x=\"490.5\" y=\"936\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M523.5 931h10\"></path>\n<path d=\"M533.5 931h10\"></path>\n<g class=\"terminal\">\n<path d=\"M543.5 931h0\"></path>\n<path d=\"M640 931h0\"></path>\n<rect x=\"543.5\" y=\"920\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"591.75\" y=\"935\">^XSDBOOL$</text>\n</g>\n</g>\n<path d=\"M640 931a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M660 901h10\"></path>\n<g class=\"terminal\">\n<path d=\"M670 901h0\"></path>\n<path d=\"M732.5 901h0\"></path>\n<rect x=\"670\" y=\"890\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.25\" y=\"905\">!\"( \"</text>\n</g>\n<path d=\"M732.5 901h10\"></path>\n<path d=\"M742.5 901h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M752.5 901h0\"></path>\n<path d=\"M806.5 901h0\"></path>\n<rect x=\"752.5\" y=\"890\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"779.5\" y=\"905\">Cond</text>\n</a>\n</g>\n<path d=\"M806.5 901h10\"></path>\n<path d=\"M816.5 901h10\"></path>\n<g class=\"terminal\">\n<path d=\"M826.5 901h0\"></path>\n<path d=\"M872 901h0\"></path>\n<rect x=\"826.5\" y=\"890\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"849.25\" y=\"905\">\")\"</text>\n</g>\n</g>\n<path d=\"M1108 901a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437.5 970h0\"></path>\n<path d=\"M1108 970h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437.5 970h0\"></path>\n<path d=\"M585 970h0\"></path>\n<rect x=\"437.5\" y=\"959\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallChain\"><text x=\"511.25\" y=\"974\">MethodCallChain</text>\n</a>\n</g>\n<path d=\"M585 970h10\"></path>\n<g>\n<path d=\"M595 970h0\"></path>\n<path d=\"M896.5 970h0\"></path>\n<path d=\"M595 970a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M615 950h261.5\"></path>\n</g>\n<path d=\"M876.5 950a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M595 970h20\"></path>\n<g>\n<path d=\"M615 970h0\"></path>\n<path d=\"M876.5 970h0\"></path>\n<path d=\"M615 970h20\"></path>\n<g>\n<path d=\"M635 970h0\"></path>\n<path d=\"M856.5 970h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M635 970h0\"></path>\n<path d=\"M697.5 970h0\"></path>\n<rect x=\"635\" y=\"959\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Arrow\"><text x=\"666.25\" y=\"974\">Arrow</text>\n</a>\n</g>\n<path d=\"M697.5 970h10\"></path>\n<path d=\"M707.5 970h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M717.5 970h0\"></path>\n<path d=\"M856.5 970h0\"></path>\n<rect x=\"717.5\" y=\"959\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeChain\"><text x=\"787\" y=\"974\">AttributeChain</text>\n</a>\n</g>\n</g>\n<path d=\"M856.5 970h20\"></path>\n<path d=\"M615 970a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M635 1000h0\"></path>\n<path d=\"M848 1000h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M635 1000h0\"></path>\n<path d=\"M689 1000h0\"></path>\n<rect x=\"635\" y=\"989\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662\" y=\"1004\">!\"-\"</text>\n</g>\n<path d=\"M689 1000h10\"></path>\n<path d=\"M699 1000h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M709 1000h0\"></path>\n<path d=\"M848 1000h0\"></path>\n<rect x=\"709\" y=\"989\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChain\"><text x=\"778.5\" y=\"1004\">ComponentChain</text>\n</a>\n</g>\n</g>\n<path d=\"M856.5 1000a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M876.5 970h20\"></path>\n</g>\n<g>\n<path d=\"M896.5 970h0\"></path>\n<path d=\"M1108 970h0\"></path>\n<path d=\"M896.5 970a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M916.5 950h171.5\"></path>\n</g>\n<path d=\"M1088 950a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M896.5 970h20\"></path>\n<g>\n<path d=\"M916.5 970h0\"></path>\n<path d=\"M1088 970h0\"></path>\n<g>\n<path d=\"M916.5 970h0\"></path>\n<path d=\"M954.5 970h0\"></path>\n<text x=\"935.5\" y=\"975\" class=\"comment\">v756</text>\n</g>\n<path d=\"M954.5 970h10\"></path>\n<path d=\"M964.5 970h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M974.5 970h0\"></path>\n<path d=\"M1088 970h0\"></path>\n<rect x=\"974.5\" y=\"959\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dereference\"><text x=\"1031.25\" y=\"974\">Dereference</text>\n</a>\n</g>\n</g>\n<path d=\"M1088 970h20\"></path>\n</g>\n</g>\n<path d=\"M1108 970a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437.5 1039h0\"></path>\n<path d=\"M764 1039h344\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437.5 1039h0\"></path>\n<path d=\"M542.5 1039h0\"></path>\n<rect x=\"437.5\" y=\"1028\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"490\" y=\"1043\">FieldChain</text>\n</a>\n</g>\n<path d=\"M542.5 1039h10\"></path>\n<g>\n<path d=\"M552.5 1039h0\"></path>\n<path d=\"M764 1039h0\"></path>\n<path d=\"M552.5 1039a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M572.5 1019h171.5\"></path>\n</g>\n<path d=\"M744 1019a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M552.5 1039h20\"></path>\n<g>\n<path d=\"M572.5 1039h0\"></path>\n<path d=\"M744 1039h0\"></path>\n<g>\n<path d=\"M572.5 1039h0\"></path>\n<path d=\"M610.5 1039h0\"></path>\n<text x=\"591.5\" y=\"1044\" class=\"comment\">v756</text>\n</g>\n<path d=\"M610.5 1039h10\"></path>\n<path d=\"M620.5 1039h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M630.5 1039h0\"></path>\n<path d=\"M744 1039h0\"></path>\n<rect x=\"630.5\" y=\"1028\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dereference\"><text x=\"687.25\" y=\"1043\">Dereference</text>\n</a>\n</g>\n</g>\n<path d=\"M744 1039h20\"></path>\n</g>\n</g>\n<path d=\"M1108 1039a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 811a10 10 0 0 1 10 10v238a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437.5 1069h0\"></path>\n<path d=\"M690.5 1069h417.5\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 1069h0\"></path>\n<path d=\"M508.5 1069h0\"></path>\n<rect x=\"437.5\" y=\"1058\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"473\" y=\"1073\">!\" ( \"</text>\n</g>\n<path d=\"M508.5 1069h10\"></path>\n<path d=\"M518.5 1069h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M528.5 1069h0\"></path>\n<path d=\"M599.5 1069h0\"></path>\n<rect x=\"528.5\" y=\"1058\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"564\" y=\"1073\">Source</text>\n</a>\n</g>\n<path d=\"M599.5 1069h10\"></path>\n<path d=\"M609.5 1069h10\"></path>\n<g class=\"terminal\">\n<path d=\"M619.5 1069h0\"></path>\n<path d=\"M690.5 1069h0\"></path>\n<rect x=\"619.5\" y=\"1058\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"655\" y=\"1073\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M1108 1069a10 10 0 0 0 10 -10v-238a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1128 811h0\"></path>\n<path d=\"M1419.5 811h0\"></path>\n<path d=\"M1128 811a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1148 791h251.5\"></path>\n</g>\n<path d=\"M1399.5 791a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1128 811h20\"></path>\n<g>\n<path d=\"M1148 811h0\"></path>\n<path d=\"M1399.5 811h0\"></path>\n<g>\n<path d=\"M1148 811h0\"></path>\n<path d=\"M1318.5 811h0\"></path>\n<path d=\"M1148 811h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1168 811h0\"></path>\n<path d=\"M1213.5 811h85\"></path>\n<rect x=\"1168\" y=\"800\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1190.75\" y=\"815\">\"&#38;\"</text>\n</g>\n<path d=\"M1298.5 811h20\"></path>\n<path d=\"M1148 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1168 841h0\"></path>\n<path d=\"M1222 841h76.5\"></path>\n<rect x=\"1168\" y=\"830\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1195\" y=\"845\">\"&#38;&#38;\"</text>\n</g>\n<path d=\"M1298.5 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1148 811a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1168 871h0\"></path>\n<path d=\"M1298.5 871h0\"></path>\n<rect x=\"1168\" y=\"860\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArithOperator\"><text x=\"1233.25\" y=\"875\">ArithOperator</text>\n</a>\n</g>\n<path d=\"M1298.5 871a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1318.5 811h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1328.5 811h0\"></path>\n<path d=\"M1399.5 811h0\"></path>\n<rect x=\"1328.5\" y=\"800\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1364\" y=\"815\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1399.5 811h20\"></path>\n</g>\n</g>\n<path d=\"M1419.5 811a10 10 0 0 0 10 -10v-751a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1439.5 40h10\"></path>\n<path d=\"M 1449.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AssignSource",
+        "expression/CallTransformationOptions",
+        "expression/Cast",
+        "expression/Color",
+        "expression/Compare",
+        "expression/ComponentCompare",
+        "expression/ComponentCompareSimple",
+        "expression/ComponentCompareSingle",
+        "expression/CondBody",
+        "expression/ConvBody",
+        "expression/CorrespondingBody",
+        "expression/Destination",
+        "expression/FieldAssignment",
+        "expression/FilterBody",
+        "expression/For",
+        "expression/FunctionExportingParameter",
+        "expression/InlineFieldDefinition",
+        "expression/InlineLoopDefinition",
+        "expression/KernelId",
+        "expression/LoopGroupBy",
+        "expression/MessageSource",
+        "expression/MethodCallBody",
+        "expression/MethodCallParam",
+        "expression/NewObject",
+        "expression/OLEExporting",
+        "expression/Or",
+        "expression/ParameterS",
+        "expression/PerformTables",
+        "expression/PerformUsing",
+        "expression/ReduceNext",
+        "expression/SQLCompare",
+        "expression/SQLFunctionInput",
+        "expression/SQLSource",
+        "expression/SQLSourceNoSpace",
+        "expression/SQLSourceSimple",
+        "expression/Source",
+        "expression/StringTemplateFormatting",
+        "expression/StringTemplateSource",
+        "expression/SwitchBody",
+        "expression/TableExpression",
+        "expression/Throw",
+        "expression/ValueBody",
+        "expression/ValueBodyLine",
+        "expression/ValueBodyLines",
+        "statement/Add",
+        "statement/AddCorresponding",
+        "statement/Append",
+        "statement/Assert",
+        "statement/Assign",
+        "statement/AssignLocalCopy",
+        "statement/AuthorityCheck",
+        "statement/Break",
+        "statement/CallDatabase",
+        "statement/CallDialog",
+        "statement/CallFunction",
+        "statement/CallOLE",
+        "statement/CallScreen",
+        "statement/CallSelectionScreen",
+        "statement/CallTransaction",
+        "statement/Case",
+        "statement/CaseType",
+        "statement/CatchSystemExceptions",
+        "statement/Clear",
+        "statement/CloseDataset",
+        "statement/Collect",
+        "statement/Communication",
+        "statement/Compute",
+        "statement/Concatenate",
+        "statement/Controls",
+        "statement/Convert",
+        "statement/ConvertText",
+        "statement/CreateData",
+        "statement/CreateOLE",
+        "statement/CreateObject",
+        "statement/DeleteCluster",
+        "statement/DeleteDataset",
+        "statement/DeleteDynpro",
+        "statement/DeleteInternal",
+        "statement/DeleteMemory",
+        "statement/DeleteReport",
+        "statement/DeleteTextpool",
+        "statement/Describe",
+        "statement/Divide",
+        "statement/Do",
+        "statement/EditorCall",
+        "statement/Export",
+        "statement/ExportDynpro",
+        "statement/Find",
+        "statement/Format",
+        "statement/FreeMemory",
+        "statement/GenerateDynpro",
+        "statement/GenerateReport",
+        "statement/GenerateSubroutine",
+        "statement/GetBadi",
+        "statement/GetBit",
+        "statement/GetPFStatus",
+        "statement/GetParameter",
+        "statement/GetPermissions",
+        "statement/GetProperty",
+        "statement/GetReference",
+        "statement/Hide",
+        "statement/Import",
+        "statement/ImportDynpro",
+        "statement/ImportNametab",
+        "statement/InsertFieldGroup",
+        "statement/InsertInternal",
+        "statement/InsertReport",
+        "statement/InsertTextpool",
+        "statement/InterfaceDef",
+        "statement/Leave",
+        "statement/LoadReport",
+        "statement/LogPoint",
+        "statement/Loop",
+        "statement/Message",
+        "statement/ModifyEntities",
+        "statement/ModifyInternal",
+        "statement/ModifyLine",
+        "statement/ModifyScreen",
+        "statement/Move",
+        "statement/MoveCorresponding",
+        "statement/Multiply",
+        "statement/NewPage",
+        "statement/OpenDataset",
+        "statement/Overlay",
+        "statement/Pack",
+        "statement/Parameter",
+        "statement/Perform",
+        "statement/Position",
+        "statement/PrintControl",
+        "statement/Program",
+        "statement/Provide",
+        "statement/Raise",
+        "statement/RaiseEntityEvent",
+        "statement/Ranges",
+        "statement/ReadDataset",
+        "statement/ReadEntities",
+        "statement/ReadLine",
+        "statement/ReadReport",
+        "statement/ReadTable",
+        "statement/ReadTextpool",
+        "statement/RefreshControl",
+        "statement/Reject",
+        "statement/Replace",
+        "statement/Reserve",
+        "statement/Return",
+        "statement/Scan",
+        "statement/ScrollList",
+        "statement/Search",
+        "statement/SelectOption",
+        "statement/SelectionScreen",
+        "statement/SetBit",
+        "statement/SetCountry",
+        "statement/SetCursor",
+        "statement/SetDataset",
+        "statement/SetHandler",
+        "statement/SetLanguage",
+        "statement/SetLeft",
+        "statement/SetLocale",
+        "statement/SetLocks",
+        "statement/SetMargin",
+        "statement/SetPFStatus",
+        "statement/SetParameter",
+        "statement/SetProperty",
+        "statement/SetScreen",
+        "statement/SetTitlebar",
+        "statement/SetUserCommand",
+        "statement/Shift",
+        "statement/Skip",
+        "statement/Split",
+        "statement/Submit",
+        "statement/Subtract",
+        "statement/SubtractCorresponding",
+        "statement/Supply",
+        "statement/SyntaxCheck",
+        "statement/SystemCall",
+        "statement/Transfer",
+        "statement/Translate",
+        "statement/TruncateDataset",
+        "statement/Unpack",
+        "statement/Wait",
+        "statement/When",
+        "statement/While",
+        "statement/Window",
+        "statement/Write"
+      ],
+      "filename": "source.ts"
+    },
+    {
+      "name": "SourceField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('Field', {href: '#/expression/Field'})).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"81.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FieldChain",
+        "expression/MethodSource",
+        "expression/SimpleFieldChain2"
+      ],
+      "filename": "source_field.ts"
+    },
+    {
+      "name": "SourceFieldSymbol",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'})).toString();",
+      "using": [
+        "expression/FieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"213.5\" height=\"62\" viewBox=\"0 0 213.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"106.75\" y=\"35\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M 173.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FieldChain",
+        "expression/MethodSource",
+        "expression/SimpleFieldChain2",
+        "statement/At",
+        "statement/Sort",
+        "statement/SortDataset"
+      ],
+      "filename": "source_field_symbol.ts"
+    },
+    {
+      "name": "SourceFieldSymbolChain",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('ArrowOrDash', {href: '#/expression/ArrowOrDash'}),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))))).toString();",
+      "using": [
+        "expression/ArrowOrDash",
+        "expression/ComponentName",
+        "expression/FieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"547.5\" height=\"80\" viewBox=\"0 0 547.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M497.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"106.75\" y=\"44\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<g>\n<path d=\"M173.5 40h0\"></path>\n<path d=\"M497.5 40h0\"></path>\n<path d=\"M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M193.5 20h284\"></path>\n</g>\n<path d=\"M477.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M173.5 40h20\"></path>\n<g>\n<path d=\"M193.5 40h0\"></path>\n<path d=\"M477.5 40h0\"></path>\n<path d=\"M193.5 40h10\"></path>\n<g>\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M467.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M317 40h0\"></path>\n<rect x=\"203.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ArrowOrDash\"><text x=\"260.25\" y=\"44\">ArrowOrDash</text>\n</a>\n</g>\n<path d=\"M317 40h10\"></path>\n<path d=\"M327 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 40h0\"></path>\n<path d=\"M467.5 40h0\"></path>\n<rect x=\"337\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"402.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M467.5 40h10\"></path>\n<path d=\"M203.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M203.5 60h264\"></path>\n</g>\n<path d=\"M467.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M477.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M497.5 40h10\"></path>\n<path d=\"M 507.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Compare"
+      ],
+      "filename": "source_field_symbol_chain.ts"
+    },
+    {
+      "name": "StringTemplate",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v702\", {}), Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\"STRINGTEMPLATEBEGIN\"'),Railroad.NonTerminal('StringTemplateSource', {href: '#/expression/StringTemplateSource'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"STRINGTEMPLATEMIDDLE\"'),Railroad.NonTerminal('StringTemplateSource', {href: '#/expression/StringTemplateSource'}))),Railroad.Terminal('!\"STRINGTEMPLATEEND\"')),Railroad.Terminal('!\"STRINGTEMPLATE\"')))).toString();",
+      "using": [
+        "expression/StringTemplateSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1300.5\" height=\"110\" viewBox=\"0 0 1300.5 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1250.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v702</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<g>\n<path d=\"M98 40h0\"></path>\n<path d=\"M1250.5 40h0\"></path>\n<path d=\"M98 40h20\"></path>\n<g>\n<path d=\"M118 40h0\"></path>\n<path d=\"M1230.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M118 40h0\"></path>\n<path d=\"M325 40h0\"></path>\n<rect x=\"118\" y=\"29\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221.5\" y=\"44\">!\"STRINGTEMPLATEBEGIN\"</text>\n</g>\n<path d=\"M325 40h10\"></path>\n<path d=\"M335 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345 40h0\"></path>\n<path d=\"M535 40h0\"></path>\n<rect x=\"345\" y=\"29\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplateSource\"><text x=\"440\" y=\"44\">StringTemplateSource</text>\n</a>\n</g>\n<path d=\"M535 40h10\"></path>\n<g>\n<path d=\"M545 40h0\"></path>\n<path d=\"M1030.5 40h0\"></path>\n<path d=\"M545 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M565 20h445.5\"></path>\n</g>\n<path d=\"M1010.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M545 40h20\"></path>\n<g>\n<path d=\"M565 40h0\"></path>\n<path d=\"M1010.5 40h0\"></path>\n<path d=\"M565 40h10\"></path>\n<g>\n<path d=\"M575 40h0\"></path>\n<path d=\"M1000.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M575 40h0\"></path>\n<path d=\"M790.5 40h0\"></path>\n<rect x=\"575\" y=\"29\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"682.75\" y=\"44\">!\"STRINGTEMPLATEMIDDLE\"</text>\n</g>\n<path d=\"M790.5 40h10\"></path>\n<path d=\"M800.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M810.5 40h0\"></path>\n<path d=\"M1000.5 40h0\"></path>\n<rect x=\"810.5\" y=\"29\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplateSource\"><text x=\"905.5\" y=\"44\">StringTemplateSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1000.5 40h10\"></path>\n<path d=\"M575 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M575 60h425.5\"></path>\n</g>\n<path d=\"M1000.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1010.5 40h20\"></path>\n</g>\n<path d=\"M1030.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1040.5 40h0\"></path>\n<path d=\"M1230.5 40h0\"></path>\n<rect x=\"1040.5\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1135.5\" y=\"44\">!\"STRINGTEMPLATEEND\"</text>\n</g>\n</g>\n<path d=\"M1230.5 40h20\"></path>\n<path d=\"M98 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M118 79h0\"></path>\n<path d=\"M282.5 79h948\"></path>\n<rect x=\"118\" y=\"68\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"200.25\" y=\"83\">!\"STRINGTEMPLATE\"</text>\n</g>\n<path d=\"M1230.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1250.5 40h10\"></path>\n<path d=\"M 1260.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SimpleSource1",
+        "expression/SimpleSource2",
+        "expression/Source"
+      ],
+      "filename": "string_template.ts"
+    },
+    {
+      "name": "StringTemplateFormatting",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TIME =\"'),Railroad.Choice(0, Railroad.Terminal('\"RAW\"'),Railroad.Terminal('\"ISO\"'),Railroad.Terminal('\"USER\"'),Railroad.Terminal('\"ENVIRONMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"DATE =\"'),Railroad.Choice(0, Railroad.Terminal('\"RAW\"'),Railroad.Terminal('\"ISO\"'),Railroad.Terminal('\"USER\"'),Railroad.Terminal('\"ENVIRONMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"CASE =\"'),Railroad.Choice(0, Railroad.Terminal('\"RAW\"'),Railroad.Terminal('\"UPPER\"'),Railroad.Terminal('\"LOWER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"EXPONENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ZERO =\"'),Railroad.Choice(0, Railroad.Terminal('\"YES\"'),Railroad.Terminal('\"NO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"XSD =\"'),Railroad.Choice(0, Railroad.Terminal('\"YES\"'),Railroad.Terminal('\"NO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"STYLE =\"'),Railroad.Choice(0, Railroad.Terminal('\"SIMPLE\"'),Railroad.Terminal('\"SIGN_AS_POSTFIX\"'),Railroad.Terminal('\"SCALE_PRESERVING\"'),Railroad.Terminal('\"SCIENTIFIC\"'),Railroad.Terminal('\"SCIENTIFIC_WITH_LEADING_ZERO\"'),Railroad.Terminal('\"SCALE_PRESERVING_SCIENTIFIC\"'),Railroad.Terminal('\"ENGINEERING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"CURRENCY =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"COUNTRY =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"SIGN =\"'),Railroad.Choice(0, Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"LEFTPLUS\"'),Railroad.Terminal('\"LEFTSPACE\"'),Railroad.Terminal('\"RIGHT\"'),Railroad.Terminal('\"RIGHTPLUS\"'),Railroad.Terminal('\"RIGHTSPACE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"NUMBER =\"'),Railroad.Choice(0, Railroad.Terminal('\"RAW\"'),Railroad.Terminal('\"USER\"'),Railroad.Terminal('\"ENVIRONMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"DECIMALS =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"WIDTH =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"PAD =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('\"ALPHA =\"'),Railroad.Choice(0, Railroad.Terminal('\"OUT\"'),Railroad.Terminal('\"RAW\"'),Railroad.Terminal('\"IN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"ALIGN =\"'),Railroad.Choice(0, Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"RIGHT\"'),Railroad.Terminal('\"CENTER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TIMEZONE =\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TIMESTAMP =\"'),Railroad.Choice(0, Railroad.Terminal('\"SPACE\"'),Railroad.Terminal('\"ISO\"'),Railroad.Terminal('\"USER\"'),Railroad.Terminal('\"ENVIRONMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"541.5\" height=\"1892\" viewBox=\"0 0 541.5 1892\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M501.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M328.5 31h153\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M148 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"35\">\"TIME =\"</text>\n</g>\n<path d=\"M148 31h10\"></path>\n<g>\n<path d=\"M158 31h0\"></path>\n<path d=\"M328.5 31h0\"></path>\n<path d=\"M158 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M178 31h0\"></path>\n<path d=\"M240.5 31h68\"></path>\n<rect x=\"178\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"35\">\"RAW\"</text>\n</g>\n<path d=\"M308.5 31h20\"></path>\n<path d=\"M158 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 61h0\"></path>\n<path d=\"M240.5 61h68\"></path>\n<rect x=\"178\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"65\">\"ISO\"</text>\n</g>\n<path d=\"M308.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 91h0\"></path>\n<path d=\"M249 91h59.5\"></path>\n<rect x=\"178\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"213.5\" y=\"95\">\"USER\"</text>\n</g>\n<path d=\"M308.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 121h0\"></path>\n<path d=\"M308.5 121h0\"></path>\n<rect x=\"178\" y=\"110\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"243.25\" y=\"125\">\"ENVIRONMENT\"</text>\n</g>\n<path d=\"M308.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 151h0\"></path>\n<path d=\"M249 151h59.5\"></path>\n<rect x=\"178\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"213.5\" y=\"155\">Source</text>\n</a>\n</g>\n<path d=\"M308.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 181h0\"></path>\n<path d=\"M257.5 181h51\"></path>\n<rect x=\"178\" y=\"170\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"217.75\" y=\"185\">Dynamic</text>\n</a>\n</g>\n<path d=\"M308.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 211h0\"></path>\n<path d=\"M328.5 211h153\"></path>\n<g class=\"terminal\">\n<path d=\"M60 211h0\"></path>\n<path d=\"M148 211h0\"></path>\n<rect x=\"60\" y=\"200\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"215\">\"DATE =\"</text>\n</g>\n<path d=\"M148 211h10\"></path>\n<g>\n<path d=\"M158 211h0\"></path>\n<path d=\"M328.5 211h0\"></path>\n<path d=\"M158 211h20\"></path>\n<g class=\"terminal\">\n<path d=\"M178 211h0\"></path>\n<path d=\"M240.5 211h68\"></path>\n<rect x=\"178\" y=\"200\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"215\">\"RAW\"</text>\n</g>\n<path d=\"M308.5 211h20\"></path>\n<path d=\"M158 211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 241h0\"></path>\n<path d=\"M240.5 241h68\"></path>\n<rect x=\"178\" y=\"230\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"245\">\"ISO\"</text>\n</g>\n<path d=\"M308.5 241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 211a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 271h0\"></path>\n<path d=\"M249 271h59.5\"></path>\n<rect x=\"178\" y=\"260\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"213.5\" y=\"275\">\"USER\"</text>\n</g>\n<path d=\"M308.5 271a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 211a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 301h0\"></path>\n<path d=\"M308.5 301h0\"></path>\n<rect x=\"178\" y=\"290\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"243.25\" y=\"305\">\"ENVIRONMENT\"</text>\n</g>\n<path d=\"M308.5 301a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 211a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 331h0\"></path>\n<path d=\"M249 331h59.5\"></path>\n<rect x=\"178\" y=\"320\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"213.5\" y=\"335\">Source</text>\n</a>\n</g>\n<path d=\"M308.5 331a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 211a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 361h0\"></path>\n<path d=\"M257.5 361h51\"></path>\n<rect x=\"178\" y=\"350\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"217.75\" y=\"365\">Dynamic</text>\n</a>\n</g>\n<path d=\"M308.5 361a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 391h0\"></path>\n<path d=\"M277.5 391h204\"></path>\n<g class=\"terminal\">\n<path d=\"M60 391h0\"></path>\n<path d=\"M148 391h0\"></path>\n<rect x=\"60\" y=\"380\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"395\">\"CASE =\"</text>\n</g>\n<path d=\"M148 391h10\"></path>\n<g>\n<path d=\"M158 391h0\"></path>\n<path d=\"M277.5 391h0\"></path>\n<path d=\"M158 391h20\"></path>\n<g class=\"terminal\">\n<path d=\"M178 391h0\"></path>\n<path d=\"M240.5 391h17\"></path>\n<rect x=\"178\" y=\"380\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"395\">\"RAW\"</text>\n</g>\n<path d=\"M257.5 391h20\"></path>\n<path d=\"M158 391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 421h0\"></path>\n<path d=\"M257.5 421h0\"></path>\n<rect x=\"178\" y=\"410\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"425\">\"UPPER\"</text>\n</g>\n<path d=\"M257.5 421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 451h0\"></path>\n<path d=\"M257.5 451h0\"></path>\n<rect x=\"178\" y=\"440\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"455\">\"LOWER\"</text>\n</g>\n<path d=\"M257.5 451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 481h0\"></path>\n<path d=\"M249 481h8.5\"></path>\n<rect x=\"178\" y=\"470\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"213.5\" y=\"485\">Source</text>\n</a>\n</g>\n<path d=\"M257.5 481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 511h0\"></path>\n<path d=\"M257.5 511h0\"></path>\n<rect x=\"178\" y=\"500\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"217.75\" y=\"515\">Dynamic</text>\n</a>\n</g>\n<path d=\"M257.5 511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 541h0\"></path>\n<path d=\"M256 541h225.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 541h0\"></path>\n<path d=\"M165 541h0\"></path>\n<rect x=\"60\" y=\"530\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"112.5\" y=\"545\">\"EXPONENT\"</text>\n</g>\n<path d=\"M165 541h10\"></path>\n<path d=\"M175 541h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 541h0\"></path>\n<path d=\"M256 541h0\"></path>\n<rect x=\"185\" y=\"530\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"220.5\" y=\"545\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M481.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 571h0\"></path>\n<path d=\"M269 571h212.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 571h0\"></path>\n<path d=\"M148 571h0\"></path>\n<rect x=\"60\" y=\"560\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"575\">\"ZERO =\"</text>\n</g>\n<path d=\"M148 571h10\"></path>\n<g>\n<path d=\"M158 571h0\"></path>\n<path d=\"M269 571h0\"></path>\n<path d=\"M158 571h20\"></path>\n<g class=\"terminal\">\n<path d=\"M178 571h0\"></path>\n<path d=\"M240.5 571h8.5\"></path>\n<rect x=\"178\" y=\"560\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"575\">\"YES\"</text>\n</g>\n<path d=\"M249 571h20\"></path>\n<path d=\"M158 571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M178 601h0\"></path>\n<path d=\"M232 601h17\"></path>\n<rect x=\"178\" y=\"590\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"205\" y=\"605\">\"NO\"</text>\n</g>\n<path d=\"M249 601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M158 571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 631h0\"></path>\n<path d=\"M249 631h0\"></path>\n<rect x=\"178\" y=\"620\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"213.5\" y=\"635\">Source</text>\n</a>\n</g>\n<path d=\"M249 631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 661h0\"></path>\n<path d=\"M346.5 661h135\"></path>\n<g>\n<path d=\"M60 661h0\"></path>\n<path d=\"M126 661h0\"></path>\n<text x=\"93\" y=\"666\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M126 661h10\"></path>\n<path d=\"M136 661h10\"></path>\n<g>\n<path d=\"M146 661h0\"></path>\n<path d=\"M346.5 661h0\"></path>\n<g class=\"terminal\">\n<path d=\"M146 661h0\"></path>\n<path d=\"M225.5 661h0\"></path>\n<rect x=\"146\" y=\"650\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"185.75\" y=\"665\">\"XSD =\"</text>\n</g>\n<path d=\"M225.5 661h10\"></path>\n<g>\n<path d=\"M235.5 661h0\"></path>\n<path d=\"M346.5 661h0\"></path>\n<path d=\"M235.5 661h20\"></path>\n<g class=\"terminal\">\n<path d=\"M255.5 661h0\"></path>\n<path d=\"M318 661h8.5\"></path>\n<rect x=\"255.5\" y=\"650\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"286.75\" y=\"665\">\"YES\"</text>\n</g>\n<path d=\"M326.5 661h20\"></path>\n<path d=\"M235.5 661a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M255.5 691h0\"></path>\n<path d=\"M309.5 691h17\"></path>\n<rect x=\"255.5\" y=\"680\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"282.5\" y=\"695\">\"NO\"</text>\n</g>\n<path d=\"M326.5 691a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M235.5 661a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M255.5 721h0\"></path>\n<path d=\"M326.5 721h0\"></path>\n<rect x=\"255.5\" y=\"710\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"291\" y=\"725\">Source</text>\n</a>\n</g>\n<path d=\"M326.5 721a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M481.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 751h0\"></path>\n<path d=\"M481.5 751h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 751h0\"></path>\n<path d=\"M156.5 751h0\"></path>\n<rect x=\"60\" y=\"740\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"755\">\"STYLE =\"</text>\n</g>\n<path d=\"M156.5 751h10\"></path>\n<g>\n<path d=\"M166.5 751h0\"></path>\n<path d=\"M481.5 751h0\"></path>\n<path d=\"M166.5 751h20\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 751h0\"></path>\n<path d=\"M274.5 751h187\"></path>\n<rect x=\"186.5\" y=\"740\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"230.5\" y=\"755\">\"SIMPLE\"</text>\n</g>\n<path d=\"M461.5 751h20\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 781h0\"></path>\n<path d=\"M351 781h110.5\"></path>\n<rect x=\"186.5\" y=\"770\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"268.75\" y=\"785\">\"SIGN&#95;AS&#95;POSTFIX\"</text>\n</g>\n<path d=\"M461.5 781a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 811h0\"></path>\n<path d=\"M359.5 811h102\"></path>\n<rect x=\"186.5\" y=\"800\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"273\" y=\"815\">\"SCALE&#95;PRESERVING\"</text>\n</g>\n<path d=\"M461.5 811a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 841h0\"></path>\n<path d=\"M308.5 841h153\"></path>\n<rect x=\"186.5\" y=\"830\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"247.5\" y=\"845\">\"SCIENTIFIC\"</text>\n</g>\n<path d=\"M461.5 841a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 871h0\"></path>\n<path d=\"M461.5 871h0\"></path>\n<rect x=\"186.5\" y=\"860\" width=\"275\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324\" y=\"875\">\"SCIENTIFIC&#95;WITH&#95;LEADING&#95;ZERO\"</text>\n</g>\n<path d=\"M461.5 871a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 901h0\"></path>\n<path d=\"M453 901h8.5\"></path>\n<rect x=\"186.5\" y=\"890\" width=\"266.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"319.75\" y=\"905\">\"SCALE&#95;PRESERVING&#95;SCIENTIFIC\"</text>\n</g>\n<path d=\"M461.5 901a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M186.5 931h0\"></path>\n<path d=\"M317 931h144.5\"></path>\n<rect x=\"186.5\" y=\"920\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"251.75\" y=\"935\">\"ENGINEERING\"</text>\n</g>\n<path d=\"M461.5 931a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M166.5 751a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M186.5 961h0\"></path>\n<path d=\"M257.5 961h204\"></path>\n<rect x=\"186.5\" y=\"950\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"222\" y=\"965\">Source</text>\n</a>\n</g>\n<path d=\"M461.5 961a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M481.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v940a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 991h0\"></path>\n<path d=\"M273 991h208.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 991h0\"></path>\n<path d=\"M182 991h0\"></path>\n<rect x=\"60\" y=\"980\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"121\" y=\"995\">\"CURRENCY =\"</text>\n</g>\n<path d=\"M182 991h10\"></path>\n<path d=\"M192 991h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M202 991h0\"></path>\n<path d=\"M273 991h0\"></path>\n<rect x=\"202\" y=\"980\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"237.5\" y=\"995\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M481.5 991a10 10 0 0 0 10 -10v-940a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v970a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1021h0\"></path>\n<path d=\"M264.5 1021h217\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1021h0\"></path>\n<path d=\"M173.5 1021h0\"></path>\n<rect x=\"60\" y=\"1010\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"116.75\" y=\"1025\">\"COUNTRY =\"</text>\n</g>\n<path d=\"M173.5 1021h10\"></path>\n<path d=\"M183.5 1021h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M193.5 1021h0\"></path>\n<path d=\"M264.5 1021h0\"></path>\n<rect x=\"193.5\" y=\"1010\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"229\" y=\"1025\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M481.5 1021a10 10 0 0 0 10 -10v-970a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1000a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1051h0\"></path>\n<path d=\"M433.5 1051h48\"></path>\n<path d=\"M90 1051h10\"></path>\n<g>\n<path d=\"M100 1051h0\"></path>\n<path d=\"M360 1051h43.5\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1051h0\"></path>\n<path d=\"M188 1051h0\"></path>\n<rect x=\"100\" y=\"1040\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"144\" y=\"1055\">\"SIGN =\"</text>\n</g>\n<path d=\"M188 1051h10\"></path>\n<g>\n<path d=\"M198 1051h0\"></path>\n<path d=\"M360 1051h0\"></path>\n<path d=\"M198 1051h20\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1051h0\"></path>\n<path d=\"M289 1051h51\"></path>\n<rect x=\"218\" y=\"1040\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.5\" y=\"1055\">\"LEFT\"</text>\n</g>\n<path d=\"M340 1051h20\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1081h0\"></path>\n<path d=\"M323 1081h17\"></path>\n<rect x=\"218\" y=\"1070\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"270.5\" y=\"1085\">\"LEFTPLUS\"</text>\n</g>\n<path d=\"M340 1081a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1111h0\"></path>\n<path d=\"M331.5 1111h8.5\"></path>\n<rect x=\"218\" y=\"1100\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"274.75\" y=\"1115\">\"LEFTSPACE\"</text>\n</g>\n<path d=\"M340 1111a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1141h0\"></path>\n<path d=\"M297.5 1141h42.5\"></path>\n<rect x=\"218\" y=\"1130\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"1145\">\"RIGHT\"</text>\n</g>\n<path d=\"M340 1141a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1171h0\"></path>\n<path d=\"M331.5 1171h8.5\"></path>\n<rect x=\"218\" y=\"1160\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"274.75\" y=\"1175\">\"RIGHTPLUS\"</text>\n</g>\n<path d=\"M340 1171a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1201h0\"></path>\n<path d=\"M340 1201h0\"></path>\n<rect x=\"218\" y=\"1190\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279\" y=\"1205\">\"RIGHTSPACE\"</text>\n</g>\n<path d=\"M340 1201a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1051a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1231h0\"></path>\n<path d=\"M289 1231h51\"></path>\n<rect x=\"218\" y=\"1220\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"253.5\" y=\"1235\">Source</text>\n</a>\n</g>\n<path d=\"M340 1231a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M403.5 1051h10\"></path>\n<path d=\"M90 1051v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1261h0\"></path>\n<path d=\"M385.5 1261h18\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1261h0\"></path>\n<path d=\"M205 1261h0\"></path>\n<rect x=\"100\" y=\"1250\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"152.5\" y=\"1265\">\"NUMBER =\"</text>\n</g>\n<path d=\"M205 1261h10\"></path>\n<g>\n<path d=\"M215 1261h0\"></path>\n<path d=\"M385.5 1261h0\"></path>\n<path d=\"M215 1261h20\"></path>\n<g class=\"terminal\">\n<path d=\"M235 1261h0\"></path>\n<path d=\"M297.5 1261h68\"></path>\n<rect x=\"235\" y=\"1250\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"1265\">\"RAW\"</text>\n</g>\n<path d=\"M365.5 1261h20\"></path>\n<path d=\"M215 1261a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 1291h0\"></path>\n<path d=\"M306 1291h59.5\"></path>\n<rect x=\"235\" y=\"1280\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"270.5\" y=\"1295\">\"USER\"</text>\n</g>\n<path d=\"M365.5 1291a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1261a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 1321h0\"></path>\n<path d=\"M365.5 1321h0\"></path>\n<rect x=\"235\" y=\"1310\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.25\" y=\"1325\">\"ENVIRONMENT\"</text>\n</g>\n<path d=\"M365.5 1321a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1261a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1351h0\"></path>\n<path d=\"M306 1351h59.5\"></path>\n<rect x=\"235\" y=\"1340\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"270.5\" y=\"1355\">Source</text>\n</a>\n</g>\n<path d=\"M365.5 1351a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M403.5 1261a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M90 1051v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1381h0\"></path>\n<path d=\"M313 1381h90.5\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1381h0\"></path>\n<path d=\"M222 1381h0\"></path>\n<rect x=\"100\" y=\"1370\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"161\" y=\"1385\">\"DECIMALS =\"</text>\n</g>\n<path d=\"M222 1381h10\"></path>\n<path d=\"M232 1381h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242 1381h0\"></path>\n<path d=\"M313 1381h0\"></path>\n<rect x=\"242\" y=\"1370\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"277.5\" y=\"1385\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M403.5 1381a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M90 1051v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1411h0\"></path>\n<path d=\"M287.5 1411h116\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1411h0\"></path>\n<path d=\"M196.5 1411h0\"></path>\n<rect x=\"100\" y=\"1400\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"148.25\" y=\"1415\">\"WIDTH =\"</text>\n</g>\n<path d=\"M196.5 1411h10\"></path>\n<path d=\"M206.5 1411h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 1411h0\"></path>\n<path d=\"M287.5 1411h0\"></path>\n<rect x=\"216.5\" y=\"1400\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"252\" y=\"1415\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M403.5 1411a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M90 1051v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1441h0\"></path>\n<path d=\"M270.5 1441h133\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1441h0\"></path>\n<path d=\"M179.5 1441h0\"></path>\n<rect x=\"100\" y=\"1430\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"139.75\" y=\"1445\">\"PAD =\"</text>\n</g>\n<path d=\"M179.5 1441h10\"></path>\n<path d=\"M189.5 1441h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M199.5 1441h0\"></path>\n<path d=\"M270.5 1441h0\"></path>\n<rect x=\"199.5\" y=\"1430\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"235\" y=\"1445\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M403.5 1441a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M90 1051v410a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1471h0\"></path>\n<path d=\"M403.5 1471h0\"></path>\n<g>\n<path d=\"M100 1471h0\"></path>\n<path d=\"M166 1471h0\"></path>\n<text x=\"133\" y=\"1476\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M166 1471h10\"></path>\n<path d=\"M176 1471h10\"></path>\n<g>\n<path d=\"M186 1471h0\"></path>\n<path d=\"M403.5 1471h0\"></path>\n<g class=\"terminal\">\n<path d=\"M186 1471h0\"></path>\n<path d=\"M282.5 1471h0\"></path>\n<rect x=\"186\" y=\"1460\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"234.25\" y=\"1475\">\"ALPHA =\"</text>\n</g>\n<path d=\"M282.5 1471h10\"></path>\n<g>\n<path d=\"M292.5 1471h0\"></path>\n<path d=\"M403.5 1471h0\"></path>\n<path d=\"M292.5 1471h20\"></path>\n<g class=\"terminal\">\n<path d=\"M312.5 1471h0\"></path>\n<path d=\"M375 1471h8.5\"></path>\n<rect x=\"312.5\" y=\"1460\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"343.75\" y=\"1475\">\"OUT\"</text>\n</g>\n<path d=\"M383.5 1471h20\"></path>\n<path d=\"M292.5 1471a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M312.5 1501h0\"></path>\n<path d=\"M375 1501h8.5\"></path>\n<rect x=\"312.5\" y=\"1490\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"343.75\" y=\"1505\">\"RAW\"</text>\n</g>\n<path d=\"M383.5 1501a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M292.5 1471a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M312.5 1531h0\"></path>\n<path d=\"M366.5 1531h17\"></path>\n<rect x=\"312.5\" y=\"1520\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"339.5\" y=\"1535\">\"IN\"</text>\n</g>\n<path d=\"M383.5 1531a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M292.5 1471a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M312.5 1561h0\"></path>\n<path d=\"M383.5 1561h0\"></path>\n<rect x=\"312.5\" y=\"1550\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"348\" y=\"1565\">Source</text>\n</a>\n</g>\n<path d=\"M383.5 1561a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M403.5 1471a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M90 1051v530a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1591h0\"></path>\n<path d=\"M334.5 1591h69\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1591h0\"></path>\n<path d=\"M196.5 1591h0\"></path>\n<rect x=\"100\" y=\"1580\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"148.25\" y=\"1595\">\"ALIGN =\"</text>\n</g>\n<path d=\"M196.5 1591h10\"></path>\n<g>\n<path d=\"M206.5 1591h0\"></path>\n<path d=\"M334.5 1591h0\"></path>\n<path d=\"M206.5 1591h20\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 1591h0\"></path>\n<path d=\"M297.5 1591h17\"></path>\n<rect x=\"226.5\" y=\"1580\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"262\" y=\"1595\">\"LEFT\"</text>\n</g>\n<path d=\"M314.5 1591h20\"></path>\n<path d=\"M206.5 1591a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 1621h0\"></path>\n<path d=\"M306 1621h8.5\"></path>\n<rect x=\"226.5\" y=\"1610\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"1625\">\"RIGHT\"</text>\n</g>\n<path d=\"M314.5 1621a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1591a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 1651h0\"></path>\n<path d=\"M314.5 1651h0\"></path>\n<rect x=\"226.5\" y=\"1640\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"270.5\" y=\"1655\">\"CENTER\"</text>\n</g>\n<path d=\"M314.5 1651a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1591a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 1681h0\"></path>\n<path d=\"M297.5 1681h17\"></path>\n<rect x=\"226.5\" y=\"1670\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"262\" y=\"1685\">Source</text>\n</a>\n</g>\n<path d=\"M314.5 1681a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M403.5 1591a10 10 0 0 0 10 -10v-530\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 90 1041 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"75\" y=\"1055\" class=\"diagram-text\">1+</text>\n<path d=\"M 413.5 1041 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 420.5 1049 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M481.5 1051a10 10 0 0 0 10 -10v-1000a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1660a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1711h0\"></path>\n<path d=\"M441 1711h40.5\"></path>\n<path d=\"M90 1711h10\"></path>\n<g>\n<path d=\"M100 1711h0\"></path>\n<path d=\"M313 1711h98\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1711h0\"></path>\n<path d=\"M222 1711h0\"></path>\n<rect x=\"100\" y=\"1700\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"161\" y=\"1715\">\"TIMEZONE =\"</text>\n</g>\n<path d=\"M222 1711h10\"></path>\n<path d=\"M232 1711h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242 1711h0\"></path>\n<path d=\"M313 1711h0\"></path>\n<rect x=\"242\" y=\"1700\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"277.5\" y=\"1715\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M411 1711h10\"></path>\n<path d=\"M90 1711v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M100 1741h0\"></path>\n<path d=\"M411 1741h0\"></path>\n<g class=\"terminal\">\n<path d=\"M100 1741h0\"></path>\n<path d=\"M230.5 1741h0\"></path>\n<rect x=\"100\" y=\"1730\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"1745\">\"TIMESTAMP =\"</text>\n</g>\n<path d=\"M230.5 1741h10\"></path>\n<g>\n<path d=\"M240.5 1741h0\"></path>\n<path d=\"M411 1741h0\"></path>\n<path d=\"M240.5 1741h20\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 1741h0\"></path>\n<path d=\"M340 1741h51\"></path>\n<rect x=\"260.5\" y=\"1730\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.25\" y=\"1745\">\"SPACE\"</text>\n</g>\n<path d=\"M391 1741h20\"></path>\n<path d=\"M240.5 1741a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 1771h0\"></path>\n<path d=\"M323 1771h68\"></path>\n<rect x=\"260.5\" y=\"1760\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"1775\">\"ISO\"</text>\n</g>\n<path d=\"M391 1771a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 1741a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 1801h0\"></path>\n<path d=\"M331.5 1801h59.5\"></path>\n<rect x=\"260.5\" y=\"1790\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"296\" y=\"1805\">\"USER\"</text>\n</g>\n<path d=\"M391 1801a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 1741a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 1831h0\"></path>\n<path d=\"M391 1831h0\"></path>\n<rect x=\"260.5\" y=\"1820\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"325.75\" y=\"1835\">\"ENVIRONMENT\"</text>\n</g>\n<path d=\"M391 1831a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 1741a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 1861h0\"></path>\n<path d=\"M331.5 1861h59.5\"></path>\n<rect x=\"260.5\" y=\"1850\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"296\" y=\"1865\">Source</text>\n</a>\n</g>\n<path d=\"M391 1861a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M411 1741a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 90 1701 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"75\" y=\"1715\" class=\"diagram-text\">1+</text>\n<path d=\"M 421 1701 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 428 1709 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M481.5 1711a10 10 0 0 0 10 -10v-1660a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 501.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/StringTemplateSource"
+      ],
+      "filename": "string_template_formatting.ts"
+    },
+    {
+      "name": "StringTemplateSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.NonTerminal('StringTemplateFormatting', {href: '#/expression/StringTemplateFormatting'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/StringTemplateFormatting"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"445\" height=\"71\" viewBox=\"0 0 445 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M395 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"85.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M395 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h224\"></path>\n</g>\n<path d=\"M375 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M375 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"224\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/StringTemplateFormatting\"><text x=\"263\" y=\"44\">StringTemplateFormatting</text>\n</a>\n</g>\n<path d=\"M375 40h20\"></path>\n</g>\n</g>\n<path d=\"M395 40h10\"></path>\n<path d=\"M 405 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/StringTemplate"
+      ],
+      "filename": "string_template_source.ts"
+    },
+    {
+      "name": "SuperClassName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'})).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"98.25\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ClassDefinition"
+      ],
+      "filename": "super_class_name.ts"
+    },
+    {
+      "name": "SwitchBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"OR\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"THEN\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Throw', {href: '#/expression/Throw'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ELSE\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Throw', {href: '#/expression/Throw'})))))).toString();",
+      "using": [
+        "expression/Let",
+        "expression/Source",
+        "expression/Throw"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1127.5\" height=\"109\" viewBox=\"0 0 1127.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1077.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h45.5\"></path>\n</g>\n<path d=\"M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"92.75\" y=\"44\">Let</text>\n</a>\n</g>\n<path d=\"M115.5 40h20\"></path>\n</g>\n<path d=\"M135.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M145.5 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<rect x=\"145.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"181\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M216.5 40h10\"></path>\n<path d=\"M226.5 40h10\"></path>\n<g>\n<path d=\"M236.5 40h0\"></path>\n<path d=\"M835.5 40h0\"></path>\n<path d=\"M236.5 40h10\"></path>\n<g>\n<path d=\"M246.5 40h0\"></path>\n<path d=\"M825.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M246.5 40h0\"></path>\n<path d=\"M317.5 40h0\"></path>\n<rect x=\"246.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"282\" y=\"44\">\"WHEN\"</text>\n</g>\n<path d=\"M317.5 40h10\"></path>\n<path d=\"M327.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337.5 40h0\"></path>\n<path d=\"M408.5 40h0\"></path>\n<rect x=\"337.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"373\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M408.5 40h10\"></path>\n<g>\n<path d=\"M418.5 40h0\"></path>\n<path d=\"M623.5 40h0\"></path>\n<path d=\"M418.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M438.5 20h165\"></path>\n</g>\n<path d=\"M603.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M418.5 40h20\"></path>\n<g>\n<path d=\"M438.5 40h0\"></path>\n<path d=\"M603.5 40h0\"></path>\n<path d=\"M438.5 40h10\"></path>\n<g>\n<path d=\"M448.5 40h0\"></path>\n<path d=\"M593.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M448.5 40h0\"></path>\n<path d=\"M502.5 40h0\"></path>\n<rect x=\"448.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"475.5\" y=\"44\">\"OR\"</text>\n</g>\n<path d=\"M502.5 40h10\"></path>\n<path d=\"M512.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522.5 40h0\"></path>\n<path d=\"M593.5 40h0\"></path>\n<rect x=\"522.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"558\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M593.5 40h10\"></path>\n<path d=\"M448.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M448.5 60h145\"></path>\n</g>\n<path d=\"M593.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M603.5 40h20\"></path>\n</g>\n<path d=\"M623.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 40h0\"></path>\n<path d=\"M704.5 40h0\"></path>\n<rect x=\"633.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"669\" y=\"44\">\"THEN\"</text>\n</g>\n<path d=\"M704.5 40h10\"></path>\n<g>\n<path d=\"M714.5 40h0\"></path>\n<path d=\"M825.5 40h0\"></path>\n<path d=\"M714.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M734.5 40h0\"></path>\n<path d=\"M805.5 40h0\"></path>\n<rect x=\"734.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"770\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M805.5 40h20\"></path>\n<path d=\"M714.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M734.5 70h0\"></path>\n<path d=\"M797 70h8.5\"></path>\n<rect x=\"734.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Throw\"><text x=\"765.75\" y=\"74\">Throw</text>\n</a>\n</g>\n<path d=\"M805.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M825.5 40h10\"></path>\n<path d=\"M246.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M246.5 89h579\"></path>\n</g>\n<path d=\"M825.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M835.5 40h10\"></path>\n<g>\n<path d=\"M845.5 40h0\"></path>\n<path d=\"M1077.5 40h0\"></path>\n<path d=\"M845.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M865.5 20h192\"></path>\n</g>\n<path d=\"M1057.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M845.5 40h20\"></path>\n<g>\n<path d=\"M865.5 40h0\"></path>\n<path d=\"M1057.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M865.5 40h0\"></path>\n<path d=\"M936.5 40h0\"></path>\n<rect x=\"865.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"901\" y=\"44\">\"ELSE\"</text>\n</g>\n<path d=\"M936.5 40h10\"></path>\n<g>\n<path d=\"M946.5 40h0\"></path>\n<path d=\"M1057.5 40h0\"></path>\n<path d=\"M946.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M966.5 40h0\"></path>\n<path d=\"M1037.5 40h0\"></path>\n<rect x=\"966.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1002\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M1037.5 40h20\"></path>\n<path d=\"M946.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M966.5 70h0\"></path>\n<path d=\"M1029 70h8.5\"></path>\n<rect x=\"966.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Throw\"><text x=\"997.75\" y=\"74\">Throw</text>\n</a>\n</g>\n<path d=\"M1037.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1057.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1077.5 40h10\"></path>\n<path d=\"M 1087.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "switch_body.ts"
+    },
+    {
+      "name": "TableBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\"[\"'),Railroad.Terminal('!\"] \"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"236.5\" height=\"62\" viewBox=\"0 0 236.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M186.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">!\"&#91;\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<path d=\"M114 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M124 31h0\"></path>\n<path d=\"M186.5 31h0\"></path>\n<rect x=\"124\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"155.25\" y=\"35\">!\"&#93; \"</text>\n</g>\n</g>\n<path d=\"M186.5 31h10\"></path>\n<path d=\"M 196.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/FieldChain",
+        "expression/FieldSub",
+        "expression/SimpleTarget",
+        "expression/Target",
+        "statement/Local"
+      ],
+      "filename": "table_body.ts"
+    },
+    {
+      "name": "TableExpression",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Sequence(Railroad.Terminal('!\"[ \"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"KEY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}))),Railroad.Optional(Railroad.Terminal('\"COMPONENTS\"')),Railroad.Choice(0, Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Choice(0, Railroad.Terminal('!\" ]\"'),Railroad.Terminal('!\" ] \"'))))).toString();",
+      "using": [
+        "expression/ComponentChainSimple",
+        "expression/Dynamic",
+        "expression/SimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1235.5\" height=\"169\" viewBox=\"0 0 1235.5 169\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1185.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M116 31h0\"></path>\n<text x=\"83\" y=\"36\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M116 31h10\"></path>\n<path d=\"M126 31h10\"></path>\n<g>\n<path d=\"M136 31h0\"></path>\n<path d=\"M1185.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 31h0\"></path>\n<path d=\"M198.5 31h0\"></path>\n<rect x=\"136\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"167.25\" y=\"35\">!\"&#91; \"</text>\n</g>\n<path d=\"M198.5 31h10\"></path>\n<g>\n<path d=\"M208.5 31h0\"></path>\n<path d=\"M1074.5 31h0\"></path>\n<path d=\"M208.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M228.5 31h0\"></path>\n<path d=\"M299.5 31h755\"></path>\n<rect x=\"228.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"264\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M1054.5 31h20\"></path>\n<path d=\"M208.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M228.5 70h0\"></path>\n<path d=\"M1054.5 70h0\"></path>\n<g>\n<path d=\"M228.5 70h0\"></path>\n<path d=\"M456 70h0\"></path>\n<path d=\"M228.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M248.5 50h187.5\"></path>\n</g>\n<path d=\"M436 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M228.5 70h20\"></path>\n<g>\n<path d=\"M248.5 70h0\"></path>\n<path d=\"M436 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M248.5 70h0\"></path>\n<path d=\"M311 70h0\"></path>\n<rect x=\"248.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279.75\" y=\"74\">\"KEY\"</text>\n</g>\n<path d=\"M311 70h10\"></path>\n<path d=\"M321 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M331 70h0\"></path>\n<path d=\"M436 70h0\"></path>\n<rect x=\"331\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"383.5\" y=\"74\">SimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M436 70h20\"></path>\n</g>\n<g>\n<path d=\"M456 70h0\"></path>\n<path d=\"M618 70h0\"></path>\n<path d=\"M456 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M476 50h122\"></path>\n</g>\n<path d=\"M598 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M456 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M476 70h0\"></path>\n<path d=\"M598 70h0\"></path>\n<rect x=\"476\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"537\" y=\"74\">\"COMPONENTS\"</text>\n</g>\n<path d=\"M598 70h20\"></path>\n</g>\n<g>\n<path d=\"M618 70h0\"></path>\n<path d=\"M1054.5 70h0\"></path>\n<path d=\"M618 70h20\"></path>\n<g>\n<path d=\"M638 70h0\"></path>\n<path d=\"M1034.5 70h0\"></path>\n<path d=\"M638 70h10\"></path>\n<g>\n<path d=\"M648 70h0\"></path>\n<path d=\"M1024.5 70h0\"></path>\n<g>\n<path d=\"M648 70h0\"></path>\n<path d=\"M878 70h0\"></path>\n<path d=\"M648 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M668 70h0\"></path>\n<path d=\"M858 70h0\"></path>\n<rect x=\"668\" y=\"59\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"763\" y=\"74\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M858 70h20\"></path>\n<path d=\"M648 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M668 100h0\"></path>\n<path d=\"M747.5 100h110.5\"></path>\n<rect x=\"668\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"707.75\" y=\"104\">Dynamic</text>\n</a>\n</g>\n<path d=\"M858 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M878 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M888 70h0\"></path>\n<path d=\"M933.5 70h0\"></path>\n<rect x=\"888\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"910.75\" y=\"74\">\"=\"</text>\n</g>\n<path d=\"M933.5 70h10\"></path>\n<path d=\"M943.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M953.5 70h0\"></path>\n<path d=\"M1024.5 70h0\"></path>\n<rect x=\"953.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"989\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1024.5 70h10\"></path>\n<path d=\"M648 70a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M648 119h376.5\"></path>\n</g>\n<path d=\"M1024.5 119a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1034.5 70h20\"></path>\n<path d=\"M618 70a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M638 138h0\"></path>\n<path d=\"M808.5 138h226\"></path>\n<g class=\"terminal\">\n<path d=\"M638 138h0\"></path>\n<path d=\"M717.5 138h0\"></path>\n<rect x=\"638\" y=\"127\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"677.75\" y=\"142\">\"INDEX\"</text>\n</g>\n<path d=\"M717.5 138h10\"></path>\n<path d=\"M727.5 138h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M737.5 138h0\"></path>\n<path d=\"M808.5 138h0\"></path>\n<rect x=\"737.5\" y=\"127\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"773\" y=\"142\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1034.5 138a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1054.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1074.5 31h0\"></path>\n<path d=\"M1185.5 31h0\"></path>\n<path d=\"M1074.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1094.5 31h0\"></path>\n<path d=\"M1157 31h8.5\"></path>\n<rect x=\"1094.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1125.75\" y=\"35\">!\" &#93;\"</text>\n</g>\n<path d=\"M1165.5 31h20\"></path>\n<path d=\"M1074.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1094.5 61h0\"></path>\n<path d=\"M1165.5 61h0\"></path>\n<rect x=\"1094.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1130\" y=\"65\">!\" &#93; \"</text>\n</g>\n<path d=\"M1165.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1185.5 31h10\"></path>\n<path d=\"M 1195.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/AttributeChain",
+        "expression/ComponentChain",
+        "expression/FieldChain",
+        "expression/SimpleTarget",
+        "expression/Target"
+      ],
+      "filename": "table_expression.ts"
+    },
+    {
+      "name": "Target",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('InlineData', {href: '#/expression/InlineData'}),Railroad.NonTerminal('InlineFS', {href: '#/expression/InlineFS'}),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Cast', {href: '#/expression/Cast'}),Railroad.NonTerminal('NewObject', {href: '#/expression/NewObject'}),Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('!\"=>\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.NonTerminal('TargetField', {href: '#/expression/TargetField'}),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'})),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('Dereference', {href: '#/expression/Dereference'}),Railroad.Sequence(Railroad.Terminal('!\"->\"'),Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'})),Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'})),Railroad.NonTerminal('TableExpression', {href: '#/expression/TableExpression'}))),Railroad.Choice(0, Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'}),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'}))))))).toString();",
+      "using": [
+        "expression/AttributeName",
+        "expression/Cast",
+        "expression/ClassName",
+        "expression/ComponentName",
+        "expression/Dereference",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/InlineData",
+        "expression/InlineFS",
+        "expression/NewObject",
+        "expression/TableBody",
+        "expression/TableExpression",
+        "expression/TargetField",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1149.5\" height=\"251\" viewBox=\"0 0 1149.5 251\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M1109.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M165 31h924.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineData\"><text x=\"112.5\" y=\"35\">InlineData</text>\n</a>\n</g>\n<path d=\"M1089.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M148 61h941.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineFS\"><text x=\"104\" y=\"65\">InlineFS</text>\n</a>\n</g>\n<path d=\"M1089.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M1089.5 100h0\"></path>\n<g>\n<path d=\"M60 100h0\"></path>\n<path d=\"M429.5 100h0\"></path>\n<path d=\"M60 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 100h0\"></path>\n<path d=\"M134 100h275.5\"></path>\n<rect x=\"80\" y=\"89\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cast\"><text x=\"107\" y=\"104\">Cast</text>\n</a>\n</g>\n<path d=\"M409.5 100h20\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 130h0\"></path>\n<path d=\"M176.5 130h233\"></path>\n<rect x=\"80\" y=\"119\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NewObject\"><text x=\"128.25\" y=\"134\">NewObject</text>\n</a>\n</g>\n<path d=\"M409.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 160h0\"></path>\n<path d=\"M409.5 160h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 160h0\"></path>\n<path d=\"M176.5 160h0\"></path>\n<rect x=\"80\" y=\"149\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"128.25\" y=\"164\">ClassName</text>\n</a>\n</g>\n<path d=\"M176.5 160h10\"></path>\n<path d=\"M186.5 160h10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 160h0\"></path>\n<path d=\"M259 160h0\"></path>\n<rect x=\"196.5\" y=\"149\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"227.75\" y=\"164\">!\"=>\"</text>\n</g>\n<path d=\"M259 160h10\"></path>\n<path d=\"M269 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 160h0\"></path>\n<path d=\"M409.5 160h0\"></path>\n<rect x=\"279\" y=\"149\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"344.25\" y=\"164\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M409.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 190h0\"></path>\n<path d=\"M193.5 190h216\"></path>\n<rect x=\"80\" y=\"179\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetField\"><text x=\"136.75\" y=\"194\">TargetField</text>\n</a>\n</g>\n<path d=\"M409.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M60 100a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 220h0\"></path>\n<path d=\"M244.5 220h165\"></path>\n<rect x=\"80\" y=\"209\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"162.25\" y=\"224\">TargetFieldSymbol</text>\n</a>\n</g>\n<path d=\"M409.5 220a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M429.5 100h0\"></path>\n<path d=\"M742.5 100h0\"></path>\n<path d=\"M429.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M449.5 80h273\"></path>\n</g>\n<path d=\"M722.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M429.5 100h20\"></path>\n<g>\n<path d=\"M449.5 100h0\"></path>\n<path d=\"M722.5 100h0\"></path>\n<path d=\"M449.5 100h10\"></path>\n<g>\n<path d=\"M459.5 100h0\"></path>\n<path d=\"M712.5 100h0\"></path>\n<path d=\"M459.5 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M479.5 100h0\"></path>\n<path d=\"M593 100h99.5\"></path>\n<rect x=\"479.5\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dereference\"><text x=\"536.25\" y=\"104\">Dereference</text>\n</a>\n</g>\n<path d=\"M692.5 100h20\"></path>\n<path d=\"M459.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M479.5 130h0\"></path>\n<path d=\"M692.5 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M479.5 130h0\"></path>\n<path d=\"M542 130h0\"></path>\n<rect x=\"479.5\" y=\"119\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.75\" y=\"134\">!\"->\"</text>\n</g>\n<path d=\"M542 130h10\"></path>\n<path d=\"M552 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M562 130h0\"></path>\n<path d=\"M692.5 130h0\"></path>\n<rect x=\"562\" y=\"119\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"627.25\" y=\"134\">AttributeName</text>\n</a>\n</g>\n</g>\n<path d=\"M692.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M459.5 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M479.5 160h0\"></path>\n<path d=\"M684 160h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M479.5 160h0\"></path>\n<path d=\"M533.5 160h0\"></path>\n<rect x=\"479.5\" y=\"149\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"506.5\" y=\"164\">!\"-\"</text>\n</g>\n<path d=\"M533.5 160h10\"></path>\n<path d=\"M543.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M553.5 160h0\"></path>\n<path d=\"M684 160h0\"></path>\n<rect x=\"553.5\" y=\"149\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"618.75\" y=\"164\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M692.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M459.5 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M479.5 190h0\"></path>\n<path d=\"M627 190h65.5\"></path>\n<rect x=\"479.5\" y=\"179\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableExpression\"><text x=\"553.25\" y=\"194\">TableExpression</text>\n</a>\n</g>\n<path d=\"M692.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M712.5 100h10\"></path>\n<path d=\"M459.5 100a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M459.5 209h253\"></path>\n</g>\n<path d=\"M712.5 209a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M722.5 100h20\"></path>\n</g>\n<g>\n<path d=\"M742.5 100h0\"></path>\n<path d=\"M1089.5 100h0\"></path>\n<path d=\"M742.5 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M762.5 100h0\"></path>\n<path d=\"M859 100h210.5\"></path>\n<rect x=\"762.5\" y=\"89\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"810.75\" y=\"104\">TableBody</text>\n</a>\n</g>\n<path d=\"M1069.5 100h20\"></path>\n<path d=\"M742.5 100a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M762.5 139h0\"></path>\n<path d=\"M1069.5 139h0\"></path>\n<g>\n<path d=\"M762.5 139h0\"></path>\n<path d=\"M916 139h0\"></path>\n<path d=\"M762.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M782.5 119h113.5\"></path>\n</g>\n<path d=\"M896 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M762.5 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M782.5 139h0\"></path>\n<path d=\"M896 139h0\"></path>\n<rect x=\"782.5\" y=\"128\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"839.25\" y=\"143\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M896 139h20\"></path>\n</g>\n<g>\n<path d=\"M916 139h0\"></path>\n<path d=\"M1069.5 139h0\"></path>\n<path d=\"M916 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M936 119h113.5\"></path>\n</g>\n<path d=\"M1049.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M916 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M936 139h0\"></path>\n<path d=\"M1049.5 139h0\"></path>\n<rect x=\"936\" y=\"128\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"992.75\" y=\"143\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1049.5 139h20\"></path>\n</g>\n</g>\n<path d=\"M1069.5 139a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1089.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1109.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/LoopGroupByTarget",
+        "expression/LoopTarget",
+        "expression/ParameterException",
+        "expression/ParameterT",
+        "expression/PerformChanging",
+        "expression/ReadTableTarget",
+        "expression/SQLTarget",
+        "statement/Add",
+        "statement/AddCorresponding",
+        "statement/Append",
+        "statement/Assign",
+        "statement/CallOLE",
+        "statement/CallTransaction",
+        "statement/CallTransformation",
+        "statement/Catch",
+        "statement/Cleanup",
+        "statement/Clear",
+        "statement/Collect",
+        "statement/CommitEntities",
+        "statement/Communication",
+        "statement/Compute",
+        "statement/Concatenate",
+        "statement/Condense",
+        "statement/Convert",
+        "statement/ConvertText",
+        "statement/CreateData",
+        "statement/CreateOLE",
+        "statement/CreateObject",
+        "statement/DeleteInternal",
+        "statement/Demand",
+        "statement/Describe",
+        "statement/Divide",
+        "statement/Do",
+        "statement/Export",
+        "statement/Find",
+        "statement/Free",
+        "statement/FreeObject",
+        "statement/GenerateDynpro",
+        "statement/GenerateReport",
+        "statement/GenerateSubroutine",
+        "statement/Get",
+        "statement/GetBadi",
+        "statement/GetBit",
+        "statement/GetCursor",
+        "statement/GetDataset",
+        "statement/GetLocale",
+        "statement/GetPFStatus",
+        "statement/GetParameter",
+        "statement/GetPermissions",
+        "statement/GetReference",
+        "statement/GetRunTime",
+        "statement/GetTime",
+        "statement/Import",
+        "statement/ImportDynpro",
+        "statement/ImportNametab",
+        "statement/InsertFieldGroup",
+        "statement/InsertInternal",
+        "statement/LoadReport",
+        "statement/LoopAtScreen",
+        "statement/Message",
+        "statement/ModifyEntities",
+        "statement/ModifyInternal",
+        "statement/Move",
+        "statement/Multiply",
+        "statement/OnChange",
+        "statement/OpenDataset",
+        "statement/Overlay",
+        "statement/Pack",
+        "statement/Provide",
+        "statement/ReadDataset",
+        "statement/ReadEntities",
+        "statement/ReadLine",
+        "statement/ReadReport",
+        "statement/Refresh",
+        "statement/Replace",
+        "statement/Scan",
+        "statement/SetBit",
+        "statement/SetLocks",
+        "statement/Shift",
+        "statement/Sort",
+        "statement/Split",
+        "statement/Subtract",
+        "statement/SubtractCorresponding",
+        "statement/SyntaxCheck",
+        "statement/SystemCall",
+        "statement/Translate",
+        "statement/Unpack",
+        "statement/WhenType",
+        "statement/While",
+        "statement/Write"
+      ],
+      "filename": "target.ts"
+    },
+    {
+      "name": "TargetField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('Field', {href: '#/expression/Field'})).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"81.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/For",
+        "expression/InlineData",
+        "expression/InlineLoopDefinition",
+        "expression/SimpleTarget",
+        "expression/Target"
+      ],
+      "filename": "target_field.ts"
+    },
+    {
+      "name": "TargetFieldSymbol",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'})).toString();",
+      "using": [
+        "expression/FieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"213.5\" height=\"62\" viewBox=\"0 0 213.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"106.75\" y=\"35\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M 173.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FSTarget",
+        "expression/For",
+        "expression/InlineFS",
+        "expression/InlineLoopDefinition",
+        "expression/SimpleTarget",
+        "expression/Target",
+        "statement/AssignLocalCopy",
+        "statement/Unassign"
+      ],
+      "filename": "target_field_symbol.ts"
+    },
+    {
+      "name": "TestSeamName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w%\\\\$\\\\*]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w%\\\\$\\\\*]+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"488\" height=\"80\" viewBox=\"0 0 488 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M438 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">^&#91;\\w%\\$\\&#42;&#93;+$</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<g>\n<path d=\"M182 40h0\"></path>\n<path d=\"M438 40h0\"></path>\n<path d=\"M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M202 20h216\"></path>\n</g>\n<path d=\"M418 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M182 40h20\"></path>\n<g>\n<path d=\"M202 40h0\"></path>\n<path d=\"M418 40h0\"></path>\n<path d=\"M202 40h10\"></path>\n<g>\n<path d=\"M212 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M212 40h0\"></path>\n<path d=\"M266 40h0\"></path>\n<rect x=\"212\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"239\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M266 40h10\"></path>\n<path d=\"M276 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M286 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<rect x=\"286\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"347\" y=\"44\">^&#91;\\w%\\$\\&#42;&#93;+$</text>\n</g>\n</g>\n<path d=\"M408 40h10\"></path>\n<path d=\"M212 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M212 60h196\"></path>\n</g>\n<path d=\"M408 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M418 40h20\"></path>\n</g>\n</g>\n<path d=\"M438 40h10\"></path>\n<path d=\"M 448 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/TestInjection",
+        "statement/TestSeam"
+      ],
+      "filename": "test_seam_name.ts"
+    },
+    {
+      "name": "TextElement",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"TEXT\"'),Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('TextElementKey', {href: '#/expression/TextElementKey'}))).toString();",
+      "using": [
+        "expression/TextElementKey"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"404\" height=\"62\" viewBox=\"0 0 404 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M354 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"TEXT\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"168\" y=\"35\">!\"-\"</text>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M205 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 31h0\"></path>\n<path d=\"M354 31h0\"></path>\n<rect x=\"215\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElementKey\"><text x=\"284.5\" y=\"35\">TextElementKey</text>\n</a>\n</g>\n</g>\n<path d=\"M354 31h10\"></path>\n<path d=\"M 364 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SimpleSource1",
+        "expression/SimpleSource2",
+        "expression/SimpleSource3",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "statement/SelectionScreen"
+      ],
+      "filename": "text_element.ts"
+    },
+    {
+      "name": "TextElementKey",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\w{3}$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"179.5\" height=\"62\" viewBox=\"0 0 179.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">^\\w{3}$</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M 139.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/TextElement",
+        "expression/TextElementString"
+      ],
+      "filename": "text_element_key.ts"
+    },
+    {
+      "name": "TextElementString",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^('.*')|(`.*`)$\"),Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('TextElementKey', {href: '#/expression/TextElementKey'}),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/TextElementKey"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"563\" height=\"62\" viewBox=\"0 0 563 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M513 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M197.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"35\">^('.&#42;')|(&#96;.&#42;&#96;)$</text>\n</g>\n<path d=\"M197.5 31h10\"></path>\n<path d=\"M207.5 31h10\"></path>\n<g>\n<path d=\"M217.5 31h0\"></path>\n<path d=\"M513 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M217.5 31h0\"></path>\n<path d=\"M271.5 31h0\"></path>\n<rect x=\"217.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"244.5\" y=\"35\">!\"(\"</text>\n</g>\n<path d=\"M271.5 31h10\"></path>\n<path d=\"M281.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291.5 31h0\"></path>\n<path d=\"M430.5 31h0\"></path>\n<rect x=\"291.5\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElementKey\"><text x=\"361\" y=\"35\">TextElementKey</text>\n</a>\n</g>\n<path d=\"M430.5 31h10\"></path>\n<path d=\"M440.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M450.5 31h0\"></path>\n<path d=\"M513 31h0\"></path>\n<rect x=\"450.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"481.75\" y=\"35\">!\") \"</text>\n</g>\n</g>\n</g>\n<path d=\"M513 31h10\"></path>\n<path d=\"M 523 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Constant"
+      ],
+      "filename": "text_element_string.ts"
+    },
+    {
+      "name": "Throw",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"THROW\"'),Railroad.Optional(Railroad.Terminal('\"RESUMABLE\"')),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Choice(0, Railroad.Terminal('!\"( \"'),Railroad.Terminal('!\"(\"')),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}))),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/ParameterListS",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"892\" height=\"101\" viewBox=\"0 0 892 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M842 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"THROW\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h113.5\"></path>\n</g>\n<path d=\"M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M273 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.25\" y=\"44\">\"RESUMABLE\"</text>\n</g>\n<path d=\"M273 40h20\"></path>\n</g>\n<path d=\"M293 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 40h0\"></path>\n<path d=\"M399.5 40h0\"></path>\n<rect x=\"303\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"351.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M399.5 40h10\"></path>\n<g>\n<path d=\"M409.5 40h0\"></path>\n<path d=\"M512 40h0\"></path>\n<path d=\"M409.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M429.5 40h0\"></path>\n<path d=\"M492 40h0\"></path>\n<rect x=\"429.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460.75\" y=\"44\">!\"( \"</text>\n</g>\n<path d=\"M492 40h20\"></path>\n<path d=\"M409.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M429.5 70h0\"></path>\n<path d=\"M483.5 70h8.5\"></path>\n<rect x=\"429.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"456.5\" y=\"74\">!\"(\"</text>\n</g>\n<path d=\"M492 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M512 40h0\"></path>\n<path d=\"M731 40h0\"></path>\n<path d=\"M512 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M532 20h179\"></path>\n</g>\n<path d=\"M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M512 40h20\"></path>\n<g>\n<path d=\"M532 40h0\"></path>\n<path d=\"M711 40h0\"></path>\n<path d=\"M532 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 40h0\"></path>\n<path d=\"M623 40h68\"></path>\n<rect x=\"552\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"587.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M691 40h20\"></path>\n<path d=\"M532 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 70h0\"></path>\n<path d=\"M691 70h0\"></path>\n<rect x=\"552\" y=\"59\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"621.5\" y=\"74\">ParameterListS</text>\n</a>\n</g>\n<path d=\"M691 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M711 40h20\"></path>\n</g>\n<g>\n<path d=\"M731 40h0\"></path>\n<path d=\"M842 40h0\"></path>\n<path d=\"M731 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M751 40h0\"></path>\n<path d=\"M822 40h0\"></path>\n<rect x=\"751\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"786.5\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M822 40h20\"></path>\n<path d=\"M731 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M751 70h0\"></path>\n<path d=\"M813.5 70h8.5\"></path>\n<rect x=\"751\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"782.25\" y=\"74\">!\") \"</text>\n</g>\n<path d=\"M822 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M842 40h10\"></path>\n<path d=\"M 852 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CondBody",
+        "expression/SwitchBody"
+      ],
+      "filename": "throw.ts"
+    },
+    {
+      "name": "TransportingFields",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.Terminal('!FailStar')),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FieldSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"367.5\" height=\"130\" viewBox=\"0 0 367.5 130\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M327.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M139.5 31h168\"></path>\n<rect x=\"60\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"99.75\" y=\"35\">Dynamic</text>\n</a>\n</g>\n<path d=\"M307.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 61h0\"></path>\n<path d=\"M307.5 61h0\"></path>\n<path d=\"M60 61h10\"></path>\n<g>\n<path d=\"M70 61h0\"></path>\n<path d=\"M297.5 61h0\"></path>\n<path d=\"M70 61h20\"></path>\n<g>\n<path d=\"M90 61h0\"></path>\n<path d=\"M277.5 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M90 61h0\"></path>\n<path d=\"M161 61h0\"></path>\n<rect x=\"90\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"125.5\" y=\"65\">\"INTO\"</text>\n</g>\n<path d=\"M161 61h10\"></path>\n<path d=\"M171 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 61h0\"></path>\n<path d=\"M277.5 61h0\"></path>\n<rect x=\"181\" y=\"50\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.25\" y=\"65\">!FailStar</text>\n</g>\n</g>\n<path d=\"M277.5 61h20\"></path>\n<path d=\"M70 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 91h0\"></path>\n<path d=\"M178 91h99.5\"></path>\n<rect x=\"90\" y=\"80\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"134\" y=\"95\">FieldSub</text>\n</a>\n</g>\n<path d=\"M277.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M297.5 61h10\"></path>\n<path d=\"M70 61a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 110h227.5\"></path>\n</g>\n<path d=\"M297.5 110a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M307.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 327.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/ReadTable"
+      ],
+      "filename": "transporting_fields.ts"
+    },
+    {
+      "name": "Type",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"LINE OF\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.Sequence(Railroad.Terminal('\"REF TO\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"LINE OF\"'),Railroad.Sequence(Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.NonTerminal('Default', {href: '#/expression/Default'})))),Railroad.Sequence(Railroad.Terminal('\"REF TO\"'),Railroad.Sequence(Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.NonTerminal('Default', {href: '#/expression/Default'})))),Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.NonTerminal('Default', {href: '#/expression/Default'}))),Railroad.Optional(Railroad.NonTerminal('LOBHandle', {href: '#/expression/LOBHandle'}))))))).toString();",
+      "using": [
+        "expression/Default",
+        "expression/FieldChain",
+        "expression/LOBHandle",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"605\" height=\"239\" viewBox=\"0 0 605 239\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M565 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M402.5 31h142.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M131 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"35\">\"LIKE\"</text>\n</g>\n<path d=\"M131 31h10\"></path>\n<g>\n<path d=\"M141 31h0\"></path>\n<path d=\"M402.5 31h0\"></path>\n<path d=\"M141 31h20\"></path>\n<g>\n<path d=\"M161 31h0\"></path>\n<path d=\"M382.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 31h0\"></path>\n<path d=\"M257.5 31h0\"></path>\n<rect x=\"161\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"35\">\"LINE OF\"</text>\n</g>\n<path d=\"M257.5 31h10\"></path>\n<path d=\"M267.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M277.5 31h0\"></path>\n<path d=\"M382.5 31h0\"></path>\n<rect x=\"277.5\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"330\" y=\"35\">FieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M382.5 31h20\"></path>\n<path d=\"M141 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 61h0\"></path>\n<path d=\"M374 61h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M161 61h0\"></path>\n<path d=\"M249 61h0\"></path>\n<rect x=\"161\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"205\" y=\"65\">\"REF TO\"</text>\n</g>\n<path d=\"M249 61h10\"></path>\n<path d=\"M259 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 61h0\"></path>\n<path d=\"M374 61h0\"></path>\n<rect x=\"269\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"321.5\" y=\"65\">FieldChain</text>\n</a>\n</g>\n</g>\n<path d=\"M382.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M161 91h0\"></path>\n<path d=\"M266 91h116.5\"></path>\n<rect x=\"161\" y=\"80\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"213.5\" y=\"95\">FieldChain</text>\n</a>\n</g>\n<path d=\"M382.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M545 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 130h0\"></path>\n<path d=\"M545 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 130h0\"></path>\n<path d=\"M131 130h0\"></path>\n<rect x=\"60\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"134\">\"TYPE\"</text>\n</g>\n<path d=\"M131 130h10\"></path>\n<g>\n<path d=\"M141 130h0\"></path>\n<path d=\"M545 130h0\"></path>\n<path d=\"M141 130h20\"></path>\n<g>\n<path d=\"M161 130h0\"></path>\n<path d=\"M495 130h30\"></path>\n<g class=\"terminal\">\n<path d=\"M161 130h0\"></path>\n<path d=\"M257.5 130h0\"></path>\n<rect x=\"161\" y=\"119\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"134\">\"LINE OF\"</text>\n</g>\n<path d=\"M257.5 130h10\"></path>\n<path d=\"M267.5 130h10\"></path>\n<g>\n<path d=\"M277.5 130h0\"></path>\n<path d=\"M495 130h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M277.5 130h0\"></path>\n<path d=\"M365.5 130h0\"></path>\n<rect x=\"277.5\" y=\"119\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"321.5\" y=\"134\">TypeName</text>\n</a>\n</g>\n<path d=\"M365.5 130h10\"></path>\n<g>\n<path d=\"M375.5 130h0\"></path>\n<path d=\"M495 130h0\"></path>\n<path d=\"M375.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M395.5 110h79.5\"></path>\n</g>\n<path d=\"M475 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M375.5 130h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M395.5 130h0\"></path>\n<path d=\"M475 130h0\"></path>\n<rect x=\"395.5\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Default\"><text x=\"435.25\" y=\"134\">Default</text>\n</a>\n</g>\n<path d=\"M475 130h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M525 130h20\"></path>\n<path d=\"M141 130a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 169h0\"></path>\n<path d=\"M486.5 169h38.5\"></path>\n<g class=\"terminal\">\n<path d=\"M161 169h0\"></path>\n<path d=\"M249 169h0\"></path>\n<rect x=\"161\" y=\"158\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"205\" y=\"173\">\"REF TO\"</text>\n</g>\n<path d=\"M249 169h10\"></path>\n<path d=\"M259 169h10\"></path>\n<g>\n<path d=\"M269 169h0\"></path>\n<path d=\"M486.5 169h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 169h0\"></path>\n<path d=\"M357 169h0\"></path>\n<rect x=\"269\" y=\"158\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"313\" y=\"173\">TypeName</text>\n</a>\n</g>\n<path d=\"M357 169h10\"></path>\n<g>\n<path d=\"M367 169h0\"></path>\n<path d=\"M486.5 169h0\"></path>\n<path d=\"M367 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M387 149h79.5\"></path>\n</g>\n<path d=\"M466.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M367 169h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M387 169h0\"></path>\n<path d=\"M466.5 169h0\"></path>\n<rect x=\"387\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Default\"><text x=\"426.75\" y=\"173\">Default</text>\n</a>\n</g>\n<path d=\"M466.5 169h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M525 169a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 130a10 10 0 0 1 10 10v58a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 208h0\"></path>\n<path d=\"M525 208h0\"></path>\n<g>\n<path d=\"M161 208h0\"></path>\n<path d=\"M378.5 208h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M161 208h0\"></path>\n<path d=\"M249 208h0\"></path>\n<rect x=\"161\" y=\"197\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"205\" y=\"212\">TypeName</text>\n</a>\n</g>\n<path d=\"M249 208h10\"></path>\n<g>\n<path d=\"M259 208h0\"></path>\n<path d=\"M378.5 208h0\"></path>\n<path d=\"M259 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M279 188h79.5\"></path>\n</g>\n<path d=\"M358.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M259 208h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 208h0\"></path>\n<path d=\"M358.5 208h0\"></path>\n<rect x=\"279\" y=\"197\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Default\"><text x=\"318.75\" y=\"212\">Default</text>\n</a>\n</g>\n<path d=\"M358.5 208h20\"></path>\n</g>\n</g>\n<path d=\"M378.5 208h10\"></path>\n<g>\n<path d=\"M388.5 208h0\"></path>\n<path d=\"M525 208h0\"></path>\n<path d=\"M388.5 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M408.5 188h96.5\"></path>\n</g>\n<path d=\"M505 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M388.5 208h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M408.5 208h0\"></path>\n<path d=\"M505 208h0\"></path>\n<rect x=\"408.5\" y=\"197\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LOBHandle\"><text x=\"456.75\" y=\"212\">LOBHandle</text>\n</a>\n</g>\n<path d=\"M505 208h20\"></path>\n</g>\n</g>\n<path d=\"M525 208a10 10 0 0 0 10 -10v-58a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M545 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 565 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/FieldSymbol",
+        "statement/Static",
+        "statement/Type"
+      ],
+      "filename": "type.ts"
+    },
+    {
+      "name": "TypeName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal(\"^[\\\\w~\\\\/%$]+$\"),Railroad.Choice(0, Railroad.Terminal('!\"=>\"'),Railroad.Terminal('!\"->\"')))),Railroad.Terminal(\"^[\\\\w~\\\\/%$]+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.Terminal(\"^[\\\\w~\\\\/%$]+$\"))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"772.5\" height=\"101\" viewBox=\"0 0 772.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M722.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M324.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h234.5\"></path>\n</g>\n<path d=\"M304.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M304.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M192 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"131\" y=\"44\">^&#91;\\w~\\/%$&#93;+$</text>\n</g>\n<path d=\"M192 40h10\"></path>\n<g>\n<path d=\"M202 40h0\"></path>\n<path d=\"M304.5 40h0\"></path>\n<path d=\"M202 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M222 40h0\"></path>\n<path d=\"M284.5 40h0\"></path>\n<rect x=\"222\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.25\" y=\"44\">!\"=>\"</text>\n</g>\n<path d=\"M284.5 40h20\"></path>\n<path d=\"M202 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M222 70h0\"></path>\n<path d=\"M284.5 70h0\"></path>\n<rect x=\"222\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.25\" y=\"74\">!\"->\"</text>\n</g>\n<path d=\"M284.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M304.5 40h20\"></path>\n</g>\n<path d=\"M324.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M334.5 40h0\"></path>\n<path d=\"M456.5 40h0\"></path>\n<rect x=\"334.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"395.5\" y=\"44\">^&#91;\\w~\\/%$&#93;+$</text>\n</g>\n<path d=\"M456.5 40h10\"></path>\n<g>\n<path d=\"M466.5 40h0\"></path>\n<path d=\"M722.5 40h0\"></path>\n<path d=\"M466.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M486.5 20h216\"></path>\n</g>\n<path d=\"M702.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M466.5 40h20\"></path>\n<g>\n<path d=\"M486.5 40h0\"></path>\n<path d=\"M702.5 40h0\"></path>\n<path d=\"M486.5 40h10\"></path>\n<g>\n<path d=\"M496.5 40h0\"></path>\n<path d=\"M692.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M496.5 40h0\"></path>\n<path d=\"M550.5 40h0\"></path>\n<rect x=\"496.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"523.5\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M550.5 40h10\"></path>\n<path d=\"M560.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M570.5 40h0\"></path>\n<path d=\"M692.5 40h0\"></path>\n<rect x=\"570.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"631.5\" y=\"44\">^&#91;\\w~\\/%$&#93;+$</text>\n</g>\n</g>\n<path d=\"M692.5 40h10\"></path>\n<path d=\"M496.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M496.5 60h196\"></path>\n</g>\n<path d=\"M692.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M702.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M722.5 40h10\"></path>\n<path d=\"M 732.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/FormParamType",
+        "expression/InlineFieldDefinition",
+        "expression/Type",
+        "expression/TypeNameOrInfer",
+        "expression/TypeTable",
+        "statement/Assign",
+        "statement/CreateData",
+        "statement/FieldSymbol",
+        "statement/IncludeType",
+        "statement/MethodDef",
+        "statement/Parameter",
+        "statement/TypeMesh"
+      ],
+      "filename": "type_name.ts"
+    },
+    {
+      "name": "TypeNameOrInfer",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Terminal('\"#\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}))).toString();",
+      "using": [
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"208\" height=\"92\" viewBox=\"0 0 208 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M168 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M105.5 31h42.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"82.75\" y=\"35\">\"#\"</text>\n</g>\n<path d=\"M148 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M148 61h0\"></path>\n<rect x=\"60\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"104\" y=\"65\">TypeName</text>\n</a>\n</g>\n<path d=\"M148 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 168 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Cast",
+        "expression/NewObject",
+        "expression/Source",
+        "expression/TypeParam"
+      ],
+      "filename": "type_name_or_infer.ts"
+    },
+    {
+      "name": "TypeParam",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"')),Railroad.Terminal('\"TABLE\"')),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"')),Railroad.Terminal('\"TABLE\"')),Railroad.Terminal('\"OF\"'))),Railroad.Optional(Railroad.Terminal('\"REF TO\"'))),Railroad.Terminal('\"LINE OF\"')),Railroad.NonTerminal('TypeNameOrInfer', {href: '#/expression/TypeNameOrInfer'}),Railroad.Optional(Railroad.NonTerminal('Default', {href: '#/expression/Default'}))))),Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.Optional(Railroad.Terminal('\"LINE OF\"')),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Optional(Railroad.NonTerminal('Default', {href: '#/expression/Default'}))))).toString();",
+      "using": [
+        "expression/Default",
+        "expression/FieldChain",
+        "expression/TypeNameOrInfer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1044.5\" height=\"410\" viewBox=\"0 0 1044.5 410\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M1004.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M984.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M131 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"35\">\"TYPE\"</text>\n</g>\n<path d=\"M131 31h10\"></path>\n<g>\n<path d=\"M141 31h0\"></path>\n<path d=\"M984.5 31h0\"></path>\n<path d=\"M141 31h20\"></path>\n<g>\n<path d=\"M161 31h0\"></path>\n<path d=\"M395.5 31h569\"></path>\n<g>\n<path d=\"M161 31h0\"></path>\n<path d=\"M306 31h0\"></path>\n<path d=\"M161 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 31h0\"></path>\n<path d=\"M286 31h0\"></path>\n<rect x=\"181\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.5\" y=\"35\">\"STANDARD\"</text>\n</g>\n<path d=\"M286 31h20\"></path>\n<path d=\"M161 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 61h0\"></path>\n<path d=\"M269 61h17\"></path>\n<rect x=\"181\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"65\">\"HASHED\"</text>\n</g>\n<path d=\"M286 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 91h0\"></path>\n<path d=\"M260.5 91h25.5\"></path>\n<rect x=\"181\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.75\" y=\"95\">\"INDEX\"</text>\n</g>\n<path d=\"M286 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 121h0\"></path>\n<path d=\"M269 121h17\"></path>\n<rect x=\"181\" y=\"110\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"125\">\"SORTED\"</text>\n</g>\n<path d=\"M286 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M161 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 151h0\"></path>\n<path d=\"M243.5 151h42.5\"></path>\n<rect x=\"181\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.25\" y=\"155\">\"ANY\"</text>\n</g>\n<path d=\"M286 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M306 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M316 31h0\"></path>\n<path d=\"M395.5 31h0\"></path>\n<rect x=\"316\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"355.75\" y=\"35\">\"TABLE\"</text>\n</g>\n</g>\n<path d=\"M964.5 31h20\"></path>\n<path d=\"M141 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 190h0\"></path>\n<path d=\"M964.5 190h0\"></path>\n<g>\n<path d=\"M161 190h0\"></path>\n<path d=\"M677.5 190h0\"></path>\n<path d=\"M161 190h20\"></path>\n<g>\n<path d=\"M181 190h0\"></path>\n<path d=\"M657.5 190h0\"></path>\n<g>\n<path d=\"M181 190h0\"></path>\n<path d=\"M529.5 190h0\"></path>\n<path d=\"M181 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M201 170h308.5\"></path>\n</g>\n<path d=\"M509.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M181 190h20\"></path>\n<g>\n<path d=\"M201 190h0\"></path>\n<path d=\"M509.5 190h0\"></path>\n<g>\n<path d=\"M201 190h0\"></path>\n<path d=\"M435.5 190h0\"></path>\n<g>\n<path d=\"M201 190h0\"></path>\n<path d=\"M346 190h0\"></path>\n<path d=\"M201 190h20\"></path>\n<g class=\"terminal\">\n<path d=\"M221 190h0\"></path>\n<path d=\"M326 190h0\"></path>\n<rect x=\"221\" y=\"179\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"273.5\" y=\"194\">\"STANDARD\"</text>\n</g>\n<path d=\"M326 190h20\"></path>\n<path d=\"M201 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 220h0\"></path>\n<path d=\"M309 220h17\"></path>\n<rect x=\"221\" y=\"209\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"224\">\"HASHED\"</text>\n</g>\n<path d=\"M326 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 190a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 250h0\"></path>\n<path d=\"M300.5 250h25.5\"></path>\n<rect x=\"221\" y=\"239\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.75\" y=\"254\">\"INDEX\"</text>\n</g>\n<path d=\"M326 250a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 190a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 280h0\"></path>\n<path d=\"M309 280h17\"></path>\n<rect x=\"221\" y=\"269\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"284\">\"SORTED\"</text>\n</g>\n<path d=\"M326 280a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 190a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 310h0\"></path>\n<path d=\"M283.5 310h42.5\"></path>\n<rect x=\"221\" y=\"299\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"252.25\" y=\"314\">\"ANY\"</text>\n</g>\n<path d=\"M326 310a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M346 190h10\"></path>\n<g class=\"terminal\">\n<path d=\"M356 190h0\"></path>\n<path d=\"M435.5 190h0\"></path>\n<rect x=\"356\" y=\"179\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"395.75\" y=\"194\">\"TABLE\"</text>\n</g>\n</g>\n<path d=\"M435.5 190h10\"></path>\n<path d=\"M445.5 190h10\"></path>\n<g class=\"terminal\">\n<path d=\"M455.5 190h0\"></path>\n<path d=\"M509.5 190h0\"></path>\n<rect x=\"455.5\" y=\"179\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"482.5\" y=\"194\">\"OF\"</text>\n</g>\n</g>\n<path d=\"M509.5 190h20\"></path>\n</g>\n<g>\n<path d=\"M529.5 190h0\"></path>\n<path d=\"M657.5 190h0\"></path>\n<path d=\"M529.5 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M549.5 170h88\"></path>\n</g>\n<path d=\"M637.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M529.5 190h20\"></path>\n<g class=\"terminal\">\n<path d=\"M549.5 190h0\"></path>\n<path d=\"M637.5 190h0\"></path>\n<rect x=\"549.5\" y=\"179\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"593.5\" y=\"194\">\"REF TO\"</text>\n</g>\n<path d=\"M637.5 190h20\"></path>\n</g>\n</g>\n<path d=\"M657.5 190h20\"></path>\n<path d=\"M161 190a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 340h0\"></path>\n<path d=\"M277.5 340h380\"></path>\n<rect x=\"181\" y=\"329\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.25\" y=\"344\">\"LINE OF\"</text>\n</g>\n<path d=\"M657.5 340a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M677.5 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M687.5 190h0\"></path>\n<path d=\"M835 190h0\"></path>\n<rect x=\"687.5\" y=\"179\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeNameOrInfer\"><text x=\"761.25\" y=\"194\">TypeNameOrInfer</text>\n</a>\n</g>\n<path d=\"M835 190h10\"></path>\n<g>\n<path d=\"M845 190h0\"></path>\n<path d=\"M964.5 190h0\"></path>\n<path d=\"M845 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M865 170h79.5\"></path>\n</g>\n<path d=\"M944.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M845 190h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M865 190h0\"></path>\n<path d=\"M944.5 190h0\"></path>\n<rect x=\"865\" y=\"179\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Default\"><text x=\"904.75\" y=\"194\">Default</text>\n</a>\n</g>\n<path d=\"M944.5 190h20\"></path>\n</g>\n</g>\n<path d=\"M964.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M984.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v328a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 379h0\"></path>\n<path d=\"M522 379h462.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 379h0\"></path>\n<path d=\"M131 379h0\"></path>\n<rect x=\"60\" y=\"368\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"383\">\"LIKE\"</text>\n</g>\n<path d=\"M131 379h10\"></path>\n<g>\n<path d=\"M141 379h0\"></path>\n<path d=\"M277.5 379h0\"></path>\n<path d=\"M141 379a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M161 359h96.5\"></path>\n</g>\n<path d=\"M257.5 359a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M141 379h20\"></path>\n<g class=\"terminal\">\n<path d=\"M161 379h0\"></path>\n<path d=\"M257.5 379h0\"></path>\n<rect x=\"161\" y=\"368\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"383\">\"LINE OF\"</text>\n</g>\n<path d=\"M257.5 379h20\"></path>\n</g>\n<path d=\"M277.5 379h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M287.5 379h0\"></path>\n<path d=\"M392.5 379h0\"></path>\n<rect x=\"287.5\" y=\"368\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"340\" y=\"383\">FieldChain</text>\n</a>\n</g>\n<path d=\"M392.5 379h10\"></path>\n<g>\n<path d=\"M402.5 379h0\"></path>\n<path d=\"M522 379h0\"></path>\n<path d=\"M402.5 379a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M422.5 359h79.5\"></path>\n</g>\n<path d=\"M502 359a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M402.5 379h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M422.5 379h0\"></path>\n<path d=\"M502 379h0\"></path>\n<rect x=\"422.5\" y=\"368\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Default\"><text x=\"462.25\" y=\"383\">Default</text>\n</a>\n</g>\n<path d=\"M502 379h20\"></path>\n</g>\n</g>\n<path d=\"M984.5 379a10 10 0 0 0 10 -10v-328a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1004.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/MethodDefReturning",
+        "expression/MethodParam"
+      ],
+      "filename": "type_param.ts"
+    },
+    {
+      "name": "TypeStructure",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"TYPE STRUCTURE FOR\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"HIERARCHY\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})),Railroad.Sequence(Railroad.Terminal('\"EVENT\"'),Railroad.NonTerminal('EventName', {href: '#/expression/EventName'}))))).toString();",
+      "using": [
+        "expression/EventName",
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"655\" height=\"92\" viewBox=\"0 0 655 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M605 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">\"TYPE STRUCTURE FOR\"</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<g>\n<path d=\"M250 31h0\"></path>\n<path d=\"M605 31h0\"></path>\n<path d=\"M250 31h20\"></path>\n<g>\n<path d=\"M270 31h0\"></path>\n<path d=\"M585 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M270 31h0\"></path>\n<path d=\"M383.5 31h0\"></path>\n<rect x=\"270\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"326.75\" y=\"35\">\"HIERARCHY\"</text>\n</g>\n<path d=\"M383.5 31h10\"></path>\n<path d=\"M393.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M403.5 31h0\"></path>\n<path d=\"M585 31h0\"></path>\n<rect x=\"403.5\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"494.25\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M585 31h20\"></path>\n<path d=\"M250 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M270 61h0\"></path>\n<path d=\"M466 61h119\"></path>\n<g class=\"terminal\">\n<path d=\"M270 61h0\"></path>\n<path d=\"M349.5 61h0\"></path>\n<rect x=\"270\" y=\"50\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"309.75\" y=\"65\">\"EVENT\"</text>\n</g>\n<path d=\"M349.5 61h10\"></path>\n<path d=\"M359.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M369.5 61h0\"></path>\n<path d=\"M466 61h0\"></path>\n<rect x=\"369.5\" y=\"50\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventName\"><text x=\"417.75\" y=\"65\">EventName</text>\n</a>\n</g>\n</g>\n<path d=\"M585 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M605 31h10\"></path>\n<path d=\"M 615 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Type"
+      ],
+      "filename": "type_structure.ts"
+    },
+    {
+      "name": "TypeTable",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Optional(Railroad.Terminal('\"WITH HEADER LINE\"'))),Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"REF TO\"')),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Optional(Railroad.Terminal('\"WITH HEADER LINE\"'))),Railroad.Terminal('\"WITH HEADER LINE\"'))),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"'))),Railroad.Terminal('\"TABLE OF\"'),Railroad.Optional(Railroad.Terminal('\"REF TO\"')),Railroad.Optional(Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"WITH HEADER LINE\"'),Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.OneOrMore(Railroad.NonTerminal('TypeTableKey', {href: '#/expression/TypeTableKey'}))))),Railroad.Sequence(Railroad.Terminal('\"RANGE OF\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Optional(Railroad.Terminal('\"WITH HEADER LINE\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.Optional(Railroad.Terminal('\"VALUE IS INITIAL\"'))))),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"REF TO\"')),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Optional(Railroad.Terminal('\"WITH HEADER LINE\"'))),Railroad.Terminal('\"WITH HEADER LINE\"'))),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"'))),Railroad.Terminal('\"TABLE\"')),Railroad.Sequence(Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"STANDARD\"'),Railroad.Terminal('\"HASHED\"'),Railroad.Terminal('\"INDEX\"'),Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"ANY\"'))),Railroad.Terminal('\"TABLE OF\"'),Railroad.Optional(Railroad.Terminal('\"REF TO\"')),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Choice(0, Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"WITH HEADER LINE\"'),Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.OneOrMore(Railroad.NonTerminal('TypeTableKey', {href: '#/expression/TypeTableKey'})))),Railroad.Sequence(Railroad.OneOrMore(Railroad.NonTerminal('TypeTableKey', {href: '#/expression/TypeTableKey'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))))))),Railroad.Sequence(Railroad.Terminal('\"RANGE OF\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.Terminal('\"WITH HEADER LINE\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.Optional(Railroad.Terminal('\"VALUE IS INITIAL\"'))),Railroad.Sequence(Railroad.Terminal('\"LINE OF\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Terminal('\"WITH HEADER LINE\"')),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"TABLE FOR\"'),Railroad.Choice(0, Railroad.Terminal('\"ACTION IMPORT\"'),Railroad.Terminal('\"ACTION RESULT\"'),Railroad.Terminal('\"CREATE\"'),Railroad.Terminal('\"EVENT\"'),Railroad.Terminal('\"FAILED\"'),Railroad.Terminal('\"LOCK\"'),Railroad.Terminal('\"READ RESULT\"'),Railroad.Terminal('\"UPDATE\"')),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}))))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/FieldChain",
+        "expression/Integer",
+        "expression/TypeName",
+        "expression/TypeTableKey"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1306\" height=\"1034\" viewBox=\"0 0 1306 1034\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M1266 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M470.5 40h775.5\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M247.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M148 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"44\">\"OCCURS\"</text>\n</g>\n<path d=\"M148 40h10\"></path>\n<path d=\"M158 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M247.5 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"207.75\" y=\"44\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M247.5 40h10\"></path>\n<g>\n<path d=\"M257.5 40h0\"></path>\n<path d=\"M470.5 40h0\"></path>\n<path d=\"M257.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M277.5 20h173\"></path>\n</g>\n<path d=\"M450.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M257.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M277.5 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<rect x=\"277.5\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364\" y=\"44\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M450.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1246 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 79h0\"></path>\n<path d=\"M1134 79h112\"></path>\n<g class=\"terminal\">\n<path d=\"M60 79h0\"></path>\n<path d=\"M131 79h0\"></path>\n<rect x=\"60\" y=\"68\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"83\">\"LIKE\"</text>\n</g>\n<path d=\"M131 79h10\"></path>\n<g>\n<path d=\"M141 79h0\"></path>\n<path d=\"M1134 79h0\"></path>\n<path d=\"M141 79h20\"></path>\n<g>\n<path d=\"M161 79h0\"></path>\n<path d=\"M864.5 79h249.5\"></path>\n<g>\n<path d=\"M161 79h0\"></path>\n<path d=\"M289 79h0\"></path>\n<path d=\"M161 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 59h88\"></path>\n</g>\n<path d=\"M269 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 79h0\"></path>\n<path d=\"M269 79h0\"></path>\n<rect x=\"181\" y=\"68\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"83\">\"REF TO\"</text>\n</g>\n<path d=\"M269 79h20\"></path>\n</g>\n<path d=\"M289 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M299 79h0\"></path>\n<path d=\"M404 79h0\"></path>\n<rect x=\"299\" y=\"68\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"351.5\" y=\"83\">FieldChain</text>\n</a>\n</g>\n<path d=\"M404 79h10\"></path>\n<g>\n<path d=\"M414 79h0\"></path>\n<path d=\"M864.5 79h0\"></path>\n<path d=\"M414 79h20\"></path>\n<g>\n<path d=\"M434 79h0\"></path>\n<path d=\"M844.5 79h0\"></path>\n<g>\n<path d=\"M434 79h0\"></path>\n<path d=\"M621.5 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M434 79h0\"></path>\n<path d=\"M522 79h0\"></path>\n<rect x=\"434\" y=\"68\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"478\" y=\"83\">\"OCCURS\"</text>\n</g>\n<path d=\"M522 79h10\"></path>\n<path d=\"M532 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M542 79h0\"></path>\n<path d=\"M621.5 79h0\"></path>\n<rect x=\"542\" y=\"68\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"581.75\" y=\"83\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M621.5 79h10\"></path>\n<g>\n<path d=\"M631.5 79h0\"></path>\n<path d=\"M844.5 79h0\"></path>\n<path d=\"M631.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M651.5 59h173\"></path>\n</g>\n<path d=\"M824.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M631.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M651.5 79h0\"></path>\n<path d=\"M824.5 79h0\"></path>\n<rect x=\"651.5\" y=\"68\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"738\" y=\"83\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M824.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M844.5 79h20\"></path>\n<path d=\"M414 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M434 109h0\"></path>\n<path d=\"M607 109h237.5\"></path>\n<rect x=\"434\" y=\"98\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"520.5\" y=\"113\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M844.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1114 79h20\"></path>\n<path d=\"M141 79a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 148h0\"></path>\n<path d=\"M1101 148h13\"></path>\n<g>\n<path d=\"M161 148h0\"></path>\n<path d=\"M346 148h0\"></path>\n<path d=\"M161 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 128h145\"></path>\n</g>\n<path d=\"M326 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 148h20\"></path>\n<g>\n<path d=\"M181 148h0\"></path>\n<path d=\"M326 148h0\"></path>\n<path d=\"M181 148h20\"></path>\n<g class=\"terminal\">\n<path d=\"M201 148h0\"></path>\n<path d=\"M306 148h0\"></path>\n<rect x=\"201\" y=\"137\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.5\" y=\"152\">\"STANDARD\"</text>\n</g>\n<path d=\"M306 148h20\"></path>\n<path d=\"M181 148a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 178h0\"></path>\n<path d=\"M289 178h17\"></path>\n<rect x=\"201\" y=\"167\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"245\" y=\"182\">\"HASHED\"</text>\n</g>\n<path d=\"M306 178a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M181 148a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 208h0\"></path>\n<path d=\"M280.5 208h25.5\"></path>\n<rect x=\"201\" y=\"197\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.75\" y=\"212\">\"INDEX\"</text>\n</g>\n<path d=\"M306 208a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M181 148a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 238h0\"></path>\n<path d=\"M289 238h17\"></path>\n<rect x=\"201\" y=\"227\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"245\" y=\"242\">\"SORTED\"</text>\n</g>\n<path d=\"M306 238a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M181 148a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 268h0\"></path>\n<path d=\"M263.5 268h42.5\"></path>\n<rect x=\"201\" y=\"257\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"232.25\" y=\"272\">\"ANY\"</text>\n</g>\n<path d=\"M306 268a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M326 148h20\"></path>\n</g>\n<path d=\"M346 148h10\"></path>\n<g class=\"terminal\">\n<path d=\"M356 148h0\"></path>\n<path d=\"M461 148h0\"></path>\n<rect x=\"356\" y=\"137\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"408.5\" y=\"152\">\"TABLE OF\"</text>\n</g>\n<path d=\"M461 148h10\"></path>\n<g>\n<path d=\"M471 148h0\"></path>\n<path d=\"M599 148h0\"></path>\n<path d=\"M471 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M491 128h88\"></path>\n</g>\n<path d=\"M579 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M471 148h20\"></path>\n<g class=\"terminal\">\n<path d=\"M491 148h0\"></path>\n<path d=\"M579 148h0\"></path>\n<rect x=\"491\" y=\"137\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"535\" y=\"152\">\"REF TO\"</text>\n</g>\n<path d=\"M579 148h20\"></path>\n</g>\n<g>\n<path d=\"M599 148h0\"></path>\n<path d=\"M744 148h0\"></path>\n<path d=\"M599 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M619 128h105\"></path>\n</g>\n<path d=\"M724 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M599 148h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M619 148h0\"></path>\n<path d=\"M724 148h0\"></path>\n<rect x=\"619\" y=\"137\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"671.5\" y=\"152\">FieldChain</text>\n</a>\n</g>\n<path d=\"M724 148h20\"></path>\n</g>\n<g>\n<path d=\"M744 148h0\"></path>\n<path d=\"M1101 148h0\"></path>\n<path d=\"M744 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M764 128h317\"></path>\n</g>\n<path d=\"M1081 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M744 148h20\"></path>\n<g>\n<path d=\"M764 148h0\"></path>\n<path d=\"M1081 148h0\"></path>\n<path d=\"M794 148h10\"></path>\n<g class=\"terminal\">\n<path d=\"M804 148h0\"></path>\n<path d=\"M977 148h74\"></path>\n<rect x=\"804\" y=\"137\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"890.5\" y=\"152\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M1051 148h10\"></path>\n<path d=\"M794 148v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M804 178h0\"></path>\n<path d=\"M1051 178h0\"></path>\n<g class=\"terminal\">\n<path d=\"M804 178h0\"></path>\n<path d=\"M943 178h0\"></path>\n<rect x=\"804\" y=\"167\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"873.5\" y=\"182\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M943 178h10\"></path>\n<path d=\"M953 178h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M963 178h0\"></path>\n<path d=\"M1051 178h0\"></path>\n<rect x=\"963\" y=\"167\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1007\" y=\"182\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M1051 178a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M794 148v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M804 208h0\"></path>\n<path d=\"M946 208h105\"></path>\n<path d=\"M804 208h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M814 208h0\"></path>\n<path d=\"M936 208h0\"></path>\n<rect x=\"814\" y=\"197\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTableKey\"><text x=\"875\" y=\"212\">TypeTableKey</text>\n</a>\n</g>\n<path d=\"M936 208h10\"></path>\n<path d=\"M814 208a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M814 228h122\"></path>\n</g>\n<path d=\"M936 228a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1051 208a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 794 138 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"779\" y=\"152\" class=\"diagram-text\">1+</text>\n<path d=\"M 1061 138 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1068 146 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1081 148h20\"></path>\n</g>\n</g>\n<path d=\"M1114 148a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 79a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 307h0\"></path>\n<path d=\"M1114 307h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 307h0\"></path>\n<path d=\"M266 307h0\"></path>\n<rect x=\"161\" y=\"296\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"213.5\" y=\"311\">\"RANGE OF\"</text>\n</g>\n<path d=\"M266 307h10\"></path>\n<path d=\"M276 307h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M286 307h0\"></path>\n<path d=\"M391 307h0\"></path>\n<rect x=\"286\" y=\"296\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"338.5\" y=\"311\">FieldChain</text>\n</a>\n</g>\n<path d=\"M391 307h10\"></path>\n<g>\n<path d=\"M401 307h0\"></path>\n<path d=\"M614 307h0\"></path>\n<path d=\"M401 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M421 287h173\"></path>\n</g>\n<path d=\"M594 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M401 307h20\"></path>\n<g class=\"terminal\">\n<path d=\"M421 307h0\"></path>\n<path d=\"M594 307h0\"></path>\n<rect x=\"421\" y=\"296\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507.5\" y=\"311\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M594 307h20\"></path>\n</g>\n<g>\n<path d=\"M614 307h0\"></path>\n<path d=\"M901 307h0\"></path>\n<path d=\"M614 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M634 287h247\"></path>\n</g>\n<path d=\"M881 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M614 307h20\"></path>\n<g>\n<path d=\"M634 307h0\"></path>\n<path d=\"M881 307h0\"></path>\n<g class=\"terminal\">\n<path d=\"M634 307h0\"></path>\n<path d=\"M773 307h0\"></path>\n<rect x=\"634\" y=\"296\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"703.5\" y=\"311\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M773 307h10\"></path>\n<path d=\"M783 307h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M793 307h0\"></path>\n<path d=\"M881 307h0\"></path>\n<rect x=\"793\" y=\"296\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"837\" y=\"311\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M881 307h20\"></path>\n</g>\n<g>\n<path d=\"M901 307h0\"></path>\n<path d=\"M1114 307h0\"></path>\n<path d=\"M901 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M921 287h173\"></path>\n</g>\n<path d=\"M1094 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M901 307h20\"></path>\n<g class=\"terminal\">\n<path d=\"M921 307h0\"></path>\n<path d=\"M1094 307h0\"></path>\n<rect x=\"921\" y=\"296\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1007.5\" y=\"311\">\"VALUE IS INITIAL\"</text>\n</g>\n<path d=\"M1094 307h20\"></path>\n</g>\n</g>\n<path d=\"M1114 307a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1246 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v286a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 346h0\"></path>\n<path d=\"M1246 346h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 346h0\"></path>\n<path d=\"M131 346h0\"></path>\n<rect x=\"60\" y=\"335\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"350\">\"TYPE\"</text>\n</g>\n<path d=\"M131 346h10\"></path>\n<g>\n<path d=\"M141 346h0\"></path>\n<path d=\"M1246 346h0\"></path>\n<path d=\"M141 346h20\"></path>\n<g>\n<path d=\"M161 346h0\"></path>\n<path d=\"M847.5 346h378.5\"></path>\n<g>\n<path d=\"M161 346h0\"></path>\n<path d=\"M289 346h0\"></path>\n<path d=\"M161 346a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 326h88\"></path>\n</g>\n<path d=\"M269 326a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 346h20\"></path>\n<g class=\"terminal\">\n<path d=\"M181 346h0\"></path>\n<path d=\"M269 346h0\"></path>\n<rect x=\"181\" y=\"335\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225\" y=\"350\">\"REF TO\"</text>\n</g>\n<path d=\"M269 346h20\"></path>\n</g>\n<path d=\"M289 346h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M299 346h0\"></path>\n<path d=\"M387 346h0\"></path>\n<rect x=\"299\" y=\"335\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"343\" y=\"350\">TypeName</text>\n</a>\n</g>\n<path d=\"M387 346h10\"></path>\n<g>\n<path d=\"M397 346h0\"></path>\n<path d=\"M847.5 346h0\"></path>\n<path d=\"M397 346h20\"></path>\n<g>\n<path d=\"M417 346h0\"></path>\n<path d=\"M827.5 346h0\"></path>\n<g>\n<path d=\"M417 346h0\"></path>\n<path d=\"M604.5 346h0\"></path>\n<g class=\"terminal\">\n<path d=\"M417 346h0\"></path>\n<path d=\"M505 346h0\"></path>\n<rect x=\"417\" y=\"335\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"461\" y=\"350\">\"OCCURS\"</text>\n</g>\n<path d=\"M505 346h10\"></path>\n<path d=\"M515 346h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M525 346h0\"></path>\n<path d=\"M604.5 346h0\"></path>\n<rect x=\"525\" y=\"335\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"564.75\" y=\"350\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M604.5 346h10\"></path>\n<g>\n<path d=\"M614.5 346h0\"></path>\n<path d=\"M827.5 346h0\"></path>\n<path d=\"M614.5 346a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M634.5 326h173\"></path>\n</g>\n<path d=\"M807.5 326a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M614.5 346h20\"></path>\n<g class=\"terminal\">\n<path d=\"M634.5 346h0\"></path>\n<path d=\"M807.5 346h0\"></path>\n<rect x=\"634.5\" y=\"335\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"721\" y=\"350\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M807.5 346h20\"></path>\n</g>\n</g>\n<path d=\"M827.5 346h20\"></path>\n<path d=\"M397 346a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M417 376h0\"></path>\n<path d=\"M590 376h237.5\"></path>\n<rect x=\"417\" y=\"365\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"503.5\" y=\"380\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M827.5 376a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1226 346h20\"></path>\n<path d=\"M141 346a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 415h0\"></path>\n<path d=\"M1226 415h0\"></path>\n<path d=\"M161 415h20\"></path>\n<g>\n<path d=\"M181 415h0\"></path>\n<path d=\"M455.5 415h750.5\"></path>\n<g>\n<path d=\"M181 415h0\"></path>\n<path d=\"M366 415h0\"></path>\n<path d=\"M181 415a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M201 395h145\"></path>\n</g>\n<path d=\"M346 395a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M181 415h20\"></path>\n<g>\n<path d=\"M201 415h0\"></path>\n<path d=\"M346 415h0\"></path>\n<path d=\"M201 415h20\"></path>\n<g class=\"terminal\">\n<path d=\"M221 415h0\"></path>\n<path d=\"M326 415h0\"></path>\n<rect x=\"221\" y=\"404\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"273.5\" y=\"419\">\"STANDARD\"</text>\n</g>\n<path d=\"M326 415h20\"></path>\n<path d=\"M201 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 445h0\"></path>\n<path d=\"M309 445h17\"></path>\n<rect x=\"221\" y=\"434\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"449\">\"HASHED\"</text>\n</g>\n<path d=\"M326 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 415a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 475h0\"></path>\n<path d=\"M300.5 475h25.5\"></path>\n<rect x=\"221\" y=\"464\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.75\" y=\"479\">\"INDEX\"</text>\n</g>\n<path d=\"M326 475a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 415a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 505h0\"></path>\n<path d=\"M309 505h17\"></path>\n<rect x=\"221\" y=\"494\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"509\">\"SORTED\"</text>\n</g>\n<path d=\"M326 505a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 415a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 535h0\"></path>\n<path d=\"M283.5 535h42.5\"></path>\n<rect x=\"221\" y=\"524\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"252.25\" y=\"539\">\"ANY\"</text>\n</g>\n<path d=\"M326 535a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M346 415h20\"></path>\n</g>\n<path d=\"M366 415h10\"></path>\n<g class=\"terminal\">\n<path d=\"M376 415h0\"></path>\n<path d=\"M455.5 415h0\"></path>\n<rect x=\"376\" y=\"404\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"415.75\" y=\"419\">\"TABLE\"</text>\n</g>\n</g>\n<path d=\"M1206 415h20\"></path>\n<path d=\"M161 415a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M181 574h0\"></path>\n<path d=\"M1206 574h0\"></path>\n<g>\n<path d=\"M181 574h0\"></path>\n<path d=\"M717 574h0\"></path>\n<g>\n<path d=\"M181 574h0\"></path>\n<path d=\"M366 574h0\"></path>\n<path d=\"M181 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M201 554h145\"></path>\n</g>\n<path d=\"M346 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M181 574h20\"></path>\n<g>\n<path d=\"M201 574h0\"></path>\n<path d=\"M346 574h0\"></path>\n<path d=\"M201 574h20\"></path>\n<g class=\"terminal\">\n<path d=\"M221 574h0\"></path>\n<path d=\"M326 574h0\"></path>\n<rect x=\"221\" y=\"563\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"273.5\" y=\"578\">\"STANDARD\"</text>\n</g>\n<path d=\"M326 574h20\"></path>\n<path d=\"M201 574a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 604h0\"></path>\n<path d=\"M309 604h17\"></path>\n<rect x=\"221\" y=\"593\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"608\">\"HASHED\"</text>\n</g>\n<path d=\"M326 604a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 574a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 634h0\"></path>\n<path d=\"M300.5 634h25.5\"></path>\n<rect x=\"221\" y=\"623\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.75\" y=\"638\">\"INDEX\"</text>\n</g>\n<path d=\"M326 634a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 574a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 664h0\"></path>\n<path d=\"M309 664h17\"></path>\n<rect x=\"221\" y=\"653\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"668\">\"SORTED\"</text>\n</g>\n<path d=\"M326 664a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M201 574a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 694h0\"></path>\n<path d=\"M283.5 694h42.5\"></path>\n<rect x=\"221\" y=\"683\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"252.25\" y=\"698\">\"ANY\"</text>\n</g>\n<path d=\"M326 694a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M346 574h20\"></path>\n</g>\n<path d=\"M366 574h10\"></path>\n<g class=\"terminal\">\n<path d=\"M376 574h0\"></path>\n<path d=\"M481 574h0\"></path>\n<rect x=\"376\" y=\"563\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428.5\" y=\"578\">\"TABLE OF\"</text>\n</g>\n<path d=\"M481 574h10\"></path>\n<g>\n<path d=\"M491 574h0\"></path>\n<path d=\"M619 574h0\"></path>\n<path d=\"M491 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M511 554h88\"></path>\n</g>\n<path d=\"M599 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M491 574h20\"></path>\n<g class=\"terminal\">\n<path d=\"M511 574h0\"></path>\n<path d=\"M599 574h0\"></path>\n<rect x=\"511\" y=\"563\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"555\" y=\"578\">\"REF TO\"</text>\n</g>\n<path d=\"M599 574h20\"></path>\n</g>\n<path d=\"M619 574h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M629 574h0\"></path>\n<path d=\"M717 574h0\"></path>\n<rect x=\"629\" y=\"563\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"673\" y=\"578\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M717 574h10\"></path>\n<g>\n<path d=\"M727 574h0\"></path>\n<path d=\"M1206 574h0\"></path>\n<path d=\"M727 574h20\"></path>\n<g>\n<path d=\"M747 574h0\"></path>\n<path d=\"M1104 574h82\"></path>\n<path d=\"M747 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M767 554h317\"></path>\n</g>\n<path d=\"M1084 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M747 574h20\"></path>\n<g>\n<path d=\"M767 574h0\"></path>\n<path d=\"M1084 574h0\"></path>\n<path d=\"M797 574h10\"></path>\n<g class=\"terminal\">\n<path d=\"M807 574h0\"></path>\n<path d=\"M980 574h74\"></path>\n<rect x=\"807\" y=\"563\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"893.5\" y=\"578\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M1054 574h10\"></path>\n<path d=\"M797 574v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M807 604h0\"></path>\n<path d=\"M1054 604h0\"></path>\n<g class=\"terminal\">\n<path d=\"M807 604h0\"></path>\n<path d=\"M946 604h0\"></path>\n<rect x=\"807\" y=\"593\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"876.5\" y=\"608\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M946 604h10\"></path>\n<path d=\"M956 604h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M966 604h0\"></path>\n<path d=\"M1054 604h0\"></path>\n<rect x=\"966\" y=\"593\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1010\" y=\"608\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M1054 604a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M797 574v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M807 634h0\"></path>\n<path d=\"M949 634h105\"></path>\n<path d=\"M807 634h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M817 634h0\"></path>\n<path d=\"M939 634h0\"></path>\n<rect x=\"817\" y=\"623\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTableKey\"><text x=\"878\" y=\"638\">TypeTableKey</text>\n</a>\n</g>\n<path d=\"M939 634h10\"></path>\n<path d=\"M817 634a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M817 654h122\"></path>\n</g>\n<path d=\"M939 654a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1054 634a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 797 564 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"782\" y=\"578\" class=\"diagram-text\">1+</text>\n<path d=\"M 1064 564 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1071 572 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1084 574h20\"></path>\n</g>\n<path d=\"M1186 574h20\"></path>\n<path d=\"M727 574a10 10 0 0 1 10 10v88a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M747 682h0\"></path>\n<path d=\"M1186 682h0\"></path>\n<g>\n<path d=\"M747 682h0\"></path>\n<path d=\"M889 682h0\"></path>\n<path d=\"M747 682h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M757 682h0\"></path>\n<path d=\"M879 682h0\"></path>\n<rect x=\"757\" y=\"671\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTableKey\"><text x=\"818\" y=\"686\">TypeTableKey</text>\n</a>\n</g>\n<path d=\"M879 682h10\"></path>\n<path d=\"M757 682a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M757 702h122\"></path>\n</g>\n<path d=\"M879 702a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M889 682h10\"></path>\n<g>\n<path d=\"M899 682h0\"></path>\n<path d=\"M1186 682h0\"></path>\n<path d=\"M899 682a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M919 662h247\"></path>\n</g>\n<path d=\"M1166 662a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M899 682h20\"></path>\n<g>\n<path d=\"M919 682h0\"></path>\n<path d=\"M1166 682h0\"></path>\n<g class=\"terminal\">\n<path d=\"M919 682h0\"></path>\n<path d=\"M1058 682h0\"></path>\n<rect x=\"919\" y=\"671\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"988.5\" y=\"686\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M1058 682h10\"></path>\n<path d=\"M1068 682h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1078 682h0\"></path>\n<path d=\"M1166 682h0\"></path>\n<rect x=\"1078\" y=\"671\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1122\" y=\"686\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M1166 682h20\"></path>\n</g>\n</g>\n<path d=\"M1186 682a10 10 0 0 0 10 -10v-88a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1206 574a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1226 415a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 346a10 10 0 0 1 10 10v367a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 733h0\"></path>\n<path d=\"M1097 733h129\"></path>\n<g class=\"terminal\">\n<path d=\"M161 733h0\"></path>\n<path d=\"M266 733h0\"></path>\n<rect x=\"161\" y=\"722\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"213.5\" y=\"737\">\"RANGE OF\"</text>\n</g>\n<path d=\"M266 733h10\"></path>\n<path d=\"M276 733h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M286 733h0\"></path>\n<path d=\"M374 733h0\"></path>\n<rect x=\"286\" y=\"722\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"330\" y=\"737\">TypeName</text>\n</a>\n</g>\n<path d=\"M374 733h10\"></path>\n<g>\n<path d=\"M384 733h0\"></path>\n<path d=\"M597 733h0\"></path>\n<path d=\"M384 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M404 713h173\"></path>\n</g>\n<path d=\"M577 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M384 733h20\"></path>\n<g class=\"terminal\">\n<path d=\"M404 733h0\"></path>\n<path d=\"M577 733h0\"></path>\n<rect x=\"404\" y=\"722\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"490.5\" y=\"737\">\"WITH HEADER LINE\"</text>\n</g>\n<path d=\"M577 733h20\"></path>\n</g>\n<g>\n<path d=\"M597 733h0\"></path>\n<path d=\"M884 733h0\"></path>\n<path d=\"M597 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M617 713h247\"></path>\n</g>\n<path d=\"M864 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M597 733h20\"></path>\n<g>\n<path d=\"M617 733h0\"></path>\n<path d=\"M864 733h0\"></path>\n<g class=\"terminal\">\n<path d=\"M617 733h0\"></path>\n<path d=\"M756 733h0\"></path>\n<rect x=\"617\" y=\"722\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"686.5\" y=\"737\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M756 733h10\"></path>\n<path d=\"M766 733h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M776 733h0\"></path>\n<path d=\"M864 733h0\"></path>\n<rect x=\"776\" y=\"722\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"820\" y=\"737\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M864 733h20\"></path>\n</g>\n<g>\n<path d=\"M884 733h0\"></path>\n<path d=\"M1097 733h0\"></path>\n<path d=\"M884 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M904 713h173\"></path>\n</g>\n<path d=\"M1077 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M884 733h20\"></path>\n<g class=\"terminal\">\n<path d=\"M904 733h0\"></path>\n<path d=\"M1077 733h0\"></path>\n<rect x=\"904\" y=\"722\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"990.5\" y=\"737\">\"VALUE IS INITIAL\"</text>\n</g>\n<path d=\"M1077 733h20\"></path>\n</g>\n</g>\n<path d=\"M1226 733a10 10 0 0 0 10 -10v-367a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 346a10 10 0 0 1 10 10v397a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 763h0\"></path>\n<path d=\"M766 763h460\"></path>\n<g class=\"terminal\">\n<path d=\"M161 763h0\"></path>\n<path d=\"M257.5 763h0\"></path>\n<rect x=\"161\" y=\"752\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"209.25\" y=\"767\">\"LINE OF\"</text>\n</g>\n<path d=\"M257.5 763h10\"></path>\n<path d=\"M267.5 763h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M277.5 763h0\"></path>\n<path d=\"M365.5 763h0\"></path>\n<rect x=\"277.5\" y=\"752\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"321.5\" y=\"767\">TypeName</text>\n</a>\n</g>\n<path d=\"M365.5 763h10\"></path>\n<path d=\"M375.5 763h10\"></path>\n<g>\n<path d=\"M385.5 763h0\"></path>\n<path d=\"M573 763h0\"></path>\n<g class=\"terminal\">\n<path d=\"M385.5 763h0\"></path>\n<path d=\"M473.5 763h0\"></path>\n<rect x=\"385.5\" y=\"752\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"429.5\" y=\"767\">\"OCCURS\"</text>\n</g>\n<path d=\"M473.5 763h10\"></path>\n<path d=\"M483.5 763h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M493.5 763h0\"></path>\n<path d=\"M573 763h0\"></path>\n<rect x=\"493.5\" y=\"752\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"533.25\" y=\"767\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M573 763h10\"></path>\n<path d=\"M583 763h10\"></path>\n<g class=\"terminal\">\n<path d=\"M593 763h0\"></path>\n<path d=\"M766 763h0\"></path>\n<rect x=\"593\" y=\"752\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679.5\" y=\"767\">\"WITH HEADER LINE\"</text>\n</g>\n</g>\n<path d=\"M1226 763a10 10 0 0 0 10 -10v-397a10 10 0 0 1 10 -10\"></path>\n<path d=\"M141 346a10 10 0 0 1 10 10v427a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 793h0\"></path>\n<path d=\"M628 793h598\"></path>\n<g>\n<path d=\"M161 793h0\"></path>\n<path d=\"M199 793h0\"></path>\n<text x=\"180\" y=\"798\" class=\"comment\">v754</text>\n</g>\n<path d=\"M199 793h10\"></path>\n<path d=\"M209 793h10\"></path>\n<g>\n<path d=\"M219 793h0\"></path>\n<path d=\"M628 793h0\"></path>\n<g class=\"terminal\">\n<path d=\"M219 793h0\"></path>\n<path d=\"M332.5 793h0\"></path>\n<rect x=\"219\" y=\"782\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"275.75\" y=\"797\">\"TABLE FOR\"</text>\n</g>\n<path d=\"M332.5 793h10\"></path>\n<g>\n<path d=\"M342.5 793h0\"></path>\n<path d=\"M530 793h0\"></path>\n<path d=\"M342.5 793h20\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 793h0\"></path>\n<path d=\"M510 793h0\"></path>\n<rect x=\"362.5\" y=\"782\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"436.25\" y=\"797\">\"ACTION IMPORT\"</text>\n</g>\n<path d=\"M510 793h20\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 823h0\"></path>\n<path d=\"M510 823h0\"></path>\n<rect x=\"362.5\" y=\"812\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"436.25\" y=\"827\">\"ACTION RESULT\"</text>\n</g>\n<path d=\"M510 823a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 853h0\"></path>\n<path d=\"M450.5 853h59.5\"></path>\n<rect x=\"362.5\" y=\"842\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.5\" y=\"857\">\"CREATE\"</text>\n</g>\n<path d=\"M510 853a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 883h0\"></path>\n<path d=\"M442 883h68\"></path>\n<rect x=\"362.5\" y=\"872\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402.25\" y=\"887\">\"EVENT\"</text>\n</g>\n<path d=\"M510 883a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 913h0\"></path>\n<path d=\"M450.5 913h59.5\"></path>\n<rect x=\"362.5\" y=\"902\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.5\" y=\"917\">\"FAILED\"</text>\n</g>\n<path d=\"M510 913a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 943h0\"></path>\n<path d=\"M433.5 943h76.5\"></path>\n<rect x=\"362.5\" y=\"932\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398\" y=\"947\">\"LOCK\"</text>\n</g>\n<path d=\"M510 943a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 973h0\"></path>\n<path d=\"M493 973h17\"></path>\n<rect x=\"362.5\" y=\"962\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"427.75\" y=\"977\">\"READ RESULT\"</text>\n</g>\n<path d=\"M510 973a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 793a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 1003h0\"></path>\n<path d=\"M450.5 1003h59.5\"></path>\n<rect x=\"362.5\" y=\"992\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.5\" y=\"1007\">\"UPDATE\"</text>\n</g>\n<path d=\"M510 1003a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M530 793h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M540 793h0\"></path>\n<path d=\"M628 793h0\"></path>\n<rect x=\"540\" y=\"782\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"584\" y=\"797\">TypeName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1226 793a10 10 0 0 0 10 -10v-427a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1246 346a10 10 0 0 0 10 -10v-286a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1266 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/FieldSymbol",
+        "statement/Static",
+        "statement/Type"
+      ],
+      "filename": "type_table.ts"
+    },
+    {
+      "name": "TypeTableKey",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"NON-UNIQUE\"'),Railroad.Terminal('\"UNIQUE\"'))),Railroad.Choice(0, Railroad.Terminal('\"DEFAULT KEY\"'),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Terminal('\"EMPTY KEY\"')),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"SORTED\"'),Railroad.Terminal('\"HASHED\"'))),Railroad.Terminal('\"KEY\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"COMPONENTS\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Terminal('!FailStar')),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})))),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Terminal('!FailStar')),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})))))),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"WITHOUT\"'),Railroad.Terminal('\"WITH\"')),Railroad.Terminal('\"FURTHER SECONDARY KEYS\"'))),Railroad.Optional(Railroad.Terminal('\"READ-ONLY\"')))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/FieldSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1749.5\" height=\"246\" viewBox=\"0 0 1749.5 246\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1699.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M333 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h162\"></path>\n</g>\n<path d=\"M313 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M313 40h0\"></path>\n<path d=\"M151 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M171 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<rect x=\"171\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"232\" y=\"44\">\"NON-UNIQUE\"</text>\n</g>\n<path d=\"M293 40h20\"></path>\n<path d=\"M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M171 70h0\"></path>\n<path d=\"M259 70h34\"></path>\n<rect x=\"171\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"215\" y=\"74\">\"UNIQUE\"</text>\n</g>\n<path d=\"M293 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M313 40h20\"></path>\n</g>\n<g>\n<path d=\"M333 40h0\"></path>\n<path d=\"M1135.5 40h0\"></path>\n<path d=\"M333 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M353 40h0\"></path>\n<path d=\"M483.5 40h632\"></path>\n<rect x=\"353\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"418.25\" y=\"44\">\"DEFAULT KEY\"</text>\n</g>\n<path d=\"M1115.5 40h20\"></path>\n<path d=\"M333 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M353 70h0\"></path>\n<path d=\"M552.5 70h563\"></path>\n<g>\n<path d=\"M353 70h0\"></path>\n<path d=\"M419 70h0\"></path>\n<text x=\"386\" y=\"75\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M419 70h10\"></path>\n<path d=\"M429 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M439 70h0\"></path>\n<path d=\"M552.5 70h0\"></path>\n<rect x=\"439\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495.75\" y=\"74\">\"EMPTY KEY\"</text>\n</g>\n</g>\n<path d=\"M1115.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M333 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M353 109h0\"></path>\n<path d=\"M1115.5 109h0\"></path>\n<g>\n<path d=\"M353 109h0\"></path>\n<path d=\"M521 109h0\"></path>\n<path d=\"M353 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M373 89h128\"></path>\n</g>\n<path d=\"M501 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M353 109h20\"></path>\n<g>\n<path d=\"M373 109h0\"></path>\n<path d=\"M501 109h0\"></path>\n<path d=\"M373 109h20\"></path>\n<g class=\"terminal\">\n<path d=\"M393 109h0\"></path>\n<path d=\"M481 109h0\"></path>\n<rect x=\"393\" y=\"98\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"437\" y=\"113\">\"SORTED\"</text>\n</g>\n<path d=\"M481 109h20\"></path>\n<path d=\"M373 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M393 139h0\"></path>\n<path d=\"M481 139h0\"></path>\n<rect x=\"393\" y=\"128\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"437\" y=\"143\">\"HASHED\"</text>\n</g>\n<path d=\"M481 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M501 109h20\"></path>\n</g>\n<path d=\"M521 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M531 109h0\"></path>\n<path d=\"M593.5 109h0\"></path>\n<rect x=\"531\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"562.25\" y=\"113\">\"KEY\"</text>\n</g>\n<path d=\"M593.5 109h10\"></path>\n<g>\n<path d=\"M603.5 109h0\"></path>\n<path d=\"M1115.5 109h0\"></path>\n<path d=\"M603.5 109h20\"></path>\n<g>\n<path d=\"M623.5 109h0\"></path>\n<path d=\"M1095.5 109h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M623.5 109h0\"></path>\n<path d=\"M686 109h0\"></path>\n<rect x=\"623.5\" y=\"98\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"654.75\" y=\"113\">Field</text>\n</a>\n</g>\n<path d=\"M686 109h10\"></path>\n<path d=\"M696 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M706 109h0\"></path>\n<path d=\"M828 109h0\"></path>\n<rect x=\"706\" y=\"98\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"767\" y=\"113\">\"COMPONENTS\"</text>\n</g>\n<path d=\"M828 109h10\"></path>\n<path d=\"M838 109h10\"></path>\n<g>\n<path d=\"M848 109h0\"></path>\n<path d=\"M1095.5 109h0\"></path>\n<path d=\"M848 109h10\"></path>\n<g>\n<path d=\"M858 109h0\"></path>\n<path d=\"M1085.5 109h0\"></path>\n<path d=\"M858 109h20\"></path>\n<g>\n<path d=\"M878 109h0\"></path>\n<path d=\"M1065.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M878 109h0\"></path>\n<path d=\"M949 109h0\"></path>\n<rect x=\"878\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"913.5\" y=\"113\">\"WITH\"</text>\n</g>\n<path d=\"M949 109h10\"></path>\n<path d=\"M959 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M969 109h0\"></path>\n<path d=\"M1065.5 109h0\"></path>\n<rect x=\"969\" y=\"98\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.25\" y=\"113\">!FailStar</text>\n</g>\n</g>\n<path d=\"M1065.5 109h20\"></path>\n<path d=\"M858 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M878 139h0\"></path>\n<path d=\"M966 139h99.5\"></path>\n<rect x=\"878\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"922\" y=\"143\">FieldSub</text>\n</a>\n</g>\n<path d=\"M1065.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1085.5 109h10\"></path>\n<path d=\"M858 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 158h227.5\"></path>\n</g>\n<path d=\"M1085.5 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1095.5 109h20\"></path>\n<path d=\"M603.5 109a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 177h0\"></path>\n<path d=\"M871 177h224.5\"></path>\n<path d=\"M623.5 177h10\"></path>\n<g>\n<path d=\"M633.5 177h0\"></path>\n<path d=\"M861 177h0\"></path>\n<path d=\"M633.5 177h20\"></path>\n<g>\n<path d=\"M653.5 177h0\"></path>\n<path d=\"M841 177h0\"></path>\n<g class=\"terminal\">\n<path d=\"M653.5 177h0\"></path>\n<path d=\"M724.5 177h0\"></path>\n<rect x=\"653.5\" y=\"166\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"181\">\"WITH\"</text>\n</g>\n<path d=\"M724.5 177h10\"></path>\n<path d=\"M734.5 177h10\"></path>\n<g class=\"terminal\">\n<path d=\"M744.5 177h0\"></path>\n<path d=\"M841 177h0\"></path>\n<rect x=\"744.5\" y=\"166\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"792.75\" y=\"181\">!FailStar</text>\n</g>\n</g>\n<path d=\"M841 177h20\"></path>\n<path d=\"M633.5 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M653.5 207h0\"></path>\n<path d=\"M741.5 207h99.5\"></path>\n<rect x=\"653.5\" y=\"196\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"697.5\" y=\"211\">FieldSub</text>\n</a>\n</g>\n<path d=\"M841 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M861 177h10\"></path>\n<path d=\"M633.5 177a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 226h227.5\"></path>\n</g>\n<path d=\"M861 226a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1095.5 177a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1115.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1135.5 40h0\"></path>\n<path d=\"M1546 40h0\"></path>\n<path d=\"M1135.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1155.5 20h370.5\"></path>\n</g>\n<path d=\"M1526 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1135.5 40h20\"></path>\n<g>\n<path d=\"M1155.5 40h0\"></path>\n<path d=\"M1526 40h0\"></path>\n<g>\n<path d=\"M1155.5 40h0\"></path>\n<path d=\"M1292 40h0\"></path>\n<path d=\"M1155.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1175.5 40h0\"></path>\n<path d=\"M1272 40h0\"></path>\n<rect x=\"1175.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1223.75\" y=\"44\">\"WITHOUT\"</text>\n</g>\n<path d=\"M1272 40h20\"></path>\n<path d=\"M1155.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1175.5 70h0\"></path>\n<path d=\"M1246.5 70h25.5\"></path>\n<rect x=\"1175.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1211\" y=\"74\">\"WITH\"</text>\n</g>\n<path d=\"M1272 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1292 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1302 40h0\"></path>\n<path d=\"M1526 40h0\"></path>\n<rect x=\"1302\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1414\" y=\"44\">\"FURTHER SECONDARY KEYS\"</text>\n</g>\n</g>\n<path d=\"M1526 40h20\"></path>\n</g>\n<g>\n<path d=\"M1546 40h0\"></path>\n<path d=\"M1699.5 40h0\"></path>\n<path d=\"M1546 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1566 20h113.5\"></path>\n</g>\n<path d=\"M1679.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1546 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1566 40h0\"></path>\n<path d=\"M1679.5 40h0\"></path>\n<rect x=\"1566\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1622.75\" y=\"44\">\"READ-ONLY\"</text>\n</g>\n<path d=\"M1679.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1699.5 40h10\"></path>\n<path d=\"M 1709.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/TypeTable"
+      ],
+      "filename": "type_table_key.ts"
+    },
+    {
+      "name": "Value",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'}),Railroad.Terminal('\"IS INITIAL\"')))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"385.5\" height=\"122\" viewBox=\"0 0 385.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M335.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"VALUE\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<g>\n<path d=\"M139.5 31h0\"></path>\n<path d=\"M335.5 31h0\"></path>\n<path d=\"M139.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 31h0\"></path>\n<path d=\"M247.5 31h68\"></path>\n<rect x=\"159.5\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"203.5\" y=\"35\">Constant</text>\n</a>\n</g>\n<path d=\"M315.5 31h20\"></path>\n<path d=\"M139.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 61h0\"></path>\n<path d=\"M315.5 61h0\"></path>\n<rect x=\"159.5\" y=\"50\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"237.5\" y=\"65\">SimpleFieldChain</text>\n</a>\n</g>\n<path d=\"M315.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M139.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 91h0\"></path>\n<path d=\"M281.5 91h34\"></path>\n<rect x=\"159.5\" y=\"80\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.5\" y=\"95\">\"IS INITIAL\"</text>\n</g>\n<path d=\"M315.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M335.5 31h10\"></path>\n<path d=\"M 345.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DataDefinition",
+        "statement/Constant",
+        "statement/Static",
+        "statement/TypeEnum"
+      ],
+      "filename": "value.ts"
+    },
+    {
+      "name": "ValueBody",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Let', {href: '#/expression/Let'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BASE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.ZeroOrMore(Railroad.NonTerminal('For', {href: '#/expression/For'})),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('FieldAssignment', {href: '#/expression/FieldAssignment'}),Railroad.NonTerminal('ValueBodyLine', {href: '#/expression/ValueBodyLine'})))),Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Choice(0, Railroad.Terminal('\"OPTIONAL\"'),Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))))).toString();",
+      "using": [
+        "expression/FieldAssignment",
+        "expression/For",
+        "expression/Let",
+        "expression/Source",
+        "expression/ValueBodyLine"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"770.5\" height=\"186\" viewBox=\"0 0 770.5 186\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 48h0\"></path>\n<path d=\"M730.5 48h0\"></path>\n<path d=\"M40 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h650.5\"></path>\n</g>\n<path d=\"M710.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 48h20\"></path>\n<g>\n<path d=\"M60 48h0\"></path>\n<path d=\"M710.5 48h0\"></path>\n<path d=\"M60 48h20\"></path>\n<g>\n<path d=\"M80 48h0\"></path>\n<path d=\"M690.5 48h0\"></path>\n<g>\n<path d=\"M80 48h0\"></path>\n<path d=\"M165.5 48h0\"></path>\n<path d=\"M80 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M100 28h45.5\"></path>\n</g>\n<path d=\"M145.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M80 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M100 48h0\"></path>\n<path d=\"M145.5 48h0\"></path>\n<rect x=\"100\" y=\"37\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Let\"><text x=\"122.75\" y=\"52\">Let</text>\n</a>\n</g>\n<path d=\"M145.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M165.5 48h0\"></path>\n<path d=\"M367.5 48h0\"></path>\n<path d=\"M165.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M185.5 28h162\"></path>\n</g>\n<path d=\"M347.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M165.5 48h20\"></path>\n<g>\n<path d=\"M185.5 48h0\"></path>\n<path d=\"M347.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M185.5 48h0\"></path>\n<path d=\"M256.5 48h0\"></path>\n<rect x=\"185.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"52\">\"BASE\"</text>\n</g>\n<path d=\"M256.5 48h10\"></path>\n<path d=\"M266.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M276.5 48h0\"></path>\n<path d=\"M347.5 48h0\"></path>\n<rect x=\"276.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"312\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M347.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M367.5 48h0\"></path>\n<path d=\"M473 48h0\"></path>\n<path d=\"M367.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M387.5 28h65.5\"></path>\n</g>\n<path d=\"M453 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M367.5 48h20\"></path>\n<g>\n<path d=\"M387.5 48h0\"></path>\n<path d=\"M453 48h0\"></path>\n<path d=\"M387.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397.5 48h0\"></path>\n<path d=\"M443 48h0\"></path>\n<rect x=\"397.5\" y=\"37\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/For\"><text x=\"420.25\" y=\"52\">For</text>\n</a>\n</g>\n<path d=\"M443 48h10\"></path>\n<path d=\"M397.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M397.5 68h45.5\"></path>\n</g>\n<path d=\"M443 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M453 48h20\"></path>\n</g>\n<path d=\"M473 48h10\"></path>\n<g>\n<path d=\"M483 48h0\"></path>\n<path d=\"M690.5 48h0\"></path>\n<path d=\"M483 48h10\"></path>\n<g>\n<path d=\"M493 48h0\"></path>\n<path d=\"M680.5 48h0\"></path>\n<path d=\"M493 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513 48h0\"></path>\n<path d=\"M660.5 48h0\"></path>\n<rect x=\"513\" y=\"37\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldAssignment\"><text x=\"586.75\" y=\"52\">FieldAssignment</text>\n</a>\n</g>\n<path d=\"M660.5 48h20\"></path>\n<path d=\"M493 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513 78h0\"></path>\n<path d=\"M643.5 78h17\"></path>\n<rect x=\"513\" y=\"67\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ValueBodyLine\"><text x=\"578.25\" y=\"82\">ValueBodyLine</text>\n</a>\n</g>\n<path d=\"M660.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M680.5 48h10\"></path>\n<path d=\"M493 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M493 97h187.5\"></path>\n</g>\n<path d=\"M680.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M690.5 48h20\"></path>\n<path d=\"M60 48a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 125h0\"></path>\n<path d=\"M504.5 125h186\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 125h0\"></path>\n<path d=\"M151 125h0\"></path>\n<rect x=\"80\" y=\"114\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"115.5\" y=\"129\">Source</text>\n</a>\n</g>\n<path d=\"M151 125h10\"></path>\n<g>\n<path d=\"M161 125h0\"></path>\n<path d=\"M504.5 125h0\"></path>\n<path d=\"M161 125a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 105h303.5\"></path>\n</g>\n<path d=\"M484.5 105a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 125h20\"></path>\n<g>\n<path d=\"M181 125h0\"></path>\n<path d=\"M484.5 125h0\"></path>\n<g>\n<path d=\"M181 125h0\"></path>\n<path d=\"M247 125h0\"></path>\n<text x=\"214\" y=\"130\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M247 125h10\"></path>\n<g>\n<path d=\"M257 125h0\"></path>\n<path d=\"M484.5 125h0\"></path>\n<path d=\"M257 125h20\"></path>\n<g class=\"terminal\">\n<path d=\"M277 125h0\"></path>\n<path d=\"M382 125h82.5\"></path>\n<rect x=\"277\" y=\"114\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"329.5\" y=\"129\">\"OPTIONAL\"</text>\n</g>\n<path d=\"M464.5 125h20\"></path>\n<path d=\"M257 125a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M277 155h0\"></path>\n<path d=\"M464.5 155h0\"></path>\n<g class=\"terminal\">\n<path d=\"M277 155h0\"></path>\n<path d=\"M373.5 155h0\"></path>\n<rect x=\"277\" y=\"144\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"325.25\" y=\"159\">\"DEFAULT\"</text>\n</g>\n<path d=\"M373.5 155h10\"></path>\n<path d=\"M383.5 155h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M393.5 155h0\"></path>\n<path d=\"M464.5 155h0\"></path>\n<rect x=\"393.5\" y=\"144\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"429\" y=\"159\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M464.5 155a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M484.5 125h20\"></path>\n</g>\n</g>\n<path d=\"M690.5 125a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M710.5 48h20\"></path>\n</g>\n<path d=\"M 730.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/Source"
+      ],
+      "filename": "value_body.ts"
+    },
+    {
+      "name": "ValueBodyLine",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('!\" ( \"'),Railroad.Terminal('!\" (\"')),Railroad.Optional(Railroad.Choice(0, Railroad.OneOrMore(Railroad.NonTerminal('FieldAssignment', {href: '#/expression/FieldAssignment'})),Railroad.NonTerminal('ValueBodyLines', {href: '#/expression/ValueBodyLines'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Choice(0, Railroad.Terminal('!\" ) \"'),Railroad.Terminal('!\") \"')))).toString();",
+      "using": [
+        "expression/FieldAssignment",
+        "expression/Source",
+        "expression/ValueBodyLines"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"569.5\" height=\"140\" viewBox=\"0 0 569.5 140\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M161 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M141 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"105.5\" y=\"44\">!\" ( \"</text>\n</g>\n<path d=\"M141 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M132.5 70h8.5\"></path>\n<rect x=\"70\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"74\">!\" (\"</text>\n</g>\n<path d=\"M141 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M408.5 40h0\"></path>\n<path d=\"M161 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M181 20h207.5\"></path>\n</g>\n<path d=\"M388.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M161 40h20\"></path>\n<g>\n<path d=\"M181 40h0\"></path>\n<path d=\"M388.5 40h0\"></path>\n<path d=\"M181 40h20\"></path>\n<g>\n<path d=\"M201 40h0\"></path>\n<path d=\"M368.5 40h0\"></path>\n<path d=\"M201 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M211 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<rect x=\"211\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldAssignment\"><text x=\"284.75\" y=\"44\">FieldAssignment</text>\n</a>\n</g>\n<path d=\"M358.5 40h10\"></path>\n<path d=\"M211 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M211 60h147.5\"></path>\n</g>\n<path d=\"M358.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M368.5 40h20\"></path>\n<path d=\"M181 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M201 79h0\"></path>\n<path d=\"M340 79h28.5\"></path>\n<rect x=\"201\" y=\"68\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ValueBodyLines\"><text x=\"270.5\" y=\"83\">ValueBodyLines</text>\n</a>\n</g>\n<path d=\"M368.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M181 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M201 109h0\"></path>\n<path d=\"M272 109h96.5\"></path>\n<rect x=\"201\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"236.5\" y=\"113\">Source</text>\n</a>\n</g>\n<path d=\"M368.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M388.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M408.5 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<path d=\"M408.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M499.5 40h0\"></path>\n<rect x=\"428.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M499.5 40h20\"></path>\n<path d=\"M408.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M428.5 70h0\"></path>\n<path d=\"M491 70h8.5\"></path>\n<rect x=\"428.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"459.75\" y=\"74\">!\") \"</text>\n</g>\n<path d=\"M499.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M519.5 40h10\"></path>\n<path d=\"M 529.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ValueBody"
+      ],
+      "filename": "value_body_line.ts"
+    },
+    {
+      "name": "ValueBodyLines",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"LINES OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"703\" height=\"71\" viewBox=\"0 0 703 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M155 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"44\">\"LINES OF\"</text>\n</g>\n<path d=\"M155 40h10\"></path>\n<path d=\"M165 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 40h0\"></path>\n<path d=\"M246 40h0\"></path>\n<rect x=\"175\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"210.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M246 40h10\"></path>\n<path d=\"M256 40h10\"></path>\n<g>\n<path d=\"M266 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<g>\n<path d=\"M266 40h0\"></path>\n<path d=\"M468 40h0\"></path>\n<path d=\"M266 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M286 20h162\"></path>\n</g>\n<path d=\"M448 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M266 40h20\"></path>\n<g>\n<path d=\"M286 40h0\"></path>\n<path d=\"M448 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M286 40h0\"></path>\n<path d=\"M357 40h0\"></path>\n<rect x=\"286\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"321.5\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M357 40h10\"></path>\n<path d=\"M367 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M377 40h0\"></path>\n<path d=\"M448 40h0\"></path>\n<rect x=\"377\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"412.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M448 40h20\"></path>\n</g>\n<g>\n<path d=\"M468 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<path d=\"M468 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M488 20h145\"></path>\n</g>\n<path d=\"M633 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M468 40h20\"></path>\n<g>\n<path d=\"M488 40h0\"></path>\n<path d=\"M633 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M488 40h0\"></path>\n<path d=\"M542 40h0\"></path>\n<rect x=\"488\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"515\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M542 40h10\"></path>\n<path d=\"M552 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M562 40h0\"></path>\n<path d=\"M633 40h0\"></path>\n<rect x=\"562\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"597.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M633 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M653 40h10\"></path>\n<path d=\"M 663 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/ValueBodyLine"
+      ],
+      "filename": "value_body_lines.ts"
+    },
+    {
+      "name": "WithName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('!\" +\"'),Railroad.Terminal(\"^\\\\w+$\"))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"245\" height=\"62\" viewBox=\"0 0 245 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">!\" +\"</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M122.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M132.5 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"132.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"163.75\" y=\"35\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M 205 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/SQLFromSource",
+        "statement/With",
+        "statement/WithLoop"
+      ],
+      "filename": "with_name.ts"
+    },
+    {
+      "name": "WriteOffsetLength",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"AT\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" (\"'),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'}),Railroad.Terminal(\"^[\\\\d]+$\"),Railroad.Terminal(\"^\\\\*$\")),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"')))),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'}),Railroad.Terminal(\"^\\\\/?[\\\\w\\\\d]+$\"),Railroad.Terminal('\"/\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'}),Railroad.Terminal(\"^[\\\\d]+$\"),Railroad.Terminal(\"^\\\\*$\")),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"'))))))))).toString();",
+      "using": [
+        "expression/SimpleFieldChain2"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"859.5\" height=\"230\" viewBox=\"0 0 859.5 230\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M809.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M144 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h54\"></path>\n</g>\n<path d=\"M124 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M124 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"97\" y=\"44\">\"AT\"</text>\n</g>\n<path d=\"M124 40h20\"></path>\n</g>\n<g>\n<path d=\"M144 40h0\"></path>\n<path d=\"M809.5 40h0\"></path>\n<path d=\"M144 40h20\"></path>\n<g>\n<path d=\"M164 40h0\"></path>\n<path d=\"M553.5 40h236\"></path>\n<g class=\"terminal\">\n<path d=\"M164 40h0\"></path>\n<path d=\"M226.5 40h0\"></path>\n<rect x=\"164\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.25\" y=\"44\">!\" (\"</text>\n</g>\n<path d=\"M226.5 40h10\"></path>\n<path d=\"M236.5 40h10\"></path>\n<g>\n<path d=\"M246.5 40h0\"></path>\n<path d=\"M553.5 40h0\"></path>\n<g>\n<path d=\"M246.5 40h0\"></path>\n<path d=\"M451 40h0\"></path>\n<path d=\"M246.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M266.5 40h0\"></path>\n<path d=\"M431 40h0\"></path>\n<rect x=\"266.5\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"348.75\" y=\"44\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M431 40h20\"></path>\n<path d=\"M246.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M266.5 70h0\"></path>\n<path d=\"M346 70h85\"></path>\n<rect x=\"266.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"306.25\" y=\"74\">^&#91;\\d&#93;+$</text>\n</g>\n<path d=\"M431 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M246.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M266.5 100h0\"></path>\n<path d=\"M320.5 100h110.5\"></path>\n<rect x=\"266.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293.5\" y=\"104\">^\\&#42;$</text>\n</g>\n<path d=\"M431 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M451 40h0\"></path>\n<path d=\"M553.5 40h0\"></path>\n<path d=\"M451 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M471 40h0\"></path>\n<path d=\"M533.5 40h0\"></path>\n<rect x=\"471\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502.25\" y=\"44\">!\") \"</text>\n</g>\n<path d=\"M533.5 40h20\"></path>\n<path d=\"M451 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M471 70h0\"></path>\n<path d=\"M525 70h8.5\"></path>\n<rect x=\"471\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498\" y=\"74\">!\")\"</text>\n</g>\n<path d=\"M533.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M789.5 40h20\"></path>\n<path d=\"M144 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M164 139h0\"></path>\n<path d=\"M789.5 139h0\"></path>\n<g>\n<path d=\"M164 139h0\"></path>\n<path d=\"M368.5 139h0\"></path>\n<path d=\"M164 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M184 139h0\"></path>\n<path d=\"M348.5 139h0\"></path>\n<rect x=\"184\" y=\"128\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"266.25\" y=\"143\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M348.5 139h20\"></path>\n<path d=\"M164 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M184 169h0\"></path>\n<path d=\"M306 169h42.5\"></path>\n<rect x=\"184\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"245\" y=\"173\">^\\/?&#91;\\w\\d&#93;+$</text>\n</g>\n<path d=\"M348.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M164 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M184 199h0\"></path>\n<path d=\"M229.5 199h119\"></path>\n<rect x=\"184\" y=\"188\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"206.75\" y=\"203\">\"/\"</text>\n</g>\n<path d=\"M348.5 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M368.5 139h0\"></path>\n<path d=\"M789.5 139h0\"></path>\n<path d=\"M368.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M388.5 119h381\"></path>\n</g>\n<path d=\"M769.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M368.5 139h20\"></path>\n<g>\n<path d=\"M388.5 139h0\"></path>\n<path d=\"M769.5 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M388.5 139h0\"></path>\n<path d=\"M442.5 139h0\"></path>\n<rect x=\"388.5\" y=\"128\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"415.5\" y=\"143\">!\"(\"</text>\n</g>\n<path d=\"M442.5 139h10\"></path>\n<path d=\"M452.5 139h10\"></path>\n<g>\n<path d=\"M462.5 139h0\"></path>\n<path d=\"M769.5 139h0\"></path>\n<g>\n<path d=\"M462.5 139h0\"></path>\n<path d=\"M667 139h0\"></path>\n<path d=\"M462.5 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M482.5 139h0\"></path>\n<path d=\"M647 139h0\"></path>\n<rect x=\"482.5\" y=\"128\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"564.75\" y=\"143\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M647 139h20\"></path>\n<path d=\"M462.5 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M482.5 169h0\"></path>\n<path d=\"M562 169h85\"></path>\n<rect x=\"482.5\" y=\"158\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"522.25\" y=\"173\">^&#91;\\d&#93;+$</text>\n</g>\n<path d=\"M647 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M462.5 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M482.5 199h0\"></path>\n<path d=\"M536.5 199h110.5\"></path>\n<rect x=\"482.5\" y=\"188\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"509.5\" y=\"203\">^\\&#42;$</text>\n</g>\n<path d=\"M647 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M667 139h0\"></path>\n<path d=\"M769.5 139h0\"></path>\n<path d=\"M667 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M687 139h0\"></path>\n<path d=\"M749.5 139h0\"></path>\n<rect x=\"687\" y=\"128\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"718.25\" y=\"143\">!\") \"</text>\n</g>\n<path d=\"M749.5 139h20\"></path>\n<path d=\"M667 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M687 169h0\"></path>\n<path d=\"M741 169h8.5\"></path>\n<rect x=\"687\" y=\"158\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"714\" y=\"173\">!\")\"</text>\n</g>\n<path d=\"M749.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M769.5 139h20\"></path>\n</g>\n</g>\n<path d=\"M789.5 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M809.5 40h10\"></path>\n<path d=\"M 819.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "statement/Uline",
+        "statement/Write"
+      ],
+      "filename": "write_offset_length.ts"
+    }
+  ],
+  "statements": [
+    {
+      "name": "Add",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ADD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"THEN\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Terminal('\"UNTIL\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Terminal('\"GIVING\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))).toString();",
+      "using": [
+        "expression/FieldSub",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"906\" height=\"92\" viewBox=\"0 0 906 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">\"ADD\"</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M122.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M132.5 31h0\"></path>\n<path d=\"M203.5 31h0\"></path>\n<rect x=\"132.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"168\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M203.5 31h10\"></path>\n<g>\n<path d=\"M213.5 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<path d=\"M213.5 31h20\"></path>\n<g>\n<path d=\"M233.5 31h0\"></path>\n<path d=\"M378.5 31h457.5\"></path>\n<g class=\"terminal\">\n<path d=\"M233.5 31h0\"></path>\n<path d=\"M287.5 31h0\"></path>\n<rect x=\"233.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.5\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M287.5 31h10\"></path>\n<path d=\"M297.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M307.5 31h0\"></path>\n<path d=\"M378.5 31h0\"></path>\n<rect x=\"307.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"343\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M836 31h20\"></path>\n<path d=\"M213.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M233.5 61h0\"></path>\n<path d=\"M836 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M233.5 61h0\"></path>\n<path d=\"M304.5 61h0\"></path>\n<rect x=\"233.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"269\" y=\"65\">\"THEN\"</text>\n</g>\n<path d=\"M304.5 61h10\"></path>\n<path d=\"M314.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M324.5 61h0\"></path>\n<path d=\"M412.5 61h0\"></path>\n<rect x=\"324.5\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"368.5\" y=\"65\">FieldSub</text>\n</a>\n</g>\n<path d=\"M412.5 61h10\"></path>\n<path d=\"M422.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M432.5 61h0\"></path>\n<path d=\"M512 61h0\"></path>\n<rect x=\"432.5\" y=\"50\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"472.25\" y=\"65\">\"UNTIL\"</text>\n</g>\n<path d=\"M512 61h10\"></path>\n<path d=\"M522 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M532 61h0\"></path>\n<path d=\"M620 61h0\"></path>\n<rect x=\"532\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"576\" y=\"65\">FieldSub</text>\n</a>\n</g>\n<path d=\"M620 61h10\"></path>\n<path d=\"M630 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M640 61h0\"></path>\n<path d=\"M728 61h0\"></path>\n<rect x=\"640\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684\" y=\"65\">\"GIVING\"</text>\n</g>\n<path d=\"M728 61h10\"></path>\n<path d=\"M738 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M748 61h0\"></path>\n<path d=\"M836 61h0\"></path>\n<rect x=\"748\" y=\"50\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"792\" y=\"65\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M836 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M856 31h10\"></path>\n<path d=\"M 866 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "add.ts"
+    },
+    {
+      "name": "AddCorresponding",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ADD-CORRESPONDING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"630.5\" height=\"62\" viewBox=\"0 0 630.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M580.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M580.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M324.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"35\">\"ADD-CORRESPONDING\"</text>\n</g>\n<path d=\"M324.5 31h10\"></path>\n<path d=\"M334.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 31h0\"></path>\n<path d=\"M415.5 31h0\"></path>\n<rect x=\"344.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"380\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M415.5 31h10\"></path>\n<path d=\"M425.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M435.5 31h0\"></path>\n<path d=\"M489.5 31h0\"></path>\n<rect x=\"435.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"462.5\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M489.5 31h10\"></path>\n<path d=\"M499.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M509.5 31h0\"></path>\n<path d=\"M580.5 31h0\"></path>\n<rect x=\"509.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"545\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M580.5 31h10\"></path>\n<path d=\"M 590.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "add_corresponding.ts"
+    },
+    {
+      "name": "Aliases",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ALIASES\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/SimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"486.5\" height=\"62\" viewBox=\"0 0 486.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"ALIASES\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M271.5 31h0\"></path>\n<rect x=\"166.5\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"219\" y=\"35\">SimpleName</text>\n</a>\n</g>\n<path d=\"M271.5 31h10\"></path>\n<path d=\"M281.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M291.5 31h0\"></path>\n<path d=\"M354 31h0\"></path>\n<rect x=\"291.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"322.75\" y=\"35\">\"FOR\"</text>\n</g>\n<path d=\"M354 31h10\"></path>\n<path d=\"M364 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M374 31h0\"></path>\n<path d=\"M436.5 31h0\"></path>\n<rect x=\"374\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"405.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M436.5 31h10\"></path>\n<path d=\"M 446.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/SectionContents"
+      ],
+      "filename": "aliases.ts"
+    },
+    {
+      "name": "Append",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"APPEND\"'),Railroad.Choice(0, Railroad.Terminal('\"INITIAL LINE\"'),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"LINES OF\"')),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource4', {href: '#/expression/SimpleSource4'}),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'})),Railroad.Sequence(Railroad.Terminal('\"REFERENCE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Optional(Railroad.Terminal('\"CASTING\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"SORTED BY\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))).toString();",
+      "using": [
+        "expression/FSTarget",
+        "expression/Field",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1871.5\" height=\"140\" viewBox=\"0 0 1871.5 140\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1821.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"APPEND\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M530 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M307 40h203\"></path>\n<rect x=\"168\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"237.5\" y=\"44\">\"INITIAL LINE\"</text>\n</g>\n<path d=\"M510 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 79h0\"></path>\n<path d=\"M510 79h0\"></path>\n<g>\n<path d=\"M168 79h0\"></path>\n<path d=\"M313 79h0\"></path>\n<path d=\"M168 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M188 59h105\"></path>\n</g>\n<path d=\"M293 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M168 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M188 79h0\"></path>\n<path d=\"M293 79h0\"></path>\n<rect x=\"188\" y=\"68\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"83\">\"LINES OF\"</text>\n</g>\n<path d=\"M293 79h20\"></path>\n</g>\n<g>\n<path d=\"M313 79h0\"></path>\n<path d=\"M510 79h0\"></path>\n<path d=\"M313 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M333 79h0\"></path>\n<path d=\"M463.5 79h26.5\"></path>\n<rect x=\"333\" y=\"68\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource4\"><text x=\"398.25\" y=\"83\">SimpleSource4</text>\n</a>\n</g>\n<path d=\"M490 79h20\"></path>\n<path d=\"M313 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M333 109h0\"></path>\n<path d=\"M490 109h0\"></path>\n<g>\n<path d=\"M333 109h0\"></path>\n<path d=\"M399 109h0\"></path>\n<text x=\"366\" y=\"114\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M399 109h10\"></path>\n<path d=\"M409 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419 109h0\"></path>\n<path d=\"M490 109h0\"></path>\n<rect x=\"419\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"454.5\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M490 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M510 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M530 40h0\"></path>\n<path d=\"M732 40h0\"></path>\n<path d=\"M530 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M550 20h162\"></path>\n</g>\n<path d=\"M712 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M530 40h20\"></path>\n<g>\n<path d=\"M550 40h0\"></path>\n<path d=\"M712 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M550 40h0\"></path>\n<path d=\"M621 40h0\"></path>\n<rect x=\"550\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"585.5\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M621 40h10\"></path>\n<path d=\"M631 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M641 40h0\"></path>\n<path d=\"M712 40h0\"></path>\n<rect x=\"641\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"676.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M712 40h20\"></path>\n</g>\n<g>\n<path d=\"M732 40h0\"></path>\n<path d=\"M1122 40h0\"></path>\n<path d=\"M732 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M752 20h350\"></path>\n</g>\n<path d=\"M1102 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M732 40h20\"></path>\n<g>\n<path d=\"M752 40h0\"></path>\n<path d=\"M1102 40h0\"></path>\n<path d=\"M752 40h20\"></path>\n<g>\n<path d=\"M772 40h0\"></path>\n<path d=\"M1082 40h0\"></path>\n<g>\n<path d=\"M772 40h0\"></path>\n<path d=\"M917 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M772 40h0\"></path>\n<path d=\"M826 40h0\"></path>\n<rect x=\"772\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"799\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M826 40h10\"></path>\n<path d=\"M836 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M846 40h0\"></path>\n<path d=\"M917 40h0\"></path>\n<rect x=\"846\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"881.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M917 40h10\"></path>\n<path d=\"M927 40h10\"></path>\n<g>\n<path d=\"M937 40h0\"></path>\n<path d=\"M1082 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M937 40h0\"></path>\n<path d=\"M991 40h0\"></path>\n<rect x=\"937\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"964\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M991 40h10\"></path>\n<path d=\"M1001 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011 40h0\"></path>\n<path d=\"M1082 40h0\"></path>\n<rect x=\"1011\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1046.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1082 40h20\"></path>\n<path d=\"M752 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M772 70h0\"></path>\n<path d=\"M917 70h165\"></path>\n<g class=\"terminal\">\n<path d=\"M772 70h0\"></path>\n<path d=\"M826 70h0\"></path>\n<rect x=\"772\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"799\" y=\"74\">\"TO\"</text>\n</g>\n<path d=\"M826 70h10\"></path>\n<path d=\"M836 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M846 70h0\"></path>\n<path d=\"M917 70h0\"></path>\n<rect x=\"846\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"881.5\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1082 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1102 40h20\"></path>\n</g>\n<g>\n<path d=\"M1122 40h0\"></path>\n<path d=\"M1449 40h0\"></path>\n<path d=\"M1122 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1142 20h287\"></path>\n</g>\n<path d=\"M1429 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1122 40h20\"></path>\n<g>\n<path d=\"M1142 40h0\"></path>\n<path d=\"M1429 40h0\"></path>\n<path d=\"M1142 40h20\"></path>\n<g>\n<path d=\"M1162 40h0\"></path>\n<path d=\"M1383.5 40h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1162 40h0\"></path>\n<path d=\"M1275.5 40h0\"></path>\n<rect x=\"1162\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1218.75\" y=\"44\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M1275.5 40h10\"></path>\n<path d=\"M1285.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1295.5 40h0\"></path>\n<path d=\"M1383.5 40h0\"></path>\n<rect x=\"1295.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"1339.5\" y=\"44\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1409 40h20\"></path>\n<path d=\"M1142 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1162 70h0\"></path>\n<path d=\"M1409 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1162 70h0\"></path>\n<path d=\"M1318 70h0\"></path>\n<rect x=\"1162\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1240\" y=\"74\">\"REFERENCE INTO\"</text>\n</g>\n<path d=\"M1318 70h10\"></path>\n<path d=\"M1328 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1338 70h0\"></path>\n<path d=\"M1409 70h0\"></path>\n<rect x=\"1338\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1373.5\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1409 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1429 40h20\"></path>\n</g>\n<g>\n<path d=\"M1449 40h0\"></path>\n<path d=\"M1585.5 40h0\"></path>\n<path d=\"M1449 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1469 20h96.5\"></path>\n</g>\n<path d=\"M1565.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1449 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1469 40h0\"></path>\n<path d=\"M1565.5 40h0\"></path>\n<rect x=\"1469\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1517.25\" y=\"44\">\"CASTING\"</text>\n</g>\n<path d=\"M1565.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1585.5 40h0\"></path>\n<path d=\"M1821.5 40h0\"></path>\n<path d=\"M1585.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1605.5 20h196\"></path>\n</g>\n<path d=\"M1801.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1585.5 40h20\"></path>\n<g>\n<path d=\"M1605.5 40h0\"></path>\n<path d=\"M1801.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1605.5 40h0\"></path>\n<path d=\"M1719 40h0\"></path>\n<rect x=\"1605.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1662.25\" y=\"44\">\"SORTED BY\"</text>\n</g>\n<path d=\"M1719 40h10\"></path>\n<path d=\"M1729 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1739 40h0\"></path>\n<path d=\"M1801.5 40h0\"></path>\n<rect x=\"1739\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1770.25\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1801.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1821.5 40h10\"></path>\n<path d=\"M 1831.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "append.ts"
+    },
+    {
+      "name": "Assert",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ASSERT\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"SUBKEY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Terminal('\"CONDITION\"')),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}))).toString();",
+      "using": [
+        "expression/Cond",
+        "expression/NamespaceSimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1169\" height=\"80\" viewBox=\"0 0 1169 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1119 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"ASSERT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M443.5 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h255.5\"></path>\n</g>\n<path d=\"M423.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M423.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M222 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195\" y=\"44\">\"ID\"</text>\n</g>\n<path d=\"M222 40h10\"></path>\n<path d=\"M232 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242 40h0\"></path>\n<path d=\"M423.5 40h0\"></path>\n<rect x=\"242\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"332.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M423.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M443.5 40h0\"></path>\n<path d=\"M662.5 40h0\"></path>\n<path d=\"M443.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M463.5 20h179\"></path>\n</g>\n<path d=\"M642.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M443.5 40h20\"></path>\n<g>\n<path d=\"M463.5 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M463.5 40h0\"></path>\n<path d=\"M551.5 40h0\"></path>\n<rect x=\"463.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507.5\" y=\"44\">\"SUBKEY\"</text>\n</g>\n<path d=\"M551.5 40h10\"></path>\n<path d=\"M561.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M571.5 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<rect x=\"571.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"607\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M642.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M662.5 40h0\"></path>\n<path d=\"M901.5 40h0\"></path>\n<path d=\"M662.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M682.5 20h199\"></path>\n</g>\n<path d=\"M881.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M662.5 40h20\"></path>\n<g>\n<path d=\"M682.5 40h0\"></path>\n<path d=\"M881.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M682.5 40h0\"></path>\n<path d=\"M770.5 40h0\"></path>\n<rect x=\"682.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"726.5\" y=\"44\">\"FIELDS\"</text>\n</g>\n<path d=\"M770.5 40h10\"></path>\n<path d=\"M780.5 40h10\"></path>\n<g>\n<path d=\"M790.5 40h0\"></path>\n<path d=\"M881.5 40h0\"></path>\n<path d=\"M790.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M800.5 40h0\"></path>\n<path d=\"M871.5 40h0\"></path>\n<rect x=\"800.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"836\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M871.5 40h10\"></path>\n<path d=\"M800.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M800.5 60h71\"></path>\n</g>\n<path d=\"M871.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M881.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M901.5 40h0\"></path>\n<path d=\"M1055 40h0\"></path>\n<path d=\"M901.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M921.5 20h113.5\"></path>\n</g>\n<path d=\"M1035 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M901.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M921.5 40h0\"></path>\n<path d=\"M1035 40h0\"></path>\n<rect x=\"921.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"978.25\" y=\"44\">\"CONDITION\"</text>\n</g>\n<path d=\"M1035 40h20\"></path>\n</g>\n<path d=\"M1055 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1065 40h0\"></path>\n<path d=\"M1119 40h0\"></path>\n<rect x=\"1065\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"1092\" y=\"44\">Cond</text>\n</a>\n</g>\n</g>\n<path d=\"M1119 40h10\"></path>\n<path d=\"M 1129 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "assert.ts"
+    },
+    {
+      "name": "Assign",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ASSIGN\"'),Railroad.Optional(Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"INCREMENT\"'))),Railroad.NonTerminal('AssignSource', {href: '#/expression/AssignSource'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"CASTING\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"LIKE\"'),Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"TYPE HANDLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}))),Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RANGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v757\", {}), Railroad.Terminal('\"ELSE UNASSIGN\"'))))).toString();",
+      "using": [
+        "expression/AssignSource",
+        "expression/Dynamic",
+        "expression/FSTarget",
+        "expression/Source",
+        "expression/Target",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1768\" height=\"268\" viewBox=\"0 0 1768 268\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1718 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M138 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"52\">\"ASSIGN\"</text>\n</g>\n<path d=\"M138 48h10\"></path>\n<g>\n<path d=\"M148 48h0\"></path>\n<path d=\"M392.5 48h0\"></path>\n<path d=\"M148 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 28h204.5\"></path>\n</g>\n<path d=\"M372.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 48h20\"></path>\n<g>\n<path d=\"M168 48h0\"></path>\n<path d=\"M372.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 48h0\"></path>\n<path d=\"M239 48h0\"></path>\n<rect x=\"168\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"203.5\" y=\"52\">Target</text>\n</a>\n</g>\n<path d=\"M239 48h10\"></path>\n<path d=\"M249 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M259 48h0\"></path>\n<path d=\"M372.5 48h0\"></path>\n<rect x=\"259\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"315.75\" y=\"52\">\"INCREMENT\"</text>\n</g>\n</g>\n<path d=\"M372.5 48h20\"></path>\n</g>\n<path d=\"M392.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M402.5 48h0\"></path>\n<path d=\"M524.5 48h0\"></path>\n<rect x=\"402.5\" y=\"37\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AssignSource\"><text x=\"463.5\" y=\"52\">AssignSource</text>\n</a>\n</g>\n<path d=\"M524.5 48h10\"></path>\n<path d=\"M534.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M544.5 48h0\"></path>\n<path d=\"M598.5 48h0\"></path>\n<rect x=\"544.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"571.5\" y=\"52\">\"TO\"</text>\n</g>\n<path d=\"M598.5 48h10\"></path>\n<path d=\"M608.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M618.5 48h0\"></path>\n<path d=\"M706.5 48h0\"></path>\n<rect x=\"618.5\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"662.5\" y=\"52\">FSTarget</text>\n</a>\n</g>\n<path d=\"M706.5 48h10\"></path>\n<g>\n<path d=\"M716.5 48h0\"></path>\n<path d=\"M1262 48h0\"></path>\n<path d=\"M716.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M736.5 20h505.5\"></path>\n</g>\n<path d=\"M1242 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M716.5 48h20\"></path>\n<g>\n<path d=\"M736.5 48h0\"></path>\n<path d=\"M1242 48h0\"></path>\n<path d=\"M736.5 48h20\"></path>\n<g>\n<path d=\"M756.5 48h0\"></path>\n<path d=\"M1222 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M756.5 48h0\"></path>\n<path d=\"M853 48h0\"></path>\n<rect x=\"756.5\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"804.75\" y=\"52\">\"CASTING\"</text>\n</g>\n<path d=\"M853 48h10\"></path>\n<g>\n<path d=\"M863 48h0\"></path>\n<path d=\"M1222 48h0\"></path>\n<path d=\"M863 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M883 28h319\"></path>\n</g>\n<path d=\"M1202 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M863 48h20\"></path>\n<g>\n<path d=\"M883 48h0\"></path>\n<path d=\"M1202 48h0\"></path>\n<path d=\"M883 48h20\"></path>\n<g>\n<path d=\"M903 48h0\"></path>\n<path d=\"M1103.5 48h78.5\"></path>\n<g class=\"terminal\">\n<path d=\"M903 48h0\"></path>\n<path d=\"M974 48h0\"></path>\n<rect x=\"903\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"938.5\" y=\"52\">\"LIKE\"</text>\n</g>\n<path d=\"M974 48h10\"></path>\n<g>\n<path d=\"M984 48h0\"></path>\n<path d=\"M1103.5 48h0\"></path>\n<path d=\"M984 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1004 48h0\"></path>\n<path d=\"M1083.5 48h0\"></path>\n<rect x=\"1004\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1043.75\" y=\"52\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1083.5 48h20\"></path>\n<path d=\"M984 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1004 78h0\"></path>\n<path d=\"M1075 78h8.5\"></path>\n<rect x=\"1004\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1039.5\" y=\"82\">Source</text>\n</a>\n</g>\n<path d=\"M1083.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1182 48h20\"></path>\n<path d=\"M883 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M903 108h0\"></path>\n<path d=\"M1124.5 108h57.5\"></path>\n<g class=\"terminal\">\n<path d=\"M903 108h0\"></path>\n<path d=\"M1033.5 108h0\"></path>\n<rect x=\"903\" y=\"97\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"968.25\" y=\"112\">\"TYPE HANDLE\"</text>\n</g>\n<path d=\"M1033.5 108h10\"></path>\n<path d=\"M1043.5 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1053.5 108h0\"></path>\n<path d=\"M1124.5 108h0\"></path>\n<rect x=\"1053.5\" y=\"97\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1089\" y=\"112\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1182 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M883 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M903 138h0\"></path>\n<path d=\"M1182 138h0\"></path>\n<path d=\"M933 138h10\"></path>\n<g>\n<path d=\"M943 138h0\"></path>\n<path d=\"M1152 138h0\"></path>\n<g class=\"terminal\">\n<path d=\"M943 138h0\"></path>\n<path d=\"M1014 138h0\"></path>\n<rect x=\"943\" y=\"127\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"978.5\" y=\"142\">\"TYPE\"</text>\n</g>\n<path d=\"M1014 138h10\"></path>\n<g>\n<path d=\"M1024 138h0\"></path>\n<path d=\"M1152 138h0\"></path>\n<path d=\"M1024 138h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1044 138h0\"></path>\n<path d=\"M1123.5 138h8.5\"></path>\n<rect x=\"1044\" y=\"127\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1083.75\" y=\"142\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1132 138h20\"></path>\n<path d=\"M1024 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1044 168h0\"></path>\n<path d=\"M1132 168h0\"></path>\n<rect x=\"1044\" y=\"157\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1088\" y=\"172\">TypeName</text>\n</a>\n</g>\n<path d=\"M1132 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1152 138h10\"></path>\n<path d=\"M933 138v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M943 198h0\"></path>\n<path d=\"M1139 198h13\"></path>\n<g class=\"terminal\">\n<path d=\"M943 198h0\"></path>\n<path d=\"M1048 198h0\"></path>\n<rect x=\"943\" y=\"187\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"995.5\" y=\"202\">\"DECIMALS\"</text>\n</g>\n<path d=\"M1048 198h10\"></path>\n<path d=\"M1058 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1068 198h0\"></path>\n<path d=\"M1139 198h0\"></path>\n<rect x=\"1068\" y=\"187\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1103.5\" y=\"202\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1152 198a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 933 128 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"918\" y=\"142\" class=\"diagram-text\">1+</text>\n<path d=\"M 1162 128 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1169 136 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1182 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1202 48h20\"></path>\n</g>\n</g>\n<path d=\"M1222 48h20\"></path>\n<path d=\"M736.5 48a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M756.5 237h0\"></path>\n<path d=\"M1164.5 237h57.5\"></path>\n<g class=\"terminal\">\n<path d=\"M756.5 237h0\"></path>\n<path d=\"M827.5 237h0\"></path>\n<rect x=\"756.5\" y=\"226\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"792\" y=\"241\">\"TYPE\"</text>\n</g>\n<path d=\"M827.5 237h10\"></path>\n<path d=\"M837.5 237h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M847.5 237h0\"></path>\n<path d=\"M918.5 237h0\"></path>\n<rect x=\"847.5\" y=\"226\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"883\" y=\"241\">Source</text>\n</a>\n</g>\n<path d=\"M918.5 237h10\"></path>\n<g>\n<path d=\"M928.5 237h0\"></path>\n<path d=\"M1164.5 237h0\"></path>\n<path d=\"M928.5 237a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M948.5 217h196\"></path>\n</g>\n<path d=\"M1144.5 217a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M928.5 237h20\"></path>\n<g>\n<path d=\"M948.5 237h0\"></path>\n<path d=\"M1144.5 237h0\"></path>\n<g class=\"terminal\">\n<path d=\"M948.5 237h0\"></path>\n<path d=\"M1053.5 237h0\"></path>\n<rect x=\"948.5\" y=\"226\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001\" y=\"241\">\"DECIMALS\"</text>\n</g>\n<path d=\"M1053.5 237h10\"></path>\n<path d=\"M1063.5 237h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1073.5 237h0\"></path>\n<path d=\"M1144.5 237h0\"></path>\n<rect x=\"1073.5\" y=\"226\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1109\" y=\"241\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1144.5 237h20\"></path>\n</g>\n</g>\n<path d=\"M1222 237a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1242 48h20\"></path>\n</g>\n<g>\n<path d=\"M1262 48h0\"></path>\n<path d=\"M1472.5 48h0\"></path>\n<path d=\"M1262 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1282 28h170.5\"></path>\n</g>\n<path d=\"M1452.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1262 48h20\"></path>\n<g>\n<path d=\"M1282 48h0\"></path>\n<path d=\"M1452.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1282 48h0\"></path>\n<path d=\"M1361.5 48h0\"></path>\n<rect x=\"1282\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1321.75\" y=\"52\">\"RANGE\"</text>\n</g>\n<path d=\"M1361.5 48h10\"></path>\n<path d=\"M1371.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1381.5 48h0\"></path>\n<path d=\"M1452.5 48h0\"></path>\n<rect x=\"1381.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1417\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1452.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1472.5 48h0\"></path>\n<path d=\"M1718 48h0\"></path>\n<path d=\"M1472.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1492.5 28h205.5\"></path>\n</g>\n<path d=\"M1698 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1472.5 48h20\"></path>\n<g>\n<path d=\"M1492.5 48h0\"></path>\n<path d=\"M1698 48h0\"></path>\n<g>\n<path d=\"M1492.5 48h0\"></path>\n<path d=\"M1530.5 48h0\"></path>\n<text x=\"1511.5\" y=\"53\" class=\"comment\">v757</text>\n</g>\n<path d=\"M1530.5 48h10\"></path>\n<path d=\"M1540.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1550.5 48h0\"></path>\n<path d=\"M1698 48h0\"></path>\n<rect x=\"1550.5\" y=\"37\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1624.25\" y=\"52\">\"ELSE UNASSIGN\"</text>\n</g>\n</g>\n<path d=\"M1698 48h20\"></path>\n</g>\n</g>\n<path d=\"M1718 48h10\"></path>\n<path d=\"M 1728 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "assign.ts"
+    },
+    {
+      "name": "AssignLocalCopy",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ASSIGN LOCAL COPY OF\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INITIAL\"'),Railroad.Optional(Railroad.Terminal('\"LINE OF\"')))),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'})))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Source",
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1061\" height=\"109\" viewBox=\"0 0 1061 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1011 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1011 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M350 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246.5\" y=\"52\">\"ASSIGN LOCAL COPY OF\"</text>\n</g>\n<path d=\"M350 48h10\"></path>\n<g>\n<path d=\"M360 48h0\"></path>\n<path d=\"M643 48h0\"></path>\n<path d=\"M360 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M380 20h243\"></path>\n</g>\n<path d=\"M623 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M360 48h20\"></path>\n<g>\n<path d=\"M380 48h0\"></path>\n<path d=\"M623 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M380 48h0\"></path>\n<path d=\"M476.5 48h0\"></path>\n<rect x=\"380\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428.25\" y=\"52\">\"INITIAL\"</text>\n</g>\n<path d=\"M476.5 48h10\"></path>\n<g>\n<path d=\"M486.5 48h0\"></path>\n<path d=\"M623 48h0\"></path>\n<path d=\"M486.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M506.5 28h96.5\"></path>\n</g>\n<path d=\"M603 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M486.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M506.5 48h0\"></path>\n<path d=\"M603 48h0\"></path>\n<rect x=\"506.5\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"554.75\" y=\"52\">\"LINE OF\"</text>\n</g>\n<path d=\"M603 48h20\"></path>\n</g>\n</g>\n<path d=\"M623 48h20\"></path>\n</g>\n<g>\n<path d=\"M643 48h0\"></path>\n<path d=\"M762.5 48h0\"></path>\n<path d=\"M643 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M663 48h0\"></path>\n<path d=\"M734 48h8.5\"></path>\n<rect x=\"663\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"698.5\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M742.5 48h20\"></path>\n<path d=\"M643 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M663 78h0\"></path>\n<path d=\"M742.5 78h0\"></path>\n<rect x=\"663\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"702.75\" y=\"82\">Dynamic</text>\n</a>\n</g>\n<path d=\"M742.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M762.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M772.5 48h0\"></path>\n<path d=\"M826.5 48h0\"></path>\n<rect x=\"772.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"799.5\" y=\"52\">\"TO\"</text>\n</g>\n<path d=\"M826.5 48h10\"></path>\n<path d=\"M836.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M846.5 48h0\"></path>\n<path d=\"M1011 48h0\"></path>\n<rect x=\"846.5\" y=\"37\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"928.75\" y=\"52\">TargetFieldSymbol</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1011 48h10\"></path>\n<path d=\"M 1021 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "assign_local_copy.ts"
+    },
+    {
+      "name": "At",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"AT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"NEW\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'}))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'}))),Railroad.Sequence(Railroad.Terminal('\"END OF\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'}))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'}))),Railroad.Terminal(\"^\\\\w+$\")))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/FieldSub",
+        "expression/SourceFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"747\" height=\"260\" viewBox=\"0 0 747 260\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M697 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"44\">\"AT\"</text>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M697 40h0\"></path>\n<path d=\"M114 40h20\"></path>\n<g>\n<path d=\"M134 40h0\"></path>\n<path d=\"M651.5 40h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M134 40h0\"></path>\n<path d=\"M196.5 40h0\"></path>\n<rect x=\"134\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"44\">\"NEW\"</text>\n</g>\n<path d=\"M196.5 40h10\"></path>\n<g>\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M651.5 40h0\"></path>\n<path d=\"M206.5 40h20\"></path>\n<g>\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<rect x=\"226.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"270.5\" y=\"44\">FieldSub</text>\n</a>\n</g>\n<path d=\"M314.5 40h10\"></path>\n<g>\n<path d=\"M324.5 40h0\"></path>\n<path d=\"M478 40h0\"></path>\n<path d=\"M324.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 20h113.5\"></path>\n</g>\n<path d=\"M458 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 40h0\"></path>\n<path d=\"M458 40h0\"></path>\n<rect x=\"344.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"401.25\" y=\"44\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M458 40h20\"></path>\n</g>\n<g>\n<path d=\"M478 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<path d=\"M478 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M498 20h113.5\"></path>\n</g>\n<path d=\"M611.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M478 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M498 40h0\"></path>\n<path d=\"M611.5 40h0\"></path>\n<rect x=\"498\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"554.75\" y=\"44\">FieldLength</text>\n</a>\n</g>\n<path d=\"M611.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M631.5 40h20\"></path>\n<path d=\"M206.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 70h0\"></path>\n<path d=\"M306 70h325.5\"></path>\n<rect x=\"226.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"266.25\" y=\"74\">Dynamic</text>\n</a>\n</g>\n<path d=\"M631.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 100h0\"></path>\n<path d=\"M391 100h240.5\"></path>\n<rect x=\"226.5\" y=\"89\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"308.75\" y=\"104\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M631.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M677 40h20\"></path>\n<path d=\"M114 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M134 139h0\"></path>\n<path d=\"M677 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M134 139h0\"></path>\n<path d=\"M222 139h0\"></path>\n<rect x=\"134\" y=\"128\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178\" y=\"143\">\"END OF\"</text>\n</g>\n<path d=\"M222 139h10\"></path>\n<g>\n<path d=\"M232 139h0\"></path>\n<path d=\"M677 139h0\"></path>\n<path d=\"M232 139h20\"></path>\n<g>\n<path d=\"M252 139h0\"></path>\n<path d=\"M657 139h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252 139h0\"></path>\n<path d=\"M340 139h0\"></path>\n<rect x=\"252\" y=\"128\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"296\" y=\"143\">FieldSub</text>\n</a>\n</g>\n<path d=\"M340 139h10\"></path>\n<g>\n<path d=\"M350 139h0\"></path>\n<path d=\"M503.5 139h0\"></path>\n<path d=\"M350 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M370 119h113.5\"></path>\n</g>\n<path d=\"M483.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M350 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 139h0\"></path>\n<path d=\"M483.5 139h0\"></path>\n<rect x=\"370\" y=\"128\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"426.75\" y=\"143\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M483.5 139h20\"></path>\n</g>\n<g>\n<path d=\"M503.5 139h0\"></path>\n<path d=\"M657 139h0\"></path>\n<path d=\"M503.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M523.5 119h113.5\"></path>\n</g>\n<path d=\"M637 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M503.5 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M523.5 139h0\"></path>\n<path d=\"M637 139h0\"></path>\n<rect x=\"523.5\" y=\"128\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"580.25\" y=\"143\">FieldLength</text>\n</a>\n</g>\n<path d=\"M637 139h20\"></path>\n</g>\n</g>\n<path d=\"M657 139h20\"></path>\n<path d=\"M232 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252 169h0\"></path>\n<path d=\"M331.5 169h325.5\"></path>\n<rect x=\"252\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"291.75\" y=\"173\">Dynamic</text>\n</a>\n</g>\n<path d=\"M657 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M232 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252 199h0\"></path>\n<path d=\"M416.5 199h240.5\"></path>\n<rect x=\"252\" y=\"188\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"334.25\" y=\"203\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M657 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M677 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M114 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M134 229h0\"></path>\n<path d=\"M196.5 229h480.5\"></path>\n<rect x=\"134\" y=\"218\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"233\">^\\w+$</text>\n</g>\n<path d=\"M677 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M697 40h10\"></path>\n<path d=\"M 707 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/At"
+      ],
+      "filename": "at.ts"
+    },
+    {
+      "name": "AtFirst",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"AT FIRST\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"AT FIRST\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/AtFirst"
+      ],
+      "filename": "at_first.ts"
+    },
+    {
+      "name": "AtLast",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"AT LAST\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"AT LAST\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/AtLast"
+      ],
+      "filename": "at_last.ts"
+    },
+    {
+      "name": "AtLineSelection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"AT LINE-SELECTION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"374.5\" height=\"62\" viewBox=\"0 0 374.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M324.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M324.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"35\">\"AT LINE-SELECTION\"</text>\n</g>\n</g>\n<path d=\"M324.5 31h10\"></path>\n<path d=\"M 334.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "at_line_selection.ts"
+    },
+    {
+      "name": "AtSelectionScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"AT SELECTION-SCREEN\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"OUTPUT\"'),Railroad.Sequence(Railroad.Terminal('\"ON VALUE-REQUEST FOR\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})),Railroad.Sequence(Railroad.Terminal('\"ON RADIOBUTTON GROUP\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Terminal('\"ON EXIT-COMMAND\"'),Railroad.Sequence(Railroad.Terminal('\"ON\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})),Railroad.Sequence(Railroad.Terminal('\"ON END OF\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"ON HELP-REQUEST FOR\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})),Railroad.Sequence(Railroad.Terminal('\"ON BLOCK\"'),Railroad.Terminal(\"^\\\\w+$\"))))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/FieldSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"796.5\" height=\"281\" viewBox=\"0 0 796.5 281\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M746.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M746.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"44\">\"AT SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M341.5 40h10\"></path>\n<g>\n<path d=\"M351.5 40h0\"></path>\n<path d=\"M746.5 40h0\"></path>\n<path d=\"M351.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M371.5 20h355\"></path>\n</g>\n<path d=\"M726.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M351.5 40h20\"></path>\n<g>\n<path d=\"M371.5 40h0\"></path>\n<path d=\"M726.5 40h0\"></path>\n<path d=\"M371.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 40h0\"></path>\n<path d=\"M479.5 40h227\"></path>\n<rect x=\"391.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"435.5\" y=\"44\">\"OUTPUT\"</text>\n</g>\n<path d=\"M706.5 40h20\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 70h0\"></path>\n<path d=\"M706.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 70h0\"></path>\n<path d=\"M598.5 70h0\"></path>\n<rect x=\"391.5\" y=\"59\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495\" y=\"74\">\"ON VALUE-REQUEST FOR\"</text>\n</g>\n<path d=\"M598.5 70h10\"></path>\n<path d=\"M608.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M618.5 70h0\"></path>\n<path d=\"M706.5 70h0\"></path>\n<rect x=\"618.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"662.5\" y=\"74\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M706.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 100h0\"></path>\n<path d=\"M681 100h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 100h0\"></path>\n<path d=\"M598.5 100h0\"></path>\n<rect x=\"391.5\" y=\"89\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495\" y=\"104\">\"ON RADIOBUTTON GROUP\"</text>\n</g>\n<path d=\"M598.5 100h10\"></path>\n<path d=\"M608.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M618.5 100h0\"></path>\n<path d=\"M681 100h0\"></path>\n<rect x=\"618.5\" y=\"89\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"649.75\" y=\"104\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M706.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 130h0\"></path>\n<path d=\"M556 130h150.5\"></path>\n<rect x=\"391.5\" y=\"119\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"473.75\" y=\"134\">\"ON EXIT-COMMAND\"</text>\n</g>\n<path d=\"M706.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 160h0\"></path>\n<path d=\"M553.5 160h153\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 160h0\"></path>\n<path d=\"M445.5 160h0\"></path>\n<rect x=\"391.5\" y=\"149\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"418.5\" y=\"164\">\"ON\"</text>\n</g>\n<path d=\"M445.5 160h10\"></path>\n<path d=\"M455.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M465.5 160h0\"></path>\n<path d=\"M553.5 160h0\"></path>\n<rect x=\"465.5\" y=\"149\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"509.5\" y=\"164\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M706.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 190h0\"></path>\n<path d=\"M587.5 190h119\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 190h0\"></path>\n<path d=\"M505 190h0\"></path>\n<rect x=\"391.5\" y=\"179\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"448.25\" y=\"194\">\"ON END OF\"</text>\n</g>\n<path d=\"M505 190h10\"></path>\n<path d=\"M515 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M525 190h0\"></path>\n<path d=\"M587.5 190h0\"></path>\n<rect x=\"525\" y=\"179\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"556.25\" y=\"194\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M706.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 220h0\"></path>\n<path d=\"M698 220h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 220h0\"></path>\n<path d=\"M590 220h0\"></path>\n<rect x=\"391.5\" y=\"209\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"490.75\" y=\"224\">\"ON HELP-REQUEST FOR\"</text>\n</g>\n<path d=\"M590 220h10\"></path>\n<path d=\"M600 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M610 220h0\"></path>\n<path d=\"M698 220h0\"></path>\n<rect x=\"610\" y=\"209\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"654\" y=\"224\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M706.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M371.5 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M391.5 250h0\"></path>\n<path d=\"M579 250h127.5\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 250h0\"></path>\n<path d=\"M496.5 250h0\"></path>\n<rect x=\"391.5\" y=\"239\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"444\" y=\"254\">\"ON BLOCK\"</text>\n</g>\n<path d=\"M496.5 250h10\"></path>\n<path d=\"M506.5 250h10\"></path>\n<g class=\"terminal\">\n<path d=\"M516.5 250h0\"></path>\n<path d=\"M579 250h0\"></path>\n<rect x=\"516.5\" y=\"239\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"254\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M706.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M726.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M746.5 40h10\"></path>\n<path d=\"M 756.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "at_selection_screen.ts"
+    },
+    {
+      "name": "AtUserCommand",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"AT USER-COMMAND\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"357.5\" height=\"62\" viewBox=\"0 0 357.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"AT USER-COMMAND\"</text>\n</g>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<path d=\"M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "at_user_command.ts"
+    },
+    {
+      "name": "AuthorityCheck",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"AUTHORITY-CHECK OBJECT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FOR USER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"DUMMY\"')))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1056.5\" height=\"109\" viewBox=\"0 0 1056.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1006.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M274 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"162\" y=\"44\">\"AUTHORITY-CHECK OBJECT\"</text>\n</g>\n<path d=\"M274 40h10\"></path>\n<path d=\"M284 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294 40h0\"></path>\n<path d=\"M365 40h0\"></path>\n<rect x=\"294\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M365 40h10\"></path>\n<g>\n<path d=\"M375 40h0\"></path>\n<path d=\"M611 40h0\"></path>\n<path d=\"M375 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M395 20h196\"></path>\n</g>\n<path d=\"M591 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M375 40h20\"></path>\n<g>\n<path d=\"M395 40h0\"></path>\n<path d=\"M591 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M395 40h0\"></path>\n<path d=\"M500 40h0\"></path>\n<rect x=\"395\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"447.5\" y=\"44\">\"FOR USER\"</text>\n</g>\n<path d=\"M500 40h10\"></path>\n<path d=\"M510 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M520 40h0\"></path>\n<path d=\"M591 40h0\"></path>\n<rect x=\"520\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"555.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M591 40h20\"></path>\n</g>\n<path d=\"M611 40h10\"></path>\n<g>\n<path d=\"M621 40h0\"></path>\n<path d=\"M1006.5 40h0\"></path>\n<path d=\"M621 40h10\"></path>\n<g>\n<path d=\"M631 40h0\"></path>\n<path d=\"M996.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M631 40h0\"></path>\n<path d=\"M685 40h0\"></path>\n<rect x=\"631\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"658\" y=\"44\">\"ID\"</text>\n</g>\n<path d=\"M685 40h10\"></path>\n<path d=\"M695 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M705 40h0\"></path>\n<path d=\"M776 40h0\"></path>\n<rect x=\"705\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"740.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M776 40h10\"></path>\n<g>\n<path d=\"M786 40h0\"></path>\n<path d=\"M996.5 40h0\"></path>\n<path d=\"M786 40h20\"></path>\n<g>\n<path d=\"M806 40h0\"></path>\n<path d=\"M976.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M806 40h0\"></path>\n<path d=\"M885.5 40h0\"></path>\n<rect x=\"806\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"845.75\" y=\"44\">\"FIELD\"</text>\n</g>\n<path d=\"M885.5 40h10\"></path>\n<path d=\"M895.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M905.5 40h0\"></path>\n<path d=\"M976.5 40h0\"></path>\n<rect x=\"905.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"941\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M976.5 40h20\"></path>\n<path d=\"M786 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M806 70h0\"></path>\n<path d=\"M885.5 70h91\"></path>\n<rect x=\"806\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"845.75\" y=\"74\">\"DUMMY\"</text>\n</g>\n<path d=\"M976.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M996.5 40h10\"></path>\n<path d=\"M631 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M631 89h365.5\"></path>\n</g>\n<path d=\"M996.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1006.5 40h10\"></path>\n<path d=\"M 1016.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "authority_check.ts"
+    },
+    {
+      "name": "Back",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"BACK\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"264\" height=\"62\" viewBox=\"0 0 264 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"35\">\"BACK\"</text>\n</g>\n</g>\n<path d=\"M214 31h10\"></path>\n<path d=\"M 224 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "back.ts"
+    },
+    {
+      "name": "Break",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"BREAK-POINT\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"AT NEXT APPLICATION STATEMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"BREAK\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))).toString();",
+      "using": [
+        "expression/FieldSub",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"727\" height=\"131\" viewBox=\"0 0 727 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M677 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<g>\n<path d=\"M133 40h0\"></path>\n<path d=\"M677 40h0\"></path>\n<path d=\"M133 40h20\"></path>\n<g>\n<path d=\"M153 40h0\"></path>\n<path d=\"M657 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M153 40h0\"></path>\n<path d=\"M283.5 40h0\"></path>\n<rect x=\"153\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"218.25\" y=\"44\">\"BREAK-POINT\"</text>\n</g>\n<path d=\"M283.5 40h10\"></path>\n<g>\n<path d=\"M293.5 40h0\"></path>\n<path d=\"M657 40h0\"></path>\n<path d=\"M293.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M313.5 20h323.5\"></path>\n</g>\n<path d=\"M637 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M293.5 40h20\"></path>\n<g>\n<path d=\"M313.5 40h0\"></path>\n<path d=\"M637 40h0\"></path>\n<path d=\"M313.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M333.5 40h0\"></path>\n<path d=\"M617 40h0\"></path>\n<rect x=\"333.5\" y=\"29\" width=\"283.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"475.25\" y=\"44\">\"AT NEXT APPLICATION STATEMENT\"</text>\n</g>\n<path d=\"M617 40h20\"></path>\n<path d=\"M313.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M333.5 70h0\"></path>\n<path d=\"M404.5 70h212.5\"></path>\n<rect x=\"333.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"369\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M617 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M637 40h20\"></path>\n</g>\n</g>\n<path d=\"M657 40h20\"></path>\n<path d=\"M133 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M153 100h0\"></path>\n<path d=\"M340.5 100h316.5\"></path>\n<g class=\"terminal\">\n<path d=\"M153 100h0\"></path>\n<path d=\"M232.5 100h0\"></path>\n<rect x=\"153\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"192.75\" y=\"104\">\"BREAK\"</text>\n</g>\n<path d=\"M232.5 100h10\"></path>\n<path d=\"M242.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252.5 100h0\"></path>\n<path d=\"M340.5 100h0\"></path>\n<rect x=\"252.5\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"296.5\" y=\"104\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M657 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M677 40h10\"></path>\n<path d=\"M 687 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "break.ts"
+    },
+    {
+      "name": "BreakId",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"BREAK-POINT\"'),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"480\" height=\"62\" viewBox=\"0 0 480 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"BREAK-POINT\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g>\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<rect x=\"293.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"320.5\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M347.5 31h10\"></path>\n<path d=\"M357.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M367.5 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<rect x=\"367.5\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"398.75\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M430 31h10\"></path>\n<path d=\"M 440 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "break_id.ts"
+    },
+    {
+      "name": "Call",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"CALL METHOD\"'),Railroad.NonTerminal('MethodSource', {href: '#/expression/MethodSource'}),Railroad.NonTerminal('MethodCallBody', {href: '#/expression/MethodCallBody'})),Railroad.NonTerminal('MethodCallChain', {href: '#/expression/MethodCallChain'}))).toString();",
+      "using": [
+        "expression/MethodCallBody",
+        "expression/MethodCallChain",
+        "expression/MethodSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"551.5\" height=\"92\" viewBox=\"0 0 551.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M511.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M491.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M190.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"125.25\" y=\"35\">\"CALL METHOD\"</text>\n</g>\n<path d=\"M190.5 31h10\"></path>\n<path d=\"M200.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 31h0\"></path>\n<path d=\"M332.5 31h0\"></path>\n<rect x=\"210.5\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodSource\"><text x=\"271.5\" y=\"35\">MethodSource</text>\n</a>\n</g>\n<path d=\"M332.5 31h10\"></path>\n<path d=\"M342.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M352.5 31h0\"></path>\n<path d=\"M491.5 31h0\"></path>\n<rect x=\"352.5\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallBody\"><text x=\"422\" y=\"35\">MethodCallBody</text>\n</a>\n</g>\n</g>\n<path d=\"M491.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M207.5 61h284\"></path>\n<rect x=\"60\" y=\"50\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallChain\"><text x=\"133.75\" y=\"65\">MethodCallChain</text>\n</a>\n</g>\n<path d=\"M491.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 511.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call.ts"
+    },
+    {
+      "name": "CallBadi",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL\"'),Railroad.Terminal('\"BADI\"'),Railroad.NonTerminal('MethodSource', {href: '#/expression/MethodSource'}),Railroad.NonTerminal('MethodCallBody', {href: '#/expression/MethodCallBody'})))).toString();",
+      "using": [
+        "expression/MethodCallBody",
+        "expression/MethodSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"656\" height=\"62\" viewBox=\"0 0 656 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"35\">\"CALL\"</text>\n</g>\n<path d=\"M214 31h10\"></path>\n<path d=\"M224 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M234 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<rect x=\"234\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"269.5\" y=\"35\">\"BADI\"</text>\n</g>\n<path d=\"M305 31h10\"></path>\n<path d=\"M315 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M325 31h0\"></path>\n<path d=\"M447 31h0\"></path>\n<rect x=\"325\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodSource\"><text x=\"386\" y=\"35\">MethodSource</text>\n</a>\n</g>\n<path d=\"M447 31h10\"></path>\n<path d=\"M457 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M467 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<rect x=\"467\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodCallBody\"><text x=\"536.5\" y=\"35\">MethodCallBody</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M606 31h10\"></path>\n<path d=\"M 616 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_badi.ts"
+    },
+    {
+      "name": "CallDatabase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL DATABASE PROCEDURE\"'),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('ParameterListT', {href: '#/expression/ParameterListT'})))),Railroad.Sequence(Railroad.Terminal('\"PARAMETER-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/Dynamic",
+        "expression/ParameterListS",
+        "expression/ParameterListT",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1413\" height=\"101\" viewBox=\"0 0 1413 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1363 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1363 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M375.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.25\" y=\"44\">\"CALL DATABASE PROCEDURE\"</text>\n</g>\n<path d=\"M375.5 40h10\"></path>\n<path d=\"M385.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M395.5 40h0\"></path>\n<path d=\"M475 40h0\"></path>\n<rect x=\"395.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"435.25\" y=\"44\">Dynamic</text>\n</a>\n</g>\n<path d=\"M475 40h10\"></path>\n<g>\n<path d=\"M485 40h0\"></path>\n<path d=\"M698 40h0\"></path>\n<path d=\"M485 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M505 20h173\"></path>\n</g>\n<path d=\"M678 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M485 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M505 40h0\"></path>\n<path d=\"M678 40h0\"></path>\n<rect x=\"505\" y=\"29\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"591.5\" y=\"44\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M678 40h20\"></path>\n</g>\n<g>\n<path d=\"M698 40h0\"></path>\n<path d=\"M1363 40h0\"></path>\n<path d=\"M698 40h20\"></path>\n<g>\n<path d=\"M718 40h0\"></path>\n<path d=\"M1343 40h0\"></path>\n<g>\n<path d=\"M718 40h0\"></path>\n<path d=\"M1030.5 40h0\"></path>\n<path d=\"M718 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M738 20h272.5\"></path>\n</g>\n<path d=\"M1010.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M718 40h20\"></path>\n<g>\n<path d=\"M738 40h0\"></path>\n<path d=\"M1010.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M738 40h0\"></path>\n<path d=\"M851.5 40h0\"></path>\n<rect x=\"738\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"794.75\" y=\"44\">\"EXPORTING\"</text>\n</g>\n<path d=\"M851.5 40h10\"></path>\n<path d=\"M861.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M871.5 40h0\"></path>\n<path d=\"M1010.5 40h0\"></path>\n<rect x=\"871.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"941\" y=\"44\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1030.5 40h0\"></path>\n<path d=\"M1343 40h0\"></path>\n<path d=\"M1030.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1050.5 20h272.5\"></path>\n</g>\n<path d=\"M1323 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1030.5 40h20\"></path>\n<g>\n<path d=\"M1050.5 40h0\"></path>\n<path d=\"M1323 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1050.5 40h0\"></path>\n<path d=\"M1164 40h0\"></path>\n<rect x=\"1050.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1107.25\" y=\"44\">\"IMPORTING\"</text>\n</g>\n<path d=\"M1164 40h10\"></path>\n<path d=\"M1174 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1184 40h0\"></path>\n<path d=\"M1323 40h0\"></path>\n<rect x=\"1184\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListT\"><text x=\"1253.5\" y=\"44\">ParameterListT</text>\n</a>\n</g>\n</g>\n<path d=\"M1323 40h20\"></path>\n</g>\n</g>\n<path d=\"M1343 40h20\"></path>\n<path d=\"M698 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M718 70h0\"></path>\n<path d=\"M973.5 70h369.5\"></path>\n<g class=\"terminal\">\n<path d=\"M718 70h0\"></path>\n<path d=\"M882.5 70h0\"></path>\n<rect x=\"718\" y=\"59\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"800.25\" y=\"74\">\"PARAMETER-TABLE\"</text>\n</g>\n<path d=\"M882.5 70h10\"></path>\n<path d=\"M892.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M902.5 70h0\"></path>\n<path d=\"M973.5 70h0\"></path>\n<rect x=\"902.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"938\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1343 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1363 40h10\"></path>\n<path d=\"M 1373 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_database.ts"
+    },
+    {
+      "name": "CallDialog",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL DIALOG\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IMPORTING\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Field",
+        "expression/FieldSub",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1377.5\" height=\"88\" viewBox=\"0 0 1377.5 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1327.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1327.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M273.5 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"52\">\"CALL DIALOG\"</text>\n</g>\n<path d=\"M273.5 48h10\"></path>\n<path d=\"M283.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 48h0\"></path>\n<path d=\"M381.5 48h0\"></path>\n<rect x=\"293.5\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"337.5\" y=\"52\">Constant</text>\n</a>\n</g>\n<path d=\"M381.5 48h10\"></path>\n<g>\n<path d=\"M391.5 48h0\"></path>\n<path d=\"M885 48h0\"></path>\n<path d=\"M391.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M411.5 20h453.5\"></path>\n</g>\n<path d=\"M865 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M391.5 48h20\"></path>\n<g>\n<path d=\"M411.5 48h0\"></path>\n<path d=\"M865 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M411.5 48h0\"></path>\n<path d=\"M525 48h0\"></path>\n<rect x=\"411.5\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"468.25\" y=\"52\">\"EXPORTING\"</text>\n</g>\n<path d=\"M525 48h10\"></path>\n<path d=\"M535 48h10\"></path>\n<g>\n<path d=\"M545 48h0\"></path>\n<path d=\"M865 48h0\"></path>\n<path d=\"M545 48h10\"></path>\n<g>\n<path d=\"M555 48h0\"></path>\n<path d=\"M855 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M555 48h0\"></path>\n<path d=\"M643 48h0\"></path>\n<rect x=\"555\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"599\" y=\"52\">FieldSub</text>\n</a>\n</g>\n<path d=\"M643 48h10\"></path>\n<g>\n<path d=\"M653 48h0\"></path>\n<path d=\"M855 48h0\"></path>\n<path d=\"M653 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M673 28h162\"></path>\n</g>\n<path d=\"M835 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M653 48h20\"></path>\n<g>\n<path d=\"M673 48h0\"></path>\n<path d=\"M835 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M673 48h0\"></path>\n<path d=\"M744 48h0\"></path>\n<rect x=\"673\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.5\" y=\"52\">\"FROM\"</text>\n</g>\n<path d=\"M744 48h10\"></path>\n<path d=\"M754 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M764 48h0\"></path>\n<path d=\"M835 48h0\"></path>\n<rect x=\"764\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"799.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M835 48h20\"></path>\n</g>\n</g>\n<path d=\"M855 48h10\"></path>\n<path d=\"M555 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M555 68h300\"></path>\n</g>\n<path d=\"M855 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M865 48h20\"></path>\n</g>\n<g>\n<path d=\"M885 48h0\"></path>\n<path d=\"M1327.5 48h0\"></path>\n<path d=\"M885 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M905 20h402.5\"></path>\n</g>\n<path d=\"M1307.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M885 48h20\"></path>\n<g>\n<path d=\"M905 48h0\"></path>\n<path d=\"M1307.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M905 48h0\"></path>\n<path d=\"M1018.5 48h0\"></path>\n<rect x=\"905\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"961.75\" y=\"52\">\"IMPORTING\"</text>\n</g>\n<path d=\"M1018.5 48h10\"></path>\n<path d=\"M1028.5 48h10\"></path>\n<g>\n<path d=\"M1038.5 48h0\"></path>\n<path d=\"M1307.5 48h0\"></path>\n<path d=\"M1038.5 48h10\"></path>\n<g>\n<path d=\"M1048.5 48h0\"></path>\n<path d=\"M1297.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1048.5 48h0\"></path>\n<path d=\"M1111 48h0\"></path>\n<rect x=\"1048.5\" y=\"37\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1079.75\" y=\"52\">Field</text>\n</a>\n</g>\n<path d=\"M1111 48h10\"></path>\n<g>\n<path d=\"M1121 48h0\"></path>\n<path d=\"M1297.5 48h0\"></path>\n<path d=\"M1121 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1141 28h136.5\"></path>\n</g>\n<path d=\"M1277.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1121 48h20\"></path>\n<g>\n<path d=\"M1141 48h0\"></path>\n<path d=\"M1277.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1141 48h0\"></path>\n<path d=\"M1195 48h0\"></path>\n<rect x=\"1141\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1168\" y=\"52\">\"TO\"</text>\n</g>\n<path d=\"M1195 48h10\"></path>\n<path d=\"M1205 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1215 48h0\"></path>\n<path d=\"M1277.5 48h0\"></path>\n<rect x=\"1215\" y=\"37\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1246.25\" y=\"52\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1277.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1297.5 48h10\"></path>\n<path d=\"M1048.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1048.5 68h249\"></path>\n</g>\n<path d=\"M1297.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1307.5 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1327.5 48h10\"></path>\n<path d=\"M 1337.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_dialog.ts"
+    },
+    {
+      "name": "CallFunction",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CALL\"'),Railroad.Choice(0, Railroad.Terminal('\"FUNCTION\"'),Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"CUSTOMER-FUNCTION\"'))),Railroad.NonTerminal('FunctionName', {href: '#/expression/FunctionName'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"STARTING NEW TASK\"'),Railroad.NonTerminal('SimpleSource2', {href: '#/expression/SimpleSource2'}))),Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"IN UPDATE TASK\"')),Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"IN BACKGROUND\"'),Railroad.Choice(0, Railroad.Terminal('\"TASK\"'),Railroad.Sequence(Railroad.Terminal('\"UNIT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.NonTerminal('Destination', {href: '#/expression/Destination'}),Railroad.Sequence(Railroad.Terminal('\"CALLING\"'),Railroad.NonTerminal('MethodSource', {href: '#/expression/MethodSource'}),Railroad.Terminal('\"ON END OF TASK\"')),Railroad.Sequence(Railroad.Terminal('\"PERFORMING\"'),Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.Terminal('\"ON END OF TASK\"')),Railroad.Terminal('\"AS SEPARATE UNIT\"'),Railroad.Terminal('\"KEEPING LOGICAL UNIT OF WORK\"'))),Railroad.Choice(0, Railroad.NonTerminal('FunctionParameters', {href: '#/expression/FunctionParameters'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"PARAMETER-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCEPTION-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"EXCEPTION-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Destination",
+        "expression/FormName",
+        "expression/FunctionName",
+        "expression/FunctionParameters",
+        "expression/MethodSource",
+        "expression/SimpleSource2",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1841\" height=\"311\" viewBox=\"0 0 1841 311\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1791 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"CALL\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M445.5 40h0\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M256 40h169.5\"></path>\n<rect x=\"151\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.5\" y=\"44\">\"FUNCTION\"</text>\n</g>\n<path d=\"M425.5 40h20\"></path>\n<path d=\"M131 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M151 70h0\"></path>\n<path d=\"M425.5 70h0\"></path>\n<g>\n<path d=\"M151 70h0\"></path>\n<path d=\"M224 70h0\"></path>\n<text x=\"187.5\" y=\"75\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M224 70h10\"></path>\n<path d=\"M234 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M244 70h0\"></path>\n<path d=\"M425.5 70h0\"></path>\n<rect x=\"244\" y=\"59\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.75\" y=\"74\">\"CUSTOMER-FUNCTION\"</text>\n</g>\n</g>\n<path d=\"M425.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M445.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M455.5 40h0\"></path>\n<path d=\"M577.5 40h0\"></path>\n<rect x=\"455.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FunctionName\"><text x=\"516.5\" y=\"44\">FunctionName</text>\n</a>\n</g>\n<path d=\"M577.5 40h10\"></path>\n<g>\n<path d=\"M587.5 40h0\"></path>\n<path d=\"M1150 40h0\"></path>\n<path d=\"M587.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M607.5 20h522.5\"></path>\n</g>\n<path d=\"M1130 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M587.5 40h20\"></path>\n<g>\n<path d=\"M607.5 40h0\"></path>\n<path d=\"M1130 40h0\"></path>\n<path d=\"M637.5 40h10\"></path>\n<g>\n<path d=\"M647.5 40h0\"></path>\n<path d=\"M1072.5 40h27.5\"></path>\n<g>\n<path d=\"M647.5 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<text x=\"684\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M720.5 40h10\"></path>\n<path d=\"M730.5 40h10\"></path>\n<g>\n<path d=\"M740.5 40h0\"></path>\n<path d=\"M1072.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M740.5 40h0\"></path>\n<path d=\"M922 40h0\"></path>\n<rect x=\"740.5\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"831.25\" y=\"44\">\"STARTING NEW TASK\"</text>\n</g>\n<path d=\"M922 40h10\"></path>\n<path d=\"M932 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M942 40h0\"></path>\n<path d=\"M1072.5 40h0\"></path>\n<rect x=\"942\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource2\"><text x=\"1007.25\" y=\"44\">SimpleSource2</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1100 40h10\"></path>\n<path d=\"M637.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M647.5 70h0\"></path>\n<path d=\"M896.5 70h203.5\"></path>\n<g>\n<path d=\"M647.5 70h0\"></path>\n<path d=\"M720.5 70h0\"></path>\n<text x=\"684\" y=\"75\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M720.5 70h10\"></path>\n<path d=\"M730.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M740.5 70h0\"></path>\n<path d=\"M896.5 70h0\"></path>\n<rect x=\"740.5\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"818.5\" y=\"74\">\"IN UPDATE TASK\"</text>\n</g>\n</g>\n<path d=\"M1100 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M637.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M647.5 100h0\"></path>\n<path d=\"M1100 100h0\"></path>\n<g>\n<path d=\"M647.5 100h0\"></path>\n<path d=\"M720.5 100h0\"></path>\n<text x=\"684\" y=\"105\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M720.5 100h10\"></path>\n<path d=\"M730.5 100h10\"></path>\n<g>\n<path d=\"M740.5 100h0\"></path>\n<path d=\"M1100 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M740.5 100h0\"></path>\n<path d=\"M888 100h0\"></path>\n<rect x=\"740.5\" y=\"89\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"814.25\" y=\"104\">\"IN BACKGROUND\"</text>\n</g>\n<path d=\"M888 100h10\"></path>\n<g>\n<path d=\"M898 100h0\"></path>\n<path d=\"M1100 100h0\"></path>\n<path d=\"M898 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M918 100h0\"></path>\n<path d=\"M989 100h91\"></path>\n<rect x=\"918\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"953.5\" y=\"104\">\"TASK\"</text>\n</g>\n<path d=\"M1080 100h20\"></path>\n<path d=\"M898 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M918 130h0\"></path>\n<path d=\"M1080 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M918 130h0\"></path>\n<path d=\"M989 130h0\"></path>\n<rect x=\"918\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"953.5\" y=\"134\">\"UNIT\"</text>\n</g>\n<path d=\"M989 130h10\"></path>\n<path d=\"M999 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1009 130h0\"></path>\n<path d=\"M1080 130h0\"></path>\n<rect x=\"1009\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1044.5\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1080 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1100 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M637.5 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647.5 160h0\"></path>\n<path d=\"M761 160h339\"></path>\n<rect x=\"647.5\" y=\"149\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Destination\"><text x=\"704.25\" y=\"164\">Destination</text>\n</a>\n</g>\n<path d=\"M1100 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M637.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M647.5 190h0\"></path>\n<path d=\"M1062 190h38\"></path>\n<g class=\"terminal\">\n<path d=\"M647.5 190h0\"></path>\n<path d=\"M744 190h0\"></path>\n<rect x=\"647.5\" y=\"179\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"695.75\" y=\"194\">\"CALLING\"</text>\n</g>\n<path d=\"M744 190h10\"></path>\n<path d=\"M754 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M764 190h0\"></path>\n<path d=\"M886 190h0\"></path>\n<rect x=\"764\" y=\"179\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodSource\"><text x=\"825\" y=\"194\">MethodSource</text>\n</a>\n</g>\n<path d=\"M886 190h10\"></path>\n<path d=\"M896 190h10\"></path>\n<g class=\"terminal\">\n<path d=\"M906 190h0\"></path>\n<path d=\"M1062 190h0\"></path>\n<rect x=\"906\" y=\"179\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"984\" y=\"194\">\"ON END OF TASK\"</text>\n</g>\n</g>\n<path d=\"M1100 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M637.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M647.5 220h0\"></path>\n<path d=\"M1053.5 220h46.5\"></path>\n<g class=\"terminal\">\n<path d=\"M647.5 220h0\"></path>\n<path d=\"M769.5 220h0\"></path>\n<rect x=\"647.5\" y=\"209\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.5\" y=\"224\">\"PERFORMING\"</text>\n</g>\n<path d=\"M769.5 220h10\"></path>\n<path d=\"M779.5 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M789.5 220h0\"></path>\n<path d=\"M877.5 220h0\"></path>\n<rect x=\"789.5\" y=\"209\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"833.5\" y=\"224\">FormName</text>\n</a>\n</g>\n<path d=\"M877.5 220h10\"></path>\n<path d=\"M887.5 220h10\"></path>\n<g class=\"terminal\">\n<path d=\"M897.5 220h0\"></path>\n<path d=\"M1053.5 220h0\"></path>\n<rect x=\"897.5\" y=\"209\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"975.5\" y=\"224\">\"ON END OF TASK\"</text>\n</g>\n</g>\n<path d=\"M1100 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M637.5 40v200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M647.5 250h0\"></path>\n<path d=\"M820.5 250h279.5\"></path>\n<rect x=\"647.5\" y=\"239\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"734\" y=\"254\">\"AS SEPARATE UNIT\"</text>\n</g>\n<path d=\"M1100 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M637.5 40v230a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M647.5 280h0\"></path>\n<path d=\"M922.5 280h177.5\"></path>\n<rect x=\"647.5\" y=\"269\" width=\"275\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"785\" y=\"284\">\"KEEPING LOGICAL UNIT OF WORK\"</text>\n</g>\n<path d=\"M1100 280a10 10 0 0 0 10 -10v-230\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 637.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"622.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1110 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1117 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1130 40h20\"></path>\n</g>\n<g>\n<path d=\"M1150 40h0\"></path>\n<path d=\"M1791 40h0\"></path>\n<path d=\"M1150 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1170 40h0\"></path>\n<path d=\"M1343 40h428\"></path>\n<rect x=\"1170\" y=\"29\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FunctionParameters\"><text x=\"1256.5\" y=\"44\">FunctionParameters</text>\n</a>\n</g>\n<path d=\"M1771 40h20\"></path>\n<path d=\"M1150 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1170 79h0\"></path>\n<path d=\"M1771 79h0\"></path>\n<path d=\"M1170 79h20\"></path>\n<g>\n<path d=\"M1190 79h0\"></path>\n<path d=\"M1751 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1190 79h0\"></path>\n<path d=\"M1354.5 79h0\"></path>\n<rect x=\"1190\" y=\"68\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1272.25\" y=\"83\">\"PARAMETER-TABLE\"</text>\n</g>\n<path d=\"M1354.5 79h10\"></path>\n<path d=\"M1364.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1374.5 79h0\"></path>\n<path d=\"M1445.5 79h0\"></path>\n<rect x=\"1374.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1410\" y=\"83\">Source</text>\n</a>\n</g>\n<path d=\"M1445.5 79h10\"></path>\n<g>\n<path d=\"M1455.5 79h0\"></path>\n<path d=\"M1751 79h0\"></path>\n<path d=\"M1455.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1475.5 59h255.5\"></path>\n</g>\n<path d=\"M1731 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1455.5 79h20\"></path>\n<g>\n<path d=\"M1475.5 79h0\"></path>\n<path d=\"M1731 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1475.5 79h0\"></path>\n<path d=\"M1640 79h0\"></path>\n<rect x=\"1475.5\" y=\"68\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1557.75\" y=\"83\">\"EXCEPTION-TABLE\"</text>\n</g>\n<path d=\"M1640 79h10\"></path>\n<path d=\"M1650 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1660 79h0\"></path>\n<path d=\"M1731 79h0\"></path>\n<rect x=\"1660\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1695.5\" y=\"83\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1731 79h20\"></path>\n</g>\n</g>\n<path d=\"M1751 79h20\"></path>\n<path d=\"M1170 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1190 109h0\"></path>\n<path d=\"M1445.5 109h305.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1190 109h0\"></path>\n<path d=\"M1354.5 109h0\"></path>\n<rect x=\"1190\" y=\"98\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1272.25\" y=\"113\">\"EXCEPTION-TABLE\"</text>\n</g>\n<path d=\"M1354.5 109h10\"></path>\n<path d=\"M1364.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1374.5 109h0\"></path>\n<path d=\"M1445.5 109h0\"></path>\n<rect x=\"1374.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1410\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1751 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1771 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1791 40h10\"></path>\n<path d=\"M 1801 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_function.ts"
+    },
+    {
+      "name": "CallKernel",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.ZeroOrMore(Railroad.NonTerminal('KernelId', {href: '#/expression/KernelId'}))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Field",
+        "expression/KernelId"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"550\" height=\"101\" viewBox=\"0 0 550 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M500 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M500 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M214 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"44\">\"CALL\"</text>\n</g>\n<path d=\"M214 40h10\"></path>\n<g>\n<path d=\"M224 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<path d=\"M224 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M244 40h0\"></path>\n<path d=\"M332 40h0\"></path>\n<rect x=\"244\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"288\" y=\"44\">Constant</text>\n</a>\n</g>\n<path d=\"M332 40h20\"></path>\n<path d=\"M224 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M244 70h0\"></path>\n<path d=\"M306.5 70h25.5\"></path>\n<rect x=\"244\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"275.25\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M332 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M352 40h0\"></path>\n<path d=\"M500 40h0\"></path>\n<path d=\"M352 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M372 20h108\"></path>\n</g>\n<path d=\"M480 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M352 40h20\"></path>\n<g>\n<path d=\"M372 40h0\"></path>\n<path d=\"M480 40h0\"></path>\n<path d=\"M372 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M382 40h0\"></path>\n<path d=\"M470 40h0\"></path>\n<rect x=\"382\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/KernelId\"><text x=\"426\" y=\"44\">KernelId</text>\n</a>\n</g>\n<path d=\"M470 40h10\"></path>\n<path d=\"M382 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382 60h88\"></path>\n</g>\n<path d=\"M470 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M480 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M500 40h10\"></path>\n<path d=\"M 510 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_kernel.ts"
+    },
+    {
+      "name": "CallOLE",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL METHOD OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.Terminal('\"NO FLUSH\"')),Railroad.Optional(Railroad.Terminal('\"QUEUEONLY\"')),Railroad.Optional(Railroad.NonTerminal('OLEExporting', {href: '#/expression/OLEExporting'}))))).toString();",
+      "using": [
+        "expression/OLEExporting",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1178\" height=\"71\" viewBox=\"0 0 1178 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1128 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1128 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M299 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"44\">\"CALL METHOD OF\"</text>\n</g>\n<path d=\"M299 40h10\"></path>\n<path d=\"M309 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M319 40h0\"></path>\n<path d=\"M390 40h0\"></path>\n<rect x=\"319\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"354.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M390 40h10\"></path>\n<path d=\"M400 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 40h0\"></path>\n<path d=\"M481 40h0\"></path>\n<rect x=\"410\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"445.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M481 40h10\"></path>\n<g>\n<path d=\"M491 40h0\"></path>\n<path d=\"M667.5 40h0\"></path>\n<path d=\"M491 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M511 20h136.5\"></path>\n</g>\n<path d=\"M647.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M491 40h20\"></path>\n<g>\n<path d=\"M511 40h0\"></path>\n<path d=\"M647.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M511 40h0\"></path>\n<path d=\"M556.5 40h0\"></path>\n<rect x=\"511\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"533.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M556.5 40h10\"></path>\n<path d=\"M566.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 40h0\"></path>\n<path d=\"M647.5 40h0\"></path>\n<rect x=\"576.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"612\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M647.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M667.5 40h0\"></path>\n<path d=\"M812.5 40h0\"></path>\n<path d=\"M667.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M687.5 20h105\"></path>\n</g>\n<path d=\"M792.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M667.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M687.5 40h0\"></path>\n<path d=\"M792.5 40h0\"></path>\n<rect x=\"687.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"740\" y=\"44\">\"NO FLUSH\"</text>\n</g>\n<path d=\"M792.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M812.5 40h0\"></path>\n<path d=\"M966 40h0\"></path>\n<path d=\"M812.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M832.5 20h113.5\"></path>\n</g>\n<path d=\"M946 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M812.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M832.5 40h0\"></path>\n<path d=\"M946 40h0\"></path>\n<rect x=\"832.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"889.25\" y=\"44\">\"QUEUEONLY\"</text>\n</g>\n<path d=\"M946 40h20\"></path>\n</g>\n<g>\n<path d=\"M966 40h0\"></path>\n<path d=\"M1128 40h0\"></path>\n<path d=\"M966 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M986 20h122\"></path>\n</g>\n<path d=\"M1108 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M966 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 40h0\"></path>\n<path d=\"M1108 40h0\"></path>\n<rect x=\"986\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/OLEExporting\"><text x=\"1047\" y=\"44\">OLEExporting</text>\n</a>\n</g>\n<path d=\"M1108 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1128 40h10\"></path>\n<path d=\"M 1138 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_ol_e.ts"
+    },
+    {
+      "name": "CallScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"STARTING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ENDING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1122.5\" height=\"79\" viewBox=\"0 0 1122.5 79\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1072.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1072.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M273.5 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"52\">\"CALL SCREEN\"</text>\n</g>\n<path d=\"M273.5 48h10\"></path>\n<path d=\"M283.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 48h0\"></path>\n<path d=\"M364.5 48h0\"></path>\n<rect x=\"293.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M364.5 48h10\"></path>\n<g>\n<path d=\"M374.5 48h0\"></path>\n<path d=\"M1072.5 48h0\"></path>\n<path d=\"M374.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M394.5 20h658\"></path>\n</g>\n<path d=\"M1052.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M374.5 48h20\"></path>\n<g>\n<path d=\"M394.5 48h0\"></path>\n<path d=\"M1052.5 48h0\"></path>\n<g>\n<path d=\"M394.5 48h0\"></path>\n<path d=\"M707 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M394.5 48h0\"></path>\n<path d=\"M525 48h0\"></path>\n<rect x=\"394.5\" y=\"37\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"459.75\" y=\"52\">\"STARTING AT\"</text>\n</g>\n<path d=\"M525 48h10\"></path>\n<path d=\"M535 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M545 48h0\"></path>\n<path d=\"M616 48h0\"></path>\n<rect x=\"545\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"580.5\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M616 48h10\"></path>\n<path d=\"M626 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M636 48h0\"></path>\n<path d=\"M707 48h0\"></path>\n<rect x=\"636\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"671.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M707 48h10\"></path>\n<g>\n<path d=\"M717 48h0\"></path>\n<path d=\"M1052.5 48h0\"></path>\n<path d=\"M717 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M737 28h295.5\"></path>\n</g>\n<path d=\"M1032.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M717 48h20\"></path>\n<g>\n<path d=\"M737 48h0\"></path>\n<path d=\"M1032.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M737 48h0\"></path>\n<path d=\"M850.5 48h0\"></path>\n<rect x=\"737\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"793.75\" y=\"52\">\"ENDING AT\"</text>\n</g>\n<path d=\"M850.5 48h10\"></path>\n<path d=\"M860.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M870.5 48h0\"></path>\n<path d=\"M941.5 48h0\"></path>\n<rect x=\"870.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"906\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M941.5 48h10\"></path>\n<path d=\"M951.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M961.5 48h0\"></path>\n<path d=\"M1032.5 48h0\"></path>\n<rect x=\"961.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"997\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1032.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1052.5 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1072.5 48h10\"></path>\n<path d=\"M 1082.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_screen.ts"
+    },
+    {
+      "name": "CallSelectionScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL SELECTION-SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"STARTING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ENDING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING SELECTION-SET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1537\" height=\"79\" viewBox=\"0 0 1537 79\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1487 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1487 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M358.5 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.75\" y=\"52\">\"CALL SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M358.5 48h10\"></path>\n<path d=\"M368.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M378.5 48h0\"></path>\n<path d=\"M449.5 48h0\"></path>\n<rect x=\"378.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"414\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M449.5 48h10\"></path>\n<g>\n<path d=\"M459.5 48h0\"></path>\n<path d=\"M1157.5 48h0\"></path>\n<path d=\"M459.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M479.5 20h658\"></path>\n</g>\n<path d=\"M1137.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M459.5 48h20\"></path>\n<g>\n<path d=\"M479.5 48h0\"></path>\n<path d=\"M1137.5 48h0\"></path>\n<g>\n<path d=\"M479.5 48h0\"></path>\n<path d=\"M792 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M479.5 48h0\"></path>\n<path d=\"M610 48h0\"></path>\n<rect x=\"479.5\" y=\"37\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544.75\" y=\"52\">\"STARTING AT\"</text>\n</g>\n<path d=\"M610 48h10\"></path>\n<path d=\"M620 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M630 48h0\"></path>\n<path d=\"M701 48h0\"></path>\n<rect x=\"630\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"665.5\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M701 48h10\"></path>\n<path d=\"M711 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M721 48h0\"></path>\n<path d=\"M792 48h0\"></path>\n<rect x=\"721\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"756.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M792 48h10\"></path>\n<g>\n<path d=\"M802 48h0\"></path>\n<path d=\"M1137.5 48h0\"></path>\n<path d=\"M802 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M822 28h295.5\"></path>\n</g>\n<path d=\"M1117.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M802 48h20\"></path>\n<g>\n<path d=\"M822 48h0\"></path>\n<path d=\"M1117.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M822 48h0\"></path>\n<path d=\"M935.5 48h0\"></path>\n<rect x=\"822\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"878.75\" y=\"52\">\"ENDING AT\"</text>\n</g>\n<path d=\"M935.5 48h10\"></path>\n<path d=\"M945.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M955.5 48h0\"></path>\n<path d=\"M1026.5 48h0\"></path>\n<rect x=\"955.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"991\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M1026.5 48h10\"></path>\n<path d=\"M1036.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1046.5 48h0\"></path>\n<path d=\"M1117.5 48h0\"></path>\n<rect x=\"1046.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1082\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1117.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1137.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1157.5 48h0\"></path>\n<path d=\"M1487 48h0\"></path>\n<path d=\"M1157.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1177.5 28h289.5\"></path>\n</g>\n<path d=\"M1467 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1157.5 48h20\"></path>\n<g>\n<path d=\"M1177.5 48h0\"></path>\n<path d=\"M1467 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1177.5 48h0\"></path>\n<path d=\"M1376 48h0\"></path>\n<rect x=\"1177.5\" y=\"37\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1276.75\" y=\"52\">\"USING SELECTION-SET\"</text>\n</g>\n<path d=\"M1376 48h10\"></path>\n<path d=\"M1386 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1396 48h0\"></path>\n<path d=\"M1467 48h0\"></path>\n<rect x=\"1396\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1431.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1467 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1487 48h10\"></path>\n<path d=\"M 1497 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_selection_screen.ts"
+    },
+    {
+      "name": "CallTransaction",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CALL TRANSACTION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"WITH\"'),Railroad.Terminal('\"WITHOUT\"')),Railroad.Terminal('\"AUTHORITY-CHECK\"'))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"UPDATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"AND SKIP FIRST SCREEN\"'),Railroad.Sequence(Railroad.Terminal('\"OPTIONS FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGES INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MODE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1377\" height=\"191\" viewBox=\"0 0 1377 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1327 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1327 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M316 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"44\">\"CALL TRANSACTION\"</text>\n</g>\n<path d=\"M316 40h10\"></path>\n<path d=\"M326 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 40h0\"></path>\n<path d=\"M407 40h0\"></path>\n<rect x=\"336\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M407 40h10\"></path>\n<g>\n<path d=\"M417 40h0\"></path>\n<path d=\"M768 40h0\"></path>\n<path d=\"M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M437 20h311\"></path>\n</g>\n<path d=\"M748 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M417 40h20\"></path>\n<g>\n<path d=\"M437 40h0\"></path>\n<path d=\"M748 40h0\"></path>\n<g>\n<path d=\"M437 40h0\"></path>\n<path d=\"M573.5 40h0\"></path>\n<path d=\"M437 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M457 40h0\"></path>\n<path d=\"M528 40h25.5\"></path>\n<rect x=\"457\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"492.5\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M553.5 40h20\"></path>\n<path d=\"M437 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M457 70h0\"></path>\n<path d=\"M553.5 70h0\"></path>\n<rect x=\"457\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"505.25\" y=\"74\">\"WITHOUT\"</text>\n</g>\n<path d=\"M553.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M573.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M583.5 40h0\"></path>\n<path d=\"M748 40h0\"></path>\n<rect x=\"583.5\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"665.75\" y=\"44\">\"AUTHORITY-CHECK\"</text>\n</g>\n</g>\n<path d=\"M748 40h20\"></path>\n</g>\n<g>\n<path d=\"M768 40h0\"></path>\n<path d=\"M978.5 40h0\"></path>\n<path d=\"M768 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M788 20h170.5\"></path>\n</g>\n<path d=\"M958.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M768 40h20\"></path>\n<g>\n<path d=\"M788 40h0\"></path>\n<path d=\"M958.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M788 40h0\"></path>\n<path d=\"M867.5 40h0\"></path>\n<rect x=\"788\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"827.75\" y=\"44\">\"USING\"</text>\n</g>\n<path d=\"M867.5 40h10\"></path>\n<path d=\"M877.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M887.5 40h0\"></path>\n<path d=\"M958.5 40h0\"></path>\n<rect x=\"887.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"923\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M958.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M978.5 40h0\"></path>\n<path d=\"M1327 40h0\"></path>\n<path d=\"M978.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M998.5 20h308.5\"></path>\n</g>\n<path d=\"M1307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M978.5 40h20\"></path>\n<g>\n<path d=\"M998.5 40h0\"></path>\n<path d=\"M1307 40h0\"></path>\n<path d=\"M1028.5 40h10\"></path>\n<g>\n<path d=\"M1038.5 40h0\"></path>\n<path d=\"M1217.5 40h59.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1038.5 40h0\"></path>\n<path d=\"M1126.5 40h0\"></path>\n<rect x=\"1038.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1082.5\" y=\"44\">\"UPDATE\"</text>\n</g>\n<path d=\"M1126.5 40h10\"></path>\n<path d=\"M1136.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1146.5 40h0\"></path>\n<path d=\"M1217.5 40h0\"></path>\n<rect x=\"1146.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1182\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1277 40h10\"></path>\n<path d=\"M1028.5 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1038.5 70h0\"></path>\n<path d=\"M1254 70h23\"></path>\n<rect x=\"1038.5\" y=\"59\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1146.25\" y=\"74\">\"AND SKIP FIRST SCREEN\"</text>\n</g>\n<path d=\"M1277 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1028.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1038.5 100h0\"></path>\n<path d=\"M1268.5 100h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1038.5 100h0\"></path>\n<path d=\"M1177.5 100h0\"></path>\n<rect x=\"1038.5\" y=\"89\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1108\" y=\"104\">\"OPTIONS FROM\"</text>\n</g>\n<path d=\"M1177.5 100h10\"></path>\n<path d=\"M1187.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1197.5 100h0\"></path>\n<path d=\"M1268.5 100h0\"></path>\n<rect x=\"1197.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1233\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1277 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1028.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1038.5 130h0\"></path>\n<path d=\"M1277 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1038.5 130h0\"></path>\n<path d=\"M1186 130h0\"></path>\n<rect x=\"1038.5\" y=\"119\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1112.25\" y=\"134\">\"MESSAGES INTO\"</text>\n</g>\n<path d=\"M1186 130h10\"></path>\n<path d=\"M1196 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1206 130h0\"></path>\n<path d=\"M1277 130h0\"></path>\n<rect x=\"1206\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1241.5\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1277 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M1028.5 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1038.5 160h0\"></path>\n<path d=\"M1200.5 160h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1038.5 160h0\"></path>\n<path d=\"M1109.5 160h0\"></path>\n<rect x=\"1038.5\" y=\"149\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1074\" y=\"164\">\"MODE\"</text>\n</g>\n<path d=\"M1109.5 160h10\"></path>\n<path d=\"M1119.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1129.5 160h0\"></path>\n<path d=\"M1200.5 160h0\"></path>\n<rect x=\"1129.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1165\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1277 160a10 10 0 0 0 10 -10v-110\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1028.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1013.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1287 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1294 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1307 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1327 40h10\"></path>\n<path d=\"M 1337 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_transaction.ts"
+    },
+    {
+      "name": "CallTransformation",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CALL TRANSFORMATION\"'),Railroad.Choice(0, Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"OPTIONS\"'),Railroad.NonTerminal('CallTransformationOptions', {href: '#/expression/CallTransformationOptions'})),Railroad.Sequence(Railroad.Terminal('\"PARAMETERS\"'),Railroad.NonTerminal('CallTransformationParameters', {href: '#/expression/CallTransformationParameters'})),Railroad.Sequence(Railroad.Terminal('\"OBJECTS\"'),Railroad.NonTerminal('CallTransformationParameters', {href: '#/expression/CallTransformationParameters'})),Railroad.Sequence(Railroad.Terminal('\"SOURCE\"'),Railroad.Choice(0, Railroad.NonTerminal('CallTransformationParameters', {href: '#/expression/CallTransformationParameters'}),Railroad.Sequence(Railroad.Terminal('\"XML\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.Choice(0, Railroad.NonTerminal('CallTransformationParameters', {href: '#/expression/CallTransformationParameters'}),Railroad.Sequence(Railroad.Terminal('\"XML\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))))).toString();",
+      "using": [
+        "expression/CallTransformationOptions",
+        "expression/CallTransformationParameters",
+        "expression/Dynamic",
+        "expression/NamespaceSimpleName",
+        "expression/SimpleSource3",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1010\" height=\"242\" viewBox=\"0 0 1010 242\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M960 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M248.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"149.25\" y=\"35\">\"CALL TRANSFORMATION\"</text>\n</g>\n<path d=\"M248.5 31h10\"></path>\n<g>\n<path d=\"M258.5 31h0\"></path>\n<path d=\"M480 31h0\"></path>\n<path d=\"M258.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M278.5 31h0\"></path>\n<path d=\"M460 31h0\"></path>\n<rect x=\"278.5\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"369.25\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M460 31h20\"></path>\n<path d=\"M258.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M278.5 61h0\"></path>\n<path d=\"M358 61h102\"></path>\n<rect x=\"278.5\" y=\"50\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"318.25\" y=\"65\">Dynamic</text>\n</a>\n</g>\n<path d=\"M460 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M480 31h10\"></path>\n<g>\n<path d=\"M490 31h0\"></path>\n<path d=\"M960 31h0\"></path>\n<path d=\"M520 31h10\"></path>\n<g>\n<path d=\"M530 31h0\"></path>\n<path d=\"M879 31h51\"></path>\n<g class=\"terminal\">\n<path d=\"M530 31h0\"></path>\n<path d=\"M626.5 31h0\"></path>\n<rect x=\"530\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"578.25\" y=\"35\">\"OPTIONS\"</text>\n</g>\n<path d=\"M626.5 31h10\"></path>\n<path d=\"M636.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M646.5 31h0\"></path>\n<path d=\"M879 31h0\"></path>\n<rect x=\"646.5\" y=\"20\" width=\"232.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CallTransformationOptions\"><text x=\"762.75\" y=\"35\">CallTransformationOptions</text>\n</a>\n</g>\n</g>\n<path d=\"M930 31h10\"></path>\n<path d=\"M520 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M530 61h0\"></path>\n<path d=\"M930 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M530 61h0\"></path>\n<path d=\"M652 61h0\"></path>\n<rect x=\"530\" y=\"50\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"591\" y=\"65\">\"PARAMETERS\"</text>\n</g>\n<path d=\"M652 61h10\"></path>\n<path d=\"M662 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M672 61h0\"></path>\n<path d=\"M930 61h0\"></path>\n<rect x=\"672\" y=\"50\" width=\"258\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CallTransformationParameters\"><text x=\"801\" y=\"65\">CallTransformationParameters</text>\n</a>\n</g>\n</g>\n<path d=\"M930 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M520 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M530 91h0\"></path>\n<path d=\"M904.5 91h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M530 91h0\"></path>\n<path d=\"M626.5 91h0\"></path>\n<rect x=\"530\" y=\"80\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"578.25\" y=\"95\">\"OBJECTS\"</text>\n</g>\n<path d=\"M626.5 91h10\"></path>\n<path d=\"M636.5 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M646.5 91h0\"></path>\n<path d=\"M904.5 91h0\"></path>\n<rect x=\"646.5\" y=\"80\" width=\"258\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CallTransformationParameters\"><text x=\"775.5\" y=\"95\">CallTransformationParameters</text>\n</a>\n</g>\n</g>\n<path d=\"M930 91a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M520 31v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M530 121h0\"></path>\n<path d=\"M926 121h4\"></path>\n<g class=\"terminal\">\n<path d=\"M530 121h0\"></path>\n<path d=\"M618 121h0\"></path>\n<rect x=\"530\" y=\"110\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"574\" y=\"125\">\"SOURCE\"</text>\n</g>\n<path d=\"M618 121h10\"></path>\n<g>\n<path d=\"M628 121h0\"></path>\n<path d=\"M926 121h0\"></path>\n<path d=\"M628 121h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M648 121h0\"></path>\n<path d=\"M906 121h0\"></path>\n<rect x=\"648\" y=\"110\" width=\"258\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CallTransformationParameters\"><text x=\"777\" y=\"125\">CallTransformationParameters</text>\n</a>\n</g>\n<path d=\"M906 121h20\"></path>\n<path d=\"M628 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M648 151h0\"></path>\n<path d=\"M861 151h45\"></path>\n<g class=\"terminal\">\n<path d=\"M648 151h0\"></path>\n<path d=\"M710.5 151h0\"></path>\n<rect x=\"648\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679.25\" y=\"155\">\"XML\"</text>\n</g>\n<path d=\"M710.5 151h10\"></path>\n<path d=\"M720.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M730.5 151h0\"></path>\n<path d=\"M861 151h0\"></path>\n<rect x=\"730.5\" y=\"140\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"795.75\" y=\"155\">SimpleSource3</text>\n</a>\n</g>\n</g>\n<path d=\"M906 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M930 121a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M520 31v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M530 181h0\"></path>\n<path d=\"M926 181h4\"></path>\n<g class=\"terminal\">\n<path d=\"M530 181h0\"></path>\n<path d=\"M618 181h0\"></path>\n<rect x=\"530\" y=\"170\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"574\" y=\"185\">\"RESULT\"</text>\n</g>\n<path d=\"M618 181h10\"></path>\n<g>\n<path d=\"M628 181h0\"></path>\n<path d=\"M926 181h0\"></path>\n<path d=\"M628 181h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M648 181h0\"></path>\n<path d=\"M906 181h0\"></path>\n<rect x=\"648\" y=\"170\" width=\"258\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/CallTransformationParameters\"><text x=\"777\" y=\"185\">CallTransformationParameters</text>\n</a>\n</g>\n<path d=\"M906 181h20\"></path>\n<path d=\"M628 181a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M648 211h0\"></path>\n<path d=\"M801.5 211h104.5\"></path>\n<g class=\"terminal\">\n<path d=\"M648 211h0\"></path>\n<path d=\"M710.5 211h0\"></path>\n<rect x=\"648\" y=\"200\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679.25\" y=\"215\">\"XML\"</text>\n</g>\n<path d=\"M710.5 211h10\"></path>\n<path d=\"M720.5 211h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M730.5 211h0\"></path>\n<path d=\"M801.5 211h0\"></path>\n<rect x=\"730.5\" y=\"200\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"766\" y=\"215\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M906 211a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M930 181a10 10 0 0 0 10 -10v-140\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 520 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"505\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 940 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 947 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M960 31h10\"></path>\n<path d=\"M 970 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "call_transformation.ts"
+    },
+    {
+      "name": "Case",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CASE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"262\" height=\"62\" viewBox=\"0 0 262 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"CASE\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"176.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M212 31h10\"></path>\n<path d=\"M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Case"
+      ],
+      "filename": "case.ts"
+    },
+    {
+      "name": "CaseType",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v750 or open-abap\", {}), Railroad.Sequence(Railroad.Terminal('\"CASE TYPE OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"479\" height=\"62\" viewBox=\"0 0 479 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M429 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M179 31h0\"></path>\n<text x=\"114.5\" y=\"36\" class=\"comment\">v750 or open-abap</text>\n</g>\n<path d=\"M179 31h10\"></path>\n<path d=\"M189 31h10\"></path>\n<g>\n<path d=\"M199 31h0\"></path>\n<path d=\"M429 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M199 31h0\"></path>\n<path d=\"M338 31h0\"></path>\n<rect x=\"199\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"268.5\" y=\"35\">\"CASE TYPE OF\"</text>\n</g>\n<path d=\"M338 31h10\"></path>\n<path d=\"M348 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M358 31h0\"></path>\n<path d=\"M429 31h0\"></path>\n<rect x=\"358\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"393.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M429 31h10\"></path>\n<path d=\"M 439 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/CaseType"
+      ],
+      "filename": "case_type.ts"
+    },
+    {
+      "name": "Catch",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CATCH\"'),Railroad.Optional(Railroad.Terminal('\"BEFORE UNWIND\"')),Railroad.OneOrMore(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"715.5\" height=\"80\" viewBox=\"0 0 715.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"CATCH\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M327 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h147.5\"></path>\n</g>\n<path d=\"M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M307 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.25\" y=\"44\">\"BEFORE UNWIND\"</text>\n</g>\n<path d=\"M307 40h20\"></path>\n</g>\n<path d=\"M327 40h10\"></path>\n<g>\n<path d=\"M337 40h0\"></path>\n<path d=\"M453.5 40h0\"></path>\n<path d=\"M337 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M347 40h0\"></path>\n<path d=\"M443.5 40h0\"></path>\n<rect x=\"347\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"395.25\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M443.5 40h10\"></path>\n<path d=\"M347 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M347 60h96.5\"></path>\n</g>\n<path d=\"M443.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M453.5 40h10\"></path>\n<g>\n<path d=\"M463.5 40h0\"></path>\n<path d=\"M665.5 40h0\"></path>\n<path d=\"M463.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M483.5 20h162\"></path>\n</g>\n<path d=\"M645.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M463.5 40h20\"></path>\n<g>\n<path d=\"M483.5 40h0\"></path>\n<path d=\"M645.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M483.5 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<rect x=\"483.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"519\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M554.5 40h10\"></path>\n<path d=\"M564.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M574.5 40h0\"></path>\n<path d=\"M645.5 40h0\"></path>\n<rect x=\"574.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"610\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M645.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M665.5 40h10\"></path>\n<path d=\"M 675.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Catch"
+      ],
+      "filename": "catch.ts"
+    },
+    {
+      "name": "CatchSystemExceptions",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CATCH SYSTEM-EXCEPTIONS\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"684.5\" height=\"71\" viewBox=\"0 0 684.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M634.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M634.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M375.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.25\" y=\"35\">\"CATCH SYSTEM-EXCEPTIONS\"</text>\n</g>\n<path d=\"M375.5 31h10\"></path>\n<path d=\"M385.5 31h10\"></path>\n<g>\n<path d=\"M395.5 31h0\"></path>\n<path d=\"M634.5 31h0\"></path>\n<path d=\"M395.5 31h10\"></path>\n<g>\n<path d=\"M405.5 31h0\"></path>\n<path d=\"M624.5 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M405.5 31h0\"></path>\n<path d=\"M468 31h0\"></path>\n<rect x=\"405.5\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"436.75\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M468 31h10\"></path>\n<path d=\"M478 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M488 31h0\"></path>\n<path d=\"M533.5 31h0\"></path>\n<rect x=\"488\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.75\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M533.5 31h10\"></path>\n<path d=\"M543.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M553.5 31h0\"></path>\n<path d=\"M624.5 31h0\"></path>\n<rect x=\"553.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"589\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M624.5 31h10\"></path>\n<path d=\"M405.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M405.5 51h219\"></path>\n</g>\n<path d=\"M624.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M634.5 31h10\"></path>\n<path d=\"M 644.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/CatchSystemExceptions"
+      ],
+      "filename": "catch_system_exceptions.ts"
+    },
+    {
+      "name": "Check",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CHECK\"'),Railroad.Choice(0, Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Cond",
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"292\" height=\"92\" viewBox=\"0 0 292 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M242 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"CHECK\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<g>\n<path d=\"M139.5 31h0\"></path>\n<path d=\"M242 31h0\"></path>\n<path d=\"M139.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 31h0\"></path>\n<path d=\"M213.5 31h8.5\"></path>\n<rect x=\"159.5\" y=\"20\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"186.5\" y=\"35\">Cond</text>\n</a>\n</g>\n<path d=\"M222 31h20\"></path>\n<path d=\"M139.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 61h0\"></path>\n<path d=\"M222 61h0\"></path>\n<rect x=\"159.5\" y=\"50\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"190.75\" y=\"65\">Field</text>\n</a>\n</g>\n<path d=\"M222 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M242 31h10\"></path>\n<path d=\"M 252 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "check.ts"
+    },
+    {
+      "name": "CheckSelectOptions",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"CHECK SELECT-OPTIONS\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"400\" height=\"62\" viewBox=\"0 0 400 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M350 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M350 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246.5\" y=\"35\">\"CHECK SELECT-OPTIONS\"</text>\n</g>\n</g>\n<path d=\"M350 31h10\"></path>\n<path d=\"M 360 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "check_select_options.ts"
+    },
+    {
+      "name": "ClassData",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS-DATA\"'),Railroad.NonTerminal('DataDefinition', {href: '#/expression/DataDefinition'}))).toString();",
+      "using": [
+        "expression/DataDefinition"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"381\" height=\"62\" viewBox=\"0 0 381 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M331 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M172 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"35\">\"CLASS-DATA\"</text>\n</g>\n<path d=\"M172 31h10\"></path>\n<path d=\"M182 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M192 31h0\"></path>\n<path d=\"M331 31h0\"></path>\n<rect x=\"192\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DataDefinition\"><text x=\"261.5\" y=\"35\">DataDefinition</text>\n</a>\n</g>\n</g>\n<path d=\"M331 31h10\"></path>\n<path d=\"M 341 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassData",
+        "structure/SectionContents"
+      ],
+      "filename": "class_data.ts"
+    },
+    {
+      "name": "ClassDataBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS-DATA\"'),Railroad.Sequence(Railroad.Terminal('\"BEGIN OF\"'),Railroad.Optional(Railroad.Terminal('\"COMMON PART\"')),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Terminal('\"READ-ONLY\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})))))).toString();",
+      "using": [
+        "expression/Integer",
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1110\" height=\"71\" viewBox=\"0 0 1110 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1060 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">\"CLASS-DATA\"</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<path d=\"M182 40h10\"></path>\n<g>\n<path d=\"M192 40h0\"></path>\n<path d=\"M1060 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M192 40h0\"></path>\n<path d=\"M297 40h0\"></path>\n<rect x=\"192\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"244.5\" y=\"44\">\"BEGIN OF\"</text>\n</g>\n<path d=\"M297 40h10\"></path>\n<g>\n<path d=\"M307 40h0\"></path>\n<path d=\"M477.5 40h0\"></path>\n<path d=\"M307 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M327 20h130.5\"></path>\n</g>\n<path d=\"M457.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M307 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M327 40h0\"></path>\n<path d=\"M457.5 40h0\"></path>\n<rect x=\"327\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"392.25\" y=\"44\">\"COMMON PART\"</text>\n</g>\n<path d=\"M457.5 40h20\"></path>\n</g>\n<path d=\"M477.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M487.5 40h0\"></path>\n<path d=\"M669 40h0\"></path>\n<rect x=\"487.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"578.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M669 40h10\"></path>\n<g>\n<path d=\"M679 40h0\"></path>\n<path d=\"M832.5 40h0\"></path>\n<path d=\"M679 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M699 20h113.5\"></path>\n</g>\n<path d=\"M812.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M679 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M699 40h0\"></path>\n<path d=\"M812.5 40h0\"></path>\n<rect x=\"699\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"755.75\" y=\"44\">\"READ-ONLY\"</text>\n</g>\n<path d=\"M812.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M832.5 40h0\"></path>\n<path d=\"M1060 40h0\"></path>\n<path d=\"M832.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M852.5 20h187.5\"></path>\n</g>\n<path d=\"M1040 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M832.5 40h20\"></path>\n<g>\n<path d=\"M852.5 40h0\"></path>\n<path d=\"M1040 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M852.5 40h0\"></path>\n<path d=\"M940.5 40h0\"></path>\n<rect x=\"852.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"896.5\" y=\"44\">\"OCCURS\"</text>\n</g>\n<path d=\"M940.5 40h10\"></path>\n<path d=\"M950.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M960.5 40h0\"></path>\n<path d=\"M1040 40h0\"></path>\n<rect x=\"960.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"1000.25\" y=\"44\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M1040 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1060 40h10\"></path>\n<path d=\"M 1070 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassData"
+      ],
+      "filename": "class_data_begin.ts"
+    },
+    {
+      "name": "ClassDataEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS-DATA\"'),Railroad.Sequence(Railroad.Terminal('\"END OF\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"COMMON PART\"'),Railroad.Optional(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"742\" height=\"101\" viewBox=\"0 0 742 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M692 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">\"CLASS-DATA\"</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<path d=\"M182 40h10\"></path>\n<g>\n<path d=\"M192 40h0\"></path>\n<path d=\"M692 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M192 40h0\"></path>\n<path d=\"M280 40h0\"></path>\n<rect x=\"192\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"236\" y=\"44\">\"END OF\"</text>\n</g>\n<path d=\"M280 40h10\"></path>\n<g>\n<path d=\"M290 40h0\"></path>\n<path d=\"M692 40h0\"></path>\n<path d=\"M290 40h20\"></path>\n<g>\n<path d=\"M310 40h0\"></path>\n<path d=\"M672 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M310 40h0\"></path>\n<path d=\"M440.5 40h0\"></path>\n<rect x=\"310\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"375.25\" y=\"44\">\"COMMON PART\"</text>\n</g>\n<path d=\"M440.5 40h10\"></path>\n<g>\n<path d=\"M450.5 40h0\"></path>\n<path d=\"M672 40h0\"></path>\n<path d=\"M450.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M470.5 20h181.5\"></path>\n</g>\n<path d=\"M652 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M450.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470.5 40h0\"></path>\n<path d=\"M652 40h0\"></path>\n<rect x=\"470.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"561.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M652 40h20\"></path>\n</g>\n</g>\n<path d=\"M672 40h20\"></path>\n<path d=\"M290 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310 70h0\"></path>\n<path d=\"M491.5 70h180.5\"></path>\n<rect x=\"310\" y=\"59\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"400.75\" y=\"74\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M672 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M692 40h10\"></path>\n<path d=\"M 702 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassData"
+      ],
+      "filename": "class_data_end.ts"
+    },
+    {
+      "name": "ClassDeferred",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('\"DEFINITION DEFERRED\"'),Railroad.Optional(Railroad.Terminal('\"PUBLIC\"')))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"652.5\" height=\"71\" viewBox=\"0 0 652.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M602.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"CLASS\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M246 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"197.75\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M246 40h10\"></path>\n<path d=\"M256 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 40h0\"></path>\n<path d=\"M464.5 40h0\"></path>\n<rect x=\"266\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"365.25\" y=\"44\">\"DEFINITION DEFERRED\"</text>\n</g>\n<path d=\"M464.5 40h10\"></path>\n<g>\n<path d=\"M474.5 40h0\"></path>\n<path d=\"M602.5 40h0\"></path>\n<path d=\"M474.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M494.5 20h88\"></path>\n</g>\n<path d=\"M582.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M474.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M494.5 40h0\"></path>\n<path d=\"M582.5 40h0\"></path>\n<rect x=\"494.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"538.5\" y=\"44\">\"PUBLIC\"</text>\n</g>\n<path d=\"M582.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M602.5 40h10\"></path>\n<path d=\"M 612.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "class_deferred.ts"
+    },
+    {
+      "name": "ClassDefinition",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Sequence(Railroad.Terminal('\"DEFINITION\"'),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('ClassGlobal', {href: '#/expression/ClassGlobal'}),Railroad.NonTerminal('ClassFinal', {href: '#/expression/ClassFinal'}),Railroad.Terminal('\"ABSTRACT\"'),Railroad.Sequence(Railroad.Terminal('\"INHERITING FROM\"'),Railroad.NonTerminal('SuperClassName', {href: '#/expression/SuperClassName'})),Railroad.Sequence(Railroad.Terminal('\"CREATE\"'),Railroad.Choice(0, Railroad.Terminal('\"PUBLIC\"'),Railroad.Terminal('\"PROTECTED\"'),Railroad.Terminal('\"PRIVATE\"'))),Railroad.Terminal('\"FOR TESTING\"'),Railroad.Sequence(Railroad.Terminal('\"RISK LEVEL\"'),Railroad.Choice(0, Railroad.Terminal('\"CRITICAL\"'),Railroad.Terminal('\"HARMLESS\"'),Railroad.Terminal('\"DANGEROUS\"'))),Railroad.Terminal('\"SHARED MEMORY ENABLED\"'),Railroad.Sequence(Railroad.Terminal('\"DURATION\"'),Railroad.Choice(0, Railroad.Terminal('\"LONG\"'),Railroad.Terminal('\"MEDIUM\"'),Railroad.Terminal('\"SHORT\"'))),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"FOR BEHAVIOR OF\"'),Railroad.NonTerminal('BehaviorDefinitionName', {href: '#/expression/BehaviorDefinitionName'}))),Railroad.NonTerminal('ClassFriends', {href: '#/expression/ClassFriends'})))))).toString();",
+      "using": [
+        "expression/BehaviorDefinitionName",
+        "expression/ClassFinal",
+        "expression/ClassFriends",
+        "expression/ClassGlobal",
+        "expression/ClassName",
+        "expression/SuperClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1007.5\" height=\"551\" viewBox=\"0 0 1007.5 551\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M957.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"CLASS\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M246 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"197.75\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M246 40h10\"></path>\n<path d=\"M256 40h10\"></path>\n<g>\n<path d=\"M266 40h0\"></path>\n<path d=\"M957.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M266 40h0\"></path>\n<path d=\"M388 40h0\"></path>\n<rect x=\"266\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"327\" y=\"44\">\"DEFINITION\"</text>\n</g>\n<path d=\"M388 40h10\"></path>\n<g>\n<path d=\"M398 40h0\"></path>\n<path d=\"M957.5 40h0\"></path>\n<path d=\"M398 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M418 20h519.5\"></path>\n</g>\n<path d=\"M937.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M398 40h20\"></path>\n<g>\n<path d=\"M418 40h0\"></path>\n<path d=\"M937.5 40h0\"></path>\n<path d=\"M448 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458 40h0\"></path>\n<path d=\"M571.5 40h336\"></path>\n<rect x=\"458\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassGlobal\"><text x=\"514.75\" y=\"44\">ClassGlobal</text>\n</a>\n</g>\n<path d=\"M907.5 40h10\"></path>\n<path d=\"M448 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458 70h0\"></path>\n<path d=\"M563 70h344.5\"></path>\n<rect x=\"458\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassFinal\"><text x=\"510.5\" y=\"74\">ClassFinal</text>\n</a>\n</g>\n<path d=\"M907.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M448 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M458 100h0\"></path>\n<path d=\"M563 100h344.5\"></path>\n<rect x=\"458\" y=\"89\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.5\" y=\"104\">\"ABSTRACT\"</text>\n</g>\n<path d=\"M907.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M448 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458 130h0\"></path>\n<path d=\"M781.5 130h126\"></path>\n<g class=\"terminal\">\n<path d=\"M458 130h0\"></path>\n<path d=\"M622.5 130h0\"></path>\n<rect x=\"458\" y=\"119\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.25\" y=\"134\">\"INHERITING FROM\"</text>\n</g>\n<path d=\"M622.5 130h10\"></path>\n<path d=\"M632.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642.5 130h0\"></path>\n<path d=\"M781.5 130h0\"></path>\n<rect x=\"642.5\" y=\"119\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SuperClassName\"><text x=\"712\" y=\"134\">SuperClassName</text>\n</a>\n</g>\n</g>\n<path d=\"M907.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M448 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458 160h0\"></path>\n<path d=\"M709.5 160h198\"></path>\n<g class=\"terminal\">\n<path d=\"M458 160h0\"></path>\n<path d=\"M546 160h0\"></path>\n<rect x=\"458\" y=\"149\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502\" y=\"164\">\"CREATE\"</text>\n</g>\n<path d=\"M546 160h10\"></path>\n<g>\n<path d=\"M556 160h0\"></path>\n<path d=\"M709.5 160h0\"></path>\n<path d=\"M556 160h20\"></path>\n<g class=\"terminal\">\n<path d=\"M576 160h0\"></path>\n<path d=\"M664 160h25.5\"></path>\n<rect x=\"576\" y=\"149\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"620\" y=\"164\">\"PUBLIC\"</text>\n</g>\n<path d=\"M689.5 160h20\"></path>\n<path d=\"M556 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M576 190h0\"></path>\n<path d=\"M689.5 190h0\"></path>\n<rect x=\"576\" y=\"179\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"632.75\" y=\"194\">\"PROTECTED\"</text>\n</g>\n<path d=\"M689.5 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M556 160a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M576 220h0\"></path>\n<path d=\"M672.5 220h17\"></path>\n<rect x=\"576\" y=\"209\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"624.25\" y=\"224\">\"PRIVATE\"</text>\n</g>\n<path d=\"M689.5 220a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M907.5 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M448 40v200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M458 250h0\"></path>\n<path d=\"M588.5 250h319\"></path>\n<rect x=\"458\" y=\"239\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"523.25\" y=\"254\">\"FOR TESTING\"</text>\n</g>\n<path d=\"M907.5 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M448 40v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458 280h0\"></path>\n<path d=\"M743.5 280h164\"></path>\n<g class=\"terminal\">\n<path d=\"M458 280h0\"></path>\n<path d=\"M580 280h0\"></path>\n<rect x=\"458\" y=\"269\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"519\" y=\"284\">\"RISK LEVEL\"</text>\n</g>\n<path d=\"M580 280h10\"></path>\n<g>\n<path d=\"M590 280h0\"></path>\n<path d=\"M743.5 280h0\"></path>\n<path d=\"M590 280h20\"></path>\n<g class=\"terminal\">\n<path d=\"M610 280h0\"></path>\n<path d=\"M715 280h8.5\"></path>\n<rect x=\"610\" y=\"269\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.5\" y=\"284\">\"CRITICAL\"</text>\n</g>\n<path d=\"M723.5 280h20\"></path>\n<path d=\"M590 280a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M610 310h0\"></path>\n<path d=\"M715 310h8.5\"></path>\n<rect x=\"610\" y=\"299\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.5\" y=\"314\">\"HARMLESS\"</text>\n</g>\n<path d=\"M723.5 310a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M590 280a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M610 340h0\"></path>\n<path d=\"M723.5 340h0\"></path>\n<rect x=\"610\" y=\"329\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"666.75\" y=\"344\">\"DANGEROUS\"</text>\n</g>\n<path d=\"M723.5 340a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M907.5 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M448 40v320a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M458 370h0\"></path>\n<path d=\"M673.5 370h234\"></path>\n<rect x=\"458\" y=\"359\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"565.75\" y=\"374\">\"SHARED MEMORY ENABLED\"</text>\n</g>\n<path d=\"M907.5 370a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M448 40v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458 400h0\"></path>\n<path d=\"M701 400h206.5\"></path>\n<g class=\"terminal\">\n<path d=\"M458 400h0\"></path>\n<path d=\"M563 400h0\"></path>\n<rect x=\"458\" y=\"389\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.5\" y=\"404\">\"DURATION\"</text>\n</g>\n<path d=\"M563 400h10\"></path>\n<g>\n<path d=\"M573 400h0\"></path>\n<path d=\"M701 400h0\"></path>\n<path d=\"M573 400h20\"></path>\n<g class=\"terminal\">\n<path d=\"M593 400h0\"></path>\n<path d=\"M664 400h17\"></path>\n<rect x=\"593\" y=\"389\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"628.5\" y=\"404\">\"LONG\"</text>\n</g>\n<path d=\"M681 400h20\"></path>\n<path d=\"M573 400a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M593 430h0\"></path>\n<path d=\"M681 430h0\"></path>\n<rect x=\"593\" y=\"419\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"637\" y=\"434\">\"MEDIUM\"</text>\n</g>\n<path d=\"M681 430a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M573 400a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M593 460h0\"></path>\n<path d=\"M672.5 460h8.5\"></path>\n<rect x=\"593\" y=\"449\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"632.75\" y=\"464\">\"SHORT\"</text>\n</g>\n<path d=\"M681 460a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M907.5 400a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M448 40v440a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M458 490h0\"></path>\n<path d=\"M907.5 490h0\"></path>\n<g>\n<path d=\"M458 490h0\"></path>\n<path d=\"M496 490h0\"></path>\n<text x=\"477\" y=\"495\" class=\"comment\">v754</text>\n</g>\n<path d=\"M496 490h10\"></path>\n<path d=\"M506 490h10\"></path>\n<g>\n<path d=\"M516 490h0\"></path>\n<path d=\"M907.5 490h0\"></path>\n<g class=\"terminal\">\n<path d=\"M516 490h0\"></path>\n<path d=\"M680.5 490h0\"></path>\n<rect x=\"516\" y=\"479\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"598.25\" y=\"494\">\"FOR BEHAVIOR OF\"</text>\n</g>\n<path d=\"M680.5 490h10\"></path>\n<path d=\"M690.5 490h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700.5 490h0\"></path>\n<path d=\"M907.5 490h0\"></path>\n<rect x=\"700.5\" y=\"479\" width=\"207\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/BehaviorDefinitionName\"><text x=\"804\" y=\"494\">BehaviorDefinitionName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M907.5 490a10 10 0 0 0 10 -10v-440\"></path>\n<path d=\"M448 40v470a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458 520h0\"></path>\n<path d=\"M580 520h327.5\"></path>\n<rect x=\"458\" y=\"509\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassFriends\"><text x=\"519\" y=\"524\">ClassFriends</text>\n</a>\n</g>\n<path d=\"M907.5 520a10 10 0 0 0 10 -10v-470\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 448 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"433\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 917.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 924.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M937.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M957.5 40h10\"></path>\n<path d=\"M 967.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition"
+      ],
+      "filename": "class_definition.ts"
+    },
+    {
+      "name": "ClassDefinitionLoad",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('\"DEFINITION LOAD\"'))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"480.5\" height=\"62\" viewBox=\"0 0 480.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M430.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"CLASS\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"197.75\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M430.5 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"348.25\" y=\"35\">\"DEFINITION LOAD\"</text>\n</g>\n</g>\n<path d=\"M430.5 31h10\"></path>\n<path d=\"M 440.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "class_definition_load.ts"
+    },
+    {
+      "name": "ClassImplementation",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('\"IMPLEMENTATION\"'))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"472\" height=\"62\" viewBox=\"0 0 472 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M422 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"CLASS\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"197.75\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M422 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344\" y=\"35\">\"IMPLEMENTATION\"</text>\n</g>\n</g>\n<path d=\"M422 31h10\"></path>\n<path d=\"M 432 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassImplementation"
+      ],
+      "filename": "class_implementation.ts"
+    },
+    {
+      "name": "ClassLocalFriends",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLASS\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Terminal('\"DEFINITION LOCAL FRIENDS\"'),Railroad.OneOrMore(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'})))).toString();",
+      "using": [
+        "expression/ClassName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"693.5\" height=\"71\" viewBox=\"0 0 693.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M643.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"CLASS\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"197.75\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M507 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"386.5\" y=\"35\">\"DEFINITION LOCAL FRIENDS\"</text>\n</g>\n<path d=\"M507 31h10\"></path>\n<path d=\"M517 31h10\"></path>\n<g>\n<path d=\"M527 31h0\"></path>\n<path d=\"M643.5 31h0\"></path>\n<path d=\"M527 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M537 31h0\"></path>\n<path d=\"M633.5 31h0\"></path>\n<rect x=\"537\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"585.25\" y=\"35\">ClassName</text>\n</a>\n</g>\n<path d=\"M633.5 31h10\"></path>\n<path d=\"M537 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M537 51h96.5\"></path>\n</g>\n<path d=\"M633.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M643.5 31h10\"></path>\n<path d=\"M 653.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "class_local_friends.ts"
+    },
+    {
+      "name": "Cleanup",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLEANUP\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"408.5\" height=\"71\" viewBox=\"0 0 408.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"CLEANUP\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M176.5 20h162\"></path>\n</g>\n<path d=\"M338.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g>\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M247.5 40h0\"></path>\n<rect x=\"176.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M247.5 40h10\"></path>\n<path d=\"M257.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M267.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<rect x=\"267.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"303\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M338.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M358.5 40h10\"></path>\n<path d=\"M 368.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Cleanup"
+      ],
+      "filename": "cleanup.ts"
+    },
+    {
+      "name": "Clear",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CLEAR\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"IN CHARACTER MODE\"'),Railroad.Terminal('\"IN BYTE MODE\"'))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"744\" height=\"101\" viewBox=\"0 0 744 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M694 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"CLEAR\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"185\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M220.5 40h10\"></path>\n<g>\n<path d=\"M230.5 40h0\"></path>\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M230.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M250.5 20h162\"></path>\n</g>\n<path d=\"M412.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M230.5 40h20\"></path>\n<g>\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M412.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M321.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"286\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M321.5 40h10\"></path>\n<path d=\"M331.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M341.5 40h0\"></path>\n<path d=\"M412.5 40h0\"></path>\n<rect x=\"341.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"377\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M412.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M694 40h0\"></path>\n<path d=\"M432.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M452.5 20h221.5\"></path>\n</g>\n<path d=\"M674 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M432.5 40h20\"></path>\n<g>\n<path d=\"M452.5 40h0\"></path>\n<path d=\"M674 40h0\"></path>\n<path d=\"M452.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M472.5 40h0\"></path>\n<path d=\"M654 40h0\"></path>\n<rect x=\"472.5\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"563.25\" y=\"44\">\"IN CHARACTER MODE\"</text>\n</g>\n<path d=\"M654 40h20\"></path>\n<path d=\"M452.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M472.5 70h0\"></path>\n<path d=\"M611.5 70h42.5\"></path>\n<rect x=\"472.5\" y=\"59\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"542\" y=\"74\">\"IN BYTE MODE\"</text>\n</g>\n<path d=\"M654 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M674 40h20\"></path>\n</g>\n</g>\n<path d=\"M694 40h10\"></path>\n<path d=\"M 704 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "clear.ts"
+    },
+    {
+      "name": "CloseCursor",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CLOSE CURSOR\"'),Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'})))).toString();",
+      "using": [
+        "expression/SQLSourceSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"499.5\" height=\"62\" viewBox=\"0 0 499.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M449.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M449.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M282 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"35\">\"CLOSE CURSOR\"</text>\n</g>\n<path d=\"M282 31h10\"></path>\n<path d=\"M292 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 31h0\"></path>\n<path d=\"M449.5 31h0\"></path>\n<rect x=\"302\" y=\"20\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"375.75\" y=\"35\">SQLSourceSimple</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M449.5 31h10\"></path>\n<path d=\"M 459.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "close_cursor.ts"
+    },
+    {
+      "name": "CloseDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CLOSE DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"431.5\" height=\"62\" viewBox=\"0 0 431.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"CLOSE DATASET\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<path d=\"M300.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<rect x=\"310.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M381.5 31h10\"></path>\n<path d=\"M 391.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "close_dataset.ts"
+    },
+    {
+      "name": "Collect",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"COLLECT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}))))).toString();",
+      "using": [
+        "expression/FSTarget",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"761\" height=\"71\" viewBox=\"0 0 761 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M711 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"COLLECT\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<path d=\"M156.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 40h0\"></path>\n<path d=\"M237.5 40h0\"></path>\n<rect x=\"166.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"202\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M237.5 40h10\"></path>\n<g>\n<path d=\"M247.5 40h0\"></path>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M247.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M267.5 20h162\"></path>\n</g>\n<path d=\"M429.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M247.5 40h20\"></path>\n<g>\n<path d=\"M267.5 40h0\"></path>\n<path d=\"M429.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M267.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<rect x=\"267.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"303\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M338.5 40h10\"></path>\n<path d=\"M348.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M429.5 40h0\"></path>\n<rect x=\"358.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"394\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M429.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M711 40h0\"></path>\n<path d=\"M449.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M469.5 20h221.5\"></path>\n</g>\n<path d=\"M691 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M449.5 40h20\"></path>\n<g>\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M691 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M583 40h0\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"526.25\" y=\"44\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M583 40h10\"></path>\n<path d=\"M593 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M603 40h0\"></path>\n<path d=\"M691 40h0\"></path>\n<rect x=\"603\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"647\" y=\"44\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M691 40h20\"></path>\n</g>\n</g>\n<path d=\"M711 40h10\"></path>\n<path d=\"M 721 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "collect.ts"
+    },
+    {
+      "name": "Commit",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"COMMIT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"WORK\"'),Railroad.Optional(Railroad.Terminal('\"AND WAIT\"'))),Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})))).toString();",
+      "using": [
+        "expression/DatabaseConnection"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"464\" height=\"101\" viewBox=\"0 0 464 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M414 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"COMMIT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M414 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M394 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M239 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.5\" y=\"44\">\"WORK\"</text>\n</g>\n<path d=\"M239 40h10\"></path>\n<g>\n<path d=\"M249 40h0\"></path>\n<path d=\"M394 40h0\"></path>\n<path d=\"M249 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M269 20h105\"></path>\n</g>\n<path d=\"M374 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M249 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M374 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"321.5\" y=\"44\">\"AND WAIT\"</text>\n</g>\n<path d=\"M374 40h20\"></path>\n</g>\n</g>\n<path d=\"M394 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 70h0\"></path>\n<path d=\"M341 70h53\"></path>\n<rect x=\"168\" y=\"59\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"254.5\" y=\"74\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M394 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M414 40h10\"></path>\n<path d=\"M 424 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "commit.ts"
+    },
+    {
+      "name": "CommitEntities",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"COMMIT ENTITIES\"'),Railroad.Optional(Railroad.Terminal('\"IN SIMULATION MODE\"')),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"RESPONSE OF\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"FAILED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"REPORTED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1369.5\" height=\"80\" viewBox=\"0 0 1369.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1319.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M1319.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M272.5 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"190.25\" y=\"44\">\"COMMIT ENTITIES\"</text>\n</g>\n<path d=\"M272.5 40h10\"></path>\n<g>\n<path d=\"M282.5 40h0\"></path>\n<path d=\"M512.5 40h0\"></path>\n<path d=\"M282.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M302.5 20h190\"></path>\n</g>\n<path d=\"M492.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M282.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M302.5 40h0\"></path>\n<path d=\"M492.5 40h0\"></path>\n<rect x=\"302.5\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"397.5\" y=\"44\">\"IN SIMULATION MODE\"</text>\n</g>\n<path d=\"M492.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M512.5 40h0\"></path>\n<path d=\"M1319.5 40h0\"></path>\n<path d=\"M512.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M532.5 20h767\"></path>\n</g>\n<path d=\"M1299.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M512.5 40h20\"></path>\n<g>\n<path d=\"M532.5 40h0\"></path>\n<path d=\"M1299.5 40h0\"></path>\n<path d=\"M532.5 40h10\"></path>\n<g>\n<path d=\"M542.5 40h0\"></path>\n<path d=\"M1289.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M542.5 40h0\"></path>\n<path d=\"M673 40h0\"></path>\n<rect x=\"542.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"607.75\" y=\"44\">\"RESPONSE OF\"</text>\n</g>\n<path d=\"M673 40h10\"></path>\n<path d=\"M683 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M693 40h0\"></path>\n<path d=\"M874.5 40h0\"></path>\n<rect x=\"693\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"783.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M874.5 40h10\"></path>\n<path d=\"M884.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M894.5 40h0\"></path>\n<path d=\"M982.5 40h0\"></path>\n<rect x=\"894.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"938.5\" y=\"44\">\"FAILED\"</text>\n</g>\n<path d=\"M982.5 40h10\"></path>\n<path d=\"M992.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1002.5 40h0\"></path>\n<path d=\"M1073.5 40h0\"></path>\n<rect x=\"1002.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1038\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M1073.5 40h10\"></path>\n<path d=\"M1083.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1093.5 40h0\"></path>\n<path d=\"M1198.5 40h0\"></path>\n<rect x=\"1093.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1146\" y=\"44\">\"REPORTED\"</text>\n</g>\n<path d=\"M1198.5 40h10\"></path>\n<path d=\"M1208.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1218.5 40h0\"></path>\n<path d=\"M1289.5 40h0\"></path>\n<rect x=\"1218.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1254\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1289.5 40h10\"></path>\n<path d=\"M542.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M542.5 60h747\"></path>\n</g>\n<path d=\"M1289.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1299.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1319.5 40h10\"></path>\n<path d=\"M 1329.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "commit_entities.ts"
+    },
+    {
+      "name": "Communication",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"COMMUNICATION\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INIT ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"DESTINATION\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ALLOCATE ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"SEND ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"BUFFER\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Sequence(Railroad.Terminal('\"DEALLOCATE ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"RECEIVE ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"BUFFER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Terminal('\"DATAINFO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"STATUSINFO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"RECEIVED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ACCEPT ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1686.5\" height=\"230\" viewBox=\"0 0 1686.5 230\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1636.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M1636.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"COMMUNICATION\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<g>\n<path d=\"M300.5 31h0\"></path>\n<path d=\"M1636.5 31h0\"></path>\n<path d=\"M300.5 31h20\"></path>\n<g>\n<path d=\"M320.5 31h0\"></path>\n<path d=\"M749.5 31h867\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 31h0\"></path>\n<path d=\"M417 31h0\"></path>\n<rect x=\"320.5\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.75\" y=\"35\">\"INIT ID\"</text>\n</g>\n<path d=\"M417 31h10\"></path>\n<path d=\"M427 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437 31h0\"></path>\n<path d=\"M508 31h0\"></path>\n<rect x=\"437\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"472.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M508 31h10\"></path>\n<path d=\"M518 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M528 31h0\"></path>\n<path d=\"M658.5 31h0\"></path>\n<rect x=\"528\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"593.25\" y=\"35\">\"DESTINATION\"</text>\n</g>\n<path d=\"M658.5 31h10\"></path>\n<path d=\"M668.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M678.5 31h0\"></path>\n<path d=\"M749.5 31h0\"></path>\n<rect x=\"678.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"714\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1616.5 31h20\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 61h0\"></path>\n<path d=\"M542 61h1074.5\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 61h0\"></path>\n<path d=\"M451 61h0\"></path>\n<rect x=\"320.5\" y=\"50\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"385.75\" y=\"65\">\"ALLOCATE ID\"</text>\n</g>\n<path d=\"M451 61h10\"></path>\n<path d=\"M461 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M471 61h0\"></path>\n<path d=\"M542 61h0\"></path>\n<rect x=\"471\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"506.5\" y=\"65\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1616.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 100h0\"></path>\n<path d=\"M936 100h680.5\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 100h0\"></path>\n<path d=\"M417 100h0\"></path>\n<rect x=\"320.5\" y=\"89\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.75\" y=\"104\">\"SEND ID\"</text>\n</g>\n<path d=\"M417 100h10\"></path>\n<path d=\"M427 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437 100h0\"></path>\n<path d=\"M508 100h0\"></path>\n<rect x=\"437\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"472.5\" y=\"104\">Source</text>\n</a>\n</g>\n<path d=\"M508 100h10\"></path>\n<path d=\"M518 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M528 100h0\"></path>\n<path d=\"M616 100h0\"></path>\n<rect x=\"528\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"572\" y=\"104\">\"BUFFER\"</text>\n</g>\n<path d=\"M616 100h10\"></path>\n<path d=\"M626 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M636 100h0\"></path>\n<path d=\"M707 100h0\"></path>\n<rect x=\"636\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"671.5\" y=\"104\">Target</text>\n</a>\n</g>\n<path d=\"M707 100h10\"></path>\n<g>\n<path d=\"M717 100h0\"></path>\n<path d=\"M936 100h0\"></path>\n<path d=\"M717 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M737 80h179\"></path>\n</g>\n<path d=\"M916 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M717 100h20\"></path>\n<g>\n<path d=\"M737 100h0\"></path>\n<path d=\"M916 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M737 100h0\"></path>\n<path d=\"M825 100h0\"></path>\n<rect x=\"737\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"781\" y=\"104\">\"LENGTH\"</text>\n</g>\n<path d=\"M825 100h10\"></path>\n<path d=\"M835 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M845 100h0\"></path>\n<path d=\"M916 100h0\"></path>\n<rect x=\"845\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"880.5\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M916 100h20\"></path>\n</g>\n</g>\n<path d=\"M1616.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 130h0\"></path>\n<path d=\"M559 130h1057.5\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 130h0\"></path>\n<path d=\"M468 130h0\"></path>\n<rect x=\"320.5\" y=\"119\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"394.25\" y=\"134\">\"DEALLOCATE ID\"</text>\n</g>\n<path d=\"M468 130h10\"></path>\n<path d=\"M478 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M488 130h0\"></path>\n<path d=\"M559 130h0\"></path>\n<rect x=\"488\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"523.5\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1616.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 169h0\"></path>\n<path d=\"M1616.5 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 169h0\"></path>\n<path d=\"M442.5 169h0\"></path>\n<rect x=\"320.5\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"381.5\" y=\"173\">\"RECEIVE ID\"</text>\n</g>\n<path d=\"M442.5 169h10\"></path>\n<path d=\"M452.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M462.5 169h0\"></path>\n<path d=\"M533.5 169h0\"></path>\n<rect x=\"462.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"498\" y=\"173\">Source</text>\n</a>\n</g>\n<path d=\"M533.5 169h10\"></path>\n<path d=\"M543.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M553.5 169h0\"></path>\n<path d=\"M641.5 169h0\"></path>\n<rect x=\"553.5\" y=\"158\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"597.5\" y=\"173\">\"BUFFER\"</text>\n</g>\n<path d=\"M641.5 169h10\"></path>\n<path d=\"M651.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M661.5 169h0\"></path>\n<path d=\"M732.5 169h0\"></path>\n<rect x=\"661.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"697\" y=\"173\">Source</text>\n</a>\n</g>\n<path d=\"M732.5 169h10\"></path>\n<g>\n<path d=\"M742.5 169h0\"></path>\n<path d=\"M961.5 169h0\"></path>\n<path d=\"M742.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M762.5 149h179\"></path>\n</g>\n<path d=\"M941.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M742.5 169h20\"></path>\n<g>\n<path d=\"M762.5 169h0\"></path>\n<path d=\"M941.5 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M762.5 169h0\"></path>\n<path d=\"M850.5 169h0\"></path>\n<rect x=\"762.5\" y=\"158\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"806.5\" y=\"173\">\"LENGTH\"</text>\n</g>\n<path d=\"M850.5 169h10\"></path>\n<path d=\"M860.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M870.5 169h0\"></path>\n<path d=\"M941.5 169h0\"></path>\n<rect x=\"870.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"906\" y=\"173\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M941.5 169h20\"></path>\n</g>\n<path d=\"M961.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M971.5 169h0\"></path>\n<path d=\"M1076.5 169h0\"></path>\n<rect x=\"971.5\" y=\"158\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1024\" y=\"173\">\"DATAINFO\"</text>\n</g>\n<path d=\"M1076.5 169h10\"></path>\n<path d=\"M1086.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 169h0\"></path>\n<path d=\"M1167.5 169h0\"></path>\n<rect x=\"1096.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1132\" y=\"173\">Target</text>\n</a>\n</g>\n<path d=\"M1167.5 169h10\"></path>\n<path d=\"M1177.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1187.5 169h0\"></path>\n<path d=\"M1309.5 169h0\"></path>\n<rect x=\"1187.5\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1248.5\" y=\"173\">\"STATUSINFO\"</text>\n</g>\n<path d=\"M1309.5 169h10\"></path>\n<path d=\"M1319.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1329.5 169h0\"></path>\n<path d=\"M1400.5 169h0\"></path>\n<rect x=\"1329.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1365\" y=\"173\">Target</text>\n</a>\n</g>\n<path d=\"M1400.5 169h10\"></path>\n<path d=\"M1410.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1420.5 169h0\"></path>\n<path d=\"M1525.5 169h0\"></path>\n<rect x=\"1420.5\" y=\"158\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1473\" y=\"173\">\"RECEIVED\"</text>\n</g>\n<path d=\"M1525.5 169h10\"></path>\n<path d=\"M1535.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1545.5 169h0\"></path>\n<path d=\"M1616.5 169h0\"></path>\n<rect x=\"1545.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1581\" y=\"173\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1616.5 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 199h0\"></path>\n<path d=\"M525 199h1091.5\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 199h0\"></path>\n<path d=\"M434 199h0\"></path>\n<rect x=\"320.5\" y=\"188\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"377.25\" y=\"203\">\"ACCEPT ID\"</text>\n</g>\n<path d=\"M434 199h10\"></path>\n<path d=\"M444 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M454 199h0\"></path>\n<path d=\"M525 199h0\"></path>\n<rect x=\"454\" y=\"188\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"489.5\" y=\"203\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1616.5 199a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1636.5 31h10\"></path>\n<path d=\"M 1646.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "communication.ts"
+    },
+    {
+      "name": "Compute",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"COMPUTE\"'),Railroad.Optional(Railroad.Terminal('\"EXACT\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"656.5\" height=\"71\" viewBox=\"0 0 656.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M606.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M606.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M239.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"44\">\"COMPUTE\"</text>\n</g>\n<path d=\"M239.5 40h10\"></path>\n<g>\n<path d=\"M249.5 40h0\"></path>\n<path d=\"M369 40h0\"></path>\n<path d=\"M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M269.5 20h79.5\"></path>\n</g>\n<path d=\"M349 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M249.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M269.5 40h0\"></path>\n<path d=\"M349 40h0\"></path>\n<rect x=\"269.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"309.25\" y=\"44\">\"EXACT\"</text>\n</g>\n<path d=\"M349 40h20\"></path>\n</g>\n<path d=\"M369 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M379 40h0\"></path>\n<path d=\"M450 40h0\"></path>\n<rect x=\"379\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"414.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M450 40h10\"></path>\n<path d=\"M460 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M470 40h0\"></path>\n<path d=\"M515.5 40h0\"></path>\n<rect x=\"470\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"492.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M515.5 40h10\"></path>\n<path d=\"M525.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M535.5 40h0\"></path>\n<path d=\"M606.5 40h0\"></path>\n<rect x=\"535.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"571\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M606.5 40h10\"></path>\n<path d=\"M 616.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "compute.ts"
+    },
+    {
+      "name": "Concatenate",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONCATENATE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"LINES OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.OneOrMore(Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"BYTE\"'),Railroad.Terminal('\"CHARACTER\"')),Railroad.Terminal('\"MODE\"')),Railroad.Terminal('\"RESPECTING BLANKS\"'),Railroad.Sequence(Railroad.Terminal('\"SEPARATED BY\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))))).toString();",
+      "using": [
+        "expression/SimpleSource3",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1172\" height=\"161\" viewBox=\"0 0 1172 161\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1122 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"CONCATENATE\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M531.5 40h0\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M406.5 40h105\"></path>\n<g class=\"terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M315.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"263\" y=\"44\">\"LINES OF\"</text>\n</g>\n<path d=\"M315.5 40h10\"></path>\n<path d=\"M325.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M335.5 40h0\"></path>\n<path d=\"M406.5 40h0\"></path>\n<rect x=\"335.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M511.5 40h20\"></path>\n<path d=\"M190.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M210.5 70h0\"></path>\n<path d=\"M511.5 70h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 70h0\"></path>\n<path d=\"M341 70h0\"></path>\n<rect x=\"210.5\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"275.75\" y=\"74\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M341 70h10\"></path>\n<path d=\"M351 70h10\"></path>\n<g>\n<path d=\"M361 70h0\"></path>\n<path d=\"M511.5 70h0\"></path>\n<path d=\"M361 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 70h0\"></path>\n<path d=\"M501.5 70h0\"></path>\n<rect x=\"371\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"436.25\" y=\"74\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M501.5 70h10\"></path>\n<path d=\"M371 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M371 90h130.5\"></path>\n</g>\n<path d=\"M501.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M511.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M531.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M541.5 40h0\"></path>\n<path d=\"M612.5 40h0\"></path>\n<rect x=\"541.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"577\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M612.5 40h10\"></path>\n<path d=\"M622.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M632.5 40h0\"></path>\n<path d=\"M703.5 40h0\"></path>\n<rect x=\"632.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"668\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M703.5 40h10\"></path>\n<g>\n<path d=\"M713.5 40h0\"></path>\n<path d=\"M1122 40h0\"></path>\n<path d=\"M713.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M733.5 20h368.5\"></path>\n</g>\n<path d=\"M1102 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M713.5 40h20\"></path>\n<g>\n<path d=\"M733.5 40h0\"></path>\n<path d=\"M1102 40h0\"></path>\n<path d=\"M763.5 40h10\"></path>\n<g>\n<path d=\"M773.5 40h0\"></path>\n<path d=\"M1072 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M773.5 40h0\"></path>\n<path d=\"M827.5 40h0\"></path>\n<rect x=\"773.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"800.5\" y=\"44\">\"IN\"</text>\n</g>\n<path d=\"M827.5 40h10\"></path>\n<g>\n<path d=\"M837.5 40h0\"></path>\n<path d=\"M991 40h0\"></path>\n<path d=\"M837.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M857.5 40h0\"></path>\n<path d=\"M928.5 40h42.5\"></path>\n<rect x=\"857.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"893\" y=\"44\">\"BYTE\"</text>\n</g>\n<path d=\"M971 40h20\"></path>\n<path d=\"M837.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M857.5 70h0\"></path>\n<path d=\"M971 70h0\"></path>\n<rect x=\"857.5\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"914.25\" y=\"74\">\"CHARACTER\"</text>\n</g>\n<path d=\"M971 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M991 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1001 40h0\"></path>\n<path d=\"M1072 40h0\"></path>\n<rect x=\"1001\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1036.5\" y=\"44\">\"MODE\"</text>\n</g>\n</g>\n<path d=\"M1072 40h10\"></path>\n<path d=\"M763.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M773.5 100h0\"></path>\n<path d=\"M955 100h117\"></path>\n<rect x=\"773.5\" y=\"89\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"864.25\" y=\"104\">\"RESPECTING BLANKS\"</text>\n</g>\n<path d=\"M1072 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M763.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M773.5 130h0\"></path>\n<path d=\"M1063 130h9\"></path>\n<g class=\"terminal\">\n<path d=\"M773.5 130h0\"></path>\n<path d=\"M912.5 130h0\"></path>\n<rect x=\"773.5\" y=\"119\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"843\" y=\"134\">\"SEPARATED BY\"</text>\n</g>\n<path d=\"M912.5 130h10\"></path>\n<path d=\"M922.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M932.5 130h0\"></path>\n<path d=\"M1063 130h0\"></path>\n<rect x=\"932.5\" y=\"119\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"997.75\" y=\"134\">SimpleSource3</text>\n</a>\n</g>\n</g>\n<path d=\"M1072 130a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 763.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"748.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1082 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1089 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1102 40h20\"></path>\n</g>\n</g>\n<path d=\"M1122 40h10\"></path>\n<path d=\"M 1132 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "concatenate.ts"
+    },
+    {
+      "name": "Condense",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONDENSE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Terminal('\"NO-GAPS\"')))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"442.5\" height=\"71\" viewBox=\"0 0 442.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M392.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M155 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"44\">\"CONDENSE\"</text>\n</g>\n<path d=\"M155 40h10\"></path>\n<path d=\"M165 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 40h0\"></path>\n<path d=\"M246 40h0\"></path>\n<rect x=\"175\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"210.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M246 40h10\"></path>\n<g>\n<path d=\"M256 40h0\"></path>\n<path d=\"M392.5 40h0\"></path>\n<path d=\"M256 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M276 20h96.5\"></path>\n</g>\n<path d=\"M372.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M256 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M276 40h0\"></path>\n<path d=\"M372.5 40h0\"></path>\n<rect x=\"276\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.25\" y=\"44\">\"NO-GAPS\"</text>\n</g>\n<path d=\"M372.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M392.5 40h10\"></path>\n<path d=\"M 402.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "condense.ts"
+    },
+    {
+      "name": "Constant",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"CONSTANT\"'),Railroad.Terminal('\"CONSTANTS\"')),Railroad.Sequence(Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Optional(Railroad.NonTerminal('ConstantFieldLength', {href: '#/expression/ConstantFieldLength'})),Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('Type', {href: '#/expression/Type'}),Railroad.NonTerminal('Value', {href: '#/expression/Value'}),Railroad.NonTerminal('Decimals', {href: '#/expression/Decimals'}),Railroad.NonTerminal('Length', {href: '#/expression/Length'}))),Railroad.Optional(Railroad.Terminal('\"%_PREDEFINED\"')))).toString();",
+      "using": [
+        "expression/ConstantFieldLength",
+        "expression/Decimals",
+        "expression/DefinitionName",
+        "expression/Length",
+        "expression/Type",
+        "expression/Value"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"991\" height=\"161\" viewBox=\"0 0 991 161\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M941 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M175 40h8.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"122.5\" y=\"44\">\"CONSTANT\"</text>\n</g>\n<path d=\"M183.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M183.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"126.75\" y=\"74\">\"CONSTANTS\"</text>\n</g>\n<path d=\"M183.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M203.5 40h10\"></path>\n<g>\n<path d=\"M213.5 40h0\"></path>\n<path d=\"M752 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M213.5 40h0\"></path>\n<path d=\"M352.5 40h0\"></path>\n<rect x=\"213.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"283\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M352.5 40h10\"></path>\n<g>\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M584 40h0\"></path>\n<path d=\"M362.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M382.5 20h181.5\"></path>\n</g>\n<path d=\"M564 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M362.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M564 40h0\"></path>\n<rect x=\"382.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantFieldLength\"><text x=\"473.25\" y=\"44\">ConstantFieldLength</text>\n</a>\n</g>\n<path d=\"M564 40h20\"></path>\n</g>\n<path d=\"M584 40h10\"></path>\n<g>\n<path d=\"M594 40h0\"></path>\n<path d=\"M752 40h0\"></path>\n<path d=\"M624 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634 40h0\"></path>\n<path d=\"M688 40h34\"></path>\n<rect x=\"634\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Type\"><text x=\"661\" y=\"44\">Type</text>\n</a>\n</g>\n<path d=\"M722 40h10\"></path>\n<path d=\"M624 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634 70h0\"></path>\n<path d=\"M696.5 70h25.5\"></path>\n<rect x=\"634\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Value\"><text x=\"665.25\" y=\"74\">Value</text>\n</a>\n</g>\n<path d=\"M722 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M624 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634 100h0\"></path>\n<path d=\"M722 100h0\"></path>\n<rect x=\"634\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Decimals\"><text x=\"678\" y=\"104\">Decimals</text>\n</a>\n</g>\n<path d=\"M722 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M624 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634 130h0\"></path>\n<path d=\"M705 130h17\"></path>\n<rect x=\"634\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Length\"><text x=\"669.5\" y=\"134\">Length</text>\n</a>\n</g>\n<path d=\"M722 130a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 624 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"609\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 732 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 739 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M752 40h10\"></path>\n<g>\n<path d=\"M762 40h0\"></path>\n<path d=\"M941 40h0\"></path>\n<path d=\"M762 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M782 20h139\"></path>\n</g>\n<path d=\"M921 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M762 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M782 40h0\"></path>\n<path d=\"M921 40h0\"></path>\n<rect x=\"782\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"851.5\" y=\"44\">\"%&#95;PREDEFINED\"</text>\n</g>\n<path d=\"M921 40h20\"></path>\n</g>\n</g>\n<path d=\"M941 40h10\"></path>\n<path d=\"M 951 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Constants",
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "constant.ts"
+    },
+    {
+      "name": "ConstantBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONSTANTS BEGIN OF\"'),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Optional(Railroad.Terminal('\"%_PREDEFINED\"')))).toString();",
+      "using": [
+        "expression/DefinitionName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"638\" height=\"71\" viewBox=\"0 0 638 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M240 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"44\">\"CONSTANTS BEGIN OF\"</text>\n</g>\n<path d=\"M240 40h10\"></path>\n<path d=\"M250 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260 40h0\"></path>\n<path d=\"M399 40h0\"></path>\n<rect x=\"260\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"329.5\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M399 40h10\"></path>\n<g>\n<path d=\"M409 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<path d=\"M409 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M429 20h139\"></path>\n</g>\n<path d=\"M568 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M409 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M429 40h0\"></path>\n<path d=\"M568 40h0\"></path>\n<rect x=\"429\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.5\" y=\"44\">\"%&#95;PREDEFINED\"</text>\n</g>\n<path d=\"M568 40h20\"></path>\n</g>\n</g>\n<path d=\"M588 40h10\"></path>\n<path d=\"M 598 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Constants"
+      ],
+      "filename": "constant_begin.ts"
+    },
+    {
+      "name": "ConstantEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONSTANTS\"'),Railroad.Terminal('\"END\"'),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}))).toString();",
+      "using": [
+        "expression/DefinitionName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"529\" height=\"62\" viewBox=\"0 0 529 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M479 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"CONSTANTS\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"183.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"214.75\" y=\"35\">\"END\"</text>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M320 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293\" y=\"35\">\"OF\"</text>\n</g>\n<path d=\"M320 31h10\"></path>\n<path d=\"M330 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M340 31h0\"></path>\n<path d=\"M479 31h0\"></path>\n<rect x=\"340\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"409.5\" y=\"35\">DefinitionName</text>\n</a>\n</g>\n</g>\n<path d=\"M479 31h10\"></path>\n<path d=\"M 489 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Constants"
+      ],
+      "filename": "constant_end.ts"
+    },
+    {
+      "name": "Contexts",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CONTEXTS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"380.5\" height=\"62\" viewBox=\"0 0 380.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M330.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M330.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M248 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"35\">\"CONTEXTS\"</text>\n</g>\n<path d=\"M248 31h10\"></path>\n<path d=\"M258 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M268 31h0\"></path>\n<path d=\"M330.5 31h0\"></path>\n<rect x=\"268\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"299.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M330.5 31h10\"></path>\n<path d=\"M 340.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "contexts.ts"
+    },
+    {
+      "name": "Continue",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"CONTINUE\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"CONTINUE\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "continue.ts"
+    },
+    {
+      "name": "Controls",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CONTROLS\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLEVIEW USING SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"TABSTRIP\"')))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"955.5\" height=\"92\" viewBox=\"0 0 955.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M905.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M905.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M248 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"35\">\"CONTROLS\"</text>\n</g>\n<path d=\"M248 31h10\"></path>\n<path d=\"M258 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M268 31h0\"></path>\n<path d=\"M449.5 31h0\"></path>\n<rect x=\"268\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"358.75\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M449.5 31h10\"></path>\n<path d=\"M459.5 31h10\"></path>\n<g>\n<path d=\"M469.5 31h0\"></path>\n<path d=\"M905.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 31h0\"></path>\n<path d=\"M540.5 31h0\"></path>\n<rect x=\"469.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"505\" y=\"35\">\"TYPE\"</text>\n</g>\n<path d=\"M540.5 31h10\"></path>\n<g>\n<path d=\"M550.5 31h0\"></path>\n<path d=\"M905.5 31h0\"></path>\n<path d=\"M550.5 31h20\"></path>\n<g>\n<path d=\"M570.5 31h0\"></path>\n<path d=\"M885.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M570.5 31h0\"></path>\n<path d=\"M794.5 31h0\"></path>\n<rect x=\"570.5\" y=\"20\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"682.5\" y=\"35\">\"TABLEVIEW USING SCREEN\"</text>\n</g>\n<path d=\"M794.5 31h10\"></path>\n<path d=\"M804.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M814.5 31h0\"></path>\n<path d=\"M885.5 31h0\"></path>\n<rect x=\"814.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"850\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M885.5 31h20\"></path>\n<path d=\"M550.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M570.5 61h0\"></path>\n<path d=\"M675.5 61h210\"></path>\n<rect x=\"570.5\" y=\"50\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"623\" y=\"65\">\"TABSTRIP\"</text>\n</g>\n<path d=\"M885.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M905.5 31h10\"></path>\n<path d=\"M 915.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "controls.ts"
+    },
+    {
+      "name": "Convert",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONVERT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TIME STAMP\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TIME ZONE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TIME\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"DATE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Sequence(Railroad.Terminal('\"DAYLIGHT SAVING TIME\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TIME\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DAYLIGHT SAVING TIME\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO TIME STAMP\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"TIME ZONE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO INVERTED-DATE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Sequence(Railroad.Terminal('\"INVERTED-DATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO DATE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"872.5\" height=\"302\" viewBox=\"0 0 872.5 302\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M822.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"CONVERT\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<g>\n<path d=\"M156.5 31h0\"></path>\n<path d=\"M822.5 31h0\"></path>\n<path d=\"M156.5 31h20\"></path>\n<g>\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M802.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M176.5 31h0\"></path>\n<path d=\"M298.5 31h0\"></path>\n<rect x=\"176.5\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"237.5\" y=\"35\">\"TIME STAMP\"</text>\n</g>\n<path d=\"M298.5 31h10\"></path>\n<path d=\"M308.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M318.5 31h0\"></path>\n<path d=\"M389.5 31h0\"></path>\n<rect x=\"318.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"354\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M389.5 31h10\"></path>\n<path d=\"M399.5 31h10\"></path>\n<g>\n<path d=\"M409.5 31h0\"></path>\n<path d=\"M802.5 31h0\"></path>\n<path d=\"M439.5 31h10\"></path>\n<g>\n<path d=\"M449.5 31h0\"></path>\n<path d=\"M654 31h118.5\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 31h0\"></path>\n<path d=\"M563 31h0\"></path>\n<rect x=\"449.5\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"506.25\" y=\"35\">\"TIME ZONE\"</text>\n</g>\n<path d=\"M563 31h10\"></path>\n<path d=\"M573 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M583 31h0\"></path>\n<path d=\"M654 31h0\"></path>\n<rect x=\"583\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"618.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M772.5 31h10\"></path>\n<path d=\"M439.5 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 61h0\"></path>\n<path d=\"M772.5 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 61h0\"></path>\n<path d=\"M520.5 61h0\"></path>\n<rect x=\"449.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485\" y=\"65\">\"INTO\"</text>\n</g>\n<path d=\"M520.5 61h10\"></path>\n<path d=\"M530.5 61h10\"></path>\n<g>\n<path d=\"M540.5 61h0\"></path>\n<path d=\"M772.5 61h0\"></path>\n<path d=\"M570.5 61h10\"></path>\n<g>\n<path d=\"M580.5 61h0\"></path>\n<path d=\"M742.5 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M580.5 61h0\"></path>\n<path d=\"M651.5 61h0\"></path>\n<rect x=\"580.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616\" y=\"65\">\"TIME\"</text>\n</g>\n<path d=\"M651.5 61h10\"></path>\n<path d=\"M661.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M671.5 61h0\"></path>\n<path d=\"M742.5 61h0\"></path>\n<rect x=\"671.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"707\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M742.5 61h10\"></path>\n<path d=\"M570.5 61v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M580.5 91h0\"></path>\n<path d=\"M742.5 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M580.5 91h0\"></path>\n<path d=\"M651.5 91h0\"></path>\n<rect x=\"580.5\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616\" y=\"95\">\"DATE\"</text>\n</g>\n<path d=\"M651.5 91h10\"></path>\n<path d=\"M661.5 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M671.5 91h0\"></path>\n<path d=\"M742.5 91h0\"></path>\n<rect x=\"671.5\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"707\" y=\"95\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M742.5 91a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 570.5 51 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"555.5\" y=\"65\" class=\"diagram-text\">1+</text>\n<path d=\"M 752.5 51 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 759.5 59 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M772.5 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M439.5 31v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M449.5 121h0\"></path>\n<path d=\"M747.5 121h25\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 121h0\"></path>\n<path d=\"M656.5 121h0\"></path>\n<rect x=\"449.5\" y=\"110\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"553\" y=\"125\">\"DAYLIGHT SAVING TIME\"</text>\n</g>\n<path d=\"M656.5 121h10\"></path>\n<path d=\"M666.5 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M676.5 121h0\"></path>\n<path d=\"M747.5 121h0\"></path>\n<rect x=\"676.5\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"712\" y=\"125\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M772.5 121a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 439.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"424.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 782.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 789.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M802.5 31h20\"></path>\n<path d=\"M156.5 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 151h0\"></path>\n<path d=\"M796.5 151h6\"></path>\n<g>\n<path d=\"M176.5 151h0\"></path>\n<path d=\"M408.5 151h0\"></path>\n<path d=\"M206.5 151h10\"></path>\n<g>\n<path d=\"M216.5 151h0\"></path>\n<path d=\"M378.5 151h0\"></path>\n<g class=\"terminal\">\n<path d=\"M216.5 151h0\"></path>\n<path d=\"M287.5 151h0\"></path>\n<rect x=\"216.5\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"252\" y=\"155\">\"DATE\"</text>\n</g>\n<path d=\"M287.5 151h10\"></path>\n<path d=\"M297.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M307.5 151h0\"></path>\n<path d=\"M378.5 151h0\"></path>\n<rect x=\"307.5\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"343\" y=\"155\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M378.5 151h10\"></path>\n<path d=\"M206.5 151v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M216.5 181h0\"></path>\n<path d=\"M378.5 181h0\"></path>\n<g class=\"terminal\">\n<path d=\"M216.5 181h0\"></path>\n<path d=\"M287.5 181h0\"></path>\n<rect x=\"216.5\" y=\"170\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"252\" y=\"185\">\"TIME\"</text>\n</g>\n<path d=\"M287.5 181h10\"></path>\n<path d=\"M297.5 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M307.5 181h0\"></path>\n<path d=\"M378.5 181h0\"></path>\n<rect x=\"307.5\" y=\"170\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"343\" y=\"185\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M378.5 181a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 206.5 141 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"191.5\" y=\"155\" class=\"diagram-text\">1+</text>\n<path d=\"M 388.5 141 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 395.5 149 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M408.5 151h10\"></path>\n<path d=\"M418.5 151h10\"></path>\n<g>\n<path d=\"M428.5 151h0\"></path>\n<path d=\"M796.5 151h0\"></path>\n<path d=\"M458.5 151h10\"></path>\n<g>\n<path d=\"M468.5 151h0\"></path>\n<path d=\"M766.5 151h0\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 151h0\"></path>\n<path d=\"M675.5 151h0\"></path>\n<rect x=\"468.5\" y=\"140\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"572\" y=\"155\">\"DAYLIGHT SAVING TIME\"</text>\n</g>\n<path d=\"M675.5 151h10\"></path>\n<path d=\"M685.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M695.5 151h0\"></path>\n<path d=\"M766.5 151h0\"></path>\n<rect x=\"695.5\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"731\" y=\"155\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M766.5 151h10\"></path>\n<path d=\"M458.5 151v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 181h0\"></path>\n<path d=\"M724 181h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 181h0\"></path>\n<path d=\"M633 181h0\"></path>\n<rect x=\"468.5\" y=\"170\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.75\" y=\"185\">\"INTO TIME STAMP\"</text>\n</g>\n<path d=\"M633 181h10\"></path>\n<path d=\"M643 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M653 181h0\"></path>\n<path d=\"M724 181h0\"></path>\n<rect x=\"653\" y=\"170\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"688.5\" y=\"185\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M766.5 181a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M458.5 151v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 211h0\"></path>\n<path d=\"M673 211h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 211h0\"></path>\n<path d=\"M582 211h0\"></path>\n<rect x=\"468.5\" y=\"200\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"525.25\" y=\"215\">\"TIME ZONE\"</text>\n</g>\n<path d=\"M582 211h10\"></path>\n<path d=\"M592 211h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M602 211h0\"></path>\n<path d=\"M673 211h0\"></path>\n<rect x=\"602\" y=\"200\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"637.5\" y=\"215\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M766.5 211a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M458.5 151v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 241h0\"></path>\n<path d=\"M749.5 241h17\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 241h0\"></path>\n<path d=\"M658.5 241h0\"></path>\n<rect x=\"468.5\" y=\"230\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"563.5\" y=\"245\">\"INTO INVERTED-DATE\"</text>\n</g>\n<path d=\"M658.5 241h10\"></path>\n<path d=\"M668.5 241h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M678.5 241h0\"></path>\n<path d=\"M749.5 241h0\"></path>\n<rect x=\"678.5\" y=\"230\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"714\" y=\"245\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M766.5 241a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 458.5 141 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"443.5\" y=\"155\" class=\"diagram-text\">1+</text>\n<path d=\"M 776.5 141 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 783.5 149 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M802.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M156.5 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 271h0\"></path>\n<path d=\"M639.5 271h163\"></path>\n<g class=\"terminal\">\n<path d=\"M176.5 271h0\"></path>\n<path d=\"M324 271h0\"></path>\n<rect x=\"176.5\" y=\"260\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"275\">\"INVERTED-DATE\"</text>\n</g>\n<path d=\"M324 271h10\"></path>\n<path d=\"M334 271h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344 271h0\"></path>\n<path d=\"M415 271h0\"></path>\n<rect x=\"344\" y=\"260\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"379.5\" y=\"275\">Source</text>\n</a>\n</g>\n<path d=\"M415 271h10\"></path>\n<path d=\"M425 271h10\"></path>\n<g class=\"terminal\">\n<path d=\"M435 271h0\"></path>\n<path d=\"M548.5 271h0\"></path>\n<rect x=\"435\" y=\"260\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"491.75\" y=\"275\">\"INTO DATE\"</text>\n</g>\n<path d=\"M548.5 271h10\"></path>\n<path d=\"M558.5 271h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M568.5 271h0\"></path>\n<path d=\"M639.5 271h0\"></path>\n<rect x=\"568.5\" y=\"260\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"604\" y=\"275\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M822.5 31h10\"></path>\n<path d=\"M 832.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "convert.ts"
+    },
+    {
+      "name": "ConvertText",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CONVERT TEXT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO SORTABLE CODE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"631\" height=\"62\" viewBox=\"0 0 631 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M581 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M189 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"119.5\" y=\"35\">\"CONVERT TEXT\"</text>\n</g>\n<path d=\"M189 31h10\"></path>\n<path d=\"M199 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M209 31h0\"></path>\n<path d=\"M280 31h0\"></path>\n<rect x=\"209\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"244.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M280 31h10\"></path>\n<path d=\"M290 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M300 31h0\"></path>\n<path d=\"M490 31h0\"></path>\n<rect x=\"300\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"395\" y=\"35\">\"INTO SORTABLE CODE\"</text>\n</g>\n<path d=\"M490 31h10\"></path>\n<path d=\"M500 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M510 31h0\"></path>\n<path d=\"M581 31h0\"></path>\n<rect x=\"510\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"545.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M581 31h10\"></path>\n<path d=\"M 591 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "convert_text.ts"
+    },
+    {
+      "name": "CreateData",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CREATE DATA\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TYPE HANDLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AREA HANDLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"TYPE\"'),Railroad.Terminal('\"TYPE REF TO\"'),Railroad.Terminal('\"TYPE TABLE OF\"'),Railroad.Terminal('\"TYPE TABLE OF REF TO\"'),Railroad.Terminal('\"TYPE SORTED TABLE OF\"'),Railroad.Terminal('\"TYPE HASHED TABLE OF\"'),Railroad.Terminal('\"TYPE STANDARD TABLE OF\"'),Railroad.Terminal('\"TYPE LINE OF\"')),Railroad.Choice(0, Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"LIKE\"'),Railroad.Terminal('\"LIKE HASHED TABLE OF\"'),Railroad.Terminal('\"LIKE LINE OF\"'),Railroad.Terminal('\"LIKE STANDARD TABLE OF\"'),Railroad.Terminal('\"LIKE SORTED TABLE OF\"'),Railroad.Terminal('\"LIKE TABLE OF\"')),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"UNIQUE\"'),Railroad.Terminal('\"NON-UNIQUE\"'))),Railroad.Choice(0, Railroad.Terminal('\"DEFAULT KEY\"'),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Terminal('\"EMPTY KEY\"')))),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"UNIQUE\"'),Railroad.Terminal('\"NON-UNIQUE\"'))),Railroad.Terminal('\"KEY\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INITIAL SIZE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/Source",
+        "expression/Target",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2442.5\" height=\"508\" viewBox=\"0 0 2442.5 508\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2392.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"CREATE DATA\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<path d=\"M190.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M200.5 40h0\"></path>\n<path d=\"M271.5 40h0\"></path>\n<rect x=\"200.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"236\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M271.5 40h10\"></path>\n<g>\n<path d=\"M281.5 40h0\"></path>\n<path d=\"M2392.5 40h0\"></path>\n<path d=\"M281.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M301.5 20h2071\"></path>\n</g>\n<path d=\"M2372.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M281.5 40h20\"></path>\n<g>\n<path d=\"M301.5 40h0\"></path>\n<path d=\"M2372.5 40h0\"></path>\n<path d=\"M301.5 40h20\"></path>\n<g>\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M543 40h1809.5\"></path>\n<g class=\"terminal\">\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M452 40h0\"></path>\n<rect x=\"321.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"386.75\" y=\"44\">\"TYPE HANDLE\"</text>\n</g>\n<path d=\"M452 40h10\"></path>\n<path d=\"M462 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M472 40h0\"></path>\n<path d=\"M543 40h0\"></path>\n<rect x=\"472\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"507.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2352.5 40h20\"></path>\n<path d=\"M301.5 40a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M321.5 87h0\"></path>\n<path d=\"M2352.5 87h0\"></path>\n<g>\n<path d=\"M321.5 87h0\"></path>\n<path d=\"M583 87h0\"></path>\n<path d=\"M321.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M341.5 67h221.5\"></path>\n</g>\n<path d=\"M563 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M321.5 87h20\"></path>\n<g>\n<path d=\"M341.5 87h0\"></path>\n<path d=\"M563 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M341.5 87h0\"></path>\n<path d=\"M472 87h0\"></path>\n<rect x=\"341.5\" y=\"76\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.75\" y=\"91\">\"AREA HANDLE\"</text>\n</g>\n<path d=\"M472 87h10\"></path>\n<path d=\"M482 87h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492 87h0\"></path>\n<path d=\"M563 87h0\"></path>\n<rect x=\"492\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"527.5\" y=\"91\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M563 87h20\"></path>\n</g>\n<path d=\"M583 87h10\"></path>\n<g>\n<path d=\"M593 87h0\"></path>\n<path d=\"M2352.5 87h0\"></path>\n<g>\n<path d=\"M593 87h0\"></path>\n<path d=\"M1025 87h0\"></path>\n<path d=\"M593 87h20\"></path>\n<g>\n<path d=\"M613 87h0\"></path>\n<path d=\"M1005 87h0\"></path>\n<g>\n<path d=\"M613 87h0\"></path>\n<path d=\"M877 87h0\"></path>\n<path d=\"M613 87h20\"></path>\n<g class=\"terminal\">\n<path d=\"M633 87h0\"></path>\n<path d=\"M704 87h153\"></path>\n<rect x=\"633\" y=\"76\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"668.5\" y=\"91\">\"TYPE\"</text>\n</g>\n<path d=\"M857 87h20\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 117h0\"></path>\n<path d=\"M763.5 117h93.5\"></path>\n<rect x=\"633\" y=\"106\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"698.25\" y=\"121\">\"TYPE REF TO\"</text>\n</g>\n<path d=\"M857 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 147h0\"></path>\n<path d=\"M780.5 147h76.5\"></path>\n<rect x=\"633\" y=\"136\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"706.75\" y=\"151\">\"TYPE TABLE OF\"</text>\n</g>\n<path d=\"M857 147a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 177h0\"></path>\n<path d=\"M840 177h17\"></path>\n<rect x=\"633\" y=\"166\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"181\">\"TYPE TABLE OF REF TO\"</text>\n</g>\n<path d=\"M857 177a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 207h0\"></path>\n<path d=\"M840 207h17\"></path>\n<rect x=\"633\" y=\"196\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"211\">\"TYPE SORTED TABLE OF\"</text>\n</g>\n<path d=\"M857 207a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 237h0\"></path>\n<path d=\"M840 237h17\"></path>\n<rect x=\"633\" y=\"226\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"241\">\"TYPE HASHED TABLE OF\"</text>\n</g>\n<path d=\"M857 237a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 267h0\"></path>\n<path d=\"M857 267h0\"></path>\n<rect x=\"633\" y=\"256\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"745\" y=\"271\">\"TYPE STANDARD TABLE OF\"</text>\n</g>\n<path d=\"M857 267a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 87a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 297h0\"></path>\n<path d=\"M772 297h85\"></path>\n<rect x=\"633\" y=\"286\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"702.5\" y=\"301\">\"TYPE LINE OF\"</text>\n</g>\n<path d=\"M857 297a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M877 87h0\"></path>\n<path d=\"M1005 87h0\"></path>\n<path d=\"M877 87h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M897 87h0\"></path>\n<path d=\"M985 87h0\"></path>\n<rect x=\"897\" y=\"76\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"941\" y=\"91\">TypeName</text>\n</a>\n</g>\n<path d=\"M985 87h20\"></path>\n<path d=\"M877 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M897 117h0\"></path>\n<path d=\"M976.5 117h8.5\"></path>\n<rect x=\"897\" y=\"106\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"936.75\" y=\"121\">Dynamic</text>\n</a>\n</g>\n<path d=\"M985 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1005 87h20\"></path>\n<path d=\"M593 87a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M613 327h0\"></path>\n<path d=\"M996.5 327h8.5\"></path>\n<g>\n<path d=\"M613 327h0\"></path>\n<path d=\"M877 327h0\"></path>\n<path d=\"M613 327h20\"></path>\n<g class=\"terminal\">\n<path d=\"M633 327h0\"></path>\n<path d=\"M704 327h153\"></path>\n<rect x=\"633\" y=\"316\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"668.5\" y=\"331\">\"LIKE\"</text>\n</g>\n<path d=\"M857 327h20\"></path>\n<path d=\"M613 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 357h0\"></path>\n<path d=\"M840 357h17\"></path>\n<rect x=\"633\" y=\"346\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"361\">\"LIKE HASHED TABLE OF\"</text>\n</g>\n<path d=\"M857 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 387h0\"></path>\n<path d=\"M772 387h85\"></path>\n<rect x=\"633\" y=\"376\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"702.5\" y=\"391\">\"LIKE LINE OF\"</text>\n</g>\n<path d=\"M857 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 417h0\"></path>\n<path d=\"M857 417h0\"></path>\n<rect x=\"633\" y=\"406\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"745\" y=\"421\">\"LIKE STANDARD TABLE OF\"</text>\n</g>\n<path d=\"M857 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 327a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 447h0\"></path>\n<path d=\"M840 447h17\"></path>\n<rect x=\"633\" y=\"436\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"736.5\" y=\"451\">\"LIKE SORTED TABLE OF\"</text>\n</g>\n<path d=\"M857 447a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M613 327a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633 477h0\"></path>\n<path d=\"M780.5 477h76.5\"></path>\n<rect x=\"633\" y=\"466\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"706.75\" y=\"481\">\"LIKE TABLE OF\"</text>\n</g>\n<path d=\"M857 477a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M877 327h0\"></path>\n<path d=\"M996.5 327h0\"></path>\n<path d=\"M877 327h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M897 327h0\"></path>\n<path d=\"M968 327h8.5\"></path>\n<rect x=\"897\" y=\"316\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"932.5\" y=\"331\">Source</text>\n</a>\n</g>\n<path d=\"M976.5 327h20\"></path>\n<path d=\"M877 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M897 357h0\"></path>\n<path d=\"M976.5 357h0\"></path>\n<rect x=\"897\" y=\"346\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"936.75\" y=\"361\">Dynamic</text>\n</a>\n</g>\n<path d=\"M976.5 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1005 327a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1025 87h0\"></path>\n<path d=\"M1627.5 87h0\"></path>\n<path d=\"M1025 87a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1045 59h562.5\"></path>\n</g>\n<path d=\"M1607.5 59a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1025 87h20\"></path>\n<g>\n<path d=\"M1045 87h0\"></path>\n<path d=\"M1607.5 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1045 87h0\"></path>\n<path d=\"M1116 87h0\"></path>\n<rect x=\"1045\" y=\"76\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1080.5\" y=\"91\">\"WITH\"</text>\n</g>\n<path d=\"M1116 87h10\"></path>\n<g>\n<path d=\"M1126 87h0\"></path>\n<path d=\"M1607.5 87h0\"></path>\n<path d=\"M1126 87h20\"></path>\n<g>\n<path d=\"M1146 87h0\"></path>\n<path d=\"M1587.5 87h0\"></path>\n<g>\n<path d=\"M1146 87h0\"></path>\n<path d=\"M1348 87h0\"></path>\n<path d=\"M1146 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1166 67h162\"></path>\n</g>\n<path d=\"M1328 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1146 87h20\"></path>\n<g>\n<path d=\"M1166 87h0\"></path>\n<path d=\"M1328 87h0\"></path>\n<path d=\"M1166 87h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1186 87h0\"></path>\n<path d=\"M1274 87h34\"></path>\n<rect x=\"1186\" y=\"76\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1230\" y=\"91\">\"UNIQUE\"</text>\n</g>\n<path d=\"M1308 87h20\"></path>\n<path d=\"M1166 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1186 117h0\"></path>\n<path d=\"M1308 117h0\"></path>\n<rect x=\"1186\" y=\"106\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1247\" y=\"121\">\"NON-UNIQUE\"</text>\n</g>\n<path d=\"M1308 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1328 87h20\"></path>\n</g>\n<g>\n<path d=\"M1348 87h0\"></path>\n<path d=\"M1587.5 87h0\"></path>\n<path d=\"M1348 87h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1368 87h0\"></path>\n<path d=\"M1498.5 87h69\"></path>\n<rect x=\"1368\" y=\"76\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1433.25\" y=\"91\">\"DEFAULT KEY\"</text>\n</g>\n<path d=\"M1567.5 87h20\"></path>\n<path d=\"M1348 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1368 117h0\"></path>\n<path d=\"M1567.5 117h0\"></path>\n<g>\n<path d=\"M1368 117h0\"></path>\n<path d=\"M1434 117h0\"></path>\n<text x=\"1401\" y=\"122\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1434 117h10\"></path>\n<path d=\"M1444 117h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1454 117h0\"></path>\n<path d=\"M1567.5 117h0\"></path>\n<rect x=\"1454\" y=\"106\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1510.75\" y=\"121\">\"EMPTY KEY\"</text>\n</g>\n</g>\n<path d=\"M1567.5 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1587.5 87h20\"></path>\n<path d=\"M1126 87a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1146 156h0\"></path>\n<path d=\"M1553 156h34.5\"></path>\n<g>\n<path d=\"M1146 156h0\"></path>\n<path d=\"M1348 156h0\"></path>\n<path d=\"M1146 156a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1166 136h162\"></path>\n</g>\n<path d=\"M1328 136a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1146 156h20\"></path>\n<g>\n<path d=\"M1166 156h0\"></path>\n<path d=\"M1328 156h0\"></path>\n<path d=\"M1166 156h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1186 156h0\"></path>\n<path d=\"M1274 156h34\"></path>\n<rect x=\"1186\" y=\"145\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1230\" y=\"160\">\"UNIQUE\"</text>\n</g>\n<path d=\"M1308 156h20\"></path>\n<path d=\"M1166 156a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1186 186h0\"></path>\n<path d=\"M1308 186h0\"></path>\n<rect x=\"1186\" y=\"175\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1247\" y=\"190\">\"NON-UNIQUE\"</text>\n</g>\n<path d=\"M1308 186a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1328 156h20\"></path>\n</g>\n<path d=\"M1348 156h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1358 156h0\"></path>\n<path d=\"M1420.5 156h0\"></path>\n<rect x=\"1358\" y=\"145\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1389.25\" y=\"160\">\"KEY\"</text>\n</g>\n<path d=\"M1420.5 156h10\"></path>\n<g>\n<path d=\"M1430.5 156h0\"></path>\n<path d=\"M1553 156h0\"></path>\n<path d=\"M1430.5 156h20\"></path>\n<g>\n<path d=\"M1450.5 156h0\"></path>\n<path d=\"M1533 156h0\"></path>\n<path d=\"M1450.5 156h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1460.5 156h0\"></path>\n<path d=\"M1523 156h0\"></path>\n<rect x=\"1460.5\" y=\"145\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1491.75\" y=\"160\">Field</text>\n</a>\n</g>\n<path d=\"M1523 156h10\"></path>\n<path d=\"M1460.5 156a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1460.5 176h62.5\"></path>\n</g>\n<path d=\"M1523 176a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1533 156h20\"></path>\n<path d=\"M1430.5 156a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1450.5 195h0\"></path>\n<path d=\"M1530 195h3\"></path>\n<rect x=\"1450.5\" y=\"184\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1490.25\" y=\"199\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1533 195a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1587.5 156a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1607.5 87h20\"></path>\n</g>\n<g>\n<path d=\"M1627.5 87h0\"></path>\n<path d=\"M1897.5 87h0\"></path>\n<path d=\"M1627.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1647.5 67h230\"></path>\n</g>\n<path d=\"M1877.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1627.5 87h20\"></path>\n<g>\n<path d=\"M1647.5 87h0\"></path>\n<path d=\"M1877.5 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1647.5 87h0\"></path>\n<path d=\"M1786.5 87h0\"></path>\n<rect x=\"1647.5\" y=\"76\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1717\" y=\"91\">\"INITIAL SIZE\"</text>\n</g>\n<path d=\"M1786.5 87h10\"></path>\n<path d=\"M1796.5 87h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1806.5 87h0\"></path>\n<path d=\"M1877.5 87h0\"></path>\n<rect x=\"1806.5\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1842\" y=\"91\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1877.5 87h20\"></path>\n</g>\n<g>\n<path d=\"M1897.5 87h0\"></path>\n<path d=\"M2116.5 87h0\"></path>\n<path d=\"M1897.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1917.5 67h179\"></path>\n</g>\n<path d=\"M2096.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1897.5 87h20\"></path>\n<g>\n<path d=\"M1917.5 87h0\"></path>\n<path d=\"M2096.5 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1917.5 87h0\"></path>\n<path d=\"M2005.5 87h0\"></path>\n<rect x=\"1917.5\" y=\"76\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1961.5\" y=\"91\">\"LENGTH\"</text>\n</g>\n<path d=\"M2005.5 87h10\"></path>\n<path d=\"M2015.5 87h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2025.5 87h0\"></path>\n<path d=\"M2096.5 87h0\"></path>\n<rect x=\"2025.5\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"2061\" y=\"91\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2096.5 87h20\"></path>\n</g>\n<g>\n<path d=\"M2116.5 87h0\"></path>\n<path d=\"M2352.5 87h0\"></path>\n<path d=\"M2116.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2136.5 67h196\"></path>\n</g>\n<path d=\"M2332.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2116.5 87h20\"></path>\n<g>\n<path d=\"M2136.5 87h0\"></path>\n<path d=\"M2332.5 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2136.5 87h0\"></path>\n<path d=\"M2241.5 87h0\"></path>\n<rect x=\"2136.5\" y=\"76\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2189\" y=\"91\">\"DECIMALS\"</text>\n</g>\n<path d=\"M2241.5 87h10\"></path>\n<path d=\"M2251.5 87h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2261.5 87h0\"></path>\n<path d=\"M2332.5 87h0\"></path>\n<rect x=\"2261.5\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"2297\" y=\"91\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2332.5 87h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2352.5 87a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2372.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M2392.5 40h10\"></path>\n<path d=\"M 2402.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "create_data.ts"
+    },
+    {
+      "name": "CreateOLE",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"CREATE OBJECT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"NO FLUSH\"')),Railroad.Optional(Railroad.Terminal('\"QUEUE-ONLY\"'))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"839.5\" height=\"71\" viewBox=\"0 0 839.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M789.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M789.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"CREATE OBJECT\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<path d=\"M300.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M381.5 40h0\"></path>\n<rect x=\"310.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"346\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M381.5 40h10\"></path>\n<path d=\"M391.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M401.5 40h0\"></path>\n<path d=\"M472.5 40h0\"></path>\n<rect x=\"401.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"437\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M472.5 40h10\"></path>\n<g>\n<path d=\"M482.5 40h0\"></path>\n<path d=\"M627.5 40h0\"></path>\n<path d=\"M482.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M502.5 20h105\"></path>\n</g>\n<path d=\"M607.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M482.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M502.5 40h0\"></path>\n<path d=\"M607.5 40h0\"></path>\n<rect x=\"502.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"555\" y=\"44\">\"NO FLUSH\"</text>\n</g>\n<path d=\"M607.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M627.5 40h0\"></path>\n<path d=\"M789.5 40h0\"></path>\n<path d=\"M627.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M647.5 20h122\"></path>\n</g>\n<path d=\"M769.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M627.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M647.5 40h0\"></path>\n<path d=\"M769.5 40h0\"></path>\n<rect x=\"647.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.5\" y=\"44\">\"QUEUE-ONLY\"</text>\n</g>\n<path d=\"M769.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M789.5 40h10\"></path>\n<path d=\"M 799.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "create_ol_e.ts"
+    },
+    {
+      "name": "CreateObject",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"CREATE OBJECT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.Choice(0, Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"AREA HANDLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'})),Railroad.Sequence(Railroad.Terminal('\"PARAMETER-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"EXCEPTIONS\"'),Railroad.NonTerminal('ParameterListExceptions', {href: '#/expression/ParameterListExceptions'})),Railroad.Sequence(Railroad.Terminal('\"EXCEPTION-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/Dynamic",
+        "expression/ParameterListExceptions",
+        "expression/ParameterListS",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1470\" height=\"131\" viewBox=\"0 0 1470 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1420 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M197.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"44\">\"CREATE OBJECT\"</text>\n</g>\n<path d=\"M197.5 40h10\"></path>\n<path d=\"M207.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M217.5 40h0\"></path>\n<path d=\"M288.5 40h0\"></path>\n<rect x=\"217.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"253\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M288.5 40h10\"></path>\n<g>\n<path d=\"M298.5 40h0\"></path>\n<path d=\"M630 40h0\"></path>\n<path d=\"M298.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M318.5 20h291.5\"></path>\n</g>\n<path d=\"M610 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M298.5 40h20\"></path>\n<g>\n<path d=\"M318.5 40h0\"></path>\n<path d=\"M610 40h0\"></path>\n<path d=\"M348.5 40h10\"></path>\n<g>\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M576 40h4\"></path>\n<g class=\"terminal\">\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M429.5 40h0\"></path>\n<rect x=\"358.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"394\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M429.5 40h10\"></path>\n<g>\n<path d=\"M439.5 40h0\"></path>\n<path d=\"M576 40h0\"></path>\n<path d=\"M439.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M459.5 40h0\"></path>\n<path d=\"M556 40h0\"></path>\n<rect x=\"459.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"507.75\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M556 40h20\"></path>\n<path d=\"M439.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M459.5 70h0\"></path>\n<path d=\"M539 70h17\"></path>\n<rect x=\"459.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"499.25\" y=\"74\">Dynamic</text>\n</a>\n</g>\n<path d=\"M556 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M580 40h10\"></path>\n<path d=\"M348.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M358.5 100h0\"></path>\n<path d=\"M580 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M358.5 100h0\"></path>\n<path d=\"M489 100h0\"></path>\n<rect x=\"358.5\" y=\"89\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"423.75\" y=\"104\">\"AREA HANDLE\"</text>\n</g>\n<path d=\"M489 100h10\"></path>\n<path d=\"M499 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M509 100h0\"></path>\n<path d=\"M580 100h0\"></path>\n<rect x=\"509\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"544.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M580 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 348.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"333.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 590 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 597 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M610 40h20\"></path>\n</g>\n<g>\n<path d=\"M630 40h0\"></path>\n<path d=\"M982.5 40h0\"></path>\n<path d=\"M630 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M650 20h312.5\"></path>\n</g>\n<path d=\"M962.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M630 40h20\"></path>\n<g>\n<path d=\"M650 40h0\"></path>\n<path d=\"M962.5 40h0\"></path>\n<path d=\"M650 40h20\"></path>\n<g>\n<path d=\"M670 40h0\"></path>\n<path d=\"M942.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M670 40h0\"></path>\n<path d=\"M783.5 40h0\"></path>\n<rect x=\"670\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"726.75\" y=\"44\">\"EXPORTING\"</text>\n</g>\n<path d=\"M783.5 40h10\"></path>\n<path d=\"M793.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M803.5 40h0\"></path>\n<path d=\"M942.5 40h0\"></path>\n<rect x=\"803.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"873\" y=\"44\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M942.5 40h20\"></path>\n<path d=\"M650 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M670 70h0\"></path>\n<path d=\"M925.5 70h17\"></path>\n<g class=\"terminal\">\n<path d=\"M670 70h0\"></path>\n<path d=\"M834.5 70h0\"></path>\n<rect x=\"670\" y=\"59\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"752.25\" y=\"74\">\"PARAMETER-TABLE\"</text>\n</g>\n<path d=\"M834.5 70h10\"></path>\n<path d=\"M844.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M854.5 70h0\"></path>\n<path d=\"M925.5 70h0\"></path>\n<rect x=\"854.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"890\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M942.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M962.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M982.5 40h0\"></path>\n<path d=\"M1420 40h0\"></path>\n<path d=\"M982.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1002.5 20h397.5\"></path>\n</g>\n<path d=\"M1400 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M982.5 40h20\"></path>\n<g>\n<path d=\"M1002.5 40h0\"></path>\n<path d=\"M1400 40h0\"></path>\n<path d=\"M1002.5 40h20\"></path>\n<g>\n<path d=\"M1022.5 40h0\"></path>\n<path d=\"M1380 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1022.5 40h0\"></path>\n<path d=\"M1144.5 40h0\"></path>\n<rect x=\"1022.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1083.5\" y=\"44\">\"EXCEPTIONS\"</text>\n</g>\n<path d=\"M1144.5 40h10\"></path>\n<path d=\"M1154.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1164.5 40h0\"></path>\n<path d=\"M1380 40h0\"></path>\n<rect x=\"1164.5\" y=\"29\" width=\"215.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListExceptions\"><text x=\"1272.25\" y=\"44\">ParameterListExceptions</text>\n</a>\n</g>\n</g>\n<path d=\"M1380 40h20\"></path>\n<path d=\"M1002.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1022.5 70h0\"></path>\n<path d=\"M1278 70h102\"></path>\n<g class=\"terminal\">\n<path d=\"M1022.5 70h0\"></path>\n<path d=\"M1187 70h0\"></path>\n<rect x=\"1022.5\" y=\"59\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1104.75\" y=\"74\">\"EXCEPTION-TABLE\"</text>\n</g>\n<path d=\"M1187 70h10\"></path>\n<path d=\"M1197 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1207 70h0\"></path>\n<path d=\"M1278 70h0\"></path>\n<rect x=\"1207\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1242.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1380 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1400 40h20\"></path>\n</g>\n</g>\n<path d=\"M1420 40h10\"></path>\n<path d=\"M 1430 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "create_object.ts"
+    },
+    {
+      "name": "Data",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DATA\"'),Railroad.NonTerminal('DataDefinition', {href: '#/expression/DataDefinition'}),Railroad.Optional(Railroad.Terminal('\"%_PREDEFINED\"')))).toString();",
+      "using": [
+        "expression/DataDefinition"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"519\" height=\"71\" viewBox=\"0 0 519 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M469 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"DATA\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M280 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DataDefinition\"><text x=\"210.5\" y=\"44\">DataDefinition</text>\n</a>\n</g>\n<path d=\"M280 40h10\"></path>\n<g>\n<path d=\"M290 40h0\"></path>\n<path d=\"M469 40h0\"></path>\n<path d=\"M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M310 20h139\"></path>\n</g>\n<path d=\"M449 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M290 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M310 40h0\"></path>\n<path d=\"M449 40h0\"></path>\n<rect x=\"310\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379.5\" y=\"44\">\"%&#95;PREDEFINED\"</text>\n</g>\n<path d=\"M449 40h20\"></path>\n</g>\n</g>\n<path d=\"M469 40h10\"></path>\n<path d=\"M 479 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/CaseType",
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "data.ts"
+    },
+    {
+      "name": "DataBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DATA\"'),Railroad.Sequence(Railroad.Terminal('\"BEGIN OF\"'),Railroad.Choice(0, Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"COMMON PART\"'),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'})),Railroad.Terminal('\"COMMON PART\"')),Railroad.Sequence(Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Optional(Railroad.Terminal('\"READ-ONLY\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})))))))).toString();",
+      "using": [
+        "expression/DefinitionName",
+        "expression/Integer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"876\" height=\"131\" viewBox=\"0 0 876 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M826 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"DATA\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g>\n<path d=\"M141 31h0\"></path>\n<path d=\"M826 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"193.5\" y=\"35\">\"BEGIN OF\"</text>\n</g>\n<path d=\"M246 31h10\"></path>\n<g>\n<path d=\"M256 31h0\"></path>\n<path d=\"M826 31h0\"></path>\n<path d=\"M256 31h20\"></path>\n<g>\n<path d=\"M276 31h0\"></path>\n<path d=\"M605.5 31h200.5\"></path>\n<path d=\"M276 31h20\"></path>\n<g>\n<path d=\"M296 31h0\"></path>\n<path d=\"M585.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M296 31h0\"></path>\n<path d=\"M426.5 31h0\"></path>\n<rect x=\"296\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"361.25\" y=\"35\">\"COMMON PART\"</text>\n</g>\n<path d=\"M426.5 31h10\"></path>\n<path d=\"M436.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M446.5 31h0\"></path>\n<path d=\"M585.5 31h0\"></path>\n<rect x=\"446.5\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"516\" y=\"35\">DefinitionName</text>\n</a>\n</g>\n</g>\n<path d=\"M585.5 31h20\"></path>\n<path d=\"M276 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M296 61h0\"></path>\n<path d=\"M426.5 61h159\"></path>\n<rect x=\"296\" y=\"50\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"361.25\" y=\"65\">\"COMMON PART\"</text>\n</g>\n<path d=\"M585.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M806 31h20\"></path>\n<path d=\"M256 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M276 100h0\"></path>\n<path d=\"M806 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M276 100h0\"></path>\n<path d=\"M415 100h0\"></path>\n<rect x=\"276\" y=\"89\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"345.5\" y=\"104\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M415 100h10\"></path>\n<g>\n<path d=\"M425 100h0\"></path>\n<path d=\"M578.5 100h0\"></path>\n<path d=\"M425 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M445 80h113.5\"></path>\n</g>\n<path d=\"M558.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M425 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M445 100h0\"></path>\n<path d=\"M558.5 100h0\"></path>\n<rect x=\"445\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"501.75\" y=\"104\">\"READ-ONLY\"</text>\n</g>\n<path d=\"M558.5 100h20\"></path>\n</g>\n<g>\n<path d=\"M578.5 100h0\"></path>\n<path d=\"M806 100h0\"></path>\n<path d=\"M578.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M598.5 80h187.5\"></path>\n</g>\n<path d=\"M786 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M578.5 100h20\"></path>\n<g>\n<path d=\"M598.5 100h0\"></path>\n<path d=\"M786 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M598.5 100h0\"></path>\n<path d=\"M686.5 100h0\"></path>\n<rect x=\"598.5\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"642.5\" y=\"104\">\"OCCURS\"</text>\n</g>\n<path d=\"M686.5 100h10\"></path>\n<path d=\"M696.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M706.5 100h0\"></path>\n<path d=\"M786 100h0\"></path>\n<rect x=\"706.5\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"746.25\" y=\"104\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M786 100h20\"></path>\n</g>\n</g>\n<path d=\"M806 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M826 31h10\"></path>\n<path d=\"M 836 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data"
+      ],
+      "filename": "data_begin.ts"
+    },
+    {
+      "name": "DataEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DATA\"'),Railroad.Sequence(Railroad.Terminal('\"END OF\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"COMMON PART\"'),Railroad.Optional(Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}))),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"VALID BETWEEN\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))))).toString();",
+      "using": [
+        "expression/ComponentName",
+        "expression/DefinitionName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1229.5\" height=\"101\" viewBox=\"0 0 1229.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1179.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"DATA\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M229 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"185\" y=\"44\">\"END OF\"</text>\n</g>\n<path d=\"M229 40h10\"></path>\n<g>\n<path d=\"M239 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<path d=\"M239 40h20\"></path>\n<g>\n<path d=\"M259 40h0\"></path>\n<path d=\"M578.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M259 40h0\"></path>\n<path d=\"M389.5 40h0\"></path>\n<rect x=\"259\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.25\" y=\"44\">\"COMMON PART\"</text>\n</g>\n<path d=\"M389.5 40h10\"></path>\n<g>\n<path d=\"M399.5 40h0\"></path>\n<path d=\"M578.5 40h0\"></path>\n<path d=\"M399.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M419.5 20h139\"></path>\n</g>\n<path d=\"M558.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M399.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M558.5 40h0\"></path>\n<rect x=\"419.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"489\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M558.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M578.5 40h20\"></path>\n<path d=\"M239 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M259 70h0\"></path>\n<path d=\"M398 70h180.5\"></path>\n<rect x=\"259\" y=\"59\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"328.5\" y=\"74\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M578.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M598.5 40h10\"></path>\n<g>\n<path d=\"M608.5 40h0\"></path>\n<path d=\"M1179.5 40h0\"></path>\n<path d=\"M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M628.5 20h531\"></path>\n</g>\n<path d=\"M1159.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M608.5 40h20\"></path>\n<g>\n<path d=\"M628.5 40h0\"></path>\n<path d=\"M1159.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M628.5 40h0\"></path>\n<path d=\"M776 40h0\"></path>\n<rect x=\"628.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"702.25\" y=\"44\">\"VALID BETWEEN\"</text>\n</g>\n<path d=\"M776 40h10\"></path>\n<path d=\"M786 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M796 40h0\"></path>\n<path d=\"M926.5 40h0\"></path>\n<rect x=\"796\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"861.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n<path d=\"M926.5 40h10\"></path>\n<path d=\"M936.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M946.5 40h0\"></path>\n<path d=\"M1009 40h0\"></path>\n<rect x=\"946.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"977.75\" y=\"44\">\"AND\"</text>\n</g>\n<path d=\"M1009 40h10\"></path>\n<path d=\"M1019 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1029 40h0\"></path>\n<path d=\"M1159.5 40h0\"></path>\n<rect x=\"1029\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"1094.25\" y=\"44\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M1159.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1179.5 40h10\"></path>\n<path d=\"M 1189.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data"
+      ],
+      "filename": "data_end.ts"
+    },
+    {
+      "name": "Define",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DEFINE\"'),Railroad.NonTerminal('MacroName', {href: '#/expression/MacroName'})))).toString();",
+      "using": [
+        "expression/MacroName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"397.5\" height=\"62\" viewBox=\"0 0 397.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"DEFINE\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<rect x=\"251\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MacroName\"><text x=\"299.25\" y=\"35\">MacroName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M347.5 31h10\"></path>\n<path d=\"M 357.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Define"
+      ],
+      "filename": "define.ts"
+    },
+    {
+      "name": "DeleteCluster",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE FROM DATABASE\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('!\") \"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/SimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1267\" height=\"71\" viewBox=\"0 0 1267 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1217 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1217 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M350 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"246.5\" y=\"44\">\"DELETE FROM DATABASE\"</text>\n</g>\n<path d=\"M350 40h10\"></path>\n<path d=\"M360 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 40h0\"></path>\n<path d=\"M551.5 40h0\"></path>\n<rect x=\"370\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"460.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M551.5 40h10\"></path>\n<path d=\"M561.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M571.5 40h0\"></path>\n<path d=\"M625.5 40h0\"></path>\n<rect x=\"571.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"598.5\" y=\"44\">!\"(\"</text>\n</g>\n<path d=\"M625.5 40h10\"></path>\n<path d=\"M635.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M645.5 40h0\"></path>\n<path d=\"M750.5 40h0\"></path>\n<rect x=\"645.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"698\" y=\"44\">SimpleName</text>\n</a>\n</g>\n<path d=\"M750.5 40h10\"></path>\n<path d=\"M760.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M770.5 40h0\"></path>\n<path d=\"M833 40h0\"></path>\n<rect x=\"770.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"801.75\" y=\"44\">!\") \"</text>\n</g>\n<path d=\"M833 40h10\"></path>\n<g>\n<path d=\"M843 40h0\"></path>\n<path d=\"M1062 40h0\"></path>\n<path d=\"M843 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M863 20h179\"></path>\n</g>\n<path d=\"M1042 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M843 40h20\"></path>\n<g>\n<path d=\"M863 40h0\"></path>\n<path d=\"M1042 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M863 40h0\"></path>\n<path d=\"M951 40h0\"></path>\n<rect x=\"863\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"907\" y=\"44\">\"CLIENT\"</text>\n</g>\n<path d=\"M951 40h10\"></path>\n<path d=\"M961 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M971 40h0\"></path>\n<path d=\"M1042 40h0\"></path>\n<rect x=\"971\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1006.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1042 40h20\"></path>\n</g>\n<path d=\"M1062 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1072 40h0\"></path>\n<path d=\"M1126 40h0\"></path>\n<rect x=\"1072\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1099\" y=\"44\">\"ID\"</text>\n</g>\n<path d=\"M1126 40h10\"></path>\n<path d=\"M1136 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1146 40h0\"></path>\n<path d=\"M1217 40h0\"></path>\n<rect x=\"1146\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1181.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1217 40h10\"></path>\n<path d=\"M 1227 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_cluster.ts"
+    },
+    {
+      "name": "DeleteDatabase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DELETE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.Choice(0, Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))),Railroad.Sequence(Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Terminal('\"FROM\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'}))))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/DatabaseTable",
+        "expression/Dynamic",
+        "expression/SQLClient",
+        "expression/SQLCond",
+        "expression/SQLSourceSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1096\" height=\"140\" viewBox=\"0 0 1096 140\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1046 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"DELETE\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M1046 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M998 40h28\"></path>\n<g class=\"terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M239 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.5\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M239 40h10\"></path>\n<path d=\"M249 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M259 40h0\"></path>\n<path d=\"M389.5 40h0\"></path>\n<rect x=\"259\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"324.25\" y=\"44\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M389.5 40h10\"></path>\n<g>\n<path d=\"M399.5 40h0\"></path>\n<path d=\"M536 40h0\"></path>\n<path d=\"M399.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M419.5 20h96.5\"></path>\n</g>\n<path d=\"M516 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M399.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M516 40h0\"></path>\n<rect x=\"419.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"467.75\" y=\"44\">SQLClient</text>\n</a>\n</g>\n<path d=\"M516 40h20\"></path>\n</g>\n<g>\n<path d=\"M536 40h0\"></path>\n<path d=\"M749 40h0\"></path>\n<path d=\"M536 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M556 20h173\"></path>\n</g>\n<path d=\"M729 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M536 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M556 40h0\"></path>\n<path d=\"M729 40h0\"></path>\n<rect x=\"556\" y=\"29\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"642.5\" y=\"44\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M729 40h20\"></path>\n</g>\n<g>\n<path d=\"M749 40h0\"></path>\n<path d=\"M998 40h0\"></path>\n<path d=\"M749 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M769 20h209\"></path>\n</g>\n<path d=\"M978 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M749 40h20\"></path>\n<g>\n<path d=\"M769 40h0\"></path>\n<path d=\"M978 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M769 40h0\"></path>\n<path d=\"M848.5 40h0\"></path>\n<rect x=\"769\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"808.75\" y=\"44\">\"WHERE\"</text>\n</g>\n<path d=\"M848.5 40h10\"></path>\n<g>\n<path d=\"M858.5 40h0\"></path>\n<path d=\"M978 40h0\"></path>\n<path d=\"M858.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M878.5 40h0\"></path>\n<path d=\"M958 40h0\"></path>\n<rect x=\"878.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"918.25\" y=\"44\">SQLCond</text>\n</a>\n</g>\n<path d=\"M958 40h20\"></path>\n<path d=\"M858.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M878.5 70h0\"></path>\n<path d=\"M958 70h0\"></path>\n<rect x=\"878.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"918.25\" y=\"74\">Dynamic</text>\n</a>\n</g>\n<path d=\"M958 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M978 40h20\"></path>\n</g>\n</g>\n<path d=\"M1026 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 109h0\"></path>\n<path d=\"M1026 109h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 109h0\"></path>\n<path d=\"M298.5 109h0\"></path>\n<rect x=\"168\" y=\"98\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"233.25\" y=\"113\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M298.5 109h10\"></path>\n<g>\n<path d=\"M308.5 109h0\"></path>\n<path d=\"M445 109h0\"></path>\n<path d=\"M308.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M328.5 89h96.5\"></path>\n</g>\n<path d=\"M425 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M308.5 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M328.5 109h0\"></path>\n<path d=\"M425 109h0\"></path>\n<rect x=\"328.5\" y=\"98\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"376.75\" y=\"113\">SQLClient</text>\n</a>\n</g>\n<path d=\"M425 109h20\"></path>\n</g>\n<g>\n<path d=\"M445 109h0\"></path>\n<path d=\"M658 109h0\"></path>\n<path d=\"M445 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M465 89h173\"></path>\n</g>\n<path d=\"M638 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M445 109h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M465 109h0\"></path>\n<path d=\"M638 109h0\"></path>\n<rect x=\"465\" y=\"98\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"551.5\" y=\"113\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M638 109h20\"></path>\n</g>\n<path d=\"M658 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M668 109h0\"></path>\n<path d=\"M739 109h0\"></path>\n<rect x=\"668\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"703.5\" y=\"113\">\"FROM\"</text>\n</g>\n<path d=\"M739 109h10\"></path>\n<g>\n<path d=\"M749 109h0\"></path>\n<path d=\"M868.5 109h0\"></path>\n<path d=\"M749 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M769 89h79.5\"></path>\n</g>\n<path d=\"M848.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M749 109h20\"></path>\n<g class=\"terminal\">\n<path d=\"M769 109h0\"></path>\n<path d=\"M848.5 109h0\"></path>\n<rect x=\"769\" y=\"98\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"808.75\" y=\"113\">\"TABLE\"</text>\n</g>\n<path d=\"M848.5 109h20\"></path>\n</g>\n<path d=\"M868.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M878.5 109h0\"></path>\n<path d=\"M1026 109h0\"></path>\n<rect x=\"878.5\" y=\"98\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"952.25\" y=\"113\">SQLSourceSimple</text>\n</a>\n</g>\n</g>\n<path d=\"M1026 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1046 40h10\"></path>\n<path d=\"M 1056 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_database.ts"
+    },
+    {
+      "name": "DeleteDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"440\" height=\"62\" viewBox=\"0 0 440 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M390 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M390 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"35\">\"DELETE DATASET\"</text>\n</g>\n<path d=\"M299 31h10\"></path>\n<path d=\"M309 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M319 31h0\"></path>\n<path d=\"M390 31h0\"></path>\n<rect x=\"319\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"354.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M390 31h10\"></path>\n<path d=\"M 400 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_dataset.ts"
+    },
+    {
+      "name": "DeleteDynpro",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE DYNPRO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"431.5\" height=\"62\" viewBox=\"0 0 431.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"DELETE DYNPRO\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<path d=\"M300.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<rect x=\"310.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M381.5 31h10\"></path>\n<path d=\"M 391.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_dynpro.ts"
+    },
+    {
+      "name": "DeleteInternal",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DELETE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"WITH TABLE KEY\"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"COMPONENTS\"'))),Railroad.OneOrMore(Railroad.NonTerminal('ComponentCompare', {href: '#/expression/ComponentCompare'}))))),Railroad.Sequence(Railroad.Terminal('\"ADJACENT DUPLICATES FROM\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"COMPARING\"'),Railroad.Choice(0, Railroad.Terminal('\"ALL FIELDS\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.NonTerminal('FieldOffset', {href: '#/expression/FieldOffset'})),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'}))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))),Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))),Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"WITH TABLE KEY\"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"COMPONENTS\"'))),Railroad.OneOrMore(Railroad.NonTerminal('ComponentCompare', {href: '#/expression/ComponentCompare'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.Choice(0, Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})))))))).toString();",
+      "using": [
+        "expression/ComponentCompare",
+        "expression/ComponentCond",
+        "expression/Dynamic",
+        "expression/FieldLength",
+        "expression/FieldOffset",
+        "expression/FieldSub",
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1865.5\" height=\"553\" viewBox=\"0 0 1865.5 553\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1815.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"DELETE\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<g>\n<path d=\"M148 31h0\"></path>\n<path d=\"M1815.5 31h0\"></path>\n<path d=\"M148 31h20\"></path>\n<g>\n<path d=\"M168 31h0\"></path>\n<path d=\"M1057.5 31h738\"></path>\n<g class=\"terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M247.5 31h0\"></path>\n<rect x=\"168\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"35\">\"TABLE\"</text>\n</g>\n<path d=\"M247.5 31h10\"></path>\n<path d=\"M257.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M267.5 31h0\"></path>\n<path d=\"M338.5 31h0\"></path>\n<rect x=\"267.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"303\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M338.5 31h10\"></path>\n<g>\n<path d=\"M348.5 31h0\"></path>\n<path d=\"M1057.5 31h0\"></path>\n<path d=\"M348.5 31h20\"></path>\n<g>\n<path d=\"M368.5 31h0\"></path>\n<path d=\"M707 31h330.5\"></path>\n<path d=\"M398.5 31h10\"></path>\n<g>\n<path d=\"M408.5 31h0\"></path>\n<path d=\"M579 31h98\"></path>\n<g class=\"terminal\">\n<path d=\"M408.5 31h0\"></path>\n<path d=\"M488 31h0\"></path>\n<rect x=\"408.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"448.25\" y=\"35\">\"INDEX\"</text>\n</g>\n<path d=\"M488 31h10\"></path>\n<path d=\"M498 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M508 31h0\"></path>\n<path d=\"M579 31h0\"></path>\n<rect x=\"508\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"543.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M677 31h10\"></path>\n<path d=\"M398.5 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M408.5 61h0\"></path>\n<path d=\"M677 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M408.5 61h0\"></path>\n<path d=\"M522 61h0\"></path>\n<rect x=\"408.5\" y=\"50\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"465.25\" y=\"65\">\"USING KEY\"</text>\n</g>\n<path d=\"M522 61h10\"></path>\n<g>\n<path d=\"M532 61h0\"></path>\n<path d=\"M677 61h0\"></path>\n<path d=\"M532 61h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 61h0\"></path>\n<path d=\"M657 61h0\"></path>\n<rect x=\"552\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"604.5\" y=\"65\">SimpleName</text>\n</a>\n</g>\n<path d=\"M657 61h20\"></path>\n<path d=\"M532 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 91h0\"></path>\n<path d=\"M631.5 91h25.5\"></path>\n<rect x=\"552\" y=\"80\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"591.75\" y=\"95\">Dynamic</text>\n</a>\n</g>\n<path d=\"M657 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M677 61a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 398.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"383.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 687 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 694 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1037.5 31h20\"></path>\n<path d=\"M348.5 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M368.5 130h0\"></path>\n<path d=\"M570.5 130h467\"></path>\n<path d=\"M368.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M388.5 110h162\"></path>\n</g>\n<path d=\"M550.5 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M368.5 130h20\"></path>\n<g>\n<path d=\"M388.5 130h0\"></path>\n<path d=\"M550.5 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M388.5 130h0\"></path>\n<path d=\"M459.5 130h0\"></path>\n<rect x=\"388.5\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"424\" y=\"134\">\"FROM\"</text>\n</g>\n<path d=\"M459.5 130h10\"></path>\n<path d=\"M469.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M479.5 130h0\"></path>\n<path d=\"M550.5 130h0\"></path>\n<rect x=\"479.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"515\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M550.5 130h20\"></path>\n</g>\n<path d=\"M1037.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M348.5 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M368.5 169h0\"></path>\n<path d=\"M1037.5 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 169h0\"></path>\n<path d=\"M524.5 169h0\"></path>\n<rect x=\"368.5\" y=\"158\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"446.5\" y=\"173\">\"WITH TABLE KEY\"</text>\n</g>\n<path d=\"M524.5 169h10\"></path>\n<g>\n<path d=\"M534.5 169h0\"></path>\n<path d=\"M851.5 169h0\"></path>\n<path d=\"M534.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M554.5 149h277\"></path>\n</g>\n<path d=\"M831.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M534.5 169h20\"></path>\n<g>\n<path d=\"M554.5 169h0\"></path>\n<path d=\"M831.5 169h0\"></path>\n<g>\n<path d=\"M554.5 169h0\"></path>\n<path d=\"M699.5 169h0\"></path>\n<path d=\"M554.5 169h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M574.5 169h0\"></path>\n<path d=\"M679.5 169h0\"></path>\n<rect x=\"574.5\" y=\"158\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"627\" y=\"173\">SimpleName</text>\n</a>\n</g>\n<path d=\"M679.5 169h20\"></path>\n<path d=\"M554.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M574.5 199h0\"></path>\n<path d=\"M654 199h25.5\"></path>\n<rect x=\"574.5\" y=\"188\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"614.25\" y=\"203\">Dynamic</text>\n</a>\n</g>\n<path d=\"M679.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M699.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M709.5 169h0\"></path>\n<path d=\"M831.5 169h0\"></path>\n<rect x=\"709.5\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"770.5\" y=\"173\">\"COMPONENTS\"</text>\n</g>\n</g>\n<path d=\"M831.5 169h20\"></path>\n</g>\n<path d=\"M851.5 169h10\"></path>\n<g>\n<path d=\"M861.5 169h0\"></path>\n<path d=\"M1037.5 169h0\"></path>\n<path d=\"M861.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M871.5 169h0\"></path>\n<path d=\"M1027.5 169h0\"></path>\n<rect x=\"871.5\" y=\"158\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompare\"><text x=\"949.5\" y=\"173\">ComponentCompare</text>\n</a>\n</g>\n<path d=\"M1027.5 169h10\"></path>\n<path d=\"M871.5 169a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M871.5 189h156\"></path>\n</g>\n<path d=\"M1027.5 189a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1037.5 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1795.5 31h20\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v187a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 238h0\"></path>\n<path d=\"M1795.5 238h0\"></path>\n<g class=\"terminal\">\n<path d=\"M168 238h0\"></path>\n<path d=\"M409 238h0\"></path>\n<rect x=\"168\" y=\"227\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"288.5\" y=\"242\">\"ADJACENT DUPLICATES FROM\"</text>\n</g>\n<path d=\"M409 238h10\"></path>\n<path d=\"M419 238h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M429 238h0\"></path>\n<path d=\"M500 238h0\"></path>\n<rect x=\"429\" y=\"227\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"464.5\" y=\"242\">Target</text>\n</a>\n</g>\n<path d=\"M500 238h10\"></path>\n<g>\n<path d=\"M510 238h0\"></path>\n<path d=\"M818.5 238h0\"></path>\n<path d=\"M510 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M530 218h268.5\"></path>\n</g>\n<path d=\"M798.5 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M510 238h20\"></path>\n<g>\n<path d=\"M530 238h0\"></path>\n<path d=\"M798.5 238h0\"></path>\n<g class=\"terminal\">\n<path d=\"M530 238h0\"></path>\n<path d=\"M643.5 238h0\"></path>\n<rect x=\"530\" y=\"227\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"586.75\" y=\"242\">\"USING KEY\"</text>\n</g>\n<path d=\"M643.5 238h10\"></path>\n<g>\n<path d=\"M653.5 238h0\"></path>\n<path d=\"M798.5 238h0\"></path>\n<path d=\"M653.5 238h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M673.5 238h0\"></path>\n<path d=\"M778.5 238h0\"></path>\n<rect x=\"673.5\" y=\"227\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"726\" y=\"242\">SimpleName</text>\n</a>\n</g>\n<path d=\"M778.5 238h20\"></path>\n<path d=\"M653.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M673.5 268h0\"></path>\n<path d=\"M753 268h25.5\"></path>\n<rect x=\"673.5\" y=\"257\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"713.25\" y=\"272\">Dynamic</text>\n</a>\n</g>\n<path d=\"M778.5 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M798.5 238h20\"></path>\n</g>\n<g>\n<path d=\"M818.5 238h0\"></path>\n<path d=\"M1487 238h0\"></path>\n<path d=\"M818.5 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M838.5 218h628.5\"></path>\n</g>\n<path d=\"M1467 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M818.5 238h20\"></path>\n<g>\n<path d=\"M838.5 238h0\"></path>\n<path d=\"M1467 238h0\"></path>\n<g class=\"terminal\">\n<path d=\"M838.5 238h0\"></path>\n<path d=\"M952 238h0\"></path>\n<rect x=\"838.5\" y=\"227\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"895.25\" y=\"242\">\"COMPARING\"</text>\n</g>\n<path d=\"M952 238h10\"></path>\n<g>\n<path d=\"M962 238h0\"></path>\n<path d=\"M1467 238h0\"></path>\n<path d=\"M962 238h20\"></path>\n<g class=\"terminal\">\n<path d=\"M982 238h0\"></path>\n<path d=\"M1104 238h343\"></path>\n<rect x=\"982\" y=\"227\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1043\" y=\"242\">\"ALL FIELDS\"</text>\n</g>\n<path d=\"M1447 238h20\"></path>\n<path d=\"M962 238a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M982 277h0\"></path>\n<path d=\"M1447 277h0\"></path>\n<path d=\"M982 277h10\"></path>\n<g>\n<path d=\"M992 277h0\"></path>\n<path d=\"M1437 277h0\"></path>\n<path d=\"M992 277h20\"></path>\n<g>\n<path d=\"M1012 277h0\"></path>\n<path d=\"M1417 277h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1012 277h0\"></path>\n<path d=\"M1100 277h0\"></path>\n<rect x=\"1012\" y=\"266\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"1056\" y=\"281\">FieldSub</text>\n</a>\n</g>\n<path d=\"M1100 277h10\"></path>\n<g>\n<path d=\"M1110 277h0\"></path>\n<path d=\"M1263.5 277h0\"></path>\n<path d=\"M1110 277a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1130 257h113.5\"></path>\n</g>\n<path d=\"M1243.5 257a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1110 277h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1130 277h0\"></path>\n<path d=\"M1243.5 277h0\"></path>\n<rect x=\"1130\" y=\"266\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldOffset\"><text x=\"1186.75\" y=\"281\">FieldOffset</text>\n</a>\n</g>\n<path d=\"M1243.5 277h20\"></path>\n</g>\n<g>\n<path d=\"M1263.5 277h0\"></path>\n<path d=\"M1417 277h0\"></path>\n<path d=\"M1263.5 277a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1283.5 257h113.5\"></path>\n</g>\n<path d=\"M1397 257a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1263.5 277h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1283.5 277h0\"></path>\n<path d=\"M1397 277h0\"></path>\n<rect x=\"1283.5\" y=\"266\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"1340.25\" y=\"281\">FieldLength</text>\n</a>\n</g>\n<path d=\"M1397 277h20\"></path>\n</g>\n</g>\n<path d=\"M1417 277h20\"></path>\n<path d=\"M992 277a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1012 307h0\"></path>\n<path d=\"M1091.5 307h325.5\"></path>\n<rect x=\"1012\" y=\"296\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1051.75\" y=\"311\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1417 307a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1437 277h10\"></path>\n<path d=\"M992 277a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M992 326h445\"></path>\n</g>\n<path d=\"M1437 326a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1447 277a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1467 238h20\"></path>\n</g>\n<g>\n<path d=\"M1487 238h0\"></path>\n<path d=\"M1795.5 238h0\"></path>\n<path d=\"M1487 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1507 218h268.5\"></path>\n</g>\n<path d=\"M1775.5 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1487 238h20\"></path>\n<g>\n<path d=\"M1507 238h0\"></path>\n<path d=\"M1775.5 238h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1507 238h0\"></path>\n<path d=\"M1620.5 238h0\"></path>\n<rect x=\"1507\" y=\"227\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1563.75\" y=\"242\">\"USING KEY\"</text>\n</g>\n<path d=\"M1620.5 238h10\"></path>\n<g>\n<path d=\"M1630.5 238h0\"></path>\n<path d=\"M1775.5 238h0\"></path>\n<path d=\"M1630.5 238h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1650.5 238h0\"></path>\n<path d=\"M1755.5 238h0\"></path>\n<rect x=\"1650.5\" y=\"227\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1703\" y=\"242\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1755.5 238h20\"></path>\n<path d=\"M1630.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1650.5 268h0\"></path>\n<path d=\"M1730 268h25.5\"></path>\n<rect x=\"1650.5\" y=\"257\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1690.25\" y=\"272\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1755.5 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1775.5 238h20\"></path>\n</g>\n</g>\n<path d=\"M1795.5 238a10 10 0 0 0 10 -10v-187a10 10 0 0 1 10 -10\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v303a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 354h0\"></path>\n<path d=\"M1258 354h537.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 354h0\"></path>\n<path d=\"M239 354h0\"></path>\n<rect x=\"168\" y=\"343\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"203.5\" y=\"358\">Target</text>\n</a>\n</g>\n<path d=\"M239 354h10\"></path>\n<g>\n<path d=\"M249 354h0\"></path>\n<path d=\"M958 354h0\"></path>\n<path d=\"M249 354h20\"></path>\n<g>\n<path d=\"M269 354h0\"></path>\n<path d=\"M607.5 354h330.5\"></path>\n<path d=\"M299 354h10\"></path>\n<g>\n<path d=\"M309 354h0\"></path>\n<path d=\"M479.5 354h98\"></path>\n<g class=\"terminal\">\n<path d=\"M309 354h0\"></path>\n<path d=\"M388.5 354h0\"></path>\n<rect x=\"309\" y=\"343\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"348.75\" y=\"358\">\"INDEX\"</text>\n</g>\n<path d=\"M388.5 354h10\"></path>\n<path d=\"M398.5 354h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M408.5 354h0\"></path>\n<path d=\"M479.5 354h0\"></path>\n<rect x=\"408.5\" y=\"343\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"444\" y=\"358\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M577.5 354h10\"></path>\n<path d=\"M299 354v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M309 384h0\"></path>\n<path d=\"M577.5 384h0\"></path>\n<g class=\"terminal\">\n<path d=\"M309 384h0\"></path>\n<path d=\"M422.5 384h0\"></path>\n<rect x=\"309\" y=\"373\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"365.75\" y=\"388\">\"USING KEY\"</text>\n</g>\n<path d=\"M422.5 384h10\"></path>\n<g>\n<path d=\"M432.5 384h0\"></path>\n<path d=\"M577.5 384h0\"></path>\n<path d=\"M432.5 384h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 384h0\"></path>\n<path d=\"M557.5 384h0\"></path>\n<rect x=\"452.5\" y=\"373\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"505\" y=\"388\">SimpleName</text>\n</a>\n</g>\n<path d=\"M557.5 384h20\"></path>\n<path d=\"M432.5 384a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 414h0\"></path>\n<path d=\"M532 414h25.5\"></path>\n<rect x=\"452.5\" y=\"403\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"492.25\" y=\"418\">Dynamic</text>\n</a>\n</g>\n<path d=\"M557.5 414a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M577.5 384a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 299 344 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"284\" y=\"358\" class=\"diagram-text\">1+</text>\n<path d=\"M 587.5 344 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 594.5 352 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M938 354h20\"></path>\n<path d=\"M249 354a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M269 453h0\"></path>\n<path d=\"M656 453h282\"></path>\n<g>\n<path d=\"M269 453h0\"></path>\n<path d=\"M471 453h0\"></path>\n<path d=\"M269 453a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M289 433h162\"></path>\n</g>\n<path d=\"M451 433a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M269 453h20\"></path>\n<g>\n<path d=\"M289 453h0\"></path>\n<path d=\"M451 453h0\"></path>\n<g class=\"terminal\">\n<path d=\"M289 453h0\"></path>\n<path d=\"M360 453h0\"></path>\n<rect x=\"289\" y=\"442\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.5\" y=\"457\">\"FROM\"</text>\n</g>\n<path d=\"M360 453h10\"></path>\n<path d=\"M370 453h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M380 453h0\"></path>\n<path d=\"M451 453h0\"></path>\n<rect x=\"380\" y=\"442\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"415.5\" y=\"457\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M451 453h20\"></path>\n</g>\n<g>\n<path d=\"M471 453h0\"></path>\n<path d=\"M656 453h0\"></path>\n<path d=\"M471 453a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M491 433h145\"></path>\n</g>\n<path d=\"M636 433a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M471 453h20\"></path>\n<g>\n<path d=\"M491 453h0\"></path>\n<path d=\"M636 453h0\"></path>\n<g class=\"terminal\">\n<path d=\"M491 453h0\"></path>\n<path d=\"M545 453h0\"></path>\n<rect x=\"491\" y=\"442\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"518\" y=\"457\">\"TO\"</text>\n</g>\n<path d=\"M545 453h10\"></path>\n<path d=\"M555 453h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M565 453h0\"></path>\n<path d=\"M636 453h0\"></path>\n<rect x=\"565\" y=\"442\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"600.5\" y=\"457\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M636 453h20\"></path>\n</g>\n</g>\n<path d=\"M938 453a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 354a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M269 492h0\"></path>\n<path d=\"M938 492h0\"></path>\n<g class=\"terminal\">\n<path d=\"M269 492h0\"></path>\n<path d=\"M425 492h0\"></path>\n<rect x=\"269\" y=\"481\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"347\" y=\"496\">\"WITH TABLE KEY\"</text>\n</g>\n<path d=\"M425 492h10\"></path>\n<g>\n<path d=\"M435 492h0\"></path>\n<path d=\"M752 492h0\"></path>\n<path d=\"M435 492a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M455 472h277\"></path>\n</g>\n<path d=\"M732 472a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M435 492h20\"></path>\n<g>\n<path d=\"M455 492h0\"></path>\n<path d=\"M732 492h0\"></path>\n<g>\n<path d=\"M455 492h0\"></path>\n<path d=\"M600 492h0\"></path>\n<path d=\"M455 492h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M475 492h0\"></path>\n<path d=\"M580 492h0\"></path>\n<rect x=\"475\" y=\"481\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"527.5\" y=\"496\">SimpleName</text>\n</a>\n</g>\n<path d=\"M580 492h20\"></path>\n<path d=\"M455 492a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M475 522h0\"></path>\n<path d=\"M554.5 522h25.5\"></path>\n<rect x=\"475\" y=\"511\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"514.75\" y=\"526\">Dynamic</text>\n</a>\n</g>\n<path d=\"M580 522a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M600 492h10\"></path>\n<g class=\"terminal\">\n<path d=\"M610 492h0\"></path>\n<path d=\"M732 492h0\"></path>\n<rect x=\"610\" y=\"481\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671\" y=\"496\">\"COMPONENTS\"</text>\n</g>\n</g>\n<path d=\"M732 492h20\"></path>\n</g>\n<path d=\"M752 492h10\"></path>\n<g>\n<path d=\"M762 492h0\"></path>\n<path d=\"M938 492h0\"></path>\n<path d=\"M762 492h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M772 492h0\"></path>\n<path d=\"M928 492h0\"></path>\n<rect x=\"772\" y=\"481\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompare\"><text x=\"850\" y=\"496\">ComponentCompare</text>\n</a>\n</g>\n<path d=\"M928 492h10\"></path>\n<path d=\"M772 492a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M772 512h156\"></path>\n</g>\n<path d=\"M928 512a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M938 492a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M958 354h0\"></path>\n<path d=\"M1258 354h0\"></path>\n<path d=\"M958 354a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M978 334h260\"></path>\n</g>\n<path d=\"M1238 334a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M958 354h20\"></path>\n<g>\n<path d=\"M978 354h0\"></path>\n<path d=\"M1238 354h0\"></path>\n<g class=\"terminal\">\n<path d=\"M978 354h0\"></path>\n<path d=\"M1057.5 354h0\"></path>\n<rect x=\"978\" y=\"343\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.75\" y=\"358\">\"WHERE\"</text>\n</g>\n<path d=\"M1057.5 354h10\"></path>\n<g>\n<path d=\"M1067.5 354h0\"></path>\n<path d=\"M1238 354h0\"></path>\n<path d=\"M1067.5 354h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1087.5 354h0\"></path>\n<path d=\"M1218 354h0\"></path>\n<rect x=\"1087.5\" y=\"343\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"1152.75\" y=\"358\">ComponentCond</text>\n</a>\n</g>\n<path d=\"M1218 354h20\"></path>\n<path d=\"M1067.5 354a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1087.5 384h0\"></path>\n<path d=\"M1167 384h51\"></path>\n<rect x=\"1087.5\" y=\"373\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1127.25\" y=\"388\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1218 384a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1238 354h20\"></path>\n</g>\n</g>\n<path d=\"M1795.5 354a10 10 0 0 0 10 -10v-303a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1815.5 31h10\"></path>\n<path d=\"M 1825.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_internal.ts"
+    },
+    {
+      "name": "DeleteMemory",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE FROM\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"MEMORY ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"SHARED MEMORY\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"(\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\")\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1201\" height=\"101\" viewBox=\"0 0 1201 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1151 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M1151 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"DELETE FROM\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<g>\n<path d=\"M283.5 31h0\"></path>\n<path d=\"M1151 31h0\"></path>\n<path d=\"M283.5 31h20\"></path>\n<g>\n<path d=\"M303.5 31h0\"></path>\n<path d=\"M508 31h623\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 31h0\"></path>\n<path d=\"M417 31h0\"></path>\n<rect x=\"303.5\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.25\" y=\"35\">\"MEMORY ID\"</text>\n</g>\n<path d=\"M417 31h10\"></path>\n<path d=\"M427 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437 31h0\"></path>\n<path d=\"M508 31h0\"></path>\n<rect x=\"437\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"472.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1131 31h20\"></path>\n<path d=\"M283.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303.5 70h0\"></path>\n<path d=\"M1131 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 70h0\"></path>\n<path d=\"M451 70h0\"></path>\n<rect x=\"303.5\" y=\"59\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"377.25\" y=\"74\">\"SHARED MEMORY\"</text>\n</g>\n<path d=\"M451 70h10\"></path>\n<path d=\"M461 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M471 70h0\"></path>\n<path d=\"M533.5 70h0\"></path>\n<rect x=\"471\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"502.25\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M533.5 70h10\"></path>\n<path d=\"M543.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M553.5 70h0\"></path>\n<path d=\"M599 70h0\"></path>\n<rect x=\"553.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"576.25\" y=\"74\">\"(\"</text>\n</g>\n<path d=\"M599 70h10\"></path>\n<path d=\"M609 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M619 70h0\"></path>\n<path d=\"M681.5 70h0\"></path>\n<rect x=\"619\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"650.25\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M681.5 70h10\"></path>\n<path d=\"M691.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M701.5 70h0\"></path>\n<path d=\"M747 70h0\"></path>\n<rect x=\"701.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"724.25\" y=\"74\">\")\"</text>\n</g>\n<path d=\"M747 70h10\"></path>\n<g>\n<path d=\"M757 70h0\"></path>\n<path d=\"M976 70h0\"></path>\n<path d=\"M757 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M777 50h179\"></path>\n</g>\n<path d=\"M956 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M757 70h20\"></path>\n<g>\n<path d=\"M777 70h0\"></path>\n<path d=\"M956 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M777 70h0\"></path>\n<path d=\"M865 70h0\"></path>\n<rect x=\"777\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"821\" y=\"74\">\"CLIENT\"</text>\n</g>\n<path d=\"M865 70h10\"></path>\n<path d=\"M875 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M885 70h0\"></path>\n<path d=\"M956 70h0\"></path>\n<rect x=\"885\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"920.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M956 70h20\"></path>\n</g>\n<path d=\"M976 70h10\"></path>\n<g>\n<path d=\"M986 70h0\"></path>\n<path d=\"M1131 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M986 70h0\"></path>\n<path d=\"M1040 70h0\"></path>\n<rect x=\"986\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1013\" y=\"74\">\"ID\"</text>\n</g>\n<path d=\"M1040 70h10\"></path>\n<path d=\"M1050 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1060 70h0\"></path>\n<path d=\"M1131 70h0\"></path>\n<rect x=\"1060\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1095.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1131 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1151 31h10\"></path>\n<path d=\"M 1161 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_memory.ts"
+    },
+    {
+      "name": "DeleteReport",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE REPORT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"652\" height=\"71\" viewBox=\"0 0 652 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M602 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M602 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"DELETE REPORT\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<path d=\"M300.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M381.5 40h0\"></path>\n<rect x=\"310.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M381.5 40h10\"></path>\n<g>\n<path d=\"M391.5 40h0\"></path>\n<path d=\"M602 40h0\"></path>\n<path d=\"M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M411.5 20h170.5\"></path>\n</g>\n<path d=\"M582 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M391.5 40h20\"></path>\n<g>\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M582 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M491 40h0\"></path>\n<rect x=\"411.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"451.25\" y=\"44\">\"STATE\"</text>\n</g>\n<path d=\"M491 40h10\"></path>\n<path d=\"M501 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M511 40h0\"></path>\n<path d=\"M582 40h0\"></path>\n<rect x=\"511\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"546.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M582 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M602 40h10\"></path>\n<path d=\"M 612 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_report.ts"
+    },
+    {
+      "name": "DeleteTextpool",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DELETE TEXTPOOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"905\" height=\"71\" viewBox=\"0 0 905 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M855 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M855 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"DELETE TEXTPOOL\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M398.5 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 40h10\"></path>\n<g>\n<path d=\"M408.5 40h0\"></path>\n<path d=\"M644.5 40h0\"></path>\n<path d=\"M408.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M428.5 20h196\"></path>\n</g>\n<path d=\"M624.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M408.5 40h20\"></path>\n<g>\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M624.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M533.5 40h0\"></path>\n<rect x=\"428.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"481\" y=\"44\">\"LANGUAGE\"</text>\n</g>\n<path d=\"M533.5 40h10\"></path>\n<path d=\"M543.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M553.5 40h0\"></path>\n<path d=\"M624.5 40h0\"></path>\n<rect x=\"553.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"589\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M624.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M644.5 40h0\"></path>\n<path d=\"M855 40h0\"></path>\n<path d=\"M644.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M664.5 20h170.5\"></path>\n</g>\n<path d=\"M835 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M644.5 40h20\"></path>\n<g>\n<path d=\"M664.5 40h0\"></path>\n<path d=\"M835 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M664.5 40h0\"></path>\n<path d=\"M744 40h0\"></path>\n<rect x=\"664.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"704.25\" y=\"44\">\"STATE\"</text>\n</g>\n<path d=\"M744 40h10\"></path>\n<path d=\"M754 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M764 40h0\"></path>\n<path d=\"M835 40h0\"></path>\n<rect x=\"764\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"799.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M835 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M855 40h10\"></path>\n<path d=\"M 865 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "delete_textpool.ts"
+    },
+    {
+      "name": "Demand",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DEMAND\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Terminal('\"FROM CONTEXT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MESSAGES INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1070\" height=\"80\" viewBox=\"0 0 1070 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1020 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1020 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"DEMAND\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<path d=\"M241 40h10\"></path>\n<g>\n<path d=\"M251 40h0\"></path>\n<path d=\"M490 40h0\"></path>\n<path d=\"M251 40h10\"></path>\n<g>\n<path d=\"M261 40h0\"></path>\n<path d=\"M480 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 40h0\"></path>\n<path d=\"M323.5 40h0\"></path>\n<rect x=\"261\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"292.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M323.5 40h10\"></path>\n<path d=\"M333.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M343.5 40h0\"></path>\n<path d=\"M389 40h0\"></path>\n<rect x=\"343.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"366.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M389 40h10\"></path>\n<path d=\"M399 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409 40h0\"></path>\n<path d=\"M480 40h0\"></path>\n<rect x=\"409\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"444.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M480 40h10\"></path>\n<path d=\"M261 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M261 60h219\"></path>\n</g>\n<path d=\"M480 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M490 40h10\"></path>\n<path d=\"M500 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M510 40h0\"></path>\n<path d=\"M649 40h0\"></path>\n<rect x=\"510\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"579.5\" y=\"44\">\"FROM CONTEXT\"</text>\n</g>\n<path d=\"M649 40h10\"></path>\n<path d=\"M659 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M669 40h0\"></path>\n<path d=\"M731.5 40h0\"></path>\n<rect x=\"669\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"700.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M731.5 40h10\"></path>\n<g>\n<path d=\"M741.5 40h0\"></path>\n<path d=\"M1020 40h0\"></path>\n<path d=\"M741.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M761.5 20h238.5\"></path>\n</g>\n<path d=\"M1000 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M741.5 40h20\"></path>\n<g>\n<path d=\"M761.5 40h0\"></path>\n<path d=\"M1000 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 40h0\"></path>\n<path d=\"M909 40h0\"></path>\n<rect x=\"761.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"835.25\" y=\"44\">\"MESSAGES INTO\"</text>\n</g>\n<path d=\"M909 40h10\"></path>\n<path d=\"M919 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M929 40h0\"></path>\n<path d=\"M1000 40h0\"></path>\n<rect x=\"929\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"964.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1000 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1020 40h10\"></path>\n<path d=\"M 1030 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "demand.ts"
+    },
+    {
+      "name": "Describe",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"DESCRIBE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"LINES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"KIND\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))),Railroad.Sequence(Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"COMPONENTS\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"BYTE\"'),Railroad.Terminal('\"CHARACTER\"')),Railroad.Terminal('\"MODE\"')))),Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"HELP-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OUTPUT-LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"EDIT MASK\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Sequence(Railroad.Terminal('\"DISTANCE BETWEEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"BYTE\"'),Railroad.Terminal('\"CHARACTER\"')),Railroad.Terminal('\"MODE\"'))),Railroad.Sequence(Railroad.Terminal('\"LIST\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"NUMBER OF LINES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TOP-LINES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"FIRST-LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))))).toString();",
+      "using": [
+        "expression/FieldChain",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1286\" height=\"680\" viewBox=\"0 0 1286 680\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1236 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1236 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"DESCRIBE\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<g>\n<path d=\"M258 40h0\"></path>\n<path d=\"M1236 40h0\"></path>\n<path d=\"M258 40h20\"></path>\n<g>\n<path d=\"M278 40h0\"></path>\n<path d=\"M781.5 40h434.5\"></path>\n<g class=\"terminal\">\n<path d=\"M278 40h0\"></path>\n<path d=\"M357.5 40h0\"></path>\n<rect x=\"278\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.75\" y=\"44\">\"TABLE\"</text>\n</g>\n<path d=\"M357.5 40h10\"></path>\n<path d=\"M367.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M377.5 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<rect x=\"377.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"430\" y=\"44\">FieldChain</text>\n</a>\n</g>\n<path d=\"M482.5 40h10\"></path>\n<g>\n<path d=\"M492.5 40h0\"></path>\n<path d=\"M781.5 40h0\"></path>\n<path d=\"M492.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M512.5 20h249\"></path>\n</g>\n<path d=\"M761.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M492.5 40h20\"></path>\n<g>\n<path d=\"M512.5 40h0\"></path>\n<path d=\"M761.5 40h0\"></path>\n<path d=\"M542.5 40h10\"></path>\n<g>\n<path d=\"M552.5 40h0\"></path>\n<path d=\"M723 40h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M552.5 40h0\"></path>\n<path d=\"M632 40h0\"></path>\n<rect x=\"552.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"592.25\" y=\"44\">\"LINES\"</text>\n</g>\n<path d=\"M632 40h10\"></path>\n<path d=\"M642 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M652 40h0\"></path>\n<path d=\"M723 40h0\"></path>\n<rect x=\"652\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"687.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M731.5 40h10\"></path>\n<path d=\"M542.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M552.5 70h0\"></path>\n<path d=\"M714.5 70h17\"></path>\n<g class=\"terminal\">\n<path d=\"M552.5 70h0\"></path>\n<path d=\"M623.5 70h0\"></path>\n<rect x=\"552.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"588\" y=\"74\">\"KIND\"</text>\n</g>\n<path d=\"M623.5 70h10\"></path>\n<path d=\"M633.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M643.5 70h0\"></path>\n<path d=\"M714.5 70h0\"></path>\n<rect x=\"643.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"679\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M731.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M542.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M552.5 100h0\"></path>\n<path d=\"M731.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M552.5 100h0\"></path>\n<path d=\"M640.5 100h0\"></path>\n<rect x=\"552.5\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.5\" y=\"104\">\"OCCURS\"</text>\n</g>\n<path d=\"M640.5 100h10\"></path>\n<path d=\"M650.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M660.5 100h0\"></path>\n<path d=\"M731.5 100h0\"></path>\n<rect x=\"660.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"696\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M731.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 542.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"527.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 741.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 748.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M761.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1216 40h20\"></path>\n<path d=\"M258 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M278 130h0\"></path>\n<path d=\"M1066 130h150\"></path>\n<g class=\"terminal\">\n<path d=\"M278 130h0\"></path>\n<path d=\"M357.5 130h0\"></path>\n<rect x=\"278\" y=\"119\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.75\" y=\"134\">\"FIELD\"</text>\n</g>\n<path d=\"M357.5 130h10\"></path>\n<path d=\"M367.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M377.5 130h0\"></path>\n<path d=\"M448.5 130h0\"></path>\n<rect x=\"377.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"413\" y=\"134\">Source</text>\n</a>\n</g>\n<path d=\"M448.5 130h10\"></path>\n<path d=\"M458.5 130h10\"></path>\n<g>\n<path d=\"M468.5 130h0\"></path>\n<path d=\"M1066 130h0\"></path>\n<path d=\"M498.5 130h10\"></path>\n<g>\n<path d=\"M508.5 130h0\"></path>\n<path d=\"M670.5 130h365.5\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 130h0\"></path>\n<path d=\"M579.5 130h0\"></path>\n<rect x=\"508.5\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544\" y=\"134\">\"TYPE\"</text>\n</g>\n<path d=\"M579.5 130h10\"></path>\n<path d=\"M589.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M599.5 130h0\"></path>\n<path d=\"M670.5 130h0\"></path>\n<rect x=\"599.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"635\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 130h10\"></path>\n<path d=\"M498.5 130v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 160h0\"></path>\n<path d=\"M721.5 160h314.5\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 160h0\"></path>\n<path d=\"M630.5 160h0\"></path>\n<rect x=\"508.5\" y=\"149\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569.5\" y=\"164\">\"COMPONENTS\"</text>\n</g>\n<path d=\"M630.5 160h10\"></path>\n<path d=\"M640.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M650.5 160h0\"></path>\n<path d=\"M721.5 160h0\"></path>\n<rect x=\"650.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"686\" y=\"164\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 160a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M498.5 130v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 199h0\"></path>\n<path d=\"M1036 199h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 199h0\"></path>\n<path d=\"M596.5 199h0\"></path>\n<rect x=\"508.5\" y=\"188\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"552.5\" y=\"203\">\"LENGTH\"</text>\n</g>\n<path d=\"M596.5 199h10\"></path>\n<path d=\"M606.5 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616.5 199h0\"></path>\n<path d=\"M687.5 199h0\"></path>\n<rect x=\"616.5\" y=\"188\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"652\" y=\"203\">Target</text>\n</a>\n</g>\n<path d=\"M687.5 199h10\"></path>\n<g>\n<path d=\"M697.5 199h0\"></path>\n<path d=\"M1036 199h0\"></path>\n<path d=\"M697.5 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M717.5 179h298.5\"></path>\n</g>\n<path d=\"M1016 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M697.5 199h20\"></path>\n<g>\n<path d=\"M717.5 199h0\"></path>\n<path d=\"M1016 199h0\"></path>\n<g class=\"terminal\">\n<path d=\"M717.5 199h0\"></path>\n<path d=\"M771.5 199h0\"></path>\n<rect x=\"717.5\" y=\"188\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"744.5\" y=\"203\">\"IN\"</text>\n</g>\n<path d=\"M771.5 199h10\"></path>\n<g>\n<path d=\"M781.5 199h0\"></path>\n<path d=\"M935 199h0\"></path>\n<path d=\"M781.5 199h20\"></path>\n<g class=\"terminal\">\n<path d=\"M801.5 199h0\"></path>\n<path d=\"M872.5 199h42.5\"></path>\n<rect x=\"801.5\" y=\"188\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"837\" y=\"203\">\"BYTE\"</text>\n</g>\n<path d=\"M915 199h20\"></path>\n<path d=\"M781.5 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M801.5 229h0\"></path>\n<path d=\"M915 229h0\"></path>\n<rect x=\"801.5\" y=\"218\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"858.25\" y=\"233\">\"CHARACTER\"</text>\n</g>\n<path d=\"M915 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M935 199h10\"></path>\n<g class=\"terminal\">\n<path d=\"M945 199h0\"></path>\n<path d=\"M1016 199h0\"></path>\n<rect x=\"945\" y=\"188\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"980.5\" y=\"203\">\"MODE\"</text>\n</g>\n</g>\n<path d=\"M1016 199h20\"></path>\n</g>\n</g>\n<path d=\"M1036 199a10 10 0 0 0 10 -10v-59\"></path>\n<path d=\"M498.5 130v119a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 259h0\"></path>\n<path d=\"M704.5 259h331.5\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 259h0\"></path>\n<path d=\"M613.5 259h0\"></path>\n<rect x=\"508.5\" y=\"248\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"561\" y=\"263\">\"DECIMALS\"</text>\n</g>\n<path d=\"M613.5 259h10\"></path>\n<path d=\"M623.5 259h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M633.5 259h0\"></path>\n<path d=\"M704.5 259h0\"></path>\n<rect x=\"633.5\" y=\"248\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"669\" y=\"263\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 259a10 10 0 0 0 10 -10v-119\"></path>\n<path d=\"M498.5 130v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 289h0\"></path>\n<path d=\"M696 289h340\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 289h0\"></path>\n<path d=\"M605 289h0\"></path>\n<rect x=\"508.5\" y=\"278\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"556.75\" y=\"293\">\"HELP-ID\"</text>\n</g>\n<path d=\"M605 289h10\"></path>\n<path d=\"M615 289h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M625 289h0\"></path>\n<path d=\"M696 289h0\"></path>\n<rect x=\"625\" y=\"278\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"660.5\" y=\"293\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 289a10 10 0 0 0 10 -10v-149\"></path>\n<path d=\"M498.5 130v179a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 319h0\"></path>\n<path d=\"M747 319h289\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 319h0\"></path>\n<path d=\"M656 319h0\"></path>\n<rect x=\"508.5\" y=\"308\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"582.25\" y=\"323\">\"OUTPUT-LENGTH\"</text>\n</g>\n<path d=\"M656 319h10\"></path>\n<path d=\"M666 319h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M676 319h0\"></path>\n<path d=\"M747 319h0\"></path>\n<rect x=\"676\" y=\"308\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"711.5\" y=\"323\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 319a10 10 0 0 0 10 -10v-179\"></path>\n<path d=\"M498.5 130v209a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 349h0\"></path>\n<path d=\"M713 349h323\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 349h0\"></path>\n<path d=\"M622 349h0\"></path>\n<rect x=\"508.5\" y=\"338\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"565.25\" y=\"353\">\"EDIT MASK\"</text>\n</g>\n<path d=\"M622 349h10\"></path>\n<path d=\"M632 349h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642 349h0\"></path>\n<path d=\"M713 349h0\"></path>\n<rect x=\"642\" y=\"338\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"677.5\" y=\"353\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 349a10 10 0 0 0 10 -10v-209\"></path>\n<path d=\"M498.5 130v239a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508.5 379h0\"></path>\n<path d=\"M670.5 379h365.5\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 379h0\"></path>\n<path d=\"M579.5 379h0\"></path>\n<rect x=\"508.5\" y=\"368\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544\" y=\"383\">\"INTO\"</text>\n</g>\n<path d=\"M579.5 379h10\"></path>\n<path d=\"M589.5 379h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M599.5 379h0\"></path>\n<path d=\"M670.5 379h0\"></path>\n<rect x=\"599.5\" y=\"368\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"635\" y=\"383\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1036 379a10 10 0 0 0 10 -10v-239\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 498.5 120 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"483.5\" y=\"134\" class=\"diagram-text\">1+</text>\n<path d=\"M 1046 120 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1053 128 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1216 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M258 40a10 10 0 0 1 10 10v349a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M278 409h0\"></path>\n<path d=\"M1216 409h0\"></path>\n<g class=\"terminal\">\n<path d=\"M278 409h0\"></path>\n<path d=\"M451 409h0\"></path>\n<rect x=\"278\" y=\"398\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.5\" y=\"413\">\"DISTANCE BETWEEN\"</text>\n</g>\n<path d=\"M451 409h10\"></path>\n<path d=\"M461 409h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M471 409h0\"></path>\n<path d=\"M542 409h0\"></path>\n<rect x=\"471\" y=\"398\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"506.5\" y=\"413\">Source</text>\n</a>\n</g>\n<path d=\"M542 409h10\"></path>\n<path d=\"M552 409h10\"></path>\n<g class=\"terminal\">\n<path d=\"M562 409h0\"></path>\n<path d=\"M624.5 409h0\"></path>\n<rect x=\"562\" y=\"398\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"593.25\" y=\"413\">\"AND\"</text>\n</g>\n<path d=\"M624.5 409h10\"></path>\n<path d=\"M634.5 409h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M644.5 409h0\"></path>\n<path d=\"M715.5 409h0\"></path>\n<rect x=\"644.5\" y=\"398\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"680\" y=\"413\">Source</text>\n</a>\n</g>\n<path d=\"M715.5 409h10\"></path>\n<path d=\"M725.5 409h10\"></path>\n<g class=\"terminal\">\n<path d=\"M735.5 409h0\"></path>\n<path d=\"M806.5 409h0\"></path>\n<rect x=\"735.5\" y=\"398\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"771\" y=\"413\">\"INTO\"</text>\n</g>\n<path d=\"M806.5 409h10\"></path>\n<path d=\"M816.5 409h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M826.5 409h0\"></path>\n<path d=\"M897.5 409h0\"></path>\n<rect x=\"826.5\" y=\"398\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"862\" y=\"413\">Target</text>\n</a>\n</g>\n<path d=\"M897.5 409h10\"></path>\n<path d=\"M907.5 409h10\"></path>\n<g>\n<path d=\"M917.5 409h0\"></path>\n<path d=\"M1216 409h0\"></path>\n<g class=\"terminal\">\n<path d=\"M917.5 409h0\"></path>\n<path d=\"M971.5 409h0\"></path>\n<rect x=\"917.5\" y=\"398\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"944.5\" y=\"413\">\"IN\"</text>\n</g>\n<path d=\"M971.5 409h10\"></path>\n<g>\n<path d=\"M981.5 409h0\"></path>\n<path d=\"M1135 409h0\"></path>\n<path d=\"M981.5 409h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1001.5 409h0\"></path>\n<path d=\"M1072.5 409h42.5\"></path>\n<rect x=\"1001.5\" y=\"398\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1037\" y=\"413\">\"BYTE\"</text>\n</g>\n<path d=\"M1115 409h20\"></path>\n<path d=\"M981.5 409a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1001.5 439h0\"></path>\n<path d=\"M1115 439h0\"></path>\n<rect x=\"1001.5\" y=\"428\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1058.25\" y=\"443\">\"CHARACTER\"</text>\n</g>\n<path d=\"M1115 439a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1135 409h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1145 409h0\"></path>\n<path d=\"M1216 409h0\"></path>\n<rect x=\"1145\" y=\"398\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1180.5\" y=\"413\">\"MODE\"</text>\n</g>\n</g>\n</g>\n<path d=\"M1216 409a10 10 0 0 0 10 -10v-349a10 10 0 0 1 10 -10\"></path>\n<path d=\"M258 40a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M278 469h0\"></path>\n<path d=\"M694.5 469h521.5\"></path>\n<g class=\"terminal\">\n<path d=\"M278 469h0\"></path>\n<path d=\"M349 469h0\"></path>\n<rect x=\"278\" y=\"458\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"313.5\" y=\"473\">\"LIST\"</text>\n</g>\n<path d=\"M349 469h10\"></path>\n<path d=\"M359 469h10\"></path>\n<g>\n<path d=\"M369 469h0\"></path>\n<path d=\"M694.5 469h0\"></path>\n<path d=\"M399 469h10\"></path>\n<g>\n<path d=\"M409 469h0\"></path>\n<path d=\"M664.5 469h0\"></path>\n<g class=\"terminal\">\n<path d=\"M409 469h0\"></path>\n<path d=\"M573.5 469h0\"></path>\n<rect x=\"409\" y=\"458\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"491.25\" y=\"473\">\"NUMBER OF LINES\"</text>\n</g>\n<path d=\"M573.5 469h10\"></path>\n<path d=\"M583.5 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M593.5 469h0\"></path>\n<path d=\"M664.5 469h0\"></path>\n<rect x=\"593.5\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"629\" y=\"473\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 469h10\"></path>\n<path d=\"M399 469v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 499h0\"></path>\n<path d=\"M579.5 499h85\"></path>\n<g class=\"terminal\">\n<path d=\"M409 499h0\"></path>\n<path d=\"M488.5 499h0\"></path>\n<rect x=\"409\" y=\"488\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"448.75\" y=\"503\">\"INDEX\"</text>\n</g>\n<path d=\"M488.5 499h10\"></path>\n<path d=\"M498.5 499h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M508.5 499h0\"></path>\n<path d=\"M579.5 499h0\"></path>\n<rect x=\"508.5\" y=\"488\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"544\" y=\"503\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 499a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M399 469v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 529h0\"></path>\n<path d=\"M571 529h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M409 529h0\"></path>\n<path d=\"M480 529h0\"></path>\n<rect x=\"409\" y=\"518\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"444.5\" y=\"533\">\"LINE\"</text>\n</g>\n<path d=\"M480 529h10\"></path>\n<path d=\"M490 529h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500 529h0\"></path>\n<path d=\"M571 529h0\"></path>\n<rect x=\"500\" y=\"518\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"535.5\" y=\"533\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 529a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M399 469v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 559h0\"></path>\n<path d=\"M571 559h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M409 559h0\"></path>\n<path d=\"M480 559h0\"></path>\n<rect x=\"409\" y=\"548\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"444.5\" y=\"563\">\"PAGE\"</text>\n</g>\n<path d=\"M480 559h10\"></path>\n<path d=\"M490 559h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500 559h0\"></path>\n<path d=\"M571 559h0\"></path>\n<rect x=\"500\" y=\"548\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"535.5\" y=\"563\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 559a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M399 469v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 589h0\"></path>\n<path d=\"M613.5 589h51\"></path>\n<g class=\"terminal\">\n<path d=\"M409 589h0\"></path>\n<path d=\"M522.5 589h0\"></path>\n<rect x=\"409\" y=\"578\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"465.75\" y=\"593\">\"TOP-LINES\"</text>\n</g>\n<path d=\"M522.5 589h10\"></path>\n<path d=\"M532.5 589h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M542.5 589h0\"></path>\n<path d=\"M613.5 589h0\"></path>\n<rect x=\"542.5\" y=\"578\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"578\" y=\"593\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 589a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M399 469v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 619h0\"></path>\n<path d=\"M622 619h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M409 619h0\"></path>\n<path d=\"M531 619h0\"></path>\n<rect x=\"409\" y=\"608\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"470\" y=\"623\">\"FIRST-LINE\"</text>\n</g>\n<path d=\"M531 619h10\"></path>\n<path d=\"M541 619h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M551 619h0\"></path>\n<path d=\"M622 619h0\"></path>\n<rect x=\"551\" y=\"608\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"586.5\" y=\"623\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 619a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M399 469v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M409 649h0\"></path>\n<path d=\"M613.5 649h51\"></path>\n<g class=\"terminal\">\n<path d=\"M409 649h0\"></path>\n<path d=\"M522.5 649h0\"></path>\n<rect x=\"409\" y=\"638\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"465.75\" y=\"653\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M522.5 649h10\"></path>\n<path d=\"M532.5 649h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M542.5 649h0\"></path>\n<path d=\"M613.5 649h0\"></path>\n<rect x=\"542.5\" y=\"638\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"578\" y=\"653\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 649a10 10 0 0 0 10 -10v-170\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 399 459 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"384\" y=\"473\" class=\"diagram-text\">1+</text>\n<path d=\"M 674.5 459 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 681.5 467 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1216 469a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1236 40h10\"></path>\n<path d=\"M 1246 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "describe.ts"
+    },
+    {
+      "name": "Detail",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"DETAIL\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"281\" height=\"62\" viewBox=\"0 0 281 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"DETAIL\"</text>\n</g>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M 241 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "detail.ts"
+    },
+    {
+      "name": "Divide",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DIVIDE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"BY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"444\" height=\"62\" viewBox=\"0 0 444 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M394 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"DIVIDE\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 31h0\"></path>\n<path d=\"M229 31h0\"></path>\n<rect x=\"158\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"193.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M229 31h10\"></path>\n<path d=\"M239 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M249 31h0\"></path>\n<path d=\"M303 31h0\"></path>\n<rect x=\"249\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"276\" y=\"35\">\"BY\"</text>\n</g>\n<path d=\"M303 31h10\"></path>\n<path d=\"M313 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M323 31h0\"></path>\n<path d=\"M394 31h0\"></path>\n<rect x=\"323\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"358.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M394 31h10\"></path>\n<path d=\"M 404 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "divide.ts"
+    },
+    {
+      "name": "Do",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"DO\"'),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"VARYING\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"NEXT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RANGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TIMES\"')))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1066\" height=\"118\" viewBox=\"0 0 1066 118\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1016 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M104 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"52\">\"DO\"</text>\n</g>\n<path d=\"M104 48h10\"></path>\n<g>\n<path d=\"M114 48h0\"></path>\n<path d=\"M1016 48h0\"></path>\n<path d=\"M114 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M134 20h862\"></path>\n</g>\n<path d=\"M996 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M114 48h20\"></path>\n<g>\n<path d=\"M134 48h0\"></path>\n<path d=\"M996 48h0\"></path>\n<path d=\"M164 48h10\"></path>\n<g>\n<path d=\"M174 48h0\"></path>\n<path d=\"M966 48h0\"></path>\n<path d=\"M174 48h10\"></path>\n<g>\n<path d=\"M184 48h0\"></path>\n<path d=\"M956 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M184 48h0\"></path>\n<path d=\"M280.5 48h0\"></path>\n<rect x=\"184\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"232.25\" y=\"52\">\"VARYING\"</text>\n</g>\n<path d=\"M280.5 48h10\"></path>\n<path d=\"M290.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M300.5 48h0\"></path>\n<path d=\"M371.5 48h0\"></path>\n<rect x=\"300.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"336\" y=\"52\">Target</text>\n</a>\n</g>\n<path d=\"M371.5 48h10\"></path>\n<path d=\"M381.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M391.5 48h0\"></path>\n<path d=\"M462.5 48h0\"></path>\n<rect x=\"391.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"427\" y=\"52\">\"FROM\"</text>\n</g>\n<path d=\"M462.5 48h10\"></path>\n<path d=\"M472.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M482.5 48h0\"></path>\n<path d=\"M553.5 48h0\"></path>\n<rect x=\"482.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"518\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M553.5 48h10\"></path>\n<path d=\"M563.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M573.5 48h0\"></path>\n<path d=\"M644.5 48h0\"></path>\n<rect x=\"573.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"609\" y=\"52\">\"NEXT\"</text>\n</g>\n<path d=\"M644.5 48h10\"></path>\n<path d=\"M654.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M664.5 48h0\"></path>\n<path d=\"M735.5 48h0\"></path>\n<rect x=\"664.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"700\" y=\"52\">Source</text>\n</a>\n</g>\n<path d=\"M735.5 48h10\"></path>\n<g>\n<path d=\"M745.5 48h0\"></path>\n<path d=\"M956 48h0\"></path>\n<path d=\"M745.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M765.5 28h170.5\"></path>\n</g>\n<path d=\"M936 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M745.5 48h20\"></path>\n<g>\n<path d=\"M765.5 48h0\"></path>\n<path d=\"M936 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M765.5 48h0\"></path>\n<path d=\"M845 48h0\"></path>\n<rect x=\"765.5\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"805.25\" y=\"52\">\"RANGE\"</text>\n</g>\n<path d=\"M845 48h10\"></path>\n<path d=\"M855 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M865 48h0\"></path>\n<path d=\"M936 48h0\"></path>\n<rect x=\"865\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"900.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M936 48h20\"></path>\n</g>\n</g>\n<path d=\"M956 48h10\"></path>\n<path d=\"M184 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M184 68h772\"></path>\n</g>\n<path d=\"M956 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M966 48h10\"></path>\n<path d=\"M164 48v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M174 87h0\"></path>\n<path d=\"M344.5 87h621.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M174 87h0\"></path>\n<path d=\"M245 87h0\"></path>\n<rect x=\"174\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"209.5\" y=\"91\">Source</text>\n</a>\n</g>\n<path d=\"M245 87h10\"></path>\n<path d=\"M255 87h10\"></path>\n<g class=\"terminal\">\n<path d=\"M265 87h0\"></path>\n<path d=\"M344.5 87h0\"></path>\n<rect x=\"265\" y=\"76\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"304.75\" y=\"91\">\"TIMES\"</text>\n</g>\n</g>\n<path d=\"M966 87a10 10 0 0 0 10 -10v-29\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 164 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"149\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 976 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 983 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M996 48h20\"></path>\n</g>\n</g>\n<path d=\"M1016 48h10\"></path>\n<path d=\"M 1026 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Do"
+      ],
+      "filename": "do.ts"
+    },
+    {
+      "name": "EditorCall",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"EDITOR-CALL FOR\"'),Railroad.Optional(Railroad.Terminal('\"REPORT\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"DISPLAY-MODE\"'),Railroad.Sequence(Railroad.Terminal('\"TITLE\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}))))))).toString();",
+      "using": [
+        "expression/SimpleSource3",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"926.5\" height=\"101\" viewBox=\"0 0 926.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M876.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M876.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"EDITOR-CALL FOR\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<g>\n<path d=\"M317.5 40h0\"></path>\n<path d=\"M445.5 40h0\"></path>\n<path d=\"M317.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M337.5 20h88\"></path>\n</g>\n<path d=\"M425.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M317.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M337.5 40h0\"></path>\n<path d=\"M425.5 40h0\"></path>\n<rect x=\"337.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"381.5\" y=\"44\">\"REPORT\"</text>\n</g>\n<path d=\"M425.5 40h20\"></path>\n</g>\n<path d=\"M445.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M455.5 40h0\"></path>\n<path d=\"M526.5 40h0\"></path>\n<rect x=\"455.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"491\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M526.5 40h10\"></path>\n<g>\n<path d=\"M536.5 40h0\"></path>\n<path d=\"M876.5 40h0\"></path>\n<path d=\"M536.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M556.5 20h300\"></path>\n</g>\n<path d=\"M856.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M536.5 40h20\"></path>\n<g>\n<path d=\"M556.5 40h0\"></path>\n<path d=\"M856.5 40h0\"></path>\n<path d=\"M586.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M596.5 40h0\"></path>\n<path d=\"M735.5 40h91\"></path>\n<rect x=\"596.5\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"666\" y=\"44\">\"DISPLAY-MODE\"</text>\n</g>\n<path d=\"M826.5 40h10\"></path>\n<path d=\"M586.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M596.5 70h0\"></path>\n<path d=\"M826.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M596.5 70h0\"></path>\n<path d=\"M676 70h0\"></path>\n<rect x=\"596.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"636.25\" y=\"74\">\"TITLE\"</text>\n</g>\n<path d=\"M676 70h10\"></path>\n<path d=\"M686 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M696 70h0\"></path>\n<path d=\"M826.5 70h0\"></path>\n<rect x=\"696\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"761.25\" y=\"74\">SimpleSource3</text>\n</a>\n</g>\n</g>\n<path d=\"M826.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 586.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"571.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 836.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 843.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M856.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M876.5 40h10\"></path>\n<path d=\"M 886.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "editor_call.ts"
+    },
+    {
+      "name": "Else",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ELSE\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"171\" height=\"62\" viewBox=\"0 0 171 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"ELSE\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M 131 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Else"
+      ],
+      "filename": "else.ts"
+    },
+    {
+      "name": "ElseIf",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ELSEIF\"'),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}))).toString();",
+      "using": [
+        "expression/Cond"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"262\" height=\"62\" viewBox=\"0 0 262 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"ELSEIF\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<rect x=\"158\" y=\"20\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"185\" y=\"35\">Cond</text>\n</a>\n</g>\n</g>\n<path d=\"M212 31h10\"></path>\n<path d=\"M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ElseIf"
+      ],
+      "filename": "else_if.ts"
+    },
+    {
+      "name": "EndAt",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDAT\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"179.5\" height=\"62\" viewBox=\"0 0 179.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"ENDAT\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/At",
+        "structure/AtFirst",
+        "structure/AtLast"
+      ],
+      "filename": "end_at.ts"
+    },
+    {
+      "name": "EndCase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDCASE\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"ENDCASE\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Case",
+        "structure/CaseType"
+      ],
+      "filename": "end_case.ts"
+    },
+    {
+      "name": "EndCatch",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDCATCH\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"298\" height=\"62\" viewBox=\"0 0 298 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M248 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M248 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"35\">\"ENDCATCH\"</text>\n</g>\n</g>\n<path d=\"M248 31h10\"></path>\n<path d=\"M 258 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/CatchSystemExceptions"
+      ],
+      "filename": "end_catch.ts"
+    },
+    {
+      "name": "EndClass",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDCLASS\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"ENDCLASS\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition",
+        "structure/ClassImplementation"
+      ],
+      "filename": "end_class.ts"
+    },
+    {
+      "name": "EndDo",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDDO\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"179.5\" height=\"62\" viewBox=\"0 0 179.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"ENDDO\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Do"
+      ],
+      "filename": "end_do.ts"
+    },
+    {
+      "name": "EndEnhancement",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDENHANCEMENT\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"349\" height=\"62\" viewBox=\"0 0 349 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"35\">\"ENDENHANCEMENT\"</text>\n</g>\n</g>\n<path d=\"M299 31h10\"></path>\n<path d=\"M 309 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Enhancement"
+      ],
+      "filename": "end_enhancement.ts"
+    },
+    {
+      "name": "EndEnhancementSection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"END-ENHANCEMENT-SECTION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"425.5\" height=\"62\" viewBox=\"0 0 425.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M375.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M375.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"259.25\" y=\"35\">\"END-ENHANCEMENT-SECTION\"</text>\n</g>\n</g>\n<path d=\"M375.5 31h10\"></path>\n<path d=\"M 385.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/EnhancementSection"
+      ],
+      "filename": "end_enhancement_section.ts"
+    },
+    {
+      "name": "EndExec",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDEXEC\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"289.5\" height=\"62\" viewBox=\"0 0 289.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"35\">\"ENDEXEC\"</text>\n</g>\n</g>\n<path d=\"M239.5 31h10\"></path>\n<path d=\"M 249.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ExecSQL"
+      ],
+      "filename": "end_exec.ts"
+    },
+    {
+      "name": "EndForm",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDFORM\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"ENDFORM\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Form"
+      ],
+      "filename": "end_form.ts"
+    },
+    {
+      "name": "EndFunction",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDFUNCTION\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"230.5\" height=\"62\" viewBox=\"0 0 230.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"35\">\"ENDFUNCTION\"</text>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M 190.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/FunctionModule"
+      ],
+      "filename": "end_function.ts"
+    },
+    {
+      "name": "EndIf",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDIF\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"179.5\" height=\"62\" viewBox=\"0 0 179.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"ENDIF\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/If"
+      ],
+      "filename": "end_if.ts"
+    },
+    {
+      "name": "EndInterface",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDINTERFACE\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"239\" height=\"62\" viewBox=\"0 0 239 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M189 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"119.5\" y=\"35\">\"ENDINTERFACE\"</text>\n</g>\n<path d=\"M189 31h10\"></path>\n<path d=\"M 199 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Interface"
+      ],
+      "filename": "end_interface.ts"
+    },
+    {
+      "name": "EndLoop",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDLOOP\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"196.5\" height=\"62\" viewBox=\"0 0 196.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"ENDLOOP\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Loop",
+        "structure/LoopAtScreen"
+      ],
+      "filename": "end_loop.ts"
+    },
+    {
+      "name": "EndMethod",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDMETHOD\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"213.5\" height=\"62\" viewBox=\"0 0 213.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"ENDMETHOD\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M 173.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Method"
+      ],
+      "filename": "end_method.ts"
+    },
+    {
+      "name": "EndModule",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDMODULE\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"306.5\" height=\"62\" viewBox=\"0 0 306.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M256.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M256.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"199.75\" y=\"35\">\"ENDMODULE\"</text>\n</g>\n</g>\n<path d=\"M256.5 31h10\"></path>\n<path d=\"M 266.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Module"
+      ],
+      "filename": "end_module.ts"
+    },
+    {
+      "name": "EndOfDefinition",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"END-OF-DEFINITION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"374.5\" height=\"62\" viewBox=\"0 0 374.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M324.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M324.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"35\">\"END-OF-DEFINITION\"</text>\n</g>\n</g>\n<path d=\"M324.5 31h10\"></path>\n<path d=\"M 334.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Define"
+      ],
+      "filename": "end_of_definition.ts"
+    },
+    {
+      "name": "EndOfPage",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"END-OF-PAGE\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"323.5\" height=\"62\" viewBox=\"0 0 323.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"END-OF-PAGE\"</text>\n</g>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M 283.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "end_of_page.ts"
+    },
+    {
+      "name": "EndOfSelection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"END-OF-SELECTION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"366\" height=\"62\" viewBox=\"0 0 366 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"END-OF-SELECTION\"</text>\n</g>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M 326 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "end_of_selection.ts"
+    },
+    {
+      "name": "EndOn",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDON\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"272.5\" height=\"62\" viewBox=\"0 0 272.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M222.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M222.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"35\">\"ENDON\"</text>\n</g>\n</g>\n<path d=\"M222.5 31h10\"></path>\n<path d=\"M 232.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/OnChange"
+      ],
+      "filename": "end_on.ts"
+    },
+    {
+      "name": "EndProvide",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"ENDPROVIDE\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"315\" height=\"62\" viewBox=\"0 0 315 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"35\">\"ENDPROVIDE\"</text>\n</g>\n</g>\n<path d=\"M265 31h10\"></path>\n<path d=\"M 275 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Provide"
+      ],
+      "filename": "end_provide.ts"
+    },
+    {
+      "name": "EndSelect",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDSELECT\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"213.5\" height=\"62\" viewBox=\"0 0 213.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"ENDSELECT\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M 173.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Select"
+      ],
+      "filename": "end_select.ts"
+    },
+    {
+      "name": "EndTestInjection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"END-TEST-INJECTION\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"290\" height=\"62\" viewBox=\"0 0 290 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">\"END-TEST-INJECTION\"</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<path d=\"M 250 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TestInjection"
+      ],
+      "filename": "end_test_injection.ts"
+    },
+    {
+      "name": "EndTestSeam",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Terminal('\"END-TEST-SEAM\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"305.5\" height=\"62\" viewBox=\"0 0 305.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M255.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v750</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M255.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"181.75\" y=\"35\">\"END-TEST-SEAM\"</text>\n</g>\n</g>\n<path d=\"M255.5 31h10\"></path>\n<path d=\"M 265.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TestSeam"
+      ],
+      "filename": "end_test_seam.ts"
+    },
+    {
+      "name": "EndTry",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDTRY\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"188\" height=\"62\" viewBox=\"0 0 188 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"ENDTRY\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M 148 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Try"
+      ],
+      "filename": "end_try.ts"
+    },
+    {
+      "name": "EndWhile",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"ENDWHILE\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"ENDWHILE\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/While"
+      ],
+      "filename": "end_while.ts"
+    },
+    {
+      "name": "EndWith",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Terminal('\"ENDWITH\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"254.5\" height=\"62\" viewBox=\"0 0 254.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M204.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M204.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"156.25\" y=\"35\">\"ENDWITH\"</text>\n</g>\n</g>\n<path d=\"M204.5 31h10\"></path>\n<path d=\"M 214.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/With"
+      ],
+      "filename": "end_with.ts"
+    },
+    {
+      "name": "Enhancement",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ENHANCEMENT\"'),Railroad.OneOrMore(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"545\" height=\"71\" viewBox=\"0 0 545 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M495 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M495 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"ENHANCEMENT\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g>\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M495 31h0\"></path>\n<path d=\"M293.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303.5 31h0\"></path>\n<path d=\"M485 31h0\"></path>\n<rect x=\"303.5\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"394.25\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M485 31h10\"></path>\n<path d=\"M303.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303.5 51h181.5\"></path>\n</g>\n<path d=\"M485 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M495 31h10\"></path>\n<path d=\"M 505 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Enhancement"
+      ],
+      "filename": "enhancement.ts"
+    },
+    {
+      "name": "EnhancementPoint",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ENHANCEMENT-POINT\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Terminal('\"SPOTS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Optional(Railroad.Terminal('\"STATIC\"')),Railroad.Optional(Railroad.Terminal('\"INCLUDE BOUND\"'))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/FieldSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"990\" height=\"71\" viewBox=\"0 0 990 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M940 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M940 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M324.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"44\">\"ENHANCEMENT-POINT\"</text>\n</g>\n<path d=\"M324.5 40h10\"></path>\n<path d=\"M334.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 40h0\"></path>\n<path d=\"M432.5 40h0\"></path>\n<rect x=\"344.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"388.5\" y=\"44\">FieldSub</text>\n</a>\n</g>\n<path d=\"M432.5 40h10\"></path>\n<path d=\"M442.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M452.5 40h0\"></path>\n<path d=\"M532 40h0\"></path>\n<rect x=\"452.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"492.25\" y=\"44\">\"SPOTS\"</text>\n</g>\n<path d=\"M532 40h10\"></path>\n<path d=\"M542 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M552 40h0\"></path>\n<path d=\"M614.5 40h0\"></path>\n<rect x=\"552\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"583.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M614.5 40h10\"></path>\n<g>\n<path d=\"M624.5 40h0\"></path>\n<path d=\"M752.5 40h0\"></path>\n<path d=\"M624.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M644.5 20h88\"></path>\n</g>\n<path d=\"M732.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M624.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M644.5 40h0\"></path>\n<path d=\"M732.5 40h0\"></path>\n<rect x=\"644.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"688.5\" y=\"44\">\"STATIC\"</text>\n</g>\n<path d=\"M732.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M752.5 40h0\"></path>\n<path d=\"M940 40h0\"></path>\n<path d=\"M752.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M772.5 20h147.5\"></path>\n</g>\n<path d=\"M920 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M752.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M772.5 40h0\"></path>\n<path d=\"M920 40h0\"></path>\n<rect x=\"772.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"846.25\" y=\"44\">\"INCLUDE BOUND\"</text>\n</g>\n<path d=\"M920 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M940 40h10\"></path>\n<path d=\"M 950 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal"
+      ],
+      "filename": "enhancement_point.ts"
+    },
+    {
+      "name": "EnhancementSection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ENHANCEMENT-SECTION\"'),Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('!\"-\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))),Railroad.Terminal('\"SPOTS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Optional(Railroad.Terminal('\"STATIC\"')),Railroad.Optional(Railroad.Terminal('\"INCLUDE BOUND\"'))))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1188\" height=\"80\" viewBox=\"0 0 1188 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1138 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1138 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"44\">\"ENHANCEMENT-SECTION\"</text>\n</g>\n<path d=\"M341.5 40h10\"></path>\n<path d=\"M351.5 40h10\"></path>\n<g>\n<path d=\"M361.5 40h0\"></path>\n<path d=\"M630.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M361.5 40h0\"></path>\n<path d=\"M424 40h0\"></path>\n<rect x=\"361.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"392.75\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M424 40h10\"></path>\n<g>\n<path d=\"M434 40h0\"></path>\n<path d=\"M630.5 40h0\"></path>\n<path d=\"M434 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M454 20h156.5\"></path>\n</g>\n<path d=\"M610.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M434 40h20\"></path>\n<g>\n<path d=\"M454 40h0\"></path>\n<path d=\"M610.5 40h0\"></path>\n<path d=\"M454 40h10\"></path>\n<g>\n<path d=\"M464 40h0\"></path>\n<path d=\"M600.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M464 40h0\"></path>\n<path d=\"M518 40h0\"></path>\n<rect x=\"464\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"491\" y=\"44\">!\"-\"</text>\n</g>\n<path d=\"M518 40h10\"></path>\n<path d=\"M528 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M538 40h0\"></path>\n<path d=\"M600.5 40h0\"></path>\n<rect x=\"538\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"569.25\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M600.5 40h10\"></path>\n<path d=\"M464 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M464 60h136.5\"></path>\n</g>\n<path d=\"M600.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M610.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M630.5 40h10\"></path>\n<path d=\"M640.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M650.5 40h0\"></path>\n<path d=\"M730 40h0\"></path>\n<rect x=\"650.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"690.25\" y=\"44\">\"SPOTS\"</text>\n</g>\n<path d=\"M730 40h10\"></path>\n<path d=\"M740 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M750 40h0\"></path>\n<path d=\"M812.5 40h0\"></path>\n<rect x=\"750\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"781.25\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M812.5 40h10\"></path>\n<g>\n<path d=\"M822.5 40h0\"></path>\n<path d=\"M950.5 40h0\"></path>\n<path d=\"M822.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M842.5 20h88\"></path>\n</g>\n<path d=\"M930.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M822.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M842.5 40h0\"></path>\n<path d=\"M930.5 40h0\"></path>\n<rect x=\"842.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"886.5\" y=\"44\">\"STATIC\"</text>\n</g>\n<path d=\"M930.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M950.5 40h0\"></path>\n<path d=\"M1138 40h0\"></path>\n<path d=\"M950.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M970.5 20h147.5\"></path>\n</g>\n<path d=\"M1118 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M950.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M970.5 40h0\"></path>\n<path d=\"M1118 40h0\"></path>\n<rect x=\"970.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1044.25\" y=\"44\">\"INCLUDE BOUND\"</text>\n</g>\n<path d=\"M1118 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1138 40h10\"></path>\n<path d=\"M 1148 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/EnhancementSection"
+      ],
+      "filename": "enhancement_section.ts"
+    },
+    {
+      "name": "Events",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"CLASS-EVENTS\"'),Railroad.Terminal('\"EVENTS\"')),Railroad.NonTerminal('EventName', {href: '#/expression/EventName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodParamOptional', {href: '#/expression/MethodParamOptional'})))))).toString();",
+      "using": [
+        "expression/EventName",
+        "expression/MethodParamOptional"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"770.5\" height=\"101\" viewBox=\"0 0 770.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M229 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M209 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"139.5\" y=\"44\">\"CLASS-EVENTS\"</text>\n</g>\n<path d=\"M209 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M158 70h51\"></path>\n<rect x=\"70\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"74\">\"EVENTS\"</text>\n</g>\n<path d=\"M209 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M229 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M239 40h0\"></path>\n<path d=\"M335.5 40h0\"></path>\n<rect x=\"239\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventName\"><text x=\"287.25\" y=\"44\">EventName</text>\n</a>\n</g>\n<path d=\"M335.5 40h10\"></path>\n<g>\n<path d=\"M345.5 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<path d=\"M345.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M365.5 20h335\"></path>\n</g>\n<path d=\"M700.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M345.5 40h20\"></path>\n<g>\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M700.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M479 40h0\"></path>\n<rect x=\"365.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"422.25\" y=\"44\">\"EXPORTING\"</text>\n</g>\n<path d=\"M479 40h10\"></path>\n<path d=\"M489 40h10\"></path>\n<g>\n<path d=\"M499 40h0\"></path>\n<path d=\"M700.5 40h0\"></path>\n<path d=\"M499 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M509 40h0\"></path>\n<path d=\"M690.5 40h0\"></path>\n<rect x=\"509\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamOptional\"><text x=\"599.75\" y=\"44\">MethodParamOptional</text>\n</a>\n</g>\n<path d=\"M690.5 40h10\"></path>\n<path d=\"M509 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M509 60h181.5\"></path>\n</g>\n<path d=\"M690.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M700.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M720.5 40h10\"></path>\n<path d=\"M 730.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/SectionContents"
+      ],
+      "filename": "events.ts"
+    },
+    {
+      "name": "ExecSQL",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"EXEC SQL\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PERFORMING\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})))))).toString();",
+      "using": [
+        "expression/SimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"595\" height=\"71\" viewBox=\"0 0 595 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M545 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M545 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"EXEC SQL\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<g>\n<path d=\"M258 40h0\"></path>\n<path d=\"M545 40h0\"></path>\n<path d=\"M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M278 20h247\"></path>\n</g>\n<path d=\"M525 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M258 40h20\"></path>\n<g>\n<path d=\"M278 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M278 40h0\"></path>\n<path d=\"M400 40h0\"></path>\n<rect x=\"278\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"339\" y=\"44\">\"PERFORMING\"</text>\n</g>\n<path d=\"M400 40h10\"></path>\n<path d=\"M410 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M420 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<rect x=\"420\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"472.5\" y=\"44\">SimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M525 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M545 40h10\"></path>\n<path d=\"M 555 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ExecSQL"
+      ],
+      "filename": "exec_sq_l.ts"
+    },
+    {
+      "name": "Exit",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"EXIT\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"FROM SQL\"'),Railroad.Terminal('\"FROM STEP-LOOP\"'))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"417\" height=\"101\" viewBox=\"0 0 417 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M367 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"EXIT\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M367 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h196\"></path>\n</g>\n<path d=\"M347 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M347 40h0\"></path>\n<path d=\"M151 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M171 40h0\"></path>\n<path d=\"M276 40h51\"></path>\n<rect x=\"171\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"223.5\" y=\"44\">\"FROM SQL\"</text>\n</g>\n<path d=\"M327 40h20\"></path>\n<path d=\"M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M171 70h0\"></path>\n<path d=\"M327 70h0\"></path>\n<rect x=\"171\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249\" y=\"74\">\"FROM STEP-LOOP\"</text>\n</g>\n<path d=\"M327 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M347 40h20\"></path>\n</g>\n</g>\n<path d=\"M367 40h10\"></path>\n<path d=\"M 377 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "exit.ts"
+    },
+    {
+      "name": "Export",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"EXPORT\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ParameterS', {href: '#/expression/ParameterS'}),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'})),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'})))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"TO\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"DATA BUFFER\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MEMORY\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"DATABASE\"'),Railroad.Sequence(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('!\"(\"'),Railroad.Terminal(\"^[\\\\w$%\\\\^]{2}$\"),Railroad.Terminal('!\") \"')),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"INTERNAL TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"SHARED MEMORY\"'),Railroad.Terminal('\"SHARED BUFFER\"')),Railroad.Sequence(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('!\"(\"'),Railroad.Terminal(\"^[\\\\w$%\\\\^]{2}$\"),Railroad.Terminal('!\") \"')),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"COMPRESSION\"'),Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CODE PAGE HINT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FieldSub",
+        "expression/FieldSymbol",
+        "expression/NamespaceSimpleName",
+        "expression/ParameterS",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2262.5\" height=\"350\" viewBox=\"0 0 2262.5 350\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2212.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"EXPORT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M573.5 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M553.5 40h0\"></path>\n<path d=\"M168 40h10\"></path>\n<g>\n<path d=\"M178 40h0\"></path>\n<path d=\"M543.5 40h0\"></path>\n<path d=\"M178 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M198 40h0\"></path>\n<path d=\"M303 40h220.5\"></path>\n<rect x=\"198\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterS\"><text x=\"250.5\" y=\"44\">ParameterS</text>\n</a>\n</g>\n<path d=\"M523.5 40h20\"></path>\n<path d=\"M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M198 70h0\"></path>\n<path d=\"M523.5 70h0\"></path>\n<g>\n<path d=\"M198 70h0\"></path>\n<path d=\"M351.5 70h0\"></path>\n<path d=\"M198 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 70h0\"></path>\n<path d=\"M306 70h25.5\"></path>\n<rect x=\"218\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"262\" y=\"74\">FieldSub</text>\n</a>\n</g>\n<path d=\"M331.5 70h20\"></path>\n<path d=\"M198 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 100h0\"></path>\n<path d=\"M331.5 100h0\"></path>\n<rect x=\"218\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"274.75\" y=\"104\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M331.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M351.5 70h10\"></path>\n<g>\n<path d=\"M361.5 70h0\"></path>\n<path d=\"M523.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M361.5 70h0\"></path>\n<path d=\"M432.5 70h0\"></path>\n<rect x=\"361.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"397\" y=\"74\">\"FROM\"</text>\n</g>\n<path d=\"M432.5 70h10\"></path>\n<path d=\"M442.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M452.5 70h0\"></path>\n<path d=\"M523.5 70h0\"></path>\n<rect x=\"452.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"488\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M523.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M178 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M198 130h0\"></path>\n<path d=\"M351.5 130h172\"></path>\n<path d=\"M198 130h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 130h0\"></path>\n<path d=\"M306 130h25.5\"></path>\n<rect x=\"218\" y=\"119\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"262\" y=\"134\">FieldSub</text>\n</a>\n</g>\n<path d=\"M331.5 130h20\"></path>\n<path d=\"M198 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 160h0\"></path>\n<path d=\"M331.5 160h0\"></path>\n<rect x=\"218\" y=\"149\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"274.75\" y=\"164\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M331.5 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M523.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M543.5 40h10\"></path>\n<path d=\"M178 40a10 10 0 0 0 -10 10v119a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 179h365.5\"></path>\n</g>\n<path d=\"M543.5 179a10 10 0 0 0 10 -10v-119a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M553.5 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v138a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 198h0\"></path>\n<path d=\"M247.5 198h306\"></path>\n<rect x=\"168\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"207.75\" y=\"202\">Dynamic</text>\n</a>\n</g>\n<path d=\"M553.5 198a10 10 0 0 0 10 -10v-138a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M573.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M583.5 40h0\"></path>\n<path d=\"M637.5 40h0\"></path>\n<rect x=\"583.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"610.5\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M637.5 40h10\"></path>\n<g>\n<path d=\"M647.5 40h0\"></path>\n<path d=\"M1642.5 40h0\"></path>\n<path d=\"M647.5 40h20\"></path>\n<g>\n<path d=\"M667.5 40h0\"></path>\n<path d=\"M889 40h733.5\"></path>\n<g class=\"terminal\">\n<path d=\"M667.5 40h0\"></path>\n<path d=\"M798 40h0\"></path>\n<rect x=\"667.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"732.75\" y=\"44\">\"DATA BUFFER\"</text>\n</g>\n<path d=\"M798 40h10\"></path>\n<path d=\"M808 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M818 40h0\"></path>\n<path d=\"M889 40h0\"></path>\n<rect x=\"818\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"853.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1622.5 40h20\"></path>\n<path d=\"M647.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M667.5 79h0\"></path>\n<path d=\"M950.5 79h672\"></path>\n<g class=\"terminal\">\n<path d=\"M667.5 79h0\"></path>\n<path d=\"M755.5 79h0\"></path>\n<rect x=\"667.5\" y=\"68\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"711.5\" y=\"83\">\"MEMORY\"</text>\n</g>\n<path d=\"M755.5 79h10\"></path>\n<g>\n<path d=\"M765.5 79h0\"></path>\n<path d=\"M950.5 79h0\"></path>\n<path d=\"M765.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M785.5 59h145\"></path>\n</g>\n<path d=\"M930.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M765.5 79h20\"></path>\n<g>\n<path d=\"M785.5 79h0\"></path>\n<path d=\"M930.5 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M785.5 79h0\"></path>\n<path d=\"M839.5 79h0\"></path>\n<rect x=\"785.5\" y=\"68\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"812.5\" y=\"83\">\"ID\"</text>\n</g>\n<path d=\"M839.5 79h10\"></path>\n<path d=\"M849.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M859.5 79h0\"></path>\n<path d=\"M930.5 79h0\"></path>\n<rect x=\"859.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"895\" y=\"83\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M930.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M1622.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M647.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M667.5 109h0\"></path>\n<path d=\"M1550 109h72.5\"></path>\n<g class=\"terminal\">\n<path d=\"M667.5 109h0\"></path>\n<path d=\"M772.5 109h0\"></path>\n<rect x=\"667.5\" y=\"98\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"720\" y=\"113\">\"DATABASE\"</text>\n</g>\n<path d=\"M772.5 109h10\"></path>\n<path d=\"M782.5 109h10\"></path>\n<g>\n<path d=\"M792.5 109h0\"></path>\n<path d=\"M1281 109h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M792.5 109h0\"></path>\n<path d=\"M974 109h0\"></path>\n<rect x=\"792.5\" y=\"98\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"883.25\" y=\"113\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M974 109h10\"></path>\n<path d=\"M984 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M994 109h0\"></path>\n<path d=\"M1048 109h0\"></path>\n<rect x=\"994\" y=\"98\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1021\" y=\"113\">!\"(\"</text>\n</g>\n<path d=\"M1048 109h10\"></path>\n<path d=\"M1058 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1068 109h0\"></path>\n<path d=\"M1198.5 109h0\"></path>\n<rect x=\"1068\" y=\"98\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1133.25\" y=\"113\">^&#91;\\w$%\\^&#93;{2}$</text>\n</g>\n<path d=\"M1198.5 109h10\"></path>\n<path d=\"M1208.5 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1218.5 109h0\"></path>\n<path d=\"M1281 109h0\"></path>\n<rect x=\"1218.5\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1249.75\" y=\"113\">!\") \"</text>\n</g>\n</g>\n<path d=\"M1281 109h10\"></path>\n<path d=\"M1291 109h10\"></path>\n<g>\n<path d=\"M1301 109h0\"></path>\n<path d=\"M1550 109h0\"></path>\n<path d=\"M1331 109h10\"></path>\n<g>\n<path d=\"M1341 109h0\"></path>\n<path d=\"M1503 109h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1341 109h0\"></path>\n<path d=\"M1412 109h0\"></path>\n<rect x=\"1341\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1376.5\" y=\"113\">\"FROM\"</text>\n</g>\n<path d=\"M1412 109h10\"></path>\n<path d=\"M1422 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1432 109h0\"></path>\n<path d=\"M1503 109h0\"></path>\n<rect x=\"1432\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1467.5\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1520 109h10\"></path>\n<path d=\"M1331 109v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1341 139h0\"></path>\n<path d=\"M1520 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1341 139h0\"></path>\n<path d=\"M1429 139h0\"></path>\n<rect x=\"1341\" y=\"128\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1385\" y=\"143\">\"CLIENT\"</text>\n</g>\n<path d=\"M1429 139h10\"></path>\n<path d=\"M1439 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1449 139h0\"></path>\n<path d=\"M1520 139h0\"></path>\n<rect x=\"1449\" y=\"128\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1484.5\" y=\"143\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1520 139a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1331 109v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1341 169h0\"></path>\n<path d=\"M1486 169h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1341 169h0\"></path>\n<path d=\"M1395 169h0\"></path>\n<rect x=\"1341\" y=\"158\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1368\" y=\"173\">\"ID\"</text>\n</g>\n<path d=\"M1395 169h10\"></path>\n<path d=\"M1405 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1415 169h0\"></path>\n<path d=\"M1486 169h0\"></path>\n<rect x=\"1415\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1450.5\" y=\"173\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1520 169a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1331 109v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1341 199h0\"></path>\n<path d=\"M1511.5 199h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1341 199h0\"></path>\n<path d=\"M1420.5 199h0\"></path>\n<rect x=\"1341\" y=\"188\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1380.75\" y=\"203\">\"USING\"</text>\n</g>\n<path d=\"M1420.5 199h10\"></path>\n<path d=\"M1430.5 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1440.5 199h0\"></path>\n<path d=\"M1511.5 199h0\"></path>\n<rect x=\"1440.5\" y=\"188\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1476\" y=\"203\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1520 199a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1331 99 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1316\" y=\"113\" class=\"diagram-text\">1+</text>\n<path d=\"M 1530 99 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1537 107 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1622.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M647.5 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M667.5 229h0\"></path>\n<path d=\"M914.5 229h708\"></path>\n<g class=\"terminal\">\n<path d=\"M667.5 229h0\"></path>\n<path d=\"M823.5 229h0\"></path>\n<rect x=\"667.5\" y=\"218\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"745.5\" y=\"233\">\"INTERNAL TABLE\"</text>\n</g>\n<path d=\"M823.5 229h10\"></path>\n<path d=\"M833.5 229h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M843.5 229h0\"></path>\n<path d=\"M914.5 229h0\"></path>\n<rect x=\"843.5\" y=\"218\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"879\" y=\"233\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1622.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n<path d=\"M647.5 40a10 10 0 0 1 10 10v199a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M667.5 259h0\"></path>\n<path d=\"M1622.5 259h0\"></path>\n<g>\n<path d=\"M667.5 259h0\"></path>\n<path d=\"M855 259h0\"></path>\n<path d=\"M667.5 259h20\"></path>\n<g class=\"terminal\">\n<path d=\"M687.5 259h0\"></path>\n<path d=\"M835 259h0\"></path>\n<rect x=\"687.5\" y=\"248\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"761.25\" y=\"263\">\"SHARED MEMORY\"</text>\n</g>\n<path d=\"M835 259h20\"></path>\n<path d=\"M667.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M687.5 289h0\"></path>\n<path d=\"M835 289h0\"></path>\n<rect x=\"687.5\" y=\"278\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"761.25\" y=\"293\">\"SHARED BUFFER\"</text>\n</g>\n<path d=\"M835 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M855 259h10\"></path>\n<g>\n<path d=\"M865 259h0\"></path>\n<path d=\"M1353.5 259h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M865 259h0\"></path>\n<path d=\"M1046.5 259h0\"></path>\n<rect x=\"865\" y=\"248\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"955.75\" y=\"263\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1046.5 259h10\"></path>\n<path d=\"M1056.5 259h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1066.5 259h0\"></path>\n<path d=\"M1120.5 259h0\"></path>\n<rect x=\"1066.5\" y=\"248\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1093.5\" y=\"263\">!\"(\"</text>\n</g>\n<path d=\"M1120.5 259h10\"></path>\n<path d=\"M1130.5 259h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1140.5 259h0\"></path>\n<path d=\"M1271 259h0\"></path>\n<rect x=\"1140.5\" y=\"248\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1205.75\" y=\"263\">^&#91;\\w$%\\^&#93;{2}$</text>\n</g>\n<path d=\"M1271 259h10\"></path>\n<path d=\"M1281 259h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1291 259h0\"></path>\n<path d=\"M1353.5 259h0\"></path>\n<rect x=\"1291\" y=\"248\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1322.25\" y=\"263\">!\") \"</text>\n</g>\n</g>\n<path d=\"M1353.5 259h10\"></path>\n<path d=\"M1363.5 259h10\"></path>\n<g>\n<path d=\"M1373.5 259h0\"></path>\n<path d=\"M1622.5 259h0\"></path>\n<path d=\"M1403.5 259h10\"></path>\n<g>\n<path d=\"M1413.5 259h0\"></path>\n<path d=\"M1575.5 259h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1413.5 259h0\"></path>\n<path d=\"M1484.5 259h0\"></path>\n<rect x=\"1413.5\" y=\"248\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1449\" y=\"263\">\"FROM\"</text>\n</g>\n<path d=\"M1484.5 259h10\"></path>\n<path d=\"M1494.5 259h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1504.5 259h0\"></path>\n<path d=\"M1575.5 259h0\"></path>\n<rect x=\"1504.5\" y=\"248\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1540\" y=\"263\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1592.5 259h10\"></path>\n<path d=\"M1403.5 259v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1413.5 289h0\"></path>\n<path d=\"M1592.5 289h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1413.5 289h0\"></path>\n<path d=\"M1501.5 289h0\"></path>\n<rect x=\"1413.5\" y=\"278\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1457.5\" y=\"293\">\"CLIENT\"</text>\n</g>\n<path d=\"M1501.5 289h10\"></path>\n<path d=\"M1511.5 289h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1521.5 289h0\"></path>\n<path d=\"M1592.5 289h0\"></path>\n<rect x=\"1521.5\" y=\"278\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1557\" y=\"293\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1592.5 289a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1403.5 259v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1413.5 319h0\"></path>\n<path d=\"M1558.5 319h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1413.5 319h0\"></path>\n<path d=\"M1467.5 319h0\"></path>\n<rect x=\"1413.5\" y=\"308\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1440.5\" y=\"323\">\"ID\"</text>\n</g>\n<path d=\"M1467.5 319h10\"></path>\n<path d=\"M1477.5 319h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1487.5 319h0\"></path>\n<path d=\"M1558.5 319h0\"></path>\n<rect x=\"1487.5\" y=\"308\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1523\" y=\"323\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1592.5 319a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1403.5 249 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1388.5\" y=\"263\" class=\"diagram-text\">1+</text>\n<path d=\"M 1602.5 249 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1609.5 257 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1622.5 259a10 10 0 0 0 10 -10v-199a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1642.5 40h0\"></path>\n<path d=\"M1925.5 40h0\"></path>\n<path d=\"M1642.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1662.5 20h243\"></path>\n</g>\n<path d=\"M1905.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1642.5 40h20\"></path>\n<g>\n<path d=\"M1662.5 40h0\"></path>\n<path d=\"M1905.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1662.5 40h0\"></path>\n<path d=\"M1793 40h0\"></path>\n<rect x=\"1662.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1727.75\" y=\"44\">\"COMPRESSION\"</text>\n</g>\n<path d=\"M1793 40h10\"></path>\n<g>\n<path d=\"M1803 40h0\"></path>\n<path d=\"M1905.5 40h0\"></path>\n<path d=\"M1803 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1823 40h0\"></path>\n<path d=\"M1877 40h8.5\"></path>\n<rect x=\"1823\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1850\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M1885.5 40h20\"></path>\n<path d=\"M1803 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1823 70h0\"></path>\n<path d=\"M1885.5 70h0\"></path>\n<rect x=\"1823\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1854.25\" y=\"74\">\"OFF\"</text>\n</g>\n<path d=\"M1885.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1905.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1925.5 40h0\"></path>\n<path d=\"M2212.5 40h0\"></path>\n<path d=\"M1925.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1945.5 20h247\"></path>\n</g>\n<path d=\"M2192.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1925.5 40h20\"></path>\n<g>\n<path d=\"M1945.5 40h0\"></path>\n<path d=\"M2192.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1945.5 40h0\"></path>\n<path d=\"M2101.5 40h0\"></path>\n<rect x=\"1945.5\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2023.5\" y=\"44\">\"CODE PAGE HINT\"</text>\n</g>\n<path d=\"M2101.5 40h10\"></path>\n<path d=\"M2111.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2121.5 40h0\"></path>\n<path d=\"M2192.5 40h0\"></path>\n<rect x=\"2121.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"2157\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2192.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M2212.5 40h10\"></path>\n<path d=\"M 2222.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "export.ts"
+    },
+    {
+      "name": "ExportDynpro",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"EXPORT DYNPRO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"869.5\" height=\"62\" viewBox=\"0 0 869.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"EXPORT DYNPRO\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<path d=\"M300.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<rect x=\"310.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M381.5 31h10\"></path>\n<path d=\"M391.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M401.5 31h0\"></path>\n<path d=\"M472.5 31h0\"></path>\n<rect x=\"401.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"437\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M472.5 31h10\"></path>\n<path d=\"M482.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492.5 31h0\"></path>\n<path d=\"M563.5 31h0\"></path>\n<rect x=\"492.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"528\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M563.5 31h10\"></path>\n<path d=\"M573.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M583.5 31h0\"></path>\n<path d=\"M654.5 31h0\"></path>\n<rect x=\"583.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"619\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M654.5 31h10\"></path>\n<path d=\"M664.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M674.5 31h0\"></path>\n<path d=\"M728.5 31h0\"></path>\n<rect x=\"674.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.5\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M728.5 31h10\"></path>\n<path d=\"M738.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M748.5 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<rect x=\"748.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"784\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M819.5 31h10\"></path>\n<path d=\"M 829.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "export_dynpro.ts"
+    },
+    {
+      "name": "Extract",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"EXTRACT\"'),Railroad.Optional(Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"402\" height=\"71\" viewBox=\"0 0 402 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M239.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"44\">\"EXTRACT\"</text>\n</g>\n<path d=\"M239.5 40h10\"></path>\n<g>\n<path d=\"M249.5 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<path d=\"M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M269.5 20h62.5\"></path>\n</g>\n<path d=\"M332 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M249.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269.5 40h0\"></path>\n<path d=\"M332 40h0\"></path>\n<rect x=\"269.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"300.75\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M332 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M352 40h10\"></path>\n<path d=\"M 362 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "extract.ts"
+    },
+    {
+      "name": "FetchNextCursor",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FETCH NEXT CURSOR\"'),Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'}),Railroad.Choice(0, Railroad.NonTerminal('SQLIntoStructure', {href: '#/expression/SQLIntoStructure'}),Railroad.NonTerminal('SQLIntoTable', {href: '#/expression/SQLIntoTable'}),Railroad.NonTerminal('SQLIntoList', {href: '#/expression/SQLIntoList'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PACKAGE SIZE\"'),Railroad.NonTerminal('SQLSourceSimple', {href: '#/expression/SQLSourceSimple'})))))).toString();",
+      "using": [
+        "expression/SQLIntoList",
+        "expression/SQLIntoStructure",
+        "expression/SQLIntoTable",
+        "expression/SQLSourceSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1094.5\" height=\"131\" viewBox=\"0 0 1094.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1044.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1044.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M324.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"44\">\"FETCH NEXT CURSOR\"</text>\n</g>\n<path d=\"M324.5 40h10\"></path>\n<path d=\"M334.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 40h0\"></path>\n<path d=\"M492 40h0\"></path>\n<rect x=\"344.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"418.25\" y=\"44\">SQLSourceSimple</text>\n</a>\n</g>\n<path d=\"M492 40h10\"></path>\n<g>\n<path d=\"M502 40h0\"></path>\n<path d=\"M698 40h0\"></path>\n<path d=\"M502 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 40h0\"></path>\n<path d=\"M678 40h0\"></path>\n<rect x=\"522\" y=\"29\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoStructure\"><text x=\"600\" y=\"44\">SQLIntoStructure</text>\n</a>\n</g>\n<path d=\"M678 40h20\"></path>\n<path d=\"M502 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 70h0\"></path>\n<path d=\"M644 70h34\"></path>\n<rect x=\"522\" y=\"59\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoTable\"><text x=\"583\" y=\"74\">SQLIntoTable</text>\n</a>\n</g>\n<path d=\"M678 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M502 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 100h0\"></path>\n<path d=\"M635.5 100h42.5\"></path>\n<rect x=\"522\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLIntoList\"><text x=\"578.75\" y=\"104\">SQLIntoList</text>\n</a>\n</g>\n<path d=\"M678 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M698 40h0\"></path>\n<path d=\"M1044.5 40h0\"></path>\n<path d=\"M698 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M718 20h306.5\"></path>\n</g>\n<path d=\"M1024.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M698 40h20\"></path>\n<g>\n<path d=\"M718 40h0\"></path>\n<path d=\"M1024.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M718 40h0\"></path>\n<path d=\"M857 40h0\"></path>\n<rect x=\"718\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"787.5\" y=\"44\">\"PACKAGE SIZE\"</text>\n</g>\n<path d=\"M857 40h10\"></path>\n<path d=\"M867 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M877 40h0\"></path>\n<path d=\"M1024.5 40h0\"></path>\n<rect x=\"877\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSourceSimple\"><text x=\"950.75\" y=\"44\">SQLSourceSimple</text>\n</a>\n</g>\n</g>\n<path d=\"M1024.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1044.5 40h10\"></path>\n<path d=\"M 1054.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "fetch_next_cursor.ts"
+    },
+    {
+      "name": "FieldGroup",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FIELD-GROUPS\"'),Railroad.OneOrMore(Railroad.NonTerminal('Field', {href: '#/expression/Field'}))))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"434.5\" height=\"71\" viewBox=\"0 0 434.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M384.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M384.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M282 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"35\">\"FIELD-GROUPS\"</text>\n</g>\n<path d=\"M282 31h10\"></path>\n<path d=\"M292 31h10\"></path>\n<g>\n<path d=\"M302 31h0\"></path>\n<path d=\"M384.5 31h0\"></path>\n<path d=\"M302 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M312 31h0\"></path>\n<path d=\"M374.5 31h0\"></path>\n<rect x=\"312\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"343.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M374.5 31h10\"></path>\n<path d=\"M312 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M312 51h62.5\"></path>\n</g>\n<path d=\"M374.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M384.5 31h10\"></path>\n<path d=\"M 394.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "field_group.ts"
+    },
+    {
+      "name": "FieldSymbol",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FIELD-SYMBOLS\"'),Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'}),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('Type', {href: '#/expression/Type'}),Railroad.NonTerminal('TypeTable', {href: '#/expression/TypeTable'}),Railroad.Sequence(Railroad.Terminal('\"STRUCTURE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Terminal('\"DEFAULT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/FieldSymbol",
+        "expression/Type",
+        "expression/TypeName",
+        "expression/TypeTable"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"891.5\" height=\"131\" viewBox=\"0 0 891.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M841.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M197.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"44\">\"FIELD-SYMBOLS\"</text>\n</g>\n<path d=\"M197.5 40h10\"></path>\n<path d=\"M207.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M217.5 40h0\"></path>\n<path d=\"M331 40h0\"></path>\n<rect x=\"217.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"274.25\" y=\"44\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M331 40h10\"></path>\n<g>\n<path d=\"M341 40h0\"></path>\n<path d=\"M841.5 40h0\"></path>\n<path d=\"M341 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M361 20h460.5\"></path>\n</g>\n<path d=\"M821.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M341 40h20\"></path>\n<g>\n<path d=\"M361 40h0\"></path>\n<path d=\"M821.5 40h0\"></path>\n<path d=\"M361 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M381 40h0\"></path>\n<path d=\"M435 40h366.5\"></path>\n<rect x=\"381\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Type\"><text x=\"408\" y=\"44\">Type</text>\n</a>\n</g>\n<path d=\"M801.5 40h20\"></path>\n<path d=\"M361 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M381 70h0\"></path>\n<path d=\"M477.5 70h324\"></path>\n<rect x=\"381\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTable\"><text x=\"429.25\" y=\"74\">TypeTable</text>\n</a>\n</g>\n<path d=\"M801.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M361 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M381 100h0\"></path>\n<path d=\"M801.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M381 100h0\"></path>\n<path d=\"M494.5 100h0\"></path>\n<rect x=\"381\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"437.75\" y=\"104\">\"STRUCTURE\"</text>\n</g>\n<path d=\"M494.5 100h10\"></path>\n<path d=\"M504.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M514.5 100h0\"></path>\n<path d=\"M602.5 100h0\"></path>\n<rect x=\"514.5\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"558.5\" y=\"104\">TypeName</text>\n</a>\n</g>\n<path d=\"M602.5 100h10\"></path>\n<path d=\"M612.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M622.5 100h0\"></path>\n<path d=\"M719 100h0\"></path>\n<rect x=\"622.5\" y=\"89\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"670.75\" y=\"104\">\"DEFAULT\"</text>\n</g>\n<path d=\"M719 100h10\"></path>\n<path d=\"M729 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M739 100h0\"></path>\n<path d=\"M801.5 100h0\"></path>\n<rect x=\"739\" y=\"89\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"770.25\" y=\"104\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M801.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M821.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M841.5 40h10\"></path>\n<path d=\"M 851.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "field_symbol.ts"
+    },
+    {
+      "name": "Fields",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})))).toString();",
+      "using": [
+        "expression/FieldSub"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"389\" height=\"62\" viewBox=\"0 0 389 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"FIELDS\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<rect x=\"251\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"295\" y=\"35\">FieldSub</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M339 31h10\"></path>\n<path d=\"M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "fields.ts"
+    },
+    {
+      "name": "Find",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FIND\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"FIRST OCCURRENCE OF\"'),Railroad.Terminal('\"ALL OCCURRENCES OF\"'))),Railroad.NonTerminal('FindType', {href: '#/expression/FindType'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"IN\"'),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"TABLE\"'),Railroad.Terminal('\"SECTION OFFSET\"'),Railroad.Sequence(Railroad.Terminal('\"SECTION LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"OF\"')))),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"IGNORING CASE\"'),Railroad.Terminal('\"RESPECTING CASE\"'),Railroad.Terminal('\"IN BYTE MODE\"'),Railroad.Terminal('\"IN CHARACTER MODE\"'),Railroad.Sequence(Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MATCH OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MATCH LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MATCH COUNT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MATCH LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"RESULTS\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SUBMATCHES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SUBMATCHES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SUBMATCHES\"'),Railroad.OneOrMore(Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))))).toString();",
+      "using": [
+        "expression/FindType",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1648.5\" height=\"530\" viewBox=\"0 0 1648.5 530\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1598.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"FIND\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M409.5 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h238.5\"></path>\n</g>\n<path d=\"M389.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M389.5 40h0\"></path>\n<path d=\"M151 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M171 40h0\"></path>\n<path d=\"M369.5 40h0\"></path>\n<rect x=\"171\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"270.25\" y=\"44\">\"FIRST OCCURRENCE OF\"</text>\n</g>\n<path d=\"M369.5 40h20\"></path>\n<path d=\"M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M171 70h0\"></path>\n<path d=\"M361 70h8.5\"></path>\n<rect x=\"171\" y=\"59\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266\" y=\"74\">\"ALL OCCURRENCES OF\"</text>\n</g>\n<path d=\"M369.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M389.5 40h20\"></path>\n</g>\n<path d=\"M409.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419.5 40h0\"></path>\n<path d=\"M507.5 40h0\"></path>\n<rect x=\"419.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FindType\"><text x=\"463.5\" y=\"44\">FindType</text>\n</a>\n</g>\n<path d=\"M507.5 40h10\"></path>\n<path d=\"M517.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M527.5 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<rect x=\"527.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"563\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M598.5 40h10\"></path>\n<path d=\"M608.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M618.5 40h0\"></path>\n<path d=\"M672.5 40h0\"></path>\n<rect x=\"618.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"645.5\" y=\"44\">\"IN\"</text>\n</g>\n<path d=\"M672.5 40h10\"></path>\n<path d=\"M682.5 40h10\"></path>\n<g>\n<path d=\"M692.5 40h0\"></path>\n<path d=\"M1174.5 40h0\"></path>\n<g>\n<path d=\"M692.5 40h0\"></path>\n<path d=\"M1093.5 40h0\"></path>\n<path d=\"M692.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M712.5 20h361\"></path>\n</g>\n<path d=\"M1073.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M692.5 40h20\"></path>\n<g>\n<path d=\"M712.5 40h0\"></path>\n<path d=\"M1073.5 40h0\"></path>\n<path d=\"M712.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M812 40h241.5\"></path>\n<rect x=\"732.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"772.25\" y=\"44\">\"TABLE\"</text>\n</g>\n<path d=\"M1053.5 40h20\"></path>\n<path d=\"M712.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M732.5 70h0\"></path>\n<path d=\"M888.5 70h165\"></path>\n<rect x=\"732.5\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"810.5\" y=\"74\">\"SECTION OFFSET\"</text>\n</g>\n<path d=\"M1053.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M712.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M732.5 100h0\"></path>\n<path d=\"M1053.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M732.5 100h0\"></path>\n<path d=\"M888.5 100h0\"></path>\n<rect x=\"732.5\" y=\"89\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"810.5\" y=\"104\">\"SECTION LENGTH\"</text>\n</g>\n<path d=\"M888.5 100h10\"></path>\n<path d=\"M898.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M908.5 100h0\"></path>\n<path d=\"M979.5 100h0\"></path>\n<rect x=\"908.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"944\" y=\"104\">Source</text>\n</a>\n</g>\n<path d=\"M979.5 100h10\"></path>\n<path d=\"M989.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M999.5 100h0\"></path>\n<path d=\"M1053.5 100h0\"></path>\n<rect x=\"999.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1026.5\" y=\"104\">\"OF\"</text>\n</g>\n</g>\n<path d=\"M1053.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1073.5 40h20\"></path>\n</g>\n<path d=\"M1093.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1103.5 40h0\"></path>\n<path d=\"M1174.5 40h0\"></path>\n<rect x=\"1103.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1139\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1174.5 40h10\"></path>\n<g>\n<path d=\"M1184.5 40h0\"></path>\n<path d=\"M1598.5 40h0\"></path>\n<path d=\"M1184.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1204.5 20h374\"></path>\n</g>\n<path d=\"M1578.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1184.5 40h20\"></path>\n<g>\n<path d=\"M1204.5 40h0\"></path>\n<path d=\"M1578.5 40h0\"></path>\n<path d=\"M1234.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 40h0\"></path>\n<path d=\"M1392 40h156.5\"></path>\n<rect x=\"1244.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1318.25\" y=\"44\">\"IGNORING CASE\"</text>\n</g>\n<path d=\"M1548.5 40h10\"></path>\n<path d=\"M1234.5 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 70h0\"></path>\n<path d=\"M1409 70h139.5\"></path>\n<rect x=\"1244.5\" y=\"59\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1326.75\" y=\"74\">\"RESPECTING CASE\"</text>\n</g>\n<path d=\"M1548.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1234.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 100h0\"></path>\n<path d=\"M1383.5 100h165\"></path>\n<rect x=\"1244.5\" y=\"89\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1314\" y=\"104\">\"IN BYTE MODE\"</text>\n</g>\n<path d=\"M1548.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1234.5 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 130h0\"></path>\n<path d=\"M1426 130h122.5\"></path>\n<rect x=\"1244.5\" y=\"119\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1335.25\" y=\"134\">\"IN CHARACTER MODE\"</text>\n</g>\n<path d=\"M1548.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M1234.5 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 160h0\"></path>\n<path d=\"M1389.5 160h159\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 160h0\"></path>\n<path d=\"M1298.5 160h0\"></path>\n<rect x=\"1244.5\" y=\"149\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1271.5\" y=\"164\">\"OF\"</text>\n</g>\n<path d=\"M1298.5 160h10\"></path>\n<path d=\"M1308.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1318.5 160h0\"></path>\n<path d=\"M1389.5 160h0\"></path>\n<rect x=\"1318.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1354\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M1234.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 190h0\"></path>\n<path d=\"M1406.5 190h142\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 190h0\"></path>\n<path d=\"M1315.5 190h0\"></path>\n<rect x=\"1244.5\" y=\"179\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1280\" y=\"194\">\"FROM\"</text>\n</g>\n<path d=\"M1315.5 190h10\"></path>\n<path d=\"M1325.5 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1335.5 190h0\"></path>\n<path d=\"M1406.5 190h0\"></path>\n<rect x=\"1335.5\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1371\" y=\"194\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M1234.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 220h0\"></path>\n<path d=\"M1389.5 220h159\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 220h0\"></path>\n<path d=\"M1298.5 220h0\"></path>\n<rect x=\"1244.5\" y=\"209\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1271.5\" y=\"224\">\"TO\"</text>\n</g>\n<path d=\"M1298.5 220h10\"></path>\n<path d=\"M1308.5 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1318.5 220h0\"></path>\n<path d=\"M1389.5 220h0\"></path>\n<rect x=\"1318.5\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1354\" y=\"224\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M1234.5 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 250h0\"></path>\n<path d=\"M1474.5 250h74\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 250h0\"></path>\n<path d=\"M1383.5 250h0\"></path>\n<rect x=\"1244.5\" y=\"239\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1314\" y=\"254\">\"MATCH OFFSET\"</text>\n</g>\n<path d=\"M1383.5 250h10\"></path>\n<path d=\"M1393.5 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1403.5 250h0\"></path>\n<path d=\"M1474.5 250h0\"></path>\n<rect x=\"1403.5\" y=\"239\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1439\" y=\"254\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M1234.5 40v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 280h0\"></path>\n<path d=\"M1457.5 280h91\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 280h0\"></path>\n<path d=\"M1366.5 280h0\"></path>\n<rect x=\"1244.5\" y=\"269\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1305.5\" y=\"284\">\"MATCH LINE\"</text>\n</g>\n<path d=\"M1366.5 280h10\"></path>\n<path d=\"M1376.5 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1386.5 280h0\"></path>\n<path d=\"M1457.5 280h0\"></path>\n<rect x=\"1386.5\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1422\" y=\"284\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M1234.5 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 310h0\"></path>\n<path d=\"M1466 310h82.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 310h0\"></path>\n<path d=\"M1375 310h0\"></path>\n<rect x=\"1244.5\" y=\"299\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1309.75\" y=\"314\">\"MATCH COUNT\"</text>\n</g>\n<path d=\"M1375 310h10\"></path>\n<path d=\"M1385 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1395 310h0\"></path>\n<path d=\"M1466 310h0\"></path>\n<rect x=\"1395\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1430.5\" y=\"314\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 310a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M1234.5 40v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 340h0\"></path>\n<path d=\"M1474.5 340h74\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 340h0\"></path>\n<path d=\"M1383.5 340h0\"></path>\n<rect x=\"1244.5\" y=\"329\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1314\" y=\"344\">\"MATCH LENGTH\"</text>\n</g>\n<path d=\"M1383.5 340h10\"></path>\n<path d=\"M1393.5 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1403.5 340h0\"></path>\n<path d=\"M1474.5 340h0\"></path>\n<rect x=\"1403.5\" y=\"329\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1439\" y=\"344\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 340a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M1234.5 40v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 370h0\"></path>\n<path d=\"M1423.5 370h125\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 370h0\"></path>\n<path d=\"M1332.5 370h0\"></path>\n<rect x=\"1244.5\" y=\"359\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1288.5\" y=\"374\">\"LENGTH\"</text>\n</g>\n<path d=\"M1332.5 370h10\"></path>\n<path d=\"M1342.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1352.5 370h0\"></path>\n<path d=\"M1423.5 370h0\"></path>\n<rect x=\"1352.5\" y=\"359\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1388\" y=\"374\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 370a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M1234.5 40v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 400h0\"></path>\n<path d=\"M1432 400h116.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 400h0\"></path>\n<path d=\"M1341 400h0\"></path>\n<rect x=\"1244.5\" y=\"389\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1292.75\" y=\"404\">\"RESULTS\"</text>\n</g>\n<path d=\"M1341 400h10\"></path>\n<path d=\"M1351 400h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1361 400h0\"></path>\n<path d=\"M1432 400h0\"></path>\n<rect x=\"1361\" y=\"389\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1396.5\" y=\"404\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 400a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M1234.5 40v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 430h0\"></path>\n<path d=\"M1457.5 430h91\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 430h0\"></path>\n<path d=\"M1366.5 430h0\"></path>\n<rect x=\"1244.5\" y=\"419\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1305.5\" y=\"434\">\"SUBMATCHES\"</text>\n</g>\n<path d=\"M1366.5 430h10\"></path>\n<path d=\"M1376.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1386.5 430h0\"></path>\n<path d=\"M1457.5 430h0\"></path>\n<rect x=\"1386.5\" y=\"419\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1422\" y=\"434\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 430a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M1234.5 40v410a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 460h0\"></path>\n<path d=\"M1548.5 460h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 460h0\"></path>\n<path d=\"M1366.5 460h0\"></path>\n<rect x=\"1244.5\" y=\"449\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1305.5\" y=\"464\">\"SUBMATCHES\"</text>\n</g>\n<path d=\"M1366.5 460h10\"></path>\n<path d=\"M1376.5 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1386.5 460h0\"></path>\n<path d=\"M1457.5 460h0\"></path>\n<rect x=\"1386.5\" y=\"449\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1422\" y=\"464\">Target</text>\n</a>\n</g>\n<path d=\"M1457.5 460h10\"></path>\n<path d=\"M1467.5 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1477.5 460h0\"></path>\n<path d=\"M1548.5 460h0\"></path>\n<rect x=\"1477.5\" y=\"449\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1513\" y=\"464\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1548.5 460a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M1234.5 40v440a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1244.5 490h0\"></path>\n<path d=\"M1477.5 490h71\"></path>\n<g class=\"terminal\">\n<path d=\"M1244.5 490h0\"></path>\n<path d=\"M1366.5 490h0\"></path>\n<rect x=\"1244.5\" y=\"479\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1305.5\" y=\"494\">\"SUBMATCHES\"</text>\n</g>\n<path d=\"M1366.5 490h10\"></path>\n<path d=\"M1376.5 490h10\"></path>\n<g>\n<path d=\"M1386.5 490h0\"></path>\n<path d=\"M1477.5 490h0\"></path>\n<path d=\"M1386.5 490h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1396.5 490h0\"></path>\n<path d=\"M1467.5 490h0\"></path>\n<rect x=\"1396.5\" y=\"479\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1432\" y=\"494\">Target</text>\n</a>\n</g>\n<path d=\"M1467.5 490h10\"></path>\n<path d=\"M1396.5 490a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1396.5 510h71\"></path>\n</g>\n<path d=\"M1467.5 510a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1548.5 490a10 10 0 0 0 10 -10v-440\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1234.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1219.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1558.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1565.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1578.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1598.5 40h10\"></path>\n<path d=\"M 1608.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "find.ts"
+    },
+    {
+      "name": "Form",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FORM\"'),Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.Choice(0, Railroad.Terminal('\"IMPLEMENTATION\"'),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('FormTables', {href: '#/expression/FormTables'})),Railroad.Optional(Railroad.NonTerminal('FormUsing', {href: '#/expression/FormUsing'})),Railroad.Optional(Railroad.NonTerminal('FormChanging', {href: '#/expression/FormChanging'})),Railroad.Optional(Railroad.NonTerminal('FormRaising', {href: '#/expression/FormRaising'})))))).toString();",
+      "using": [
+        "expression/FormChanging",
+        "expression/FormName",
+        "expression/FormRaising",
+        "expression/FormTables",
+        "expression/FormUsing"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"926\" height=\"101\" viewBox=\"0 0 926 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M876 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"FORM\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M229 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"185\" y=\"35\">FormName</text>\n</a>\n</g>\n<path d=\"M229 31h10\"></path>\n<g>\n<path d=\"M239 31h0\"></path>\n<path d=\"M876 31h0\"></path>\n<path d=\"M239 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M259 31h0\"></path>\n<path d=\"M415 31h441\"></path>\n<rect x=\"259\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"337\" y=\"35\">\"IMPLEMENTATION\"</text>\n</g>\n<path d=\"M856 31h20\"></path>\n<path d=\"M239 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M259 70h0\"></path>\n<path d=\"M856 70h0\"></path>\n<g>\n<path d=\"M259 70h0\"></path>\n<path d=\"M404 70h0\"></path>\n<path d=\"M259 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M279 50h105\"></path>\n</g>\n<path d=\"M384 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M259 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M279 70h0\"></path>\n<path d=\"M384 70h0\"></path>\n<rect x=\"279\" y=\"59\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormTables\"><text x=\"331.5\" y=\"74\">FormTables</text>\n</a>\n</g>\n<path d=\"M384 70h20\"></path>\n</g>\n<g>\n<path d=\"M404 70h0\"></path>\n<path d=\"M540.5 70h0\"></path>\n<path d=\"M404 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M424 50h96.5\"></path>\n</g>\n<path d=\"M520.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M404 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M424 70h0\"></path>\n<path d=\"M520.5 70h0\"></path>\n<rect x=\"424\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormUsing\"><text x=\"472.25\" y=\"74\">FormUsing</text>\n</a>\n</g>\n<path d=\"M520.5 70h20\"></path>\n</g>\n<g>\n<path d=\"M540.5 70h0\"></path>\n<path d=\"M702.5 70h0\"></path>\n<path d=\"M540.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M560.5 50h122\"></path>\n</g>\n<path d=\"M682.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M540.5 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M560.5 70h0\"></path>\n<path d=\"M682.5 70h0\"></path>\n<rect x=\"560.5\" y=\"59\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormChanging\"><text x=\"621.5\" y=\"74\">FormChanging</text>\n</a>\n</g>\n<path d=\"M682.5 70h20\"></path>\n</g>\n<g>\n<path d=\"M702.5 70h0\"></path>\n<path d=\"M856 70h0\"></path>\n<path d=\"M702.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M722.5 50h113.5\"></path>\n</g>\n<path d=\"M836 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M702.5 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M722.5 70h0\"></path>\n<path d=\"M836 70h0\"></path>\n<rect x=\"722.5\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormRaising\"><text x=\"779.25\" y=\"74\">FormRaising</text>\n</a>\n</g>\n<path d=\"M836 70h20\"></path>\n</g>\n</g>\n<path d=\"M856 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M876 31h10\"></path>\n<path d=\"M 886 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Form"
+      ],
+      "filename": "form.ts"
+    },
+    {
+      "name": "FormDefinition",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FORM\"'),Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.Terminal('\"DEFINITION\"'),Railroad.Optional(Railroad.NonTerminal('FormTables', {href: '#/expression/FormTables'})),Railroad.Optional(Railroad.NonTerminal('FormUsing', {href: '#/expression/FormUsing'})),Railroad.Optional(Railroad.NonTerminal('FormChanging', {href: '#/expression/FormChanging'})),Railroad.Optional(Railroad.NonTerminal('FormRaising', {href: '#/expression/FormRaising'})))).toString();",
+      "using": [
+        "expression/FormChanging",
+        "expression/FormName",
+        "expression/FormRaising",
+        "expression/FormTables",
+        "expression/FormUsing"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1028\" height=\"71\" viewBox=\"0 0 1028 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M978 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"FORM\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M229 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"185\" y=\"44\">FormName</text>\n</a>\n</g>\n<path d=\"M229 40h10\"></path>\n<path d=\"M239 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M249 40h0\"></path>\n<path d=\"M371 40h0\"></path>\n<rect x=\"249\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"310\" y=\"44\">\"DEFINITION\"</text>\n</g>\n<path d=\"M371 40h10\"></path>\n<g>\n<path d=\"M381 40h0\"></path>\n<path d=\"M526 40h0\"></path>\n<path d=\"M381 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M401 20h105\"></path>\n</g>\n<path d=\"M506 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M381 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M401 40h0\"></path>\n<path d=\"M506 40h0\"></path>\n<rect x=\"401\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormTables\"><text x=\"453.5\" y=\"44\">FormTables</text>\n</a>\n</g>\n<path d=\"M506 40h20\"></path>\n</g>\n<g>\n<path d=\"M526 40h0\"></path>\n<path d=\"M662.5 40h0\"></path>\n<path d=\"M526 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M546 20h96.5\"></path>\n</g>\n<path d=\"M642.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M526 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M546 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<rect x=\"546\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormUsing\"><text x=\"594.25\" y=\"44\">FormUsing</text>\n</a>\n</g>\n<path d=\"M642.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M662.5 40h0\"></path>\n<path d=\"M824.5 40h0\"></path>\n<path d=\"M662.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M682.5 20h122\"></path>\n</g>\n<path d=\"M804.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M662.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M682.5 40h0\"></path>\n<path d=\"M804.5 40h0\"></path>\n<rect x=\"682.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormChanging\"><text x=\"743.5\" y=\"44\">FormChanging</text>\n</a>\n</g>\n<path d=\"M804.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M824.5 40h0\"></path>\n<path d=\"M978 40h0\"></path>\n<path d=\"M824.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M844.5 20h113.5\"></path>\n</g>\n<path d=\"M958 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M824.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M844.5 40h0\"></path>\n<path d=\"M958 40h0\"></path>\n<rect x=\"844.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormRaising\"><text x=\"901.25\" y=\"44\">FormRaising</text>\n</a>\n</g>\n<path d=\"M958 40h20\"></path>\n</g>\n</g>\n<path d=\"M978 40h10\"></path>\n<path d=\"M 988 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "form_definition.ts"
+    },
+    {
+      "name": "Format",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FORMAT\"'),Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"RESET\"'),Railroad.Sequence(Railroad.Terminal('\"INTENSIFIED\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')))),Railroad.Sequence(Railroad.Terminal('\"INVERSE\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')))),Railroad.Sequence(Railroad.Terminal('\"HOTSPOT\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')))),Railroad.Sequence(Railroad.Terminal('\"FRAMES\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))),Railroad.Sequence(Railroad.Terminal('\"INPUT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))),Railroad.NonTerminal('Color', {href: '#/expression/Color'}))))).toString();",
+      "using": [
+        "expression/Color",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"728\" height=\"569\" viewBox=\"0 0 728 569\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"FORMAT\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g>\n<path d=\"M251 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<path d=\"M281 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M291 31h0\"></path>\n<path d=\"M370.5 31h277.5\"></path>\n<rect x=\"291\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.75\" y=\"35\">\"RESET\"</text>\n</g>\n<path d=\"M648 31h10\"></path>\n<path d=\"M281 31v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M291 70h0\"></path>\n<path d=\"M648 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M291 70h0\"></path>\n<path d=\"M421.5 70h0\"></path>\n<rect x=\"291\" y=\"59\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"356.25\" y=\"74\">\"INTENSIFIED\"</text>\n</g>\n<path d=\"M421.5 70h10\"></path>\n<g>\n<path d=\"M431.5 70h0\"></path>\n<path d=\"M648 70h0\"></path>\n<path d=\"M431.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M451.5 50h176.5\"></path>\n</g>\n<path d=\"M628 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M431.5 70h20\"></path>\n<g>\n<path d=\"M451.5 70h0\"></path>\n<path d=\"M628 70h0\"></path>\n<path d=\"M451.5 70h20\"></path>\n<g>\n<path d=\"M471.5 70h0\"></path>\n<path d=\"M608 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M471.5 70h0\"></path>\n<path d=\"M517 70h0\"></path>\n<rect x=\"471.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494.25\" y=\"74\">\"=\"</text>\n</g>\n<path d=\"M517 70h10\"></path>\n<path d=\"M527 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M537 70h0\"></path>\n<path d=\"M608 70h0\"></path>\n<rect x=\"537\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"572.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M608 70h20\"></path>\n<path d=\"M451.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M471.5 100h0\"></path>\n<path d=\"M525.5 100h82.5\"></path>\n<rect x=\"471.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.5\" y=\"104\">\"ON\"</text>\n</g>\n<path d=\"M608 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M451.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M471.5 130h0\"></path>\n<path d=\"M534 130h74\"></path>\n<rect x=\"471.5\" y=\"119\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502.75\" y=\"134\">\"OFF\"</text>\n</g>\n<path d=\"M608 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M628 70h20\"></path>\n</g>\n</g>\n<path d=\"M648 70a10 10 0 0 0 10 -10v-29\"></path>\n<path d=\"M281 31v128a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M291 169h0\"></path>\n<path d=\"M614 169h34\"></path>\n<g class=\"terminal\">\n<path d=\"M291 169h0\"></path>\n<path d=\"M387.5 169h0\"></path>\n<rect x=\"291\" y=\"158\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"339.25\" y=\"173\">\"INVERSE\"</text>\n</g>\n<path d=\"M387.5 169h10\"></path>\n<g>\n<path d=\"M397.5 169h0\"></path>\n<path d=\"M614 169h0\"></path>\n<path d=\"M397.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M417.5 149h176.5\"></path>\n</g>\n<path d=\"M594 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M397.5 169h20\"></path>\n<g>\n<path d=\"M417.5 169h0\"></path>\n<path d=\"M594 169h0\"></path>\n<path d=\"M417.5 169h20\"></path>\n<g>\n<path d=\"M437.5 169h0\"></path>\n<path d=\"M574 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 169h0\"></path>\n<path d=\"M483 169h0\"></path>\n<rect x=\"437.5\" y=\"158\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460.25\" y=\"173\">\"=\"</text>\n</g>\n<path d=\"M483 169h10\"></path>\n<path d=\"M493 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M503 169h0\"></path>\n<path d=\"M574 169h0\"></path>\n<rect x=\"503\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"538.5\" y=\"173\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M574 169h20\"></path>\n<path d=\"M417.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 199h0\"></path>\n<path d=\"M491.5 199h82.5\"></path>\n<rect x=\"437.5\" y=\"188\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464.5\" y=\"203\">\"ON\"</text>\n</g>\n<path d=\"M574 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 169a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 229h0\"></path>\n<path d=\"M500 229h74\"></path>\n<rect x=\"437.5\" y=\"218\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"468.75\" y=\"233\">\"OFF\"</text>\n</g>\n<path d=\"M574 229a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M594 169h20\"></path>\n</g>\n</g>\n<path d=\"M648 169a10 10 0 0 0 10 -10v-128\"></path>\n<path d=\"M281 31v227a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M291 268h0\"></path>\n<path d=\"M614 268h34\"></path>\n<g class=\"terminal\">\n<path d=\"M291 268h0\"></path>\n<path d=\"M387.5 268h0\"></path>\n<rect x=\"291\" y=\"257\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"339.25\" y=\"272\">\"HOTSPOT\"</text>\n</g>\n<path d=\"M387.5 268h10\"></path>\n<g>\n<path d=\"M397.5 268h0\"></path>\n<path d=\"M614 268h0\"></path>\n<path d=\"M397.5 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M417.5 248h176.5\"></path>\n</g>\n<path d=\"M594 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M397.5 268h20\"></path>\n<g>\n<path d=\"M417.5 268h0\"></path>\n<path d=\"M594 268h0\"></path>\n<path d=\"M417.5 268h20\"></path>\n<g>\n<path d=\"M437.5 268h0\"></path>\n<path d=\"M574 268h0\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 268h0\"></path>\n<path d=\"M483 268h0\"></path>\n<rect x=\"437.5\" y=\"257\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460.25\" y=\"272\">\"=\"</text>\n</g>\n<path d=\"M483 268h10\"></path>\n<path d=\"M493 268h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M503 268h0\"></path>\n<path d=\"M574 268h0\"></path>\n<rect x=\"503\" y=\"257\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"538.5\" y=\"272\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M574 268h20\"></path>\n<path d=\"M417.5 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 298h0\"></path>\n<path d=\"M491.5 298h82.5\"></path>\n<rect x=\"437.5\" y=\"287\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464.5\" y=\"302\">\"ON\"</text>\n</g>\n<path d=\"M574 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 268a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 328h0\"></path>\n<path d=\"M500 328h74\"></path>\n<rect x=\"437.5\" y=\"317\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"468.75\" y=\"332\">\"OFF\"</text>\n</g>\n<path d=\"M574 328a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M594 268h20\"></path>\n</g>\n</g>\n<path d=\"M648 268a10 10 0 0 0 10 -10v-227\"></path>\n<path d=\"M281 31v317a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M291 358h0\"></path>\n<path d=\"M565.5 358h82.5\"></path>\n<g class=\"terminal\">\n<path d=\"M291 358h0\"></path>\n<path d=\"M379 358h0\"></path>\n<rect x=\"291\" y=\"347\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"335\" y=\"362\">\"FRAMES\"</text>\n</g>\n<path d=\"M379 358h10\"></path>\n<g>\n<path d=\"M389 358h0\"></path>\n<path d=\"M565.5 358h0\"></path>\n<path d=\"M389 358h20\"></path>\n<g>\n<path d=\"M409 358h0\"></path>\n<path d=\"M545.5 358h0\"></path>\n<g class=\"terminal\">\n<path d=\"M409 358h0\"></path>\n<path d=\"M454.5 358h0\"></path>\n<rect x=\"409\" y=\"347\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"431.75\" y=\"362\">\"=\"</text>\n</g>\n<path d=\"M454.5 358h10\"></path>\n<path d=\"M464.5 358h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M474.5 358h0\"></path>\n<path d=\"M545.5 358h0\"></path>\n<rect x=\"474.5\" y=\"347\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"510\" y=\"362\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M545.5 358h20\"></path>\n<path d=\"M389 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M409 388h0\"></path>\n<path d=\"M463 388h82.5\"></path>\n<rect x=\"409\" y=\"377\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"436\" y=\"392\">\"ON\"</text>\n</g>\n<path d=\"M545.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M389 358a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M409 418h0\"></path>\n<path d=\"M471.5 418h74\"></path>\n<rect x=\"409\" y=\"407\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"440.25\" y=\"422\">\"OFF\"</text>\n</g>\n<path d=\"M545.5 418a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M648 358a10 10 0 0 0 10 -10v-317\"></path>\n<path d=\"M281 31v407a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M291 448h0\"></path>\n<path d=\"M557 448h91\"></path>\n<g class=\"terminal\">\n<path d=\"M291 448h0\"></path>\n<path d=\"M370.5 448h0\"></path>\n<rect x=\"291\" y=\"437\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.75\" y=\"452\">\"INPUT\"</text>\n</g>\n<path d=\"M370.5 448h10\"></path>\n<g>\n<path d=\"M380.5 448h0\"></path>\n<path d=\"M557 448h0\"></path>\n<path d=\"M380.5 448h20\"></path>\n<g>\n<path d=\"M400.5 448h0\"></path>\n<path d=\"M537 448h0\"></path>\n<g class=\"terminal\">\n<path d=\"M400.5 448h0\"></path>\n<path d=\"M446 448h0\"></path>\n<rect x=\"400.5\" y=\"437\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"423.25\" y=\"452\">\"=\"</text>\n</g>\n<path d=\"M446 448h10\"></path>\n<path d=\"M456 448h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M466 448h0\"></path>\n<path d=\"M537 448h0\"></path>\n<rect x=\"466\" y=\"437\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"501.5\" y=\"452\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M537 448h20\"></path>\n<path d=\"M380.5 448a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M400.5 478h0\"></path>\n<path d=\"M454.5 478h82.5\"></path>\n<rect x=\"400.5\" y=\"467\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"427.5\" y=\"482\">\"ON\"</text>\n</g>\n<path d=\"M537 478a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M380.5 448a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M400.5 508h0\"></path>\n<path d=\"M463 508h74\"></path>\n<rect x=\"400.5\" y=\"497\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"431.75\" y=\"512\">\"OFF\"</text>\n</g>\n<path d=\"M537 508a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M648 448a10 10 0 0 0 10 -10v-407\"></path>\n<path d=\"M281 31v497a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291 538h0\"></path>\n<path d=\"M353.5 538h294.5\"></path>\n<rect x=\"291\" y=\"527\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Color\"><text x=\"322.25\" y=\"542\">Color</text>\n</a>\n</g>\n<path d=\"M648 538a10 10 0 0 0 10 -10v-497\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 281 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"266\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 658 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 665 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M678 31h10\"></path>\n<path d=\"M 688 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "format.ts"
+    },
+    {
+      "name": "Free",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FREE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"262\" height=\"62\" viewBox=\"0 0 262 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"FREE\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<path d=\"M131 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 31h0\"></path>\n<path d=\"M212 31h0\"></path>\n<rect x=\"141\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"176.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M212 31h10\"></path>\n<path d=\"M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "free.ts"
+    },
+    {
+      "name": "FreeMemory",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FREE MEMORY\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"518.5\" height=\"71\" viewBox=\"0 0 518.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M468.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M468.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"44\">\"FREE MEMORY\"</text>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<g>\n<path d=\"M283.5 40h0\"></path>\n<path d=\"M468.5 40h0\"></path>\n<path d=\"M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M303.5 20h145\"></path>\n</g>\n<path d=\"M448.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M283.5 40h20\"></path>\n<g>\n<path d=\"M303.5 40h0\"></path>\n<path d=\"M448.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 40h0\"></path>\n<path d=\"M357.5 40h0\"></path>\n<rect x=\"303.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.5\" y=\"44\">\"ID\"</text>\n</g>\n<path d=\"M357.5 40h10\"></path>\n<path d=\"M367.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M377.5 40h0\"></path>\n<path d=\"M448.5 40h0\"></path>\n<rect x=\"377.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"413\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M448.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M468.5 40h10\"></path>\n<path d=\"M 478.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "free_memory.ts"
+    },
+    {
+      "name": "FreeObject",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"FREE OBJECT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Terminal('\"NO FLUSH\"'))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"569.5\" height=\"71\" viewBox=\"0 0 569.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"44\">\"FREE OBJECT\"</text>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<path d=\"M283.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 40h0\"></path>\n<path d=\"M364.5 40h0\"></path>\n<rect x=\"293.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"329\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M364.5 40h10\"></path>\n<g>\n<path d=\"M374.5 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<path d=\"M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M394.5 20h105\"></path>\n</g>\n<path d=\"M499.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M374.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M499.5 40h0\"></path>\n<rect x=\"394.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"447\" y=\"44\">\"NO FLUSH\"</text>\n</g>\n<path d=\"M499.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M519.5 40h10\"></path>\n<path d=\"M 529.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "free_object.ts"
+    },
+    {
+      "name": "FunctionModule",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FUNCTION\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"287.5\" height=\"62\" viewBox=\"0 0 287.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M237.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"FUNCTION\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M237.5 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"206.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M237.5 31h10\"></path>\n<path d=\"M 247.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/FunctionModule"
+      ],
+      "filename": "function_module.ts"
+    },
+    {
+      "name": "FunctionPool",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"FUNCTION-POOL\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('MessageClass', {href: '#/expression/MessageClass'})),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Terminal('\"NO STANDARD PAGE HEADING\"'))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Integer",
+        "expression/MessageClass"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"714\" height=\"131\" viewBox=\"0 0 714 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M664 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M197.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"123.75\" y=\"44\">\"FUNCTION-POOL\"</text>\n</g>\n<path d=\"M197.5 40h10\"></path>\n<path d=\"M207.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M217.5 40h0\"></path>\n<path d=\"M280 40h0\"></path>\n<rect x=\"217.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"248.75\" y=\"44\">Field</text>\n</a>\n</g>\n<path d=\"M280 40h10\"></path>\n<g>\n<path d=\"M290 40h0\"></path>\n<path d=\"M664 40h0\"></path>\n<path d=\"M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M310 20h334\"></path>\n</g>\n<path d=\"M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M290 40h20\"></path>\n<g>\n<path d=\"M310 40h0\"></path>\n<path d=\"M644 40h0\"></path>\n<path d=\"M340 40h10\"></path>\n<g>\n<path d=\"M350 40h0\"></path>\n<path d=\"M614 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M350 40h0\"></path>\n<path d=\"M472 40h0\"></path>\n<rect x=\"350\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"411\" y=\"44\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M472 40h10\"></path>\n<path d=\"M482 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492 40h0\"></path>\n<path d=\"M614 40h0\"></path>\n<rect x=\"492\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageClass\"><text x=\"553\" y=\"44\">MessageClass</text>\n</a>\n</g>\n</g>\n<path d=\"M614 40h10\"></path>\n<path d=\"M340 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M350 70h0\"></path>\n<path d=\"M563 70h51\"></path>\n<g class=\"terminal\">\n<path d=\"M350 70h0\"></path>\n<path d=\"M463.5 70h0\"></path>\n<rect x=\"350\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.75\" y=\"74\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M463.5 70h10\"></path>\n<path d=\"M473.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M483.5 70h0\"></path>\n<path d=\"M563 70h0\"></path>\n<rect x=\"483.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"523.25\" y=\"74\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M614 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M340 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M350 100h0\"></path>\n<path d=\"M591 100h23\"></path>\n<rect x=\"350\" y=\"89\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"470.5\" y=\"104\">\"NO STANDARD PAGE HEADING\"</text>\n</g>\n<path d=\"M614 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 340 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"325\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 624 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 631 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M644 40h20\"></path>\n</g>\n</g>\n<path d=\"M664 40h10\"></path>\n<path d=\"M 674 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "function_pool.ts"
+    },
+    {
+      "name": "GenerateDynpro",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GENERATE DYNPRO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"WORD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1346\" height=\"92\" viewBox=\"0 0 1346 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1296 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M1296 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"GENERATE DYNPRO\"</text>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<path d=\"M317.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 31h0\"></path>\n<path d=\"M398.5 31h0\"></path>\n<rect x=\"327.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 31h10\"></path>\n<path d=\"M408.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M418.5 31h0\"></path>\n<path d=\"M489.5 31h0\"></path>\n<rect x=\"418.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"454\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M489.5 31h10\"></path>\n<path d=\"M499.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M509.5 31h0\"></path>\n<path d=\"M580.5 31h0\"></path>\n<rect x=\"509.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"545\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M580.5 31h10\"></path>\n<path d=\"M590.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M600.5 31h0\"></path>\n<path d=\"M671.5 31h0\"></path>\n<rect x=\"600.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"636\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M671.5 31h10\"></path>\n<path d=\"M681.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M691.5 31h0\"></path>\n<path d=\"M745.5 31h0\"></path>\n<rect x=\"691.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"718.5\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M745.5 31h10\"></path>\n<path d=\"M755.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M765.5 31h0\"></path>\n<path d=\"M836.5 31h0\"></path>\n<rect x=\"765.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"801\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M836.5 31h10\"></path>\n<path d=\"M846.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M856.5 31h0\"></path>\n<path d=\"M953 31h0\"></path>\n<rect x=\"856.5\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"904.75\" y=\"35\">\"MESSAGE\"</text>\n</g>\n<path d=\"M953 31h10\"></path>\n<path d=\"M963 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M973 31h0\"></path>\n<path d=\"M1044 31h0\"></path>\n<rect x=\"973\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1008.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M1044 31h10\"></path>\n<path d=\"M1054 31h10\"></path>\n<g>\n<path d=\"M1064 31h0\"></path>\n<path d=\"M1296 31h0\"></path>\n<path d=\"M1094 31h10\"></path>\n<g>\n<path d=\"M1104 31h0\"></path>\n<path d=\"M1266 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1104 31h0\"></path>\n<path d=\"M1175 31h0\"></path>\n<rect x=\"1104\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1139.5\" y=\"35\">\"LINE\"</text>\n</g>\n<path d=\"M1175 31h10\"></path>\n<path d=\"M1185 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1195 31h0\"></path>\n<path d=\"M1266 31h0\"></path>\n<rect x=\"1195\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1230.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1266 31h10\"></path>\n<path d=\"M1094 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1104 61h0\"></path>\n<path d=\"M1266 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1104 61h0\"></path>\n<path d=\"M1175 61h0\"></path>\n<rect x=\"1104\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1139.5\" y=\"65\">\"WORD\"</text>\n</g>\n<path d=\"M1175 61h10\"></path>\n<path d=\"M1185 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1195 61h0\"></path>\n<path d=\"M1266 61h0\"></path>\n<rect x=\"1195\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1230.5\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1266 61a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1094 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1079\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 1276 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1283 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M1296 31h10\"></path>\n<path d=\"M 1306 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "generate_dynpro.ts"
+    },
+    {
+      "name": "GenerateReport",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GENERATE REPORT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"WITHOUT SELECTION-SCREEN\"'),Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"TRACE-FILE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"WORD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Terminal('\"WITH PRECOMPILED HEADERS\"'),Railroad.Terminal('\"WITH TEST CODE\"'),Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SHORTDUMP-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"DIRECTORY ENTRY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"824\" height=\"401\" viewBox=\"0 0 824 401\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M774 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M774 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"GENERATE REPORT\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M398.5 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 40h10\"></path>\n<g>\n<path d=\"M408.5 40h0\"></path>\n<path d=\"M774 40h0\"></path>\n<path d=\"M408.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M428.5 20h325.5\"></path>\n</g>\n<path d=\"M754 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M408.5 40h20\"></path>\n<g>\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M754 40h0\"></path>\n<path d=\"M458.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 40h0\"></path>\n<path d=\"M709.5 40h14.5\"></path>\n<rect x=\"468.5\" y=\"29\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"589\" y=\"44\">\"WITHOUT SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M724 40h10\"></path>\n<path d=\"M458.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 70h0\"></path>\n<path d=\"M656 70h68\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 70h0\"></path>\n<path d=\"M565 70h0\"></path>\n<rect x=\"468.5\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"74\">\"MESSAGE\"</text>\n</g>\n<path d=\"M565 70h10\"></path>\n<path d=\"M575 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M585 70h0\"></path>\n<path d=\"M656 70h0\"></path>\n<rect x=\"585\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"620.5\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M458.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 100h0\"></path>\n<path d=\"M656 100h68\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 100h0\"></path>\n<path d=\"M565 100h0\"></path>\n<rect x=\"468.5\" y=\"89\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"104\">\"INCLUDE\"</text>\n</g>\n<path d=\"M565 100h10\"></path>\n<path d=\"M575 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M585 100h0\"></path>\n<path d=\"M656 100h0\"></path>\n<rect x=\"585\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"620.5\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M458.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 130h0\"></path>\n<path d=\"M681.5 130h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 130h0\"></path>\n<path d=\"M590.5 130h0\"></path>\n<rect x=\"468.5\" y=\"119\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"529.5\" y=\"134\">\"TRACE-FILE\"</text>\n</g>\n<path d=\"M590.5 130h10\"></path>\n<path d=\"M600.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M610.5 130h0\"></path>\n<path d=\"M681.5 130h0\"></path>\n<rect x=\"610.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"646\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M458.5 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 160h0\"></path>\n<path d=\"M630.5 160h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 160h0\"></path>\n<path d=\"M539.5 160h0\"></path>\n<rect x=\"468.5\" y=\"149\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"504\" y=\"164\">\"LINE\"</text>\n</g>\n<path d=\"M539.5 160h10\"></path>\n<path d=\"M549.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559.5 160h0\"></path>\n<path d=\"M630.5 160h0\"></path>\n<rect x=\"559.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"595\" y=\"164\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M458.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 190h0\"></path>\n<path d=\"M630.5 190h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 190h0\"></path>\n<path d=\"M539.5 190h0\"></path>\n<rect x=\"468.5\" y=\"179\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"504\" y=\"194\">\"WORD\"</text>\n</g>\n<path d=\"M539.5 190h10\"></path>\n<path d=\"M549.5 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559.5 190h0\"></path>\n<path d=\"M630.5 190h0\"></path>\n<rect x=\"559.5\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"595\" y=\"194\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M458.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 220h0\"></path>\n<path d=\"M647.5 220h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 220h0\"></path>\n<path d=\"M556.5 220h0\"></path>\n<rect x=\"468.5\" y=\"209\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"512.5\" y=\"224\">\"OFFSET\"</text>\n</g>\n<path d=\"M556.5 220h10\"></path>\n<path d=\"M566.5 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 220h0\"></path>\n<path d=\"M647.5 220h0\"></path>\n<rect x=\"576.5\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"612\" y=\"224\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M458.5 40v200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 250h0\"></path>\n<path d=\"M709.5 250h14.5\"></path>\n<rect x=\"468.5\" y=\"239\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"589\" y=\"254\">\"WITH PRECOMPILED HEADERS\"</text>\n</g>\n<path d=\"M724 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M458.5 40v230a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 280h0\"></path>\n<path d=\"M624.5 280h99.5\"></path>\n<rect x=\"468.5\" y=\"269\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"546.5\" y=\"284\">\"WITH TEST CODE\"</text>\n</g>\n<path d=\"M724 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M458.5 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 310h0\"></path>\n<path d=\"M681.5 310h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 310h0\"></path>\n<path d=\"M590.5 310h0\"></path>\n<rect x=\"468.5\" y=\"299\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"529.5\" y=\"314\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M590.5 310h10\"></path>\n<path d=\"M600.5 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M610.5 310h0\"></path>\n<path d=\"M681.5 310h0\"></path>\n<rect x=\"610.5\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"646\" y=\"314\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 310a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M458.5 40v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 340h0\"></path>\n<path d=\"M698.5 340h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 340h0\"></path>\n<path d=\"M607.5 340h0\"></path>\n<rect x=\"468.5\" y=\"329\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"538\" y=\"344\">\"SHORTDUMP-ID\"</text>\n</g>\n<path d=\"M607.5 340h10\"></path>\n<path d=\"M617.5 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M627.5 340h0\"></path>\n<path d=\"M698.5 340h0\"></path>\n<rect x=\"627.5\" y=\"329\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"663\" y=\"344\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 340a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M458.5 40v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M468.5 370h0\"></path>\n<path d=\"M724 370h0\"></path>\n<g class=\"terminal\">\n<path d=\"M468.5 370h0\"></path>\n<path d=\"M633 370h0\"></path>\n<rect x=\"468.5\" y=\"359\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.75\" y=\"374\">\"DIRECTORY ENTRY\"</text>\n</g>\n<path d=\"M633 370h10\"></path>\n<path d=\"M643 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M653 370h0\"></path>\n<path d=\"M724 370h0\"></path>\n<rect x=\"653\" y=\"359\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"688.5\" y=\"374\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M724 370a10 10 0 0 0 10 -10v-320\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 458.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"443.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 734 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 741 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M754 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M774 40h10\"></path>\n<path d=\"M 784 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "generate_report.ts"
+    },
+    {
+      "name": "GenerateSubroutine",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GENERATE SUBROUTINE POOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"NAME\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"WORD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SHORTDUMP-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"845\" height=\"272\" viewBox=\"0 0 845 272\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M795 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M795 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M384 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"263.5\" y=\"35\">\"GENERATE SUBROUTINE POOL\"</text>\n</g>\n<path d=\"M384 31h10\"></path>\n<path d=\"M394 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 31h0\"></path>\n<path d=\"M475 31h0\"></path>\n<rect x=\"404\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"439.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M475 31h10\"></path>\n<path d=\"M485 31h10\"></path>\n<g>\n<path d=\"M495 31h0\"></path>\n<path d=\"M795 31h0\"></path>\n<path d=\"M525 31h10\"></path>\n<g>\n<path d=\"M535 31h0\"></path>\n<path d=\"M697 31h68\"></path>\n<g class=\"terminal\">\n<path d=\"M535 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<rect x=\"535\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"570.5\" y=\"35\">\"NAME\"</text>\n</g>\n<path d=\"M606 31h10\"></path>\n<path d=\"M616 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 31h0\"></path>\n<path d=\"M697 31h0\"></path>\n<rect x=\"626\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"661.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M765 31h10\"></path>\n<path d=\"M525 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 61h0\"></path>\n<path d=\"M722.5 61h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M535 61h0\"></path>\n<path d=\"M631.5 61h0\"></path>\n<rect x=\"535\" y=\"50\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"583.25\" y=\"65\">\"MESSAGE\"</text>\n</g>\n<path d=\"M631.5 61h10\"></path>\n<path d=\"M641.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M651.5 61h0\"></path>\n<path d=\"M722.5 61h0\"></path>\n<rect x=\"651.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"687\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M525 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 91h0\"></path>\n<path d=\"M697 91h68\"></path>\n<g class=\"terminal\">\n<path d=\"M535 91h0\"></path>\n<path d=\"M606 91h0\"></path>\n<rect x=\"535\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"570.5\" y=\"95\">\"LINE\"</text>\n</g>\n<path d=\"M606 91h10\"></path>\n<path d=\"M616 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 91h0\"></path>\n<path d=\"M697 91h0\"></path>\n<rect x=\"626\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"661.5\" y=\"95\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 91a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M525 31v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 121h0\"></path>\n<path d=\"M697 121h68\"></path>\n<g class=\"terminal\">\n<path d=\"M535 121h0\"></path>\n<path d=\"M606 121h0\"></path>\n<rect x=\"535\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"570.5\" y=\"125\">\"WORD\"</text>\n</g>\n<path d=\"M606 121h10\"></path>\n<path d=\"M616 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 121h0\"></path>\n<path d=\"M697 121h0\"></path>\n<rect x=\"626\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"661.5\" y=\"125\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 121a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M525 31v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 151h0\"></path>\n<path d=\"M722.5 151h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M535 151h0\"></path>\n<path d=\"M631.5 151h0\"></path>\n<rect x=\"535\" y=\"140\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"583.25\" y=\"155\">\"INCLUDE\"</text>\n</g>\n<path d=\"M631.5 151h10\"></path>\n<path d=\"M641.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M651.5 151h0\"></path>\n<path d=\"M722.5 151h0\"></path>\n<rect x=\"651.5\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"687\" y=\"155\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 151a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M525 31v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 181h0\"></path>\n<path d=\"M714 181h51\"></path>\n<g class=\"terminal\">\n<path d=\"M535 181h0\"></path>\n<path d=\"M623 181h0\"></path>\n<rect x=\"535\" y=\"170\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"579\" y=\"185\">\"OFFSET\"</text>\n</g>\n<path d=\"M623 181h10\"></path>\n<path d=\"M633 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M643 181h0\"></path>\n<path d=\"M714 181h0\"></path>\n<rect x=\"643\" y=\"170\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"678.5\" y=\"185\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 181a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M525 31v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 211h0\"></path>\n<path d=\"M748 211h17\"></path>\n<g class=\"terminal\">\n<path d=\"M535 211h0\"></path>\n<path d=\"M657 211h0\"></path>\n<rect x=\"535\" y=\"200\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596\" y=\"215\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M657 211h10\"></path>\n<path d=\"M667 211h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 211h0\"></path>\n<path d=\"M748 211h0\"></path>\n<rect x=\"677\" y=\"200\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"712.5\" y=\"215\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 211a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M525 31v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M535 241h0\"></path>\n<path d=\"M765 241h0\"></path>\n<g class=\"terminal\">\n<path d=\"M535 241h0\"></path>\n<path d=\"M674 241h0\"></path>\n<rect x=\"535\" y=\"230\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"604.5\" y=\"245\">\"SHORTDUMP-ID\"</text>\n</g>\n<path d=\"M674 241h10\"></path>\n<path d=\"M684 241h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M694 241h0\"></path>\n<path d=\"M765 241h0\"></path>\n<rect x=\"694\" y=\"230\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"729.5\" y=\"245\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M765 241a10 10 0 0 0 10 -10v-200\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 525 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"510\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 775 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 782 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M795 31h10\"></path>\n<path d=\"M 805 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "generate_subroutine.ts"
+    },
+    {
+      "name": "Get",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"LATE\"'),Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.OneOrMore(Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"657\" height=\"110\" viewBox=\"0 0 657 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M607 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M607 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M205.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"174.25\" y=\"44\">\"GET\"</text>\n</g>\n<path d=\"M205.5 40h10\"></path>\n<path d=\"M215.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M225.5 40h0\"></path>\n<path d=\"M296.5 40h0\"></path>\n<rect x=\"225.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"261\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M296.5 40h10\"></path>\n<g>\n<path d=\"M306.5 40h0\"></path>\n<path d=\"M607 40h0\"></path>\n<path d=\"M306.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M326.5 20h260.5\"></path>\n</g>\n<path d=\"M587 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M306.5 40h20\"></path>\n<g>\n<path d=\"M326.5 40h0\"></path>\n<path d=\"M587 40h0\"></path>\n<path d=\"M356.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M366.5 40h0\"></path>\n<path d=\"M437.5 40h119.5\"></path>\n<rect x=\"366.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402\" y=\"44\">\"LATE\"</text>\n</g>\n<path d=\"M557 40h10\"></path>\n<path d=\"M356.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M366.5 70h0\"></path>\n<path d=\"M557 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M366.5 70h0\"></path>\n<path d=\"M454.5 70h0\"></path>\n<rect x=\"366.5\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"410.5\" y=\"74\">\"FIELDS\"</text>\n</g>\n<path d=\"M454.5 70h10\"></path>\n<path d=\"M464.5 70h10\"></path>\n<g>\n<path d=\"M474.5 70h0\"></path>\n<path d=\"M557 70h0\"></path>\n<path d=\"M474.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M484.5 70h0\"></path>\n<path d=\"M547 70h0\"></path>\n<rect x=\"484.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"515.75\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M547 70h10\"></path>\n<path d=\"M484.5 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M484.5 90h62.5\"></path>\n</g>\n<path d=\"M547 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M557 70a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 356.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"341.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 567 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 574 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M587 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M607 40h10\"></path>\n<path d=\"M 617 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "get.ts"
+    },
+    {
+      "name": "GetBadi",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET BADI\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FILTERS\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"CONTEXT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/ParameterListS",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1132.5\" height=\"71\" viewBox=\"0 0 1132.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1082.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1082.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"GET BADI\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<path d=\"M258 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M268 40h0\"></path>\n<path d=\"M339 40h0\"></path>\n<rect x=\"268\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"303.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M339 40h10\"></path>\n<g>\n<path d=\"M349 40h0\"></path>\n<path d=\"M559.5 40h0\"></path>\n<path d=\"M349 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M369 20h170.5\"></path>\n</g>\n<path d=\"M539.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M349 40h20\"></path>\n<g>\n<path d=\"M369 40h0\"></path>\n<path d=\"M539.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M369 40h0\"></path>\n<path d=\"M440 40h0\"></path>\n<rect x=\"369\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404.5\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M440 40h10\"></path>\n<path d=\"M450 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 40h0\"></path>\n<path d=\"M539.5 40h0\"></path>\n<rect x=\"460\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"499.75\" y=\"44\">Dynamic</text>\n</a>\n</g>\n</g>\n<path d=\"M539.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M559.5 40h0\"></path>\n<path d=\"M855 40h0\"></path>\n<path d=\"M559.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M579.5 20h255.5\"></path>\n</g>\n<path d=\"M835 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M559.5 40h20\"></path>\n<g>\n<path d=\"M579.5 40h0\"></path>\n<path d=\"M835 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M579.5 40h0\"></path>\n<path d=\"M676 40h0\"></path>\n<rect x=\"579.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"627.75\" y=\"44\">\"FILTERS\"</text>\n</g>\n<path d=\"M676 40h10\"></path>\n<path d=\"M686 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M696 40h0\"></path>\n<path d=\"M835 40h0\"></path>\n<rect x=\"696\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"765.5\" y=\"44\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M835 40h20\"></path>\n</g>\n<g>\n<path d=\"M855 40h0\"></path>\n<path d=\"M1082.5 40h0\"></path>\n<path d=\"M855 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M875 20h187.5\"></path>\n</g>\n<path d=\"M1062.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M855 40h20\"></path>\n<g>\n<path d=\"M875 40h0\"></path>\n<path d=\"M1062.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M875 40h0\"></path>\n<path d=\"M971.5 40h0\"></path>\n<rect x=\"875\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"923.25\" y=\"44\">\"CONTEXT\"</text>\n</g>\n<path d=\"M971.5 40h10\"></path>\n<path d=\"M981.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M991.5 40h0\"></path>\n<path d=\"M1062.5 40h0\"></path>\n<rect x=\"991.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1027\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1062.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1082.5 40h10\"></path>\n<path d=\"M 1092.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_badi.ts"
+    },
+    {
+      "name": "GetBit",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"GET BIT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"634.5\" height=\"62\" viewBox=\"0 0 634.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M584.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"GET BIT\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M237.5 31h0\"></path>\n<rect x=\"166.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"202\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M237.5 31h10\"></path>\n<path d=\"M247.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M257.5 31h0\"></path>\n<path d=\"M311.5 31h0\"></path>\n<rect x=\"257.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.5\" y=\"35\">\"OF\"</text>\n</g>\n<path d=\"M311.5 31h10\"></path>\n<path d=\"M321.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M331.5 31h0\"></path>\n<path d=\"M402.5 31h0\"></path>\n<rect x=\"331.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"367\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M402.5 31h10\"></path>\n<path d=\"M412.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M422.5 31h0\"></path>\n<path d=\"M493.5 31h0\"></path>\n<rect x=\"422.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M493.5 31h10\"></path>\n<path d=\"M503.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513.5 31h0\"></path>\n<path d=\"M584.5 31h0\"></path>\n<rect x=\"513.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"549\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M584.5 31h10\"></path>\n<path d=\"M 594.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_bit.ts"
+    },
+    {
+      "name": "GetCursor",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET CURSOR\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Optional(Railroad.Terminal('\"DISPLAY\"')),Railroad.Sequence(Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"VALUE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"AREA\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"584\" height=\"251\" viewBox=\"0 0 584 251\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M534 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M534 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"35\">\"GET CURSOR\"</text>\n</g>\n<path d=\"M265 31h10\"></path>\n<path d=\"M275 31h10\"></path>\n<g>\n<path d=\"M285 31h0\"></path>\n<path d=\"M534 31h0\"></path>\n<path d=\"M315 31h10\"></path>\n<g>\n<path d=\"M325 31h0\"></path>\n<path d=\"M487 31h17\"></path>\n<g class=\"terminal\">\n<path d=\"M325 31h0\"></path>\n<path d=\"M396 31h0\"></path>\n<rect x=\"325\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.5\" y=\"35\">\"LINE\"</text>\n</g>\n<path d=\"M396 31h10\"></path>\n<path d=\"M406 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M416 31h0\"></path>\n<path d=\"M487 31h0\"></path>\n<rect x=\"416\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"451.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 31h10\"></path>\n<path d=\"M315 31v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 70h0\"></path>\n<path d=\"M461.5 70h42.5\"></path>\n<path d=\"M325 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M345 50h96.5\"></path>\n</g>\n<path d=\"M441.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M325 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M345 70h0\"></path>\n<path d=\"M441.5 70h0\"></path>\n<rect x=\"345\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"393.25\" y=\"74\">\"DISPLAY\"</text>\n</g>\n<path d=\"M441.5 70h20\"></path>\n</g>\n<path d=\"M504 70a10 10 0 0 0 10 -10v-29\"></path>\n<path d=\"M315 31v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 100h0\"></path>\n<path d=\"M495.5 100h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M325 100h0\"></path>\n<path d=\"M404.5 100h0\"></path>\n<rect x=\"325\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.75\" y=\"104\">\"FIELD\"</text>\n</g>\n<path d=\"M404.5 100h10\"></path>\n<path d=\"M414.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M424.5 100h0\"></path>\n<path d=\"M495.5 100h0\"></path>\n<rect x=\"424.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"460\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 100a10 10 0 0 0 10 -10v-59\"></path>\n<path d=\"M315 31v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 130h0\"></path>\n<path d=\"M504 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M325 130h0\"></path>\n<path d=\"M413 130h0\"></path>\n<rect x=\"325\" y=\"119\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369\" y=\"134\">\"OFFSET\"</text>\n</g>\n<path d=\"M413 130h10\"></path>\n<path d=\"M423 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M433 130h0\"></path>\n<path d=\"M504 130h0\"></path>\n<rect x=\"433\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"468.5\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 130a10 10 0 0 0 10 -10v-89\"></path>\n<path d=\"M315 31v119a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 160h0\"></path>\n<path d=\"M495.5 160h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M325 160h0\"></path>\n<path d=\"M404.5 160h0\"></path>\n<rect x=\"325\" y=\"149\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.75\" y=\"164\">\"VALUE\"</text>\n</g>\n<path d=\"M404.5 160h10\"></path>\n<path d=\"M414.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M424.5 160h0\"></path>\n<path d=\"M495.5 160h0\"></path>\n<rect x=\"424.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"460\" y=\"164\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 160a10 10 0 0 0 10 -10v-119\"></path>\n<path d=\"M315 31v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 190h0\"></path>\n<path d=\"M504 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M325 190h0\"></path>\n<path d=\"M413 190h0\"></path>\n<rect x=\"325\" y=\"179\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369\" y=\"194\">\"LENGTH\"</text>\n</g>\n<path d=\"M413 190h10\"></path>\n<path d=\"M423 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M433 190h0\"></path>\n<path d=\"M504 190h0\"></path>\n<rect x=\"433\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"468.5\" y=\"194\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 190a10 10 0 0 0 10 -10v-149\"></path>\n<path d=\"M315 31v179a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M325 220h0\"></path>\n<path d=\"M487 220h17\"></path>\n<g class=\"terminal\">\n<path d=\"M325 220h0\"></path>\n<path d=\"M396 220h0\"></path>\n<rect x=\"325\" y=\"209\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.5\" y=\"224\">\"AREA\"</text>\n</g>\n<path d=\"M396 220h10\"></path>\n<path d=\"M406 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M416 220h0\"></path>\n<path d=\"M487 220h0\"></path>\n<rect x=\"416\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"451.5\" y=\"224\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M504 220a10 10 0 0 0 10 -10v-179\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 315 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"300\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 514 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 521 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M534 31h10\"></path>\n<path d=\"M 544 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_cursor.ts"
+    },
+    {
+      "name": "GetDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET DATASET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"POSITION\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ATTRIBUTES\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"747.5\" height=\"101\" viewBox=\"0 0 747.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M697.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M697.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"44\">\"GET DATASET\"</text>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<path d=\"M283.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 40h0\"></path>\n<path d=\"M364.5 40h0\"></path>\n<rect x=\"293.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"329\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M364.5 40h10\"></path>\n<g>\n<path d=\"M374.5 40h0\"></path>\n<path d=\"M697.5 40h0\"></path>\n<path d=\"M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M394.5 20h283\"></path>\n</g>\n<path d=\"M677.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M374.5 40h20\"></path>\n<g>\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M677.5 40h0\"></path>\n<path d=\"M424.5 40h10\"></path>\n<g>\n<path d=\"M434.5 40h0\"></path>\n<path d=\"M630.5 40h17\"></path>\n<g class=\"terminal\">\n<path d=\"M434.5 40h0\"></path>\n<path d=\"M539.5 40h0\"></path>\n<rect x=\"434.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"487\" y=\"44\">\"POSITION\"</text>\n</g>\n<path d=\"M539.5 40h10\"></path>\n<path d=\"M549.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559.5 40h0\"></path>\n<path d=\"M630.5 40h0\"></path>\n<rect x=\"559.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"595\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M647.5 40h10\"></path>\n<path d=\"M424.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M434.5 70h0\"></path>\n<path d=\"M647.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M434.5 70h0\"></path>\n<path d=\"M556.5 70h0\"></path>\n<rect x=\"434.5\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495.5\" y=\"74\">\"ATTRIBUTES\"</text>\n</g>\n<path d=\"M556.5 70h10\"></path>\n<path d=\"M566.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 70h0\"></path>\n<path d=\"M647.5 70h0\"></path>\n<rect x=\"576.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"612\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M647.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 424.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"409.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 657.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 664.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M677.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M697.5 40h10\"></path>\n<path d=\"M 707.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_dataset.ts"
+    },
+    {
+      "name": "GetLocale",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET LOCALE LANGUAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Sequence(Railroad.Terminal('\"COUNTRY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MODIFIER\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"906\" height=\"62\" viewBox=\"0 0 906 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M341.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"35\">\"GET LOCALE LANGUAGE\"</text>\n</g>\n<path d=\"M341.5 31h10\"></path>\n<path d=\"M351.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M361.5 31h0\"></path>\n<path d=\"M432.5 31h0\"></path>\n<rect x=\"361.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"397\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M432.5 31h10\"></path>\n<path d=\"M442.5 31h10\"></path>\n<g>\n<path d=\"M452.5 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M452.5 31h0\"></path>\n<path d=\"M549 31h0\"></path>\n<rect x=\"452.5\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"500.75\" y=\"35\">\"COUNTRY\"</text>\n</g>\n<path d=\"M549 31h10\"></path>\n<path d=\"M559 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M569 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<rect x=\"569\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"604.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M640 31h10\"></path>\n<path d=\"M650 31h10\"></path>\n<g>\n<path d=\"M660 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M660 31h0\"></path>\n<path d=\"M765 31h0\"></path>\n<rect x=\"660\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"712.5\" y=\"35\">\"MODIFIER\"</text>\n</g>\n<path d=\"M765 31h10\"></path>\n<path d=\"M775 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M785 31h0\"></path>\n<path d=\"M856 31h0\"></path>\n<rect x=\"785\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"820.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M856 31h10\"></path>\n<path d=\"M 866 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_locale.ts"
+    },
+    {
+      "name": "GetPFStatus",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET PF-STATUS\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PROGRAM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXCLUDING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"913.5\" height=\"71\" viewBox=\"0 0 913.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M863.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M863.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"GET PF-STATUS\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<path d=\"M300.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M381.5 40h0\"></path>\n<rect x=\"310.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"346\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M381.5 40h10\"></path>\n<g>\n<path d=\"M391.5 40h0\"></path>\n<path d=\"M619 40h0\"></path>\n<path d=\"M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M411.5 20h187.5\"></path>\n</g>\n<path d=\"M599 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M391.5 40h20\"></path>\n<g>\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M599 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M508 40h0\"></path>\n<rect x=\"411.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"459.75\" y=\"44\">\"PROGRAM\"</text>\n</g>\n<path d=\"M508 40h10\"></path>\n<path d=\"M518 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M528 40h0\"></path>\n<path d=\"M599 40h0\"></path>\n<rect x=\"528\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"563.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M599 40h20\"></path>\n</g>\n<g>\n<path d=\"M619 40h0\"></path>\n<path d=\"M863.5 40h0\"></path>\n<path d=\"M619 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M639 20h204.5\"></path>\n</g>\n<path d=\"M843.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M619 40h20\"></path>\n<g>\n<path d=\"M639 40h0\"></path>\n<path d=\"M843.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M639 40h0\"></path>\n<path d=\"M752.5 40h0\"></path>\n<rect x=\"639\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"695.75\" y=\"44\">\"EXCLUDING\"</text>\n</g>\n<path d=\"M752.5 40h10\"></path>\n<path d=\"M762.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M772.5 40h0\"></path>\n<path d=\"M843.5 40h0\"></path>\n<rect x=\"772.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"808\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M843.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M863.5 40h10\"></path>\n<path d=\"M 873.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_pf_status.ts"
+    },
+    {
+      "name": "GetParameter",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET PARAMETER ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"647.5\" height=\"62\" viewBox=\"0 0 647.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"GET PARAMETER ID\"</text>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M326 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<rect x=\"336\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M407 31h10\"></path>\n<path d=\"M417 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M427 31h0\"></path>\n<path d=\"M506.5 31h0\"></path>\n<rect x=\"427\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"466.75\" y=\"35\">\"FIELD\"</text>\n</g>\n<path d=\"M506.5 31h10\"></path>\n<path d=\"M516.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M526.5 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<rect x=\"526.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"562\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M597.5 31h10\"></path>\n<path d=\"M 607.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_parameter.ts"
+    },
+    {
+      "name": "GetPermissions",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"GET PERMISSIONS ONLY GLOBAL AUTHORIZATION ENTITY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"REQUEST\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"FAILED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"REPORTED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1549.5\" height=\"62\" viewBox=\"0 0 1549.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1499.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M1499.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M553 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"445\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.5\" y=\"35\">\"GET PERMISSIONS ONLY GLOBAL AUTHORIZATION ENTITY\"</text>\n</g>\n<path d=\"M553 31h10\"></path>\n<path d=\"M563 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<rect x=\"573\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"625.5\" y=\"35\">SimpleName</text>\n</a>\n</g>\n<path d=\"M678 31h10\"></path>\n<path d=\"M688 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M698 31h0\"></path>\n<path d=\"M794.5 31h0\"></path>\n<rect x=\"698\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"746.25\" y=\"35\">\"REQUEST\"</text>\n</g>\n<path d=\"M794.5 31h10\"></path>\n<path d=\"M804.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M814.5 31h0\"></path>\n<path d=\"M885.5 31h0\"></path>\n<rect x=\"814.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"850\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M885.5 31h10\"></path>\n<path d=\"M895.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M905.5 31h0\"></path>\n<path d=\"M993.5 31h0\"></path>\n<rect x=\"905.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"949.5\" y=\"35\">\"RESULT\"</text>\n</g>\n<path d=\"M993.5 31h10\"></path>\n<path d=\"M1003.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1013.5 31h0\"></path>\n<path d=\"M1084.5 31h0\"></path>\n<rect x=\"1013.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1049\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M1084.5 31h10\"></path>\n<path d=\"M1094.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1104.5 31h0\"></path>\n<path d=\"M1192.5 31h0\"></path>\n<rect x=\"1104.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1148.5\" y=\"35\">\"FAILED\"</text>\n</g>\n<path d=\"M1192.5 31h10\"></path>\n<path d=\"M1202.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1212.5 31h0\"></path>\n<path d=\"M1283.5 31h0\"></path>\n<rect x=\"1212.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1248\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M1283.5 31h10\"></path>\n<path d=\"M1293.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1303.5 31h0\"></path>\n<path d=\"M1408.5 31h0\"></path>\n<rect x=\"1303.5\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1356\" y=\"35\">\"REPORTED\"</text>\n</g>\n<path d=\"M1408.5 31h10\"></path>\n<path d=\"M1418.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1428.5 31h0\"></path>\n<path d=\"M1499.5 31h0\"></path>\n<rect x=\"1428.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1464\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1499.5 31h10\"></path>\n<path d=\"M 1509.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_permissions.ts"
+    },
+    {
+      "name": "GetProperty",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET PROPERTY OF\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"NO FLUSH\"')),Railroad.Optional(Railroad.NonTerminal('OLEExporting', {href: '#/expression/OLEExporting'}))))).toString();",
+      "using": [
+        "expression/FieldSub",
+        "expression/OLEExporting",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1030\" height=\"71\" viewBox=\"0 0 1030 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M980 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M980 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"GET PROPERTY OF\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M415.5 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"371.5\" y=\"44\">FieldSub</text>\n</a>\n</g>\n<path d=\"M415.5 40h10\"></path>\n<path d=\"M425.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M435.5 40h0\"></path>\n<path d=\"M506.5 40h0\"></path>\n<rect x=\"435.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"471\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M506.5 40h10\"></path>\n<path d=\"M516.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M526.5 40h0\"></path>\n<path d=\"M572 40h0\"></path>\n<rect x=\"526.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"549.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M572 40h10\"></path>\n<path d=\"M582 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M592 40h0\"></path>\n<path d=\"M663 40h0\"></path>\n<rect x=\"592\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"627.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M663 40h10\"></path>\n<g>\n<path d=\"M673 40h0\"></path>\n<path d=\"M818 40h0\"></path>\n<path d=\"M673 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M693 20h105\"></path>\n</g>\n<path d=\"M798 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M673 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M693 40h0\"></path>\n<path d=\"M798 40h0\"></path>\n<rect x=\"693\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"745.5\" y=\"44\">\"NO FLUSH\"</text>\n</g>\n<path d=\"M798 40h20\"></path>\n</g>\n<g>\n<path d=\"M818 40h0\"></path>\n<path d=\"M980 40h0\"></path>\n<path d=\"M818 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M838 20h122\"></path>\n</g>\n<path d=\"M960 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M818 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M838 40h0\"></path>\n<path d=\"M960 40h0\"></path>\n<rect x=\"838\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/OLEExporting\"><text x=\"899\" y=\"44\">OLEExporting</text>\n</a>\n</g>\n<path d=\"M960 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M980 40h10\"></path>\n<path d=\"M 990 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_property.ts"
+    },
+    {
+      "name": "GetReference",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"GET REFERENCE OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"546\" height=\"62\" viewBox=\"0 0 546 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M496 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M223 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.5\" y=\"35\">\"GET REFERENCE OF\"</text>\n</g>\n<path d=\"M223 31h10\"></path>\n<path d=\"M233 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243 31h0\"></path>\n<path d=\"M314 31h0\"></path>\n<rect x=\"243\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"278.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M314 31h10\"></path>\n<path d=\"M324 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M334 31h0\"></path>\n<path d=\"M405 31h0\"></path>\n<rect x=\"334\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369.5\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M405 31h10\"></path>\n<path d=\"M415 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M425 31h0\"></path>\n<path d=\"M496 31h0\"></path>\n<rect x=\"425\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"460.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M496 31h10\"></path>\n<path d=\"M 506 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_reference.ts"
+    },
+    {
+      "name": "GetRunTime",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"GET RUN TIME FIELD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"474\" height=\"62\" viewBox=\"0 0 474 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M424 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M424 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M333 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"238\" y=\"35\">\"GET RUN TIME FIELD\"</text>\n</g>\n<path d=\"M333 31h10\"></path>\n<path d=\"M343 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353 31h0\"></path>\n<path d=\"M424 31h0\"></path>\n<rect x=\"353\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"388.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M424 31h10\"></path>\n<path d=\"M 434 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_run_time.ts"
+    },
+    {
+      "name": "GetTime",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"GET TIME\"'),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STAMP FIELD\"'),Railroad.Terminal('\"FIELD\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"506.5\" height=\"101\" viewBox=\"0 0 506.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M456.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M155 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"44\">\"GET TIME\"</text>\n</g>\n<path d=\"M155 40h10\"></path>\n<g>\n<path d=\"M165 40h0\"></path>\n<path d=\"M456.5 40h0\"></path>\n<path d=\"M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M185 20h251.5\"></path>\n</g>\n<path d=\"M436.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M165 40h20\"></path>\n<g>\n<path d=\"M185 40h0\"></path>\n<path d=\"M436.5 40h0\"></path>\n<g>\n<path d=\"M185 40h0\"></path>\n<path d=\"M355.5 40h0\"></path>\n<path d=\"M185 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M205 40h0\"></path>\n<path d=\"M335.5 40h0\"></path>\n<rect x=\"205\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"270.25\" y=\"44\">\"STAMP FIELD\"</text>\n</g>\n<path d=\"M335.5 40h20\"></path>\n<path d=\"M185 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M205 70h0\"></path>\n<path d=\"M284.5 70h51\"></path>\n<rect x=\"205\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"244.75\" y=\"74\">\"FIELD\"</text>\n</g>\n<path d=\"M335.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M355.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M436.5 40h0\"></path>\n<rect x=\"365.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"401\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M436.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M456.5 40h10\"></path>\n<path d=\"M 466.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "get_time.ts"
+    },
+    {
+      "name": "Hide",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"HIDE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"355\" height=\"62\" viewBox=\"0 0 355 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"35\">\"HIDE\"</text>\n</g>\n<path d=\"M214 31h10\"></path>\n<path d=\"M224 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M234 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<rect x=\"234\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"269.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M305 31h10\"></path>\n<path d=\"M 315 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "hide.ts"
+    },
+    {
+      "name": "If",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"IF\"'),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}))).toString();",
+      "using": [
+        "expression/Cond"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"228\" height=\"62\" viewBox=\"0 0 228 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M178 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">\"IF\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<path d=\"M114 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M124 31h0\"></path>\n<path d=\"M178 31h0\"></path>\n<rect x=\"124\" y=\"20\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"151\" y=\"35\">Cond</text>\n</a>\n</g>\n</g>\n<path d=\"M178 31h10\"></path>\n<path d=\"M 188 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/If"
+      ],
+      "filename": "if.ts"
+    },
+    {
+      "name": "Import",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"IMPORT\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('FieldSymbol', {href: '#/expression/FieldSymbol'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.Choice(0, Railroad.Terminal('\"TO\"'),Railroad.Terminal('\"INTO\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.OneOrMore(Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Terminal('\"FROM\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"DATA BUFFER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MEMORY ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DATABASE\"'),Railroad.Sequence(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('!\"(\"'),Railroad.Terminal(\"^[\\\\w$%\\\\^]{2}$\"),Railroad.Terminal('!\") \"')),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"INTERNAL TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"SHARED MEMORY\"'),Railroad.Terminal('\"SHARED BUFFER\"')),Railroad.Sequence(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('!\"(\"'),Railroad.Terminal(\"^[\\\\w$%\\\\^]{2}$\"),Railroad.Terminal('!\") \"')),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"CLIENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"ACCEPTING PADDING\"'),Railroad.Terminal('\"IGNORING CONVERSION ERRORS\"'),Railroad.Terminal('\"IN CHAR-TO-HEX MODE\"'),Railroad.Terminal('\"IGNORING STRUCTURE BOUNDARIES\"'),Railroad.Terminal('\"ACCEPTING TRUNCATION\"'),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT CHARACTER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"CODE PAGE INTO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ENDIAN INTO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/ComponentChainSimple",
+        "expression/Dynamic",
+        "expression/FieldSymbol",
+        "expression/NamespaceSimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2152.5\" height=\"341\" viewBox=\"0 0 2152.5 341\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2102.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"IMPORT\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M600 40h0\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M564.5 40h15.5\"></path>\n<path d=\"M168 40h10\"></path>\n<g>\n<path d=\"M178 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<g>\n<path d=\"M178 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<path d=\"M178 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M198 40h0\"></path>\n<path d=\"M388 40h0\"></path>\n<rect x=\"198\" y=\"29\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"293\" y=\"44\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M388 40h20\"></path>\n<path d=\"M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M198 70h0\"></path>\n<path d=\"M311.5 70h76.5\"></path>\n<rect x=\"198\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSymbol\"><text x=\"254.75\" y=\"74\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M388 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M408 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M418 40h0\"></path>\n<path d=\"M463.5 40h0\"></path>\n<rect x=\"418\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"440.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M463.5 40h10\"></path>\n<path d=\"M473.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M483.5 40h0\"></path>\n<path d=\"M554.5 40h0\"></path>\n<rect x=\"483.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"519\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M554.5 40h10\"></path>\n<path d=\"M178 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 89h376.5\"></path>\n</g>\n<path d=\"M554.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M580 40h20\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 108h0\"></path>\n<path d=\"M580 108h0\"></path>\n<path d=\"M168 108h10\"></path>\n<g>\n<path d=\"M178 108h0\"></path>\n<path d=\"M570 108h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 108h0\"></path>\n<path d=\"M368 108h0\"></path>\n<rect x=\"178\" y=\"97\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"273\" y=\"112\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M368 108h10\"></path>\n<g>\n<path d=\"M378 108h0\"></path>\n<path d=\"M489 108h0\"></path>\n<path d=\"M378 108h20\"></path>\n<g class=\"terminal\">\n<path d=\"M398 108h0\"></path>\n<path d=\"M452 108h17\"></path>\n<rect x=\"398\" y=\"97\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"425\" y=\"112\">\"TO\"</text>\n</g>\n<path d=\"M469 108h20\"></path>\n<path d=\"M378 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M398 138h0\"></path>\n<path d=\"M469 138h0\"></path>\n<rect x=\"398\" y=\"127\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"433.5\" y=\"142\">\"INTO\"</text>\n</g>\n<path d=\"M469 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M489 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M499 108h0\"></path>\n<path d=\"M570 108h0\"></path>\n<rect x=\"499\" y=\"97\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"534.5\" y=\"112\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M570 108h10\"></path>\n<path d=\"M178 108a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 157h392\"></path>\n</g>\n<path d=\"M570 157a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M580 108a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v116a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 176h0\"></path>\n<path d=\"M247.5 176h332.5\"></path>\n<rect x=\"168\" y=\"165\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"207.75\" y=\"180\">Dynamic</text>\n</a>\n</g>\n<path d=\"M580 176a10 10 0 0 0 10 -10v-116a10 10 0 0 1 10 -10\"></path>\n<path d=\"M148 40a10 10 0 0 1 10 10v146a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 206h0\"></path>\n<path d=\"M259 206h321\"></path>\n<path d=\"M168 206h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 206h0\"></path>\n<path d=\"M249 206h0\"></path>\n<rect x=\"178\" y=\"195\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"213.5\" y=\"210\">Target</text>\n</a>\n</g>\n<path d=\"M249 206h10\"></path>\n<path d=\"M178 206a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 226h71\"></path>\n</g>\n<path d=\"M249 226a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M580 206a10 10 0 0 0 10 -10v-146a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M600 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M610 40h0\"></path>\n<path d=\"M681 40h0\"></path>\n<rect x=\"610\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"645.5\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M681 40h10\"></path>\n<g>\n<path d=\"M691 40h0\"></path>\n<path d=\"M1686 40h0\"></path>\n<path d=\"M691 40h20\"></path>\n<g>\n<path d=\"M711 40h0\"></path>\n<path d=\"M932.5 40h733.5\"></path>\n<g class=\"terminal\">\n<path d=\"M711 40h0\"></path>\n<path d=\"M841.5 40h0\"></path>\n<rect x=\"711\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"776.25\" y=\"44\">\"DATA BUFFER\"</text>\n</g>\n<path d=\"M841.5 40h10\"></path>\n<path d=\"M851.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M861.5 40h0\"></path>\n<path d=\"M932.5 40h0\"></path>\n<rect x=\"861.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"897\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1666 40h20\"></path>\n<path d=\"M691 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 70h0\"></path>\n<path d=\"M915.5 70h750.5\"></path>\n<g class=\"terminal\">\n<path d=\"M711 70h0\"></path>\n<path d=\"M824.5 70h0\"></path>\n<rect x=\"711\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"767.75\" y=\"74\">\"MEMORY ID\"</text>\n</g>\n<path d=\"M824.5 70h10\"></path>\n<path d=\"M834.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M844.5 70h0\"></path>\n<path d=\"M915.5 70h0\"></path>\n<rect x=\"844.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"880\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1666 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M691 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 100h0\"></path>\n<path d=\"M1593.5 100h72.5\"></path>\n<g class=\"terminal\">\n<path d=\"M711 100h0\"></path>\n<path d=\"M816 100h0\"></path>\n<rect x=\"711\" y=\"89\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"763.5\" y=\"104\">\"DATABASE\"</text>\n</g>\n<path d=\"M816 100h10\"></path>\n<path d=\"M826 100h10\"></path>\n<g>\n<path d=\"M836 100h0\"></path>\n<path d=\"M1324.5 100h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M836 100h0\"></path>\n<path d=\"M1017.5 100h0\"></path>\n<rect x=\"836\" y=\"89\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"926.75\" y=\"104\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1017.5 100h10\"></path>\n<path d=\"M1027.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1037.5 100h0\"></path>\n<path d=\"M1091.5 100h0\"></path>\n<rect x=\"1037.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1064.5\" y=\"104\">!\"(\"</text>\n</g>\n<path d=\"M1091.5 100h10\"></path>\n<path d=\"M1101.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1111.5 100h0\"></path>\n<path d=\"M1242 100h0\"></path>\n<rect x=\"1111.5\" y=\"89\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1176.75\" y=\"104\">^&#91;\\w$%\\^&#93;{2}$</text>\n</g>\n<path d=\"M1242 100h10\"></path>\n<path d=\"M1252 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1262 100h0\"></path>\n<path d=\"M1324.5 100h0\"></path>\n<rect x=\"1262\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1293.25\" y=\"104\">!\") \"</text>\n</g>\n</g>\n<path d=\"M1324.5 100h10\"></path>\n<path d=\"M1334.5 100h10\"></path>\n<g>\n<path d=\"M1344.5 100h0\"></path>\n<path d=\"M1593.5 100h0\"></path>\n<path d=\"M1374.5 100h10\"></path>\n<g>\n<path d=\"M1384.5 100h0\"></path>\n<path d=\"M1529.5 100h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1384.5 100h0\"></path>\n<path d=\"M1438.5 100h0\"></path>\n<rect x=\"1384.5\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1411.5\" y=\"104\">\"TO\"</text>\n</g>\n<path d=\"M1438.5 100h10\"></path>\n<path d=\"M1448.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1458.5 100h0\"></path>\n<path d=\"M1529.5 100h0\"></path>\n<rect x=\"1458.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1494\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1563.5 100h10\"></path>\n<path d=\"M1374.5 100v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1384.5 130h0\"></path>\n<path d=\"M1563.5 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1384.5 130h0\"></path>\n<path d=\"M1472.5 130h0\"></path>\n<rect x=\"1384.5\" y=\"119\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1428.5\" y=\"134\">\"CLIENT\"</text>\n</g>\n<path d=\"M1472.5 130h10\"></path>\n<path d=\"M1482.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1492.5 130h0\"></path>\n<path d=\"M1563.5 130h0\"></path>\n<rect x=\"1492.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1528\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1563.5 130a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1374.5 100v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1384.5 160h0\"></path>\n<path d=\"M1529.5 160h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1384.5 160h0\"></path>\n<path d=\"M1438.5 160h0\"></path>\n<rect x=\"1384.5\" y=\"149\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1411.5\" y=\"164\">\"ID\"</text>\n</g>\n<path d=\"M1438.5 160h10\"></path>\n<path d=\"M1448.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1458.5 160h0\"></path>\n<path d=\"M1529.5 160h0\"></path>\n<rect x=\"1458.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1494\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1563.5 160a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1374.5 100v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1384.5 190h0\"></path>\n<path d=\"M1555 190h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1384.5 190h0\"></path>\n<path d=\"M1464 190h0\"></path>\n<rect x=\"1384.5\" y=\"179\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1424.25\" y=\"194\">\"USING\"</text>\n</g>\n<path d=\"M1464 190h10\"></path>\n<path d=\"M1474 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1484 190h0\"></path>\n<path d=\"M1555 190h0\"></path>\n<rect x=\"1484\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1519.5\" y=\"194\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1563.5 190a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1374.5 90 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1359.5\" y=\"104\" class=\"diagram-text\">1+</text>\n<path d=\"M 1573.5 90 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1580.5 98 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1666 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M691 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 220h0\"></path>\n<path d=\"M958 220h708\"></path>\n<g class=\"terminal\">\n<path d=\"M711 220h0\"></path>\n<path d=\"M867 220h0\"></path>\n<rect x=\"711\" y=\"209\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"789\" y=\"224\">\"INTERNAL TABLE\"</text>\n</g>\n<path d=\"M867 220h10\"></path>\n<path d=\"M877 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M887 220h0\"></path>\n<path d=\"M958 220h0\"></path>\n<rect x=\"887\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"922.5\" y=\"224\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1666 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M691 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M711 250h0\"></path>\n<path d=\"M1666 250h0\"></path>\n<g>\n<path d=\"M711 250h0\"></path>\n<path d=\"M898.5 250h0\"></path>\n<path d=\"M711 250h20\"></path>\n<g class=\"terminal\">\n<path d=\"M731 250h0\"></path>\n<path d=\"M878.5 250h0\"></path>\n<rect x=\"731\" y=\"239\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"804.75\" y=\"254\">\"SHARED MEMORY\"</text>\n</g>\n<path d=\"M878.5 250h20\"></path>\n<path d=\"M711 250a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M731 280h0\"></path>\n<path d=\"M878.5 280h0\"></path>\n<rect x=\"731\" y=\"269\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"804.75\" y=\"284\">\"SHARED BUFFER\"</text>\n</g>\n<path d=\"M878.5 280a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M898.5 250h10\"></path>\n<g>\n<path d=\"M908.5 250h0\"></path>\n<path d=\"M1397 250h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M908.5 250h0\"></path>\n<path d=\"M1090 250h0\"></path>\n<rect x=\"908.5\" y=\"239\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"999.25\" y=\"254\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1090 250h10\"></path>\n<path d=\"M1100 250h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1110 250h0\"></path>\n<path d=\"M1164 250h0\"></path>\n<rect x=\"1110\" y=\"239\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1137\" y=\"254\">!\"(\"</text>\n</g>\n<path d=\"M1164 250h10\"></path>\n<path d=\"M1174 250h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1184 250h0\"></path>\n<path d=\"M1314.5 250h0\"></path>\n<rect x=\"1184\" y=\"239\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1249.25\" y=\"254\">^&#91;\\w$%\\^&#93;{2}$</text>\n</g>\n<path d=\"M1314.5 250h10\"></path>\n<path d=\"M1324.5 250h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1334.5 250h0\"></path>\n<path d=\"M1397 250h0\"></path>\n<rect x=\"1334.5\" y=\"239\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1365.75\" y=\"254\">!\") \"</text>\n</g>\n</g>\n<path d=\"M1397 250h10\"></path>\n<path d=\"M1407 250h10\"></path>\n<g>\n<path d=\"M1417 250h0\"></path>\n<path d=\"M1666 250h0\"></path>\n<path d=\"M1447 250h10\"></path>\n<g>\n<path d=\"M1457 250h0\"></path>\n<path d=\"M1602 250h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1457 250h0\"></path>\n<path d=\"M1511 250h0\"></path>\n<rect x=\"1457\" y=\"239\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1484\" y=\"254\">\"TO\"</text>\n</g>\n<path d=\"M1511 250h10\"></path>\n<path d=\"M1521 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1531 250h0\"></path>\n<path d=\"M1602 250h0\"></path>\n<rect x=\"1531\" y=\"239\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1566.5\" y=\"254\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1636 250h10\"></path>\n<path d=\"M1447 250v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1457 280h0\"></path>\n<path d=\"M1636 280h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1457 280h0\"></path>\n<path d=\"M1545 280h0\"></path>\n<rect x=\"1457\" y=\"269\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1501\" y=\"284\">\"CLIENT\"</text>\n</g>\n<path d=\"M1545 280h10\"></path>\n<path d=\"M1555 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1565 280h0\"></path>\n<path d=\"M1636 280h0\"></path>\n<rect x=\"1565\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1600.5\" y=\"284\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1636 280a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1447 250v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1457 310h0\"></path>\n<path d=\"M1602 310h34\"></path>\n<g class=\"terminal\">\n<path d=\"M1457 310h0\"></path>\n<path d=\"M1511 310h0\"></path>\n<rect x=\"1457\" y=\"299\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1484\" y=\"314\">\"ID\"</text>\n</g>\n<path d=\"M1511 310h10\"></path>\n<path d=\"M1521 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1531 310h0\"></path>\n<path d=\"M1602 310h0\"></path>\n<rect x=\"1531\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1566.5\" y=\"314\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1636 310a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1447 240 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1432\" y=\"254\" class=\"diagram-text\">1+</text>\n<path d=\"M 1646 240 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1653 248 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1666 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1686 40h0\"></path>\n<path d=\"M2102.5 40h0\"></path>\n<path d=\"M1686 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1706 20h376.5\"></path>\n</g>\n<path d=\"M2082.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1686 40h20\"></path>\n<g>\n<path d=\"M1706 40h0\"></path>\n<path d=\"M2082.5 40h0\"></path>\n<path d=\"M1736 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 40h0\"></path>\n<path d=\"M1927.5 40h125\"></path>\n<rect x=\"1746\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1836.75\" y=\"44\">\"ACCEPTING PADDING\"</text>\n</g>\n<path d=\"M2052.5 40h10\"></path>\n<path d=\"M1736 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 70h0\"></path>\n<path d=\"M2004 70h48.5\"></path>\n<rect x=\"1746\" y=\"59\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1875\" y=\"74\">\"IGNORING CONVERSION ERRORS\"</text>\n</g>\n<path d=\"M2052.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1736 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 100h0\"></path>\n<path d=\"M1944.5 100h108\"></path>\n<rect x=\"1746\" y=\"89\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1845.25\" y=\"104\">\"IN CHAR-TO-HEX MODE\"</text>\n</g>\n<path d=\"M2052.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1736 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 130h0\"></path>\n<path d=\"M2029.5 130h23\"></path>\n<rect x=\"1746\" y=\"119\" width=\"283.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1887.75\" y=\"134\">\"IGNORING STRUCTURE BOUNDARIES\"</text>\n</g>\n<path d=\"M2052.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M1736 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 160h0\"></path>\n<path d=\"M1953 160h99.5\"></path>\n<rect x=\"1746\" y=\"149\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1849.5\" y=\"164\">\"ACCEPTING TRUNCATION\"</text>\n</g>\n<path d=\"M2052.5 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M1736 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1746 190h0\"></path>\n<path d=\"M2052.5 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 190h0\"></path>\n<path d=\"M1961.5 190h0\"></path>\n<rect x=\"1746\" y=\"179\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1853.75\" y=\"194\">\"REPLACEMENT CHARACTER\"</text>\n</g>\n<path d=\"M1961.5 190h10\"></path>\n<path d=\"M1971.5 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1981.5 190h0\"></path>\n<path d=\"M2052.5 190h0\"></path>\n<rect x=\"1981.5\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"2017\" y=\"194\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2052.5 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M1736 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1746 220h0\"></path>\n<path d=\"M1993 220h59.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 220h0\"></path>\n<path d=\"M1902 220h0\"></path>\n<rect x=\"1746\" y=\"209\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1824\" y=\"224\">\"CODE PAGE INTO\"</text>\n</g>\n<path d=\"M1902 220h10\"></path>\n<path d=\"M1912 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1922 220h0\"></path>\n<path d=\"M1993 220h0\"></path>\n<rect x=\"1922\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1957.5\" y=\"224\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2052.5 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M1736 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1746 250h0\"></path>\n<path d=\"M1967.5 250h85\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 250h0\"></path>\n<path d=\"M1876.5 250h0\"></path>\n<rect x=\"1746\" y=\"239\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1811.25\" y=\"254\">\"ENDIAN INTO\"</text>\n</g>\n<path d=\"M1876.5 250h10\"></path>\n<path d=\"M1886.5 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1896.5 250h0\"></path>\n<path d=\"M1967.5 250h0\"></path>\n<rect x=\"1896.5\" y=\"239\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1932\" y=\"254\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M2052.5 250a10 10 0 0 0 10 -10v-200\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1736 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1721\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 2062.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 2069.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M2082.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M2102.5 40h10\"></path>\n<path d=\"M 2112.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "import.ts"
+    },
+    {
+      "name": "ImportDynpro",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"IMPORT DYNPRO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"869.5\" height=\"62\" viewBox=\"0 0 869.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"IMPORT DYNPRO\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<path d=\"M300.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<rect x=\"310.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"346\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M381.5 31h10\"></path>\n<path d=\"M391.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M401.5 31h0\"></path>\n<path d=\"M472.5 31h0\"></path>\n<rect x=\"401.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"437\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M472.5 31h10\"></path>\n<path d=\"M482.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492.5 31h0\"></path>\n<path d=\"M563.5 31h0\"></path>\n<rect x=\"492.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"528\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M563.5 31h10\"></path>\n<path d=\"M573.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M583.5 31h0\"></path>\n<path d=\"M654.5 31h0\"></path>\n<rect x=\"583.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"619\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M654.5 31h10\"></path>\n<path d=\"M664.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M674.5 31h0\"></path>\n<path d=\"M728.5 31h0\"></path>\n<rect x=\"674.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.5\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M728.5 31h10\"></path>\n<path d=\"M738.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M748.5 31h0\"></path>\n<path d=\"M819.5 31h0\"></path>\n<rect x=\"748.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"784\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M819.5 31h10\"></path>\n<path d=\"M 829.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "import_dynpro.ts"
+    },
+    {
+      "name": "ImportNametab",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"IMPORT NAMETAB\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"696\" height=\"62\" viewBox=\"0 0 696 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M646 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M646 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"35\">\"IMPORT NAMETAB\"</text>\n</g>\n<path d=\"M299 31h10\"></path>\n<path d=\"M309 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M319 31h0\"></path>\n<path d=\"M390 31h0\"></path>\n<rect x=\"319\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"354.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M390 31h10\"></path>\n<path d=\"M400 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M410 31h0\"></path>\n<path d=\"M481 31h0\"></path>\n<rect x=\"410\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"445.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M481 31h10\"></path>\n<path d=\"M491 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M501 31h0\"></path>\n<path d=\"M555 31h0\"></path>\n<rect x=\"501\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"528\" y=\"35\">\"ID\"</text>\n</g>\n<path d=\"M555 31h10\"></path>\n<path d=\"M565 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M575 31h0\"></path>\n<path d=\"M646 31h0\"></path>\n<rect x=\"575\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"610.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M646 31h10\"></path>\n<path d=\"M 656 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "import_nametab.ts"
+    },
+    {
+      "name": "Include",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.NonTerminal('IncludeName', {href: '#/expression/IncludeName'}),Railroad.Optional(Railroad.Terminal('\"IF FOUND\"')))).toString();",
+      "using": [
+        "expression/IncludeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"485\" height=\"71\" viewBox=\"0 0 485 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M435 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"INCLUDE\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<path d=\"M156.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 40h0\"></path>\n<path d=\"M280 40h0\"></path>\n<rect x=\"166.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/IncludeName\"><text x=\"223.25\" y=\"44\">IncludeName</text>\n</a>\n</g>\n<path d=\"M280 40h10\"></path>\n<g>\n<path d=\"M290 40h0\"></path>\n<path d=\"M435 40h0\"></path>\n<path d=\"M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M310 20h105\"></path>\n</g>\n<path d=\"M415 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M290 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M310 40h0\"></path>\n<path d=\"M415 40h0\"></path>\n<rect x=\"310\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.5\" y=\"44\">\"IF FOUND\"</text>\n</g>\n<path d=\"M415 40h20\"></path>\n</g>\n</g>\n<path d=\"M435 40h10\"></path>\n<path d=\"M 445 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Case",
+        "structure/ClassImplementation",
+        "structure/Constants",
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents",
+        "structure/Types"
+      ],
+      "filename": "include.ts"
+    },
+    {
+      "name": "IncludeType",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.Choice(0, Railroad.Terminal('\"TYPE\"'),Railroad.Terminal('\"STRUCTURE\"')),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RENAMING WITH SUFFIX\"'),Railroad.NonTerminal('ComponentName', {href: '#/expression/ComponentName'}))))).toString();",
+      "using": [
+        "expression/ComponentName",
+        "expression/Field",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1042\" height=\"101\" viewBox=\"0 0 1042 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M992 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"INCLUDE\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M310 40h0\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M247.5 40h42.5\"></path>\n<rect x=\"176.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M290 40h20\"></path>\n<path d=\"M156.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M176.5 70h0\"></path>\n<path d=\"M290 70h0\"></path>\n<rect x=\"176.5\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.25\" y=\"74\">\"STRUCTURE\"</text>\n</g>\n<path d=\"M290 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M310 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 40h0\"></path>\n<path d=\"M408 40h0\"></path>\n<rect x=\"320\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"364\" y=\"44\">TypeName</text>\n</a>\n</g>\n<path d=\"M408 40h10\"></path>\n<g>\n<path d=\"M418 40h0\"></path>\n<path d=\"M594.5 40h0\"></path>\n<path d=\"M418 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M438 20h136.5\"></path>\n</g>\n<path d=\"M574.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M418 40h20\"></path>\n<g>\n<path d=\"M438 40h0\"></path>\n<path d=\"M574.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M438 40h0\"></path>\n<path d=\"M492 40h0\"></path>\n<rect x=\"438\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"465\" y=\"44\">\"AS\"</text>\n</g>\n<path d=\"M492 40h10\"></path>\n<path d=\"M502 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M512 40h0\"></path>\n<path d=\"M574.5 40h0\"></path>\n<rect x=\"512\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"543.25\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M574.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M594.5 40h0\"></path>\n<path d=\"M992 40h0\"></path>\n<path d=\"M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M614.5 20h357.5\"></path>\n</g>\n<path d=\"M972 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M594.5 40h20\"></path>\n<g>\n<path d=\"M614.5 40h0\"></path>\n<path d=\"M972 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M614.5 40h0\"></path>\n<path d=\"M821.5 40h0\"></path>\n<rect x=\"614.5\" y=\"29\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"718\" y=\"44\">\"RENAMING WITH SUFFIX\"</text>\n</g>\n<path d=\"M821.5 40h10\"></path>\n<path d=\"M831.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M841.5 40h0\"></path>\n<path d=\"M972 40h0\"></path>\n<rect x=\"841.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentName\"><text x=\"906.75\" y=\"44\">ComponentName</text>\n</a>\n</g>\n</g>\n<path d=\"M972 40h20\"></path>\n</g>\n</g>\n<path d=\"M992 40h10\"></path>\n<path d=\"M 1002 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Statics",
+        "structure/Types"
+      ],
+      "filename": "include_type.ts"
+    },
+    {
+      "name": "Infotypes",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"INFOTYPES\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"NAME\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"854\" height=\"71\" viewBox=\"0 0 854 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M804 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M804 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M256.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"199.75\" y=\"44\">\"INFOTYPES\"</text>\n</g>\n<path d=\"M256.5 40h10\"></path>\n<path d=\"M266.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M276.5 40h0\"></path>\n<path d=\"M364.5 40h0\"></path>\n<rect x=\"276.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"320.5\" y=\"44\">Constant</text>\n</a>\n</g>\n<path d=\"M364.5 40h10\"></path>\n<g>\n<path d=\"M374.5 40h0\"></path>\n<path d=\"M610.5 40h0\"></path>\n<path d=\"M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M394.5 20h196\"></path>\n</g>\n<path d=\"M590.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M374.5 40h20\"></path>\n<g>\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M590.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<rect x=\"394.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"438.5\" y=\"44\">\"OCCURS\"</text>\n</g>\n<path d=\"M482.5 40h10\"></path>\n<path d=\"M492.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M502.5 40h0\"></path>\n<path d=\"M590.5 40h0\"></path>\n<rect x=\"502.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"546.5\" y=\"44\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M590.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M610.5 40h0\"></path>\n<path d=\"M804 40h0\"></path>\n<path d=\"M610.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M630.5 20h153.5\"></path>\n</g>\n<path d=\"M784 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M610.5 40h20\"></path>\n<g>\n<path d=\"M630.5 40h0\"></path>\n<path d=\"M784 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M630.5 40h0\"></path>\n<path d=\"M701.5 40h0\"></path>\n<rect x=\"630.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"666\" y=\"44\">\"NAME\"</text>\n</g>\n<path d=\"M701.5 40h10\"></path>\n<path d=\"M711.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M721.5 40h0\"></path>\n<path d=\"M784 40h0\"></path>\n<rect x=\"721.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"752.75\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M784 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M804 40h10\"></path>\n<path d=\"M 814 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "infotypes.ts"
+    },
+    {
+      "name": "Initialization",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"INITIALIZATION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"349\" height=\"62\" viewBox=\"0 0 349 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M299 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"35\">\"INITIALIZATION\"</text>\n</g>\n</g>\n<path d=\"M299 31h10\"></path>\n<path d=\"M 309 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "initialization.ts"
+    },
+    {
+      "name": "InsertDatabase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INSERT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Terminal('\"FROM\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.Choice(0, Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}),Railroad.Sequence(Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.Terminal('!\" ) \"'))),Railroad.Optional(Railroad.Terminal('\"ACCEPTING DUPLICATE KEYS\"'))),Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'}),Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})))),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Terminal('\"VALUES\"'),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'}))))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/DatabaseTable",
+        "expression/SQLClient",
+        "expression/SQLSource",
+        "expression/Select"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1592.5\" height=\"208\" viewBox=\"0 0 1592.5 208\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1542.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M138 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"52\">\"INSERT\"</text>\n</g>\n<path d=\"M138 48h10\"></path>\n<g>\n<path d=\"M148 48h0\"></path>\n<path d=\"M1542.5 48h0\"></path>\n<path d=\"M148 48h20\"></path>\n<g>\n<path d=\"M168 48h0\"></path>\n<path d=\"M1522.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 48h0\"></path>\n<path d=\"M298.5 48h0\"></path>\n<rect x=\"168\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"233.25\" y=\"52\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M298.5 48h10\"></path>\n<g>\n<path d=\"M308.5 48h0\"></path>\n<path d=\"M1522.5 48h0\"></path>\n<path d=\"M308.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M328.5 20h1174\"></path>\n</g>\n<path d=\"M1502.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M308.5 48h20\"></path>\n<g>\n<path d=\"M328.5 48h0\"></path>\n<path d=\"M1502.5 48h0\"></path>\n<path d=\"M328.5 48h20\"></path>\n<g>\n<path d=\"M348.5 48h0\"></path>\n<path d=\"M1482.5 48h0\"></path>\n<g>\n<path d=\"M348.5 48h0\"></path>\n<path d=\"M485 48h0\"></path>\n<path d=\"M348.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M368.5 28h96.5\"></path>\n</g>\n<path d=\"M465 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M348.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M368.5 48h0\"></path>\n<path d=\"M465 48h0\"></path>\n<rect x=\"368.5\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"416.75\" y=\"52\">SQLClient</text>\n</a>\n</g>\n<path d=\"M465 48h20\"></path>\n</g>\n<g>\n<path d=\"M485 48h0\"></path>\n<path d=\"M698 48h0\"></path>\n<path d=\"M485 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M505 28h173\"></path>\n</g>\n<path d=\"M678 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M485 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M505 48h0\"></path>\n<path d=\"M678 48h0\"></path>\n<rect x=\"505\" y=\"37\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"591.5\" y=\"52\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M678 48h20\"></path>\n</g>\n<path d=\"M698 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M708 48h0\"></path>\n<path d=\"M779 48h0\"></path>\n<rect x=\"708\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"743.5\" y=\"52\">\"FROM\"</text>\n</g>\n<path d=\"M779 48h10\"></path>\n<g>\n<path d=\"M789 48h0\"></path>\n<path d=\"M908.5 48h0\"></path>\n<path d=\"M789 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M809 28h79.5\"></path>\n</g>\n<path d=\"M888.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M789 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M809 48h0\"></path>\n<path d=\"M888.5 48h0\"></path>\n<rect x=\"809\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"848.75\" y=\"52\">\"TABLE\"</text>\n</g>\n<path d=\"M888.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M908.5 48h0\"></path>\n<path d=\"M1201.5 48h0\"></path>\n<path d=\"M908.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M928.5 48h0\"></path>\n<path d=\"M1025 48h156.5\"></path>\n<rect x=\"928.5\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"976.75\" y=\"52\">SQLSource</text>\n</a>\n</g>\n<path d=\"M1181.5 48h20\"></path>\n<path d=\"M908.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M928.5 78h0\"></path>\n<path d=\"M1181.5 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M928.5 78h0\"></path>\n<path d=\"M999.5 78h0\"></path>\n<rect x=\"928.5\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"964\" y=\"82\">!\" ( \"</text>\n</g>\n<path d=\"M999.5 78h10\"></path>\n<path d=\"M1009.5 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1019.5 78h0\"></path>\n<path d=\"M1090.5 78h0\"></path>\n<rect x=\"1019.5\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"1055\" y=\"82\">Select</text>\n</a>\n</g>\n<path d=\"M1090.5 78h10\"></path>\n<path d=\"M1100.5 78h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1110.5 78h0\"></path>\n<path d=\"M1181.5 78h0\"></path>\n<rect x=\"1110.5\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1146\" y=\"82\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M1181.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1201.5 48h0\"></path>\n<path d=\"M1482.5 48h0\"></path>\n<path d=\"M1201.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1221.5 28h241\"></path>\n</g>\n<path d=\"M1462.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1201.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1221.5 48h0\"></path>\n<path d=\"M1462.5 48h0\"></path>\n<rect x=\"1221.5\" y=\"37\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1342\" y=\"52\">\"ACCEPTING DUPLICATE KEYS\"</text>\n</g>\n<path d=\"M1462.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1482.5 48h20\"></path>\n<path d=\"M328.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348.5 108h0\"></path>\n<path d=\"M445 108h1037.5\"></path>\n<rect x=\"348.5\" y=\"97\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"396.75\" y=\"112\">SQLClient</text>\n</a>\n</g>\n<path d=\"M1482.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M328.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348.5 138h0\"></path>\n<path d=\"M521.5 138h961\"></path>\n<rect x=\"348.5\" y=\"127\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"435\" y=\"142\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M1482.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1502.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1522.5 48h20\"></path>\n<path d=\"M148 48a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 177h0\"></path>\n<path d=\"M963.5 177h559\"></path>\n<g class=\"terminal\">\n<path d=\"M168 177h0\"></path>\n<path d=\"M239 177h0\"></path>\n<rect x=\"168\" y=\"166\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.5\" y=\"181\">\"INTO\"</text>\n</g>\n<path d=\"M239 177h10\"></path>\n<path d=\"M249 177h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M259 177h0\"></path>\n<path d=\"M389.5 177h0\"></path>\n<rect x=\"259\" y=\"166\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"324.25\" y=\"181\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M389.5 177h10\"></path>\n<g>\n<path d=\"M399.5 177h0\"></path>\n<path d=\"M536 177h0\"></path>\n<path d=\"M399.5 177a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M419.5 157h96.5\"></path>\n</g>\n<path d=\"M516 157a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M399.5 177h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M419.5 177h0\"></path>\n<path d=\"M516 177h0\"></path>\n<rect x=\"419.5\" y=\"166\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"467.75\" y=\"181\">SQLClient</text>\n</a>\n</g>\n<path d=\"M516 177h20\"></path>\n</g>\n<g>\n<path d=\"M536 177h0\"></path>\n<path d=\"M749 177h0\"></path>\n<path d=\"M536 177a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M556 157h173\"></path>\n</g>\n<path d=\"M729 157a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M536 177h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M556 177h0\"></path>\n<path d=\"M729 177h0\"></path>\n<rect x=\"556\" y=\"166\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"642.5\" y=\"181\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M729 177h20\"></path>\n</g>\n<path d=\"M749 177h10\"></path>\n<g class=\"terminal\">\n<path d=\"M759 177h0\"></path>\n<path d=\"M847 177h0\"></path>\n<rect x=\"759\" y=\"166\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"803\" y=\"181\">\"VALUES\"</text>\n</g>\n<path d=\"M847 177h10\"></path>\n<path d=\"M857 177h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M867 177h0\"></path>\n<path d=\"M963.5 177h0\"></path>\n<rect x=\"867\" y=\"166\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"915.25\" y=\"181\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1522.5 177a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1542.5 48h10\"></path>\n<path d=\"M 1552.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "insert_database.ts"
+    },
+    {
+      "name": "InsertFieldGroup",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INSERT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.OneOrMore(Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'}))),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/SimpleSource1",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"587\" height=\"110\" viewBox=\"0 0 587 110\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"INSERT\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<g>\n<path d=\"M148 31h0\"></path>\n<path d=\"M365 31h0\"></path>\n<path d=\"M148 31h20\"></path>\n<g>\n<path d=\"M168 31h0\"></path>\n<path d=\"M345 31h0\"></path>\n<g>\n<path d=\"M168 31h0\"></path>\n<path d=\"M234 31h0\"></path>\n<text x=\"201\" y=\"36\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M234 31h10\"></path>\n<path d=\"M244 31h10\"></path>\n<g>\n<path d=\"M254 31h0\"></path>\n<path d=\"M345 31h0\"></path>\n<path d=\"M254 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M264 31h0\"></path>\n<path d=\"M335 31h0\"></path>\n<rect x=\"264\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"299.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M335 31h10\"></path>\n<path d=\"M264 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M264 51h71\"></path>\n</g>\n<path d=\"M335 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M345 31h20\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 70h0\"></path>\n<path d=\"M318.5 70h26.5\"></path>\n<path d=\"M168 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M178 70h0\"></path>\n<path d=\"M308.5 70h0\"></path>\n<rect x=\"178\" y=\"59\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"243.25\" y=\"74\">SimpleSource1</text>\n</a>\n</g>\n<path d=\"M308.5 70h10\"></path>\n<path d=\"M178 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 90h130.5\"></path>\n</g>\n<path d=\"M308.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M345 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M365 31h10\"></path>\n<g>\n<path d=\"M375 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M375 31h0\"></path>\n<path d=\"M446 31h0\"></path>\n<rect x=\"375\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"410.5\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M446 31h10\"></path>\n<path d=\"M456 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M466 31h0\"></path>\n<path d=\"M537 31h0\"></path>\n<rect x=\"466\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"501.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M537 31h10\"></path>\n<path d=\"M 547 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "insert_field_group.ts"
+    },
+    {
+      "name": "InsertInternal",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INSERT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"INITIAL LINE\"'),Railroad.Sequence(Railroad.Terminal('\"LINES OF\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource4', {href: '#/expression/SimpleSource4'}),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INTO TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"REFERENCE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}))))),Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"REFERENCE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'})))))),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"REFERENCE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'}))))))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FSTarget",
+        "expression/SimpleSource4",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1433.5\" height=\"320\" viewBox=\"0 0 1433.5 320\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1383.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"INSERT\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<g>\n<path d=\"M148 31h0\"></path>\n<path d=\"M1383.5 31h0\"></path>\n<path d=\"M148 31h20\"></path>\n<g>\n<path d=\"M168 31h0\"></path>\n<path d=\"M338.5 31h1025\"></path>\n<g class=\"terminal\">\n<path d=\"M168 31h0\"></path>\n<path d=\"M247.5 31h0\"></path>\n<rect x=\"168\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"35\">\"TABLE\"</text>\n</g>\n<path d=\"M247.5 31h10\"></path>\n<path d=\"M257.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M267.5 31h0\"></path>\n<path d=\"M338.5 31h0\"></path>\n<rect x=\"267.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"303\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1363.5 31h20\"></path>\n<path d=\"M148 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M168 70h0\"></path>\n<path d=\"M1363.5 70h0\"></path>\n<g>\n<path d=\"M168 70h0\"></path>\n<path d=\"M754.5 70h0\"></path>\n<path d=\"M168 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M188 70h0\"></path>\n<path d=\"M327 70h407.5\"></path>\n<rect x=\"188\" y=\"59\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.5\" y=\"74\">\"INITIAL LINE\"</text>\n</g>\n<path d=\"M734.5 70h20\"></path>\n<path d=\"M168 70a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M188 117h0\"></path>\n<path d=\"M734.5 117h0\"></path>\n<g class=\"terminal\">\n<path d=\"M188 117h0\"></path>\n<path d=\"M293 117h0\"></path>\n<rect x=\"188\" y=\"106\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"121\">\"LINES OF\"</text>\n</g>\n<path d=\"M293 117h10\"></path>\n<g>\n<path d=\"M303 117h0\"></path>\n<path d=\"M422.5 117h0\"></path>\n<path d=\"M303 117h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M323 117h0\"></path>\n<path d=\"M394 117h8.5\"></path>\n<rect x=\"323\" y=\"106\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"358.5\" y=\"121\">Source</text>\n</a>\n</g>\n<path d=\"M402.5 117h20\"></path>\n<path d=\"M303 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M323 147h0\"></path>\n<path d=\"M402.5 147h0\"></path>\n<rect x=\"323\" y=\"136\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"362.75\" y=\"151\">Dynamic</text>\n</a>\n</g>\n<path d=\"M402.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M422.5 117h0\"></path>\n<path d=\"M734.5 117h0\"></path>\n<path d=\"M422.5 117a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M442.5 89h272\"></path>\n</g>\n<path d=\"M714.5 89a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M422.5 117h20\"></path>\n<g>\n<path d=\"M442.5 117h0\"></path>\n<path d=\"M714.5 117h0\"></path>\n<path d=\"M442.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M462.5 97h232\"></path>\n</g>\n<path d=\"M694.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M442.5 117h20\"></path>\n<g>\n<path d=\"M462.5 117h0\"></path>\n<path d=\"M694.5 117h0\"></path>\n<path d=\"M492.5 117h10\"></path>\n<g>\n<path d=\"M502.5 117h0\"></path>\n<path d=\"M664.5 117h0\"></path>\n<g class=\"terminal\">\n<path d=\"M502.5 117h0\"></path>\n<path d=\"M573.5 117h0\"></path>\n<rect x=\"502.5\" y=\"106\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"538\" y=\"121\">\"FROM\"</text>\n</g>\n<path d=\"M573.5 117h10\"></path>\n<path d=\"M583.5 117h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M593.5 117h0\"></path>\n<path d=\"M664.5 117h0\"></path>\n<rect x=\"593.5\" y=\"106\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"629\" y=\"121\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 117h10\"></path>\n<path d=\"M492.5 117v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M502.5 147h0\"></path>\n<path d=\"M647.5 147h17\"></path>\n<g class=\"terminal\">\n<path d=\"M502.5 147h0\"></path>\n<path d=\"M556.5 147h0\"></path>\n<rect x=\"502.5\" y=\"136\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"529.5\" y=\"151\">\"TO\"</text>\n</g>\n<path d=\"M556.5 147h10\"></path>\n<path d=\"M566.5 147h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 147h0\"></path>\n<path d=\"M647.5 147h0\"></path>\n<rect x=\"576.5\" y=\"136\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"612\" y=\"151\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 147a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 492.5 107 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"477.5\" y=\"121\" class=\"diagram-text\">1+</text>\n<path d=\"M 674.5 107 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 681.5 115 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M694.5 117h20\"></path>\n</g>\n<path d=\"M714.5 117h20\"></path>\n</g>\n</g>\n<path d=\"M734.5 117a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10\"></path>\n<path d=\"M168 70a10 10 0 0 1 10 10v87a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M188 177h0\"></path>\n<path d=\"M385 177h349.5\"></path>\n<path d=\"M188 177h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M208 177h0\"></path>\n<path d=\"M338.5 177h26.5\"></path>\n<rect x=\"208\" y=\"166\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource4\"><text x=\"273.25\" y=\"181\">SimpleSource4</text>\n</a>\n</g>\n<path d=\"M365 177h20\"></path>\n<path d=\"M188 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M208 207h0\"></path>\n<path d=\"M365 207h0\"></path>\n<g>\n<path d=\"M208 207h0\"></path>\n<path d=\"M274 207h0\"></path>\n<text x=\"241\" y=\"212\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M274 207h10\"></path>\n<path d=\"M284 207h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294 207h0\"></path>\n<path d=\"M365 207h0\"></path>\n<rect x=\"294\" y=\"196\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329.5\" y=\"211\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M365 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M734.5 177a10 10 0 0 0 10 -10v-87a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M754.5 70h0\"></path>\n<path d=\"M1363.5 70h0\"></path>\n<path d=\"M754.5 70h20\"></path>\n<g>\n<path d=\"M774.5 70h0\"></path>\n<path d=\"M1324.5 70h19\"></path>\n<g class=\"terminal\">\n<path d=\"M774.5 70h0\"></path>\n<path d=\"M896.5 70h0\"></path>\n<rect x=\"774.5\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"835.5\" y=\"74\">\"INTO TABLE\"</text>\n</g>\n<path d=\"M896.5 70h10\"></path>\n<path d=\"M906.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M916.5 70h0\"></path>\n<path d=\"M987.5 70h0\"></path>\n<rect x=\"916.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"952\" y=\"74\">Target</text>\n</a>\n</g>\n<path d=\"M987.5 70h10\"></path>\n<g>\n<path d=\"M997.5 70h0\"></path>\n<path d=\"M1324.5 70h0\"></path>\n<path d=\"M997.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1017.5 50h287\"></path>\n</g>\n<path d=\"M1304.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M997.5 70h20\"></path>\n<g>\n<path d=\"M1017.5 70h0\"></path>\n<path d=\"M1304.5 70h0\"></path>\n<path d=\"M1017.5 70h20\"></path>\n<g>\n<path d=\"M1037.5 70h0\"></path>\n<path d=\"M1284.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1037.5 70h0\"></path>\n<path d=\"M1193.5 70h0\"></path>\n<rect x=\"1037.5\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1115.5\" y=\"74\">\"REFERENCE INTO\"</text>\n</g>\n<path d=\"M1193.5 70h10\"></path>\n<path d=\"M1203.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1213.5 70h0\"></path>\n<path d=\"M1284.5 70h0\"></path>\n<rect x=\"1213.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1249\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1284.5 70h20\"></path>\n<path d=\"M1017.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1037.5 100h0\"></path>\n<path d=\"M1259 100h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1037.5 100h0\"></path>\n<path d=\"M1151 100h0\"></path>\n<rect x=\"1037.5\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1094.25\" y=\"104\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M1151 100h10\"></path>\n<path d=\"M1161 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1171 100h0\"></path>\n<path d=\"M1259 100h0\"></path>\n<rect x=\"1171\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"1215\" y=\"104\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1284.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1304.5 70h20\"></path>\n</g>\n</g>\n<path d=\"M1343.5 70h20\"></path>\n<path d=\"M754.5 70a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M774.5 139h0\"></path>\n<path d=\"M1343.5 139h0\"></path>\n<g>\n<path d=\"M774.5 139h0\"></path>\n<path d=\"M936.5 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M774.5 139h0\"></path>\n<path d=\"M845.5 139h0\"></path>\n<rect x=\"774.5\" y=\"128\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"810\" y=\"143\">\"INTO\"</text>\n</g>\n<path d=\"M845.5 139h10\"></path>\n<path d=\"M855.5 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M865.5 139h0\"></path>\n<path d=\"M936.5 139h0\"></path>\n<rect x=\"865.5\" y=\"128\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"901\" y=\"143\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M936.5 139h10\"></path>\n<g>\n<path d=\"M946.5 139h0\"></path>\n<path d=\"M1343.5 139h0\"></path>\n<path d=\"M946.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M966.5 119h357\"></path>\n</g>\n<path d=\"M1323.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M946.5 139h20\"></path>\n<g>\n<path d=\"M966.5 139h0\"></path>\n<path d=\"M1323.5 139h0\"></path>\n<path d=\"M996.5 139h10\"></path>\n<g>\n<path d=\"M1006.5 139h0\"></path>\n<path d=\"M1177 139h116.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1006.5 139h0\"></path>\n<path d=\"M1086 139h0\"></path>\n<rect x=\"1006.5\" y=\"128\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1046.25\" y=\"143\">\"INDEX\"</text>\n</g>\n<path d=\"M1086 139h10\"></path>\n<path d=\"M1096 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1106 139h0\"></path>\n<path d=\"M1177 139h0\"></path>\n<rect x=\"1106\" y=\"128\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1141.5\" y=\"143\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1293.5 139h10\"></path>\n<path d=\"M996.5 139v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1006.5 169h0\"></path>\n<path d=\"M1293.5 169h0\"></path>\n<path d=\"M1006.5 169h20\"></path>\n<g>\n<path d=\"M1026.5 169h0\"></path>\n<path d=\"M1273.5 169h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1026.5 169h0\"></path>\n<path d=\"M1182.5 169h0\"></path>\n<rect x=\"1026.5\" y=\"158\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1104.5\" y=\"173\">\"REFERENCE INTO\"</text>\n</g>\n<path d=\"M1182.5 169h10\"></path>\n<path d=\"M1192.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1202.5 169h0\"></path>\n<path d=\"M1273.5 169h0\"></path>\n<rect x=\"1202.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1238\" y=\"173\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1273.5 169h20\"></path>\n<path d=\"M1006.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1026.5 199h0\"></path>\n<path d=\"M1248 199h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1026.5 199h0\"></path>\n<path d=\"M1140 199h0\"></path>\n<rect x=\"1026.5\" y=\"188\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1083.25\" y=\"203\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M1140 199h10\"></path>\n<path d=\"M1150 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1160 199h0\"></path>\n<path d=\"M1248 199h0\"></path>\n<rect x=\"1160\" y=\"188\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"1204\" y=\"203\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1273.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1293.5 169a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 996.5 129 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"981.5\" y=\"143\" class=\"diagram-text\">1+</text>\n<path d=\"M 1303.5 129 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1310.5 137 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1323.5 139h20\"></path>\n</g>\n</g>\n<path d=\"M1343.5 139a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M754.5 70a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M774.5 229h0\"></path>\n<path d=\"M1131.5 229h212\"></path>\n<path d=\"M804.5 229h10\"></path>\n<g>\n<path d=\"M814.5 229h0\"></path>\n<path d=\"M985 229h116.5\"></path>\n<g class=\"terminal\">\n<path d=\"M814.5 229h0\"></path>\n<path d=\"M894 229h0\"></path>\n<rect x=\"814.5\" y=\"218\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"854.25\" y=\"233\">\"INDEX\"</text>\n</g>\n<path d=\"M894 229h10\"></path>\n<path d=\"M904 229h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M914 229h0\"></path>\n<path d=\"M985 229h0\"></path>\n<rect x=\"914\" y=\"218\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"949.5\" y=\"233\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1101.5 229h10\"></path>\n<path d=\"M804.5 229v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M814.5 259h0\"></path>\n<path d=\"M1101.5 259h0\"></path>\n<path d=\"M814.5 259h20\"></path>\n<g>\n<path d=\"M834.5 259h0\"></path>\n<path d=\"M1081.5 259h0\"></path>\n<g class=\"terminal\">\n<path d=\"M834.5 259h0\"></path>\n<path d=\"M990.5 259h0\"></path>\n<rect x=\"834.5\" y=\"248\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"912.5\" y=\"263\">\"REFERENCE INTO\"</text>\n</g>\n<path d=\"M990.5 259h10\"></path>\n<path d=\"M1000.5 259h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1010.5 259h0\"></path>\n<path d=\"M1081.5 259h0\"></path>\n<rect x=\"1010.5\" y=\"248\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1046\" y=\"263\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1081.5 259h20\"></path>\n<path d=\"M814.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M834.5 289h0\"></path>\n<path d=\"M1056 289h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M834.5 289h0\"></path>\n<path d=\"M948 289h0\"></path>\n<rect x=\"834.5\" y=\"278\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"891.25\" y=\"293\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M948 289h10\"></path>\n<path d=\"M958 289h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M968 289h0\"></path>\n<path d=\"M1056 289h0\"></path>\n<rect x=\"968\" y=\"278\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"1012\" y=\"293\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1081.5 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1101.5 259a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 804.5 219 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"789.5\" y=\"233\" class=\"diagram-text\">1+</text>\n<path d=\"M 1111.5 219 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1118.5 227 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1343.5 229a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1363.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1383.5 31h10\"></path>\n<path d=\"M 1393.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "insert_internal.ts"
+    },
+    {
+      "name": "InsertReport",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"INSERT REPORT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"EXTENSION TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DIRECTORY ENTRY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"UNICODE ENABLING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"PROGRAM TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal('\"VERSION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"FIXED-POINT ARITHMETIC\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"KEEPING DIRECTORY ENTRY\"')))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1048.5\" height=\"281\" viewBox=\"0 0 1048.5 281\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M998.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M998.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"INSERT REPORT\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<path d=\"M300.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M381.5 40h0\"></path>\n<rect x=\"310.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M381.5 40h10\"></path>\n<path d=\"M391.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M401.5 40h0\"></path>\n<path d=\"M472.5 40h0\"></path>\n<rect x=\"401.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"437\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M472.5 40h10\"></path>\n<path d=\"M482.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492.5 40h0\"></path>\n<path d=\"M563.5 40h0\"></path>\n<rect x=\"492.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"528\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M563.5 40h10\"></path>\n<g>\n<path d=\"M573.5 40h0\"></path>\n<path d=\"M998.5 40h0\"></path>\n<path d=\"M573.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M593.5 20h385\"></path>\n</g>\n<path d=\"M978.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M573.5 40h20\"></path>\n<g>\n<path d=\"M593.5 40h0\"></path>\n<path d=\"M978.5 40h0\"></path>\n<path d=\"M623.5 40h10\"></path>\n<g>\n<path d=\"M633.5 40h0\"></path>\n<path d=\"M804 40h144.5\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 40h0\"></path>\n<path d=\"M713 40h0\"></path>\n<rect x=\"633.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"673.25\" y=\"44\">\"STATE\"</text>\n</g>\n<path d=\"M713 40h10\"></path>\n<path d=\"M723 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M733 40h0\"></path>\n<path d=\"M804 40h0\"></path>\n<rect x=\"733\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"768.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 40h10\"></path>\n<path d=\"M623.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 70h0\"></path>\n<path d=\"M880.5 70h68\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 70h0\"></path>\n<path d=\"M789.5 70h0\"></path>\n<rect x=\"633.5\" y=\"59\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"711.5\" y=\"74\">\"EXTENSION TYPE\"</text>\n</g>\n<path d=\"M789.5 70h10\"></path>\n<path d=\"M799.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M809.5 70h0\"></path>\n<path d=\"M880.5 70h0\"></path>\n<rect x=\"809.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"845\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M623.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 100h0\"></path>\n<path d=\"M889 100h59.5\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 100h0\"></path>\n<path d=\"M798 100h0\"></path>\n<rect x=\"633.5\" y=\"89\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"715.75\" y=\"104\">\"DIRECTORY ENTRY\"</text>\n</g>\n<path d=\"M798 100h10\"></path>\n<path d=\"M808 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M818 100h0\"></path>\n<path d=\"M889 100h0\"></path>\n<rect x=\"818\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"853.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M623.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 130h0\"></path>\n<path d=\"M897.5 130h51\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 130h0\"></path>\n<path d=\"M806.5 130h0\"></path>\n<rect x=\"633.5\" y=\"119\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"720\" y=\"134\">\"UNICODE ENABLING\"</text>\n</g>\n<path d=\"M806.5 130h10\"></path>\n<path d=\"M816.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M826.5 130h0\"></path>\n<path d=\"M897.5 130h0\"></path>\n<rect x=\"826.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"862\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M623.5 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 160h0\"></path>\n<path d=\"M863.5 160h85\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 160h0\"></path>\n<path d=\"M772.5 160h0\"></path>\n<rect x=\"633.5\" y=\"149\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"703\" y=\"164\">\"PROGRAM TYPE\"</text>\n</g>\n<path d=\"M772.5 160h10\"></path>\n<path d=\"M782.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M792.5 160h0\"></path>\n<path d=\"M863.5 160h0\"></path>\n<rect x=\"792.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"828\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M623.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 190h0\"></path>\n<path d=\"M879 190h69.5\"></path>\n<g>\n<path d=\"M633.5 190h0\"></path>\n<path d=\"M671.5 190h0\"></path>\n<text x=\"652.5\" y=\"195\" class=\"comment\">v750</text>\n</g>\n<path d=\"M671.5 190h10\"></path>\n<path d=\"M681.5 190h10\"></path>\n<g>\n<path d=\"M691.5 190h0\"></path>\n<path d=\"M879 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M691.5 190h0\"></path>\n<path d=\"M788 190h0\"></path>\n<rect x=\"691.5\" y=\"179\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"739.75\" y=\"194\">\"VERSION\"</text>\n</g>\n<path d=\"M788 190h10\"></path>\n<path d=\"M798 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M808 190h0\"></path>\n<path d=\"M879 190h0\"></path>\n<rect x=\"808\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"843.5\" y=\"194\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M948.5 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M623.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 220h0\"></path>\n<path d=\"M948.5 220h0\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 220h0\"></path>\n<path d=\"M857.5 220h0\"></path>\n<rect x=\"633.5\" y=\"209\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"745.5\" y=\"224\">\"FIXED-POINT ARITHMETIC\"</text>\n</g>\n<path d=\"M857.5 220h10\"></path>\n<path d=\"M867.5 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M877.5 220h0\"></path>\n<path d=\"M948.5 220h0\"></path>\n<rect x=\"877.5\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"913\" y=\"224\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M948.5 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M623.5 40v200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 250h0\"></path>\n<path d=\"M866 250h82.5\"></path>\n<rect x=\"633.5\" y=\"239\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"749.75\" y=\"254\">\"KEEPING DIRECTORY ENTRY\"</text>\n</g>\n<path d=\"M948.5 250a10 10 0 0 0 10 -10v-200\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 623.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"608.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 958.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 965.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M978.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M998.5 40h10\"></path>\n<path d=\"M 1008.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "insert_report.ts"
+    },
+    {
+      "name": "InsertTextpool",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"INSERT TEXTPOOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1087\" height=\"71\" viewBox=\"0 0 1087 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1037 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1037 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"INSERT TEXTPOOL\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M398.5 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 40h10\"></path>\n<path d=\"M408.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M418.5 40h0\"></path>\n<path d=\"M489.5 40h0\"></path>\n<rect x=\"418.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"454\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M489.5 40h10\"></path>\n<path d=\"M499.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M509.5 40h0\"></path>\n<path d=\"M580.5 40h0\"></path>\n<rect x=\"509.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"545\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M580.5 40h10\"></path>\n<g>\n<path d=\"M590.5 40h0\"></path>\n<path d=\"M826.5 40h0\"></path>\n<path d=\"M590.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M610.5 20h196\"></path>\n</g>\n<path d=\"M806.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M590.5 40h20\"></path>\n<g>\n<path d=\"M610.5 40h0\"></path>\n<path d=\"M806.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M610.5 40h0\"></path>\n<path d=\"M715.5 40h0\"></path>\n<rect x=\"610.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"663\" y=\"44\">\"LANGUAGE\"</text>\n</g>\n<path d=\"M715.5 40h10\"></path>\n<path d=\"M725.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M735.5 40h0\"></path>\n<path d=\"M806.5 40h0\"></path>\n<rect x=\"735.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"771\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M806.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M826.5 40h0\"></path>\n<path d=\"M1037 40h0\"></path>\n<path d=\"M826.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M846.5 20h170.5\"></path>\n</g>\n<path d=\"M1017 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M826.5 40h20\"></path>\n<g>\n<path d=\"M846.5 40h0\"></path>\n<path d=\"M1017 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M846.5 40h0\"></path>\n<path d=\"M926 40h0\"></path>\n<rect x=\"846.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"886.25\" y=\"44\">\"STATE\"</text>\n</g>\n<path d=\"M926 40h10\"></path>\n<path d=\"M936 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M946 40h0\"></path>\n<path d=\"M1017 40h0\"></path>\n<rect x=\"946\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"981.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1017 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1037 40h10\"></path>\n<path d=\"M 1047 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "insert_textpool.ts"
+    },
+    {
+      "name": "Interface",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INTERFACE\"'),Railroad.NonTerminal('InterfaceName', {href: '#/expression/InterfaceName'}),Railroad.Optional(Railroad.NonTerminal('ClassGlobal', {href: '#/expression/ClassGlobal'})))).toString();",
+      "using": [
+        "expression/ClassGlobal",
+        "expression/InterfaceName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"527.5\" height=\"71\" viewBox=\"0 0 527.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M477.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"44\">\"INTERFACE\"</text>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<path d=\"M173.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M183.5 40h0\"></path>\n<path d=\"M314 40h0\"></path>\n<rect x=\"183.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InterfaceName\"><text x=\"248.75\" y=\"44\">InterfaceName</text>\n</a>\n</g>\n<path d=\"M314 40h10\"></path>\n<g>\n<path d=\"M324 40h0\"></path>\n<path d=\"M477.5 40h0\"></path>\n<path d=\"M324 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344 20h113.5\"></path>\n</g>\n<path d=\"M457.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344 40h0\"></path>\n<path d=\"M457.5 40h0\"></path>\n<rect x=\"344\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassGlobal\"><text x=\"400.75\" y=\"44\">ClassGlobal</text>\n</a>\n</g>\n<path d=\"M457.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M477.5 40h10\"></path>\n<path d=\"M 487.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Interface"
+      ],
+      "filename": "interface.ts"
+    },
+    {
+      "name": "InterfaceDef",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INTERFACES\"'),Railroad.NonTerminal('InterfaceName', {href: '#/expression/InterfaceName'}),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('AbstractMethods', {href: '#/expression/AbstractMethods'}),Railroad.NonTerminal('FinalMethods', {href: '#/expression/FinalMethods'}),Railroad.Terminal('\"ALL METHODS ABSTRACT\"'),Railroad.Terminal('\"ALL METHODS FINAL\"'),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.Terminal('\"PARTIALLY IMPLEMENTED\"')))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DATA VALUES\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('AttributeName', {href: '#/expression/AttributeName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/AbstractMethods",
+        "expression/AttributeName",
+        "expression/FinalMethods",
+        "expression/InterfaceName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1261.5\" height=\"191\" viewBox=\"0 0 1261.5 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1211.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">\"INTERFACES\"</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<path d=\"M182 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M192 40h0\"></path>\n<path d=\"M322.5 40h0\"></path>\n<rect x=\"192\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InterfaceName\"><text x=\"257.25\" y=\"44\">InterfaceName</text>\n</a>\n</g>\n<path d=\"M322.5 40h10\"></path>\n<g>\n<path d=\"M332.5 40h0\"></path>\n<path d=\"M714 40h0\"></path>\n<path d=\"M332.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M352.5 20h341.5\"></path>\n</g>\n<path d=\"M694 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M332.5 40h20\"></path>\n<g>\n<path d=\"M352.5 40h0\"></path>\n<path d=\"M694 40h0\"></path>\n<path d=\"M352.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M372.5 40h0\"></path>\n<path d=\"M520 40h154\"></path>\n<rect x=\"372.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AbstractMethods\"><text x=\"446.25\" y=\"44\">AbstractMethods</text>\n</a>\n</g>\n<path d=\"M674 40h20\"></path>\n<path d=\"M352.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M372.5 70h0\"></path>\n<path d=\"M494.5 70h179.5\"></path>\n<rect x=\"372.5\" y=\"59\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FinalMethods\"><text x=\"433.5\" y=\"74\">FinalMethods</text>\n</a>\n</g>\n<path d=\"M674 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M352.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M372.5 100h0\"></path>\n<path d=\"M579.5 100h94.5\"></path>\n<rect x=\"372.5\" y=\"89\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"476\" y=\"104\">\"ALL METHODS ABSTRACT\"</text>\n</g>\n<path d=\"M674 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M352.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M372.5 130h0\"></path>\n<path d=\"M554 130h120\"></path>\n<rect x=\"372.5\" y=\"119\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"463.25\" y=\"134\">\"ALL METHODS FINAL\"</text>\n</g>\n<path d=\"M674 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M352.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M372.5 160h0\"></path>\n<path d=\"M674 160h0\"></path>\n<g>\n<path d=\"M372.5 160h0\"></path>\n<path d=\"M438.5 160h0\"></path>\n<text x=\"405.5\" y=\"165\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M438.5 160h10\"></path>\n<path d=\"M448.5 160h10\"></path>\n<g class=\"terminal\">\n<path d=\"M458.5 160h0\"></path>\n<path d=\"M674 160h0\"></path>\n<rect x=\"458.5\" y=\"149\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"566.25\" y=\"164\">\"PARTIALLY IMPLEMENTED\"</text>\n</g>\n</g>\n<path d=\"M674 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M694 40h20\"></path>\n</g>\n<g>\n<path d=\"M714 40h0\"></path>\n<path d=\"M1211.5 40h0\"></path>\n<path d=\"M714 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M734 20h457.5\"></path>\n</g>\n<path d=\"M1191.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M714 40h20\"></path>\n<g>\n<path d=\"M734 40h0\"></path>\n<path d=\"M1191.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M734 40h0\"></path>\n<path d=\"M864.5 40h0\"></path>\n<rect x=\"734\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"799.25\" y=\"44\">\"DATA VALUES\"</text>\n</g>\n<path d=\"M864.5 40h10\"></path>\n<path d=\"M874.5 40h10\"></path>\n<g>\n<path d=\"M884.5 40h0\"></path>\n<path d=\"M1191.5 40h0\"></path>\n<path d=\"M884.5 40h10\"></path>\n<g>\n<path d=\"M894.5 40h0\"></path>\n<path d=\"M1181.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M894.5 40h0\"></path>\n<path d=\"M1025 40h0\"></path>\n<rect x=\"894.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AttributeName\"><text x=\"959.75\" y=\"44\">AttributeName</text>\n</a>\n</g>\n<path d=\"M1025 40h10\"></path>\n<path d=\"M1035 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1045 40h0\"></path>\n<path d=\"M1090.5 40h0\"></path>\n<rect x=\"1045\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1067.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M1090.5 40h10\"></path>\n<path d=\"M1100.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1110.5 40h0\"></path>\n<path d=\"M1181.5 40h0\"></path>\n<rect x=\"1110.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1146\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1181.5 40h10\"></path>\n<path d=\"M894.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M894.5 60h287\"></path>\n</g>\n<path d=\"M1181.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1191.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1211.5 40h10\"></path>\n<path d=\"M 1221.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/SectionContents"
+      ],
+      "filename": "interface_def.ts"
+    },
+    {
+      "name": "InterfaceDeferred",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INTERFACE\"'),Railroad.NonTerminal('InterfaceName', {href: '#/expression/InterfaceName'}),Railroad.Terminal('\"DEFERRED\"'),Railroad.Optional(Railroad.Terminal('\"PUBLIC\"')))).toString();",
+      "using": [
+        "expression/InterfaceName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"627\" height=\"71\" viewBox=\"0 0 627 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M577 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"44\">\"INTERFACE\"</text>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<path d=\"M173.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M183.5 40h0\"></path>\n<path d=\"M314 40h0\"></path>\n<rect x=\"183.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InterfaceName\"><text x=\"248.75\" y=\"44\">InterfaceName</text>\n</a>\n</g>\n<path d=\"M314 40h10\"></path>\n<path d=\"M324 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M334 40h0\"></path>\n<path d=\"M439 40h0\"></path>\n<rect x=\"334\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"386.5\" y=\"44\">\"DEFERRED\"</text>\n</g>\n<path d=\"M439 40h10\"></path>\n<g>\n<path d=\"M449 40h0\"></path>\n<path d=\"M577 40h0\"></path>\n<path d=\"M449 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M469 20h88\"></path>\n</g>\n<path d=\"M557 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M449 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M469 40h0\"></path>\n<path d=\"M557 40h0\"></path>\n<rect x=\"469\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"513\" y=\"44\">\"PUBLIC\"</text>\n</g>\n<path d=\"M557 40h20\"></path>\n</g>\n</g>\n<path d=\"M577 40h10\"></path>\n<path d=\"M 587 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "interface_deferred.ts"
+    },
+    {
+      "name": "InterfaceLoad",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"INTERFACE\"'),Railroad.NonTerminal('InterfaceName', {href: '#/expression/InterfaceName'}),Railroad.Terminal('\"LOAD\"'))).toString();",
+      "using": [
+        "expression/InterfaceName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"455\" height=\"62\" viewBox=\"0 0 455 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M405 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"INTERFACE\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M314 31h0\"></path>\n<rect x=\"183.5\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InterfaceName\"><text x=\"248.75\" y=\"35\">InterfaceName</text>\n</a>\n</g>\n<path d=\"M314 31h10\"></path>\n<path d=\"M324 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M334 31h0\"></path>\n<path d=\"M405 31h0\"></path>\n<rect x=\"334\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369.5\" y=\"35\">\"LOAD\"</text>\n</g>\n</g>\n<path d=\"M405 31h10\"></path>\n<path d=\"M 415 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/InterfaceGlobal",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "interface_load.ts"
+    },
+    {
+      "name": "Leave",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"LEAVE\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"TO CURRENT TRANSACTION\"'),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"TO\"')),Railroad.Terminal('\"LIST-PROCESSING\"'),Railroad.Optional(Railroad.Sequence(Railroad.NonTerminal('AndReturn', {href: '#/expression/AndReturn'}),Railroad.Terminal('\"TO SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Terminal('\"LIST-PROCESSING\"'),Railroad.Terminal('\"SCREEN\"'),Railroad.Sequence(Railroad.Terminal('\"TO TRANSACTION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"AND SKIP FIRST SCREEN\"'))),Railroad.Terminal('\"PROGRAM\"'),Railroad.Sequence(Railroad.Terminal('\"TO SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/AndReturn",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1002\" height=\"269\" viewBox=\"0 0 1002 269\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M222.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"44\">\"LEAVE\"</text>\n</g>\n<path d=\"M222.5 40h10\"></path>\n<g>\n<path d=\"M232.5 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<path d=\"M232.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M252.5 20h679.5\"></path>\n</g>\n<path d=\"M932 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M232.5 40h20\"></path>\n<g>\n<path d=\"M252.5 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<path d=\"M252.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 40h0\"></path>\n<path d=\"M496.5 40h415.5\"></path>\n<rect x=\"272.5\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"384.5\" y=\"44\">\"TO CURRENT TRANSACTION\"</text>\n</g>\n<path d=\"M912 40h20\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M272.5 79h0\"></path>\n<path d=\"M912 79h0\"></path>\n<g>\n<path d=\"M272.5 79h0\"></path>\n<path d=\"M366.5 79h0\"></path>\n<path d=\"M272.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M292.5 59h54\"></path>\n</g>\n<path d=\"M346.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M272.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M292.5 79h0\"></path>\n<path d=\"M346.5 79h0\"></path>\n<rect x=\"292.5\" y=\"68\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"319.5\" y=\"83\">\"TO\"</text>\n</g>\n<path d=\"M346.5 79h20\"></path>\n</g>\n<path d=\"M366.5 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M376.5 79h0\"></path>\n<path d=\"M541 79h0\"></path>\n<rect x=\"376.5\" y=\"68\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458.75\" y=\"83\">\"LIST-PROCESSING\"</text>\n</g>\n<path d=\"M541 79h10\"></path>\n<g>\n<path d=\"M551 79h0\"></path>\n<path d=\"M912 79h0\"></path>\n<path d=\"M551 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M571 59h321\"></path>\n</g>\n<path d=\"M892 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M551 79h20\"></path>\n<g>\n<path d=\"M571 79h0\"></path>\n<path d=\"M892 79h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M571 79h0\"></path>\n<path d=\"M667.5 79h0\"></path>\n<rect x=\"571\" y=\"68\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AndReturn\"><text x=\"619.25\" y=\"83\">AndReturn</text>\n</a>\n</g>\n<path d=\"M667.5 79h10\"></path>\n<path d=\"M677.5 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M687.5 79h0\"></path>\n<path d=\"M801 79h0\"></path>\n<rect x=\"687.5\" y=\"68\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"744.25\" y=\"83\">\"TO SCREEN\"</text>\n</g>\n<path d=\"M801 79h10\"></path>\n<path d=\"M811 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M821 79h0\"></path>\n<path d=\"M892 79h0\"></path>\n<rect x=\"821\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"856.5\" y=\"83\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M892 79h20\"></path>\n</g>\n</g>\n<path d=\"M912 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 109h0\"></path>\n<path d=\"M437 109h475\"></path>\n<rect x=\"272.5\" y=\"98\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"354.75\" y=\"113\">\"LIST-PROCESSING\"</text>\n</g>\n<path d=\"M912 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 139h0\"></path>\n<path d=\"M360.5 139h551.5\"></path>\n<rect x=\"272.5\" y=\"128\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"316.5\" y=\"143\">\"SCREEN\"</text>\n</g>\n<path d=\"M912 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M272.5 178h0\"></path>\n<path d=\"M785 178h127\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 178h0\"></path>\n<path d=\"M428.5 178h0\"></path>\n<rect x=\"272.5\" y=\"167\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"350.5\" y=\"182\">\"TO TRANSACTION\"</text>\n</g>\n<path d=\"M428.5 178h10\"></path>\n<path d=\"M438.5 178h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M448.5 178h0\"></path>\n<path d=\"M519.5 178h0\"></path>\n<rect x=\"448.5\" y=\"167\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"484\" y=\"182\">Source</text>\n</a>\n</g>\n<path d=\"M519.5 178h10\"></path>\n<g>\n<path d=\"M529.5 178h0\"></path>\n<path d=\"M785 178h0\"></path>\n<path d=\"M529.5 178a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M549.5 158h215.5\"></path>\n</g>\n<path d=\"M765 158a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M529.5 178h20\"></path>\n<g class=\"terminal\">\n<path d=\"M549.5 178h0\"></path>\n<path d=\"M765 178h0\"></path>\n<rect x=\"549.5\" y=\"167\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"657.25\" y=\"182\">\"AND SKIP FIRST SCREEN\"</text>\n</g>\n<path d=\"M765 178h20\"></path>\n</g>\n</g>\n<path d=\"M912 178a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 208h0\"></path>\n<path d=\"M369 208h543\"></path>\n<rect x=\"272.5\" y=\"197\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"320.75\" y=\"212\">\"PROGRAM\"</text>\n</g>\n<path d=\"M912 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10\"></path>\n<path d=\"M252.5 40a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M272.5 238h0\"></path>\n<path d=\"M477 238h435\"></path>\n<g class=\"terminal\">\n<path d=\"M272.5 238h0\"></path>\n<path d=\"M386 238h0\"></path>\n<rect x=\"272.5\" y=\"227\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"329.25\" y=\"242\">\"TO SCREEN\"</text>\n</g>\n<path d=\"M386 238h10\"></path>\n<path d=\"M396 238h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M406 238h0\"></path>\n<path d=\"M477 238h0\"></path>\n<rect x=\"406\" y=\"227\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"441.5\" y=\"242\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M912 238a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M932 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M952 40h10\"></path>\n<path d=\"M 962 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "leave.ts"
+    },
+    {
+      "name": "LoadOfProgram",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"LOAD-OF-PROGRAM\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"357.5\" height=\"62\" viewBox=\"0 0 357.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"LOAD-OF-PROGRAM\"</text>\n</g>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<path d=\"M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "load_of_program.ts"
+    },
+    {
+      "name": "LoadReport",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"LOAD REPORT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"PART\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"778.5\" height=\"62\" viewBox=\"0 0 778.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M728.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M728.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"LOAD REPORT\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<rect x=\"293.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M364.5 31h10\"></path>\n<path d=\"M374.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 31h0\"></path>\n<path d=\"M455.5 31h0\"></path>\n<rect x=\"384.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"420\" y=\"35\">\"PART\"</text>\n</g>\n<path d=\"M455.5 31h10\"></path>\n<path d=\"M465.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M475.5 31h0\"></path>\n<path d=\"M546.5 31h0\"></path>\n<rect x=\"475.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"511\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M546.5 31h10\"></path>\n<path d=\"M556.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M566.5 31h0\"></path>\n<path d=\"M637.5 31h0\"></path>\n<rect x=\"566.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"602\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M637.5 31h10\"></path>\n<path d=\"M647.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M657.5 31h0\"></path>\n<path d=\"M728.5 31h0\"></path>\n<rect x=\"657.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"693\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M728.5 31h10\"></path>\n<path d=\"M 738.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "load_report.ts"
+    },
+    {
+      "name": "Local",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"LOCAL\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.NonTerminal('TableBody', {href: '#/expression/TableBody'}))))).toString();",
+      "using": [
+        "expression/FieldSub",
+        "expression/TableBody"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"527\" height=\"71\" viewBox=\"0 0 527 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M222.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"44\">\"LOCAL\"</text>\n</g>\n<path d=\"M222.5 40h10\"></path>\n<path d=\"M232.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242.5 40h0\"></path>\n<path d=\"M330.5 40h0\"></path>\n<rect x=\"242.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"286.5\" y=\"44\">FieldSub</text>\n</a>\n</g>\n<path d=\"M330.5 40h10\"></path>\n<g>\n<path d=\"M340.5 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<path d=\"M340.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M360.5 20h96.5\"></path>\n</g>\n<path d=\"M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M340.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M360.5 40h0\"></path>\n<path d=\"M457 40h0\"></path>\n<rect x=\"360.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TableBody\"><text x=\"408.75\" y=\"44\">TableBody</text>\n</a>\n</g>\n<path d=\"M457 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M477 40h10\"></path>\n<path d=\"M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "local.ts"
+    },
+    {
+      "name": "LogPoint",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"LOG-POINT ID\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"SUBKEY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1001.5\" height=\"80\" viewBox=\"0 0 1001.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M951.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M951.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M282 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"44\">\"LOG-POINT ID\"</text>\n</g>\n<path d=\"M282 40h10\"></path>\n<path d=\"M292 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 40h0\"></path>\n<path d=\"M483.5 40h0\"></path>\n<rect x=\"302\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"392.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M483.5 40h10\"></path>\n<g>\n<path d=\"M493.5 40h0\"></path>\n<path d=\"M712.5 40h0\"></path>\n<path d=\"M493.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M513.5 20h179\"></path>\n</g>\n<path d=\"M692.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M493.5 40h20\"></path>\n<g>\n<path d=\"M513.5 40h0\"></path>\n<path d=\"M692.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M513.5 40h0\"></path>\n<path d=\"M601.5 40h0\"></path>\n<rect x=\"513.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557.5\" y=\"44\">\"SUBKEY\"</text>\n</g>\n<path d=\"M601.5 40h10\"></path>\n<path d=\"M611.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M621.5 40h0\"></path>\n<path d=\"M692.5 40h0\"></path>\n<rect x=\"621.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"657\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M692.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M712.5 40h0\"></path>\n<path d=\"M951.5 40h0\"></path>\n<path d=\"M712.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M732.5 20h199\"></path>\n</g>\n<path d=\"M931.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M712.5 40h20\"></path>\n<g>\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M931.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M732.5 40h0\"></path>\n<path d=\"M820.5 40h0\"></path>\n<rect x=\"732.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"776.5\" y=\"44\">\"FIELDS\"</text>\n</g>\n<path d=\"M820.5 40h10\"></path>\n<path d=\"M830.5 40h10\"></path>\n<g>\n<path d=\"M840.5 40h0\"></path>\n<path d=\"M931.5 40h0\"></path>\n<path d=\"M840.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M850.5 40h0\"></path>\n<path d=\"M921.5 40h0\"></path>\n<rect x=\"850.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"886\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M921.5 40h10\"></path>\n<path d=\"M850.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M850.5 60h71\"></path>\n</g>\n<path d=\"M921.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M931.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M951.5 40h10\"></path>\n<path d=\"M 961.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "log_point.ts"
+    },
+    {
+      "name": "Loop",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"LOOP\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"AT\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"SCREEN\"'),Railroad.Terminal('!FailCombinator'))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Terminal('\"GROUP\"'))),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource2', {href: '#/expression/SimpleSource2'}),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('LoopTarget', {href: '#/expression/LoopTarget'}),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.Choice(0, Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Sequence(Railroad.Terminal('\"GROUP BY\"'),Railroad.NonTerminal('LoopGroupBy', {href: '#/expression/LoopGroupBy'}))),Railroad.Sequence(Railroad.Comment(\"v757\", {}), Railroad.Sequence(Railroad.Terminal('\"STEP\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))))).toString();",
+      "using": [
+        "expression/ComponentCond",
+        "expression/Dynamic",
+        "expression/LoopGroupBy",
+        "expression/LoopTarget",
+        "expression/SimpleName",
+        "expression/SimpleSource2",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1417.5\" height=\"319\" viewBox=\"0 0 1417.5 319\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1367.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M121 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"52\">\"LOOP\"</text>\n</g>\n<path d=\"M121 48h10\"></path>\n<g>\n<path d=\"M131 48h0\"></path>\n<path d=\"M1367.5 48h0\"></path>\n<path d=\"M131 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h1196.5\"></path>\n</g>\n<path d=\"M1347.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 48h20\"></path>\n<g>\n<path d=\"M151 48h0\"></path>\n<path d=\"M1347.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M151 48h0\"></path>\n<path d=\"M205 48h0\"></path>\n<rect x=\"151\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178\" y=\"52\">\"AT\"</text>\n</g>\n<path d=\"M205 48h10\"></path>\n<g>\n<path d=\"M215 48h0\"></path>\n<path d=\"M510.5 48h0\"></path>\n<path d=\"M215 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M235 28h255.5\"></path>\n</g>\n<path d=\"M490.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M215 48h20\"></path>\n<g>\n<path d=\"M235 48h0\"></path>\n<path d=\"M490.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M235 48h0\"></path>\n<path d=\"M323 48h0\"></path>\n<rect x=\"235\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279\" y=\"52\">\"SCREEN\"</text>\n</g>\n<path d=\"M323 48h10\"></path>\n<path d=\"M333 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M343 48h0\"></path>\n<path d=\"M490.5 48h0\"></path>\n<rect x=\"343\" y=\"37\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"416.75\" y=\"52\">!FailCombinator</text>\n</g>\n</g>\n<path d=\"M490.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M510.5 48h0\"></path>\n<path d=\"M716 48h0\"></path>\n<path d=\"M510.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M530.5 28h165.5\"></path>\n</g>\n<path d=\"M696 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M510.5 48h20\"></path>\n<g>\n<path d=\"M530.5 48h0\"></path>\n<path d=\"M696 48h0\"></path>\n<g>\n<path d=\"M530.5 48h0\"></path>\n<path d=\"M596.5 48h0\"></path>\n<text x=\"563.5\" y=\"53\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M596.5 48h10\"></path>\n<path d=\"M606.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M616.5 48h0\"></path>\n<path d=\"M696 48h0\"></path>\n<rect x=\"616.5\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"656.25\" y=\"52\">\"GROUP\"</text>\n</g>\n</g>\n<path d=\"M696 48h20\"></path>\n</g>\n<g>\n<path d=\"M716 48h0\"></path>\n<path d=\"M913 48h0\"></path>\n<path d=\"M716 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M736 48h0\"></path>\n<path d=\"M866.5 48h26.5\"></path>\n<rect x=\"736\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource2\"><text x=\"801.25\" y=\"52\">SimpleSource2</text>\n</a>\n</g>\n<path d=\"M893 48h20\"></path>\n<path d=\"M716 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M736 78h0\"></path>\n<path d=\"M893 78h0\"></path>\n<g>\n<path d=\"M736 78h0\"></path>\n<path d=\"M802 78h0\"></path>\n<text x=\"769\" y=\"83\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M802 78h10\"></path>\n<path d=\"M812 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M822 78h0\"></path>\n<path d=\"M893 78h0\"></path>\n<rect x=\"822\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"857.5\" y=\"82\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M893 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M913 48h0\"></path>\n<path d=\"M1347.5 48h0\"></path>\n<path d=\"M913 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M933 28h394.5\"></path>\n</g>\n<path d=\"M1327.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M913 48h20\"></path>\n<g>\n<path d=\"M933 48h0\"></path>\n<path d=\"M1327.5 48h0\"></path>\n<path d=\"M963 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M973 48h0\"></path>\n<path d=\"M1078 48h219.5\"></path>\n<rect x=\"973\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LoopTarget\"><text x=\"1025.5\" y=\"52\">LoopTarget</text>\n</a>\n</g>\n<path d=\"M1297.5 48h10\"></path>\n<path d=\"M963 48v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 78h0\"></path>\n<path d=\"M1135 78h162.5\"></path>\n<g class=\"terminal\">\n<path d=\"M973 78h0\"></path>\n<path d=\"M1044 78h0\"></path>\n<rect x=\"973\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1008.5\" y=\"82\">\"FROM\"</text>\n</g>\n<path d=\"M1044 78h10\"></path>\n<path d=\"M1054 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1064 78h0\"></path>\n<path d=\"M1135 78h0\"></path>\n<rect x=\"1064\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1099.5\" y=\"82\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1297.5 78a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M963 48v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 108h0\"></path>\n<path d=\"M1118 108h179.5\"></path>\n<g class=\"terminal\">\n<path d=\"M973 108h0\"></path>\n<path d=\"M1027 108h0\"></path>\n<rect x=\"973\" y=\"97\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1000\" y=\"112\">\"TO\"</text>\n</g>\n<path d=\"M1027 108h10\"></path>\n<path d=\"M1037 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1047 108h0\"></path>\n<path d=\"M1118 108h0\"></path>\n<rect x=\"1047\" y=\"97\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1082.5\" y=\"112\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1297.5 108a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M963 48v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 138h0\"></path>\n<path d=\"M1233 138h64.5\"></path>\n<g class=\"terminal\">\n<path d=\"M973 138h0\"></path>\n<path d=\"M1052.5 138h0\"></path>\n<rect x=\"973\" y=\"127\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1012.75\" y=\"142\">\"WHERE\"</text>\n</g>\n<path d=\"M1052.5 138h10\"></path>\n<g>\n<path d=\"M1062.5 138h0\"></path>\n<path d=\"M1233 138h0\"></path>\n<path d=\"M1062.5 138h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1082.5 138h0\"></path>\n<path d=\"M1213 138h0\"></path>\n<rect x=\"1082.5\" y=\"127\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"1147.75\" y=\"142\">ComponentCond</text>\n</a>\n</g>\n<path d=\"M1213 138h20\"></path>\n<path d=\"M1062.5 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1082.5 168h0\"></path>\n<path d=\"M1162 168h51\"></path>\n<rect x=\"1082.5\" y=\"157\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1122.25\" y=\"172\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1213 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1297.5 138a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M963 48v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 198h0\"></path>\n<path d=\"M1241.5 198h56\"></path>\n<g class=\"terminal\">\n<path d=\"M973 198h0\"></path>\n<path d=\"M1086.5 198h0\"></path>\n<rect x=\"973\" y=\"187\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1029.75\" y=\"202\">\"USING KEY\"</text>\n</g>\n<path d=\"M1086.5 198h10\"></path>\n<g>\n<path d=\"M1096.5 198h0\"></path>\n<path d=\"M1241.5 198h0\"></path>\n<path d=\"M1096.5 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1116.5 198h0\"></path>\n<path d=\"M1221.5 198h0\"></path>\n<rect x=\"1116.5\" y=\"187\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1169\" y=\"202\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1221.5 198h20\"></path>\n<path d=\"M1096.5 198a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1116.5 228h0\"></path>\n<path d=\"M1196 228h25.5\"></path>\n<rect x=\"1116.5\" y=\"217\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1156.25\" y=\"232\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1221.5 228a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1297.5 198a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M963 48v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 258h0\"></path>\n<path d=\"M1297.5 258h0\"></path>\n<g>\n<path d=\"M973 258h0\"></path>\n<path d=\"M1039 258h0\"></path>\n<text x=\"1006\" y=\"263\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M1039 258h10\"></path>\n<path d=\"M1049 258h10\"></path>\n<g>\n<path d=\"M1059 258h0\"></path>\n<path d=\"M1297.5 258h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1059 258h0\"></path>\n<path d=\"M1164 258h0\"></path>\n<rect x=\"1059\" y=\"247\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1111.5\" y=\"262\">\"GROUP BY\"</text>\n</g>\n<path d=\"M1164 258h10\"></path>\n<path d=\"M1174 258h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1184 258h0\"></path>\n<path d=\"M1297.5 258h0\"></path>\n<rect x=\"1184\" y=\"247\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/LoopGroupBy\"><text x=\"1240.75\" y=\"262\">LoopGroupBy</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1297.5 258a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M963 48v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M973 288h0\"></path>\n<path d=\"M1193 288h104.5\"></path>\n<g>\n<path d=\"M973 288h0\"></path>\n<path d=\"M1011 288h0\"></path>\n<text x=\"992\" y=\"293\" class=\"comment\">v757</text>\n</g>\n<path d=\"M1011 288h10\"></path>\n<path d=\"M1021 288h10\"></path>\n<g>\n<path d=\"M1031 288h0\"></path>\n<path d=\"M1193 288h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1031 288h0\"></path>\n<path d=\"M1102 288h0\"></path>\n<rect x=\"1031\" y=\"277\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1066.5\" y=\"292\">\"STEP\"</text>\n</g>\n<path d=\"M1102 288h10\"></path>\n<path d=\"M1112 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 288h0\"></path>\n<path d=\"M1193 288h0\"></path>\n<rect x=\"1122\" y=\"277\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1157.5\" y=\"292\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1297.5 288a10 10 0 0 0 10 -10v-230\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 963 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"948\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 1307.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1314.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1327.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1347.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1367.5 48h10\"></path>\n<path d=\"M 1377.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Loop"
+      ],
+      "filename": "loop.ts"
+    },
+    {
+      "name": "LoopAtScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"LOOP AT SCREEN\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"561\" height=\"71\" viewBox=\"0 0 561 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M511 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M511 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M299 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"44\">\"LOOP AT SCREEN\"</text>\n</g>\n<path d=\"M299 40h10\"></path>\n<g>\n<path d=\"M309 40h0\"></path>\n<path d=\"M511 40h0\"></path>\n<path d=\"M309 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M329 20h162\"></path>\n</g>\n<path d=\"M491 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M309 40h20\"></path>\n<g>\n<path d=\"M329 40h0\"></path>\n<path d=\"M491 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M329 40h0\"></path>\n<path d=\"M400 40h0\"></path>\n<rect x=\"329\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M400 40h10\"></path>\n<path d=\"M410 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M420 40h0\"></path>\n<path d=\"M491 40h0\"></path>\n<rect x=\"420\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"455.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M491 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M511 40h10\"></path>\n<path d=\"M 521 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/LoopAtScreen"
+      ],
+      "filename": "loop_at_screen.ts"
+    },
+    {
+      "name": "Message",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.NonTerminal('MessageSource', {href: '#/expression/MessageSource'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Optional(Railroad.Choice(0, Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'}))),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'}))),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'}))),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'})))))))))),Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DISPLAY LIKE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'}))))),Railroad.Sequence(Railroad.Comment(\"Cloud\", {}), Railroad.Sequence(Railroad.NonTerminal('MessageSource', {href: '#/expression/MessageSource'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'})))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RAISING\"'),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))))))).toString();",
+      "using": [
+        "expression/ExceptionName",
+        "expression/MessageSource",
+        "expression/SimpleSource3",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2153\" height=\"812\" viewBox=\"0 0 2153 812\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M2103 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M146.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"52\">\"MESSAGE\"</text>\n</g>\n<path d=\"M146.5 48h10\"></path>\n<g>\n<path d=\"M156.5 48h0\"></path>\n<path d=\"M2103 48h0\"></path>\n<path d=\"M156.5 48h20\"></path>\n<g>\n<path d=\"M176.5 48h0\"></path>\n<path d=\"M2083 48h0\"></path>\n<g>\n<path d=\"M176.5 48h0\"></path>\n<path d=\"M249.5 48h0\"></path>\n<text x=\"213\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M249.5 48h10\"></path>\n<path d=\"M259.5 48h10\"></path>\n<g>\n<path d=\"M269.5 48h0\"></path>\n<path d=\"M2083 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269.5 48h0\"></path>\n<path d=\"M400 48h0\"></path>\n<rect x=\"269.5\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageSource\"><text x=\"334.75\" y=\"52\">MessageSource</text>\n</a>\n</g>\n<path d=\"M400 48h10\"></path>\n<g>\n<path d=\"M410 48h0\"></path>\n<path d=\"M767 48h0\"></path>\n<path d=\"M410 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M430 28h317\"></path>\n</g>\n<path d=\"M747 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M410 48h20\"></path>\n<g>\n<path d=\"M430 48h0\"></path>\n<path d=\"M747 48h0\"></path>\n<path d=\"M460 48h10\"></path>\n<g>\n<path d=\"M470 48h0\"></path>\n<path d=\"M700 48h17\"></path>\n<g class=\"terminal\">\n<path d=\"M470 48h0\"></path>\n<path d=\"M609 48h0\"></path>\n<rect x=\"470\" y=\"37\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"539.5\" y=\"52\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M609 48h10\"></path>\n<path d=\"M619 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M629 48h0\"></path>\n<path d=\"M700 48h0\"></path>\n<rect x=\"629\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"664.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M717 48h10\"></path>\n<path d=\"M460 48v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M470 78h0\"></path>\n<path d=\"M632 78h85\"></path>\n<g class=\"terminal\">\n<path d=\"M470 78h0\"></path>\n<path d=\"M541 78h0\"></path>\n<rect x=\"470\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"505.5\" y=\"82\">\"INTO\"</text>\n</g>\n<path d=\"M541 78h10\"></path>\n<path d=\"M551 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M561 78h0\"></path>\n<path d=\"M632 78h0\"></path>\n<rect x=\"561\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"596.5\" y=\"82\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M717 78a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M460 48v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M470 108h0\"></path>\n<path d=\"M717 108h0\"></path>\n<g class=\"terminal\">\n<path d=\"M470 108h0\"></path>\n<path d=\"M566.5 108h0\"></path>\n<rect x=\"470\" y=\"97\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"518.25\" y=\"112\">\"RAISING\"</text>\n</g>\n<path d=\"M566.5 108h10\"></path>\n<path d=\"M576.5 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M586.5 108h0\"></path>\n<path d=\"M717 108h0\"></path>\n<rect x=\"586.5\" y=\"97\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"651.75\" y=\"112\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M717 108a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 460 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"445\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 727 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 734 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M747 48h20\"></path>\n</g>\n<g>\n<path d=\"M767 48h0\"></path>\n<path d=\"M2083 48h0\"></path>\n<path d=\"M767 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M787 20h1276\"></path>\n</g>\n<path d=\"M2063 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M767 48h20\"></path>\n<g>\n<path d=\"M787 48h0\"></path>\n<path d=\"M2063 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M787 48h0\"></path>\n<path d=\"M858 48h0\"></path>\n<rect x=\"787\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"822.5\" y=\"52\">\"WITH\"</text>\n</g>\n<path d=\"M858 48h10\"></path>\n<g>\n<path d=\"M868 48h0\"></path>\n<path d=\"M1065 48h0\"></path>\n<path d=\"M868 48h20\"></path>\n<g>\n<path d=\"M888 48h0\"></path>\n<path d=\"M1045 48h0\"></path>\n<g>\n<path d=\"M888 48h0\"></path>\n<path d=\"M954 48h0\"></path>\n<text x=\"921\" y=\"53\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M954 48h10\"></path>\n<path d=\"M964 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M974 48h0\"></path>\n<path d=\"M1045 48h0\"></path>\n<rect x=\"974\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1009.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1045 48h20\"></path>\n<path d=\"M868 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M888 78h0\"></path>\n<path d=\"M1018.5 78h26.5\"></path>\n<rect x=\"888\" y=\"67\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"953.25\" y=\"82\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1045 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1065 48h0\"></path>\n<path d=\"M2063 48h0\"></path>\n<path d=\"M1065 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1085 28h958\"></path>\n</g>\n<path d=\"M2043 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1065 48h20\"></path>\n<g>\n<path d=\"M1085 48h0\"></path>\n<path d=\"M2043 48h0\"></path>\n<path d=\"M1085 48h20\"></path>\n<g>\n<path d=\"M1105 48h0\"></path>\n<path d=\"M1462 48h561\"></path>\n<path d=\"M1105 48h20\"></path>\n<g>\n<path d=\"M1125 48h0\"></path>\n<path d=\"M1442 48h0\"></path>\n<path d=\"M1155 48h10\"></path>\n<g>\n<path d=\"M1165 48h0\"></path>\n<path d=\"M1395 48h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1165 48h0\"></path>\n<path d=\"M1304 48h0\"></path>\n<rect x=\"1165\" y=\"37\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1234.5\" y=\"52\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M1304 48h10\"></path>\n<path d=\"M1314 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1324 48h0\"></path>\n<path d=\"M1395 48h0\"></path>\n<rect x=\"1324\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1359.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1412 48h10\"></path>\n<path d=\"M1155 48v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1165 78h0\"></path>\n<path d=\"M1327 78h85\"></path>\n<g class=\"terminal\">\n<path d=\"M1165 78h0\"></path>\n<path d=\"M1236 78h0\"></path>\n<rect x=\"1165\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1200.5\" y=\"82\">\"INTO\"</text>\n</g>\n<path d=\"M1236 78h10\"></path>\n<path d=\"M1246 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1256 78h0\"></path>\n<path d=\"M1327 78h0\"></path>\n<rect x=\"1256\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1291.5\" y=\"82\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1412 78a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1155 48v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1165 108h0\"></path>\n<path d=\"M1412 108h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1165 108h0\"></path>\n<path d=\"M1261.5 108h0\"></path>\n<rect x=\"1165\" y=\"97\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1213.25\" y=\"112\">\"RAISING\"</text>\n</g>\n<path d=\"M1261.5 108h10\"></path>\n<path d=\"M1271.5 108h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1281.5 108h0\"></path>\n<path d=\"M1412 108h0\"></path>\n<rect x=\"1281.5\" y=\"97\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1346.75\" y=\"112\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1412 108a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1155 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1140\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 1422 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1429 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1442 48h20\"></path>\n<path d=\"M1105 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1125 138h0\"></path>\n<path d=\"M1322 138h120\"></path>\n<path d=\"M1125 138h20\"></path>\n<g>\n<path d=\"M1145 138h0\"></path>\n<path d=\"M1302 138h0\"></path>\n<g>\n<path d=\"M1145 138h0\"></path>\n<path d=\"M1211 138h0\"></path>\n<text x=\"1178\" y=\"143\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1211 138h10\"></path>\n<path d=\"M1221 138h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1231 138h0\"></path>\n<path d=\"M1302 138h0\"></path>\n<rect x=\"1231\" y=\"127\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1266.5\" y=\"142\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1302 138h20\"></path>\n<path d=\"M1125 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1145 168h0\"></path>\n<path d=\"M1275.5 168h26.5\"></path>\n<rect x=\"1145\" y=\"157\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1210.25\" y=\"172\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1302 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1442 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2023 48h20\"></path>\n<path d=\"M1085 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1105 198h0\"></path>\n<path d=\"M1659 198h364\"></path>\n<g>\n<path d=\"M1105 198h0\"></path>\n<path d=\"M1302 198h0\"></path>\n<path d=\"M1105 198h20\"></path>\n<g>\n<path d=\"M1125 198h0\"></path>\n<path d=\"M1282 198h0\"></path>\n<g>\n<path d=\"M1125 198h0\"></path>\n<path d=\"M1191 198h0\"></path>\n<text x=\"1158\" y=\"203\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1191 198h10\"></path>\n<path d=\"M1201 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1211 198h0\"></path>\n<path d=\"M1282 198h0\"></path>\n<rect x=\"1211\" y=\"187\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1246.5\" y=\"202\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1282 198h20\"></path>\n<path d=\"M1105 198a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1125 228h0\"></path>\n<path d=\"M1255.5 228h26.5\"></path>\n<rect x=\"1125\" y=\"217\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1190.25\" y=\"232\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1282 228a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1302 198h0\"></path>\n<path d=\"M1659 198h0\"></path>\n<path d=\"M1302 198h20\"></path>\n<g>\n<path d=\"M1322 198h0\"></path>\n<path d=\"M1639 198h0\"></path>\n<path d=\"M1352 198h10\"></path>\n<g>\n<path d=\"M1362 198h0\"></path>\n<path d=\"M1592 198h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1362 198h0\"></path>\n<path d=\"M1501 198h0\"></path>\n<rect x=\"1362\" y=\"187\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1431.5\" y=\"202\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M1501 198h10\"></path>\n<path d=\"M1511 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1521 198h0\"></path>\n<path d=\"M1592 198h0\"></path>\n<rect x=\"1521\" y=\"187\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1556.5\" y=\"202\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1609 198h10\"></path>\n<path d=\"M1352 198v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1362 228h0\"></path>\n<path d=\"M1524 228h85\"></path>\n<g class=\"terminal\">\n<path d=\"M1362 228h0\"></path>\n<path d=\"M1433 228h0\"></path>\n<rect x=\"1362\" y=\"217\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1397.5\" y=\"232\">\"INTO\"</text>\n</g>\n<path d=\"M1433 228h10\"></path>\n<path d=\"M1443 228h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1453 228h0\"></path>\n<path d=\"M1524 228h0\"></path>\n<rect x=\"1453\" y=\"217\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1488.5\" y=\"232\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1609 228a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1352 198v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1362 258h0\"></path>\n<path d=\"M1609 258h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1362 258h0\"></path>\n<path d=\"M1458.5 258h0\"></path>\n<rect x=\"1362\" y=\"247\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1410.25\" y=\"262\">\"RAISING\"</text>\n</g>\n<path d=\"M1458.5 258h10\"></path>\n<path d=\"M1468.5 258h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1478.5 258h0\"></path>\n<path d=\"M1609 258h0\"></path>\n<rect x=\"1478.5\" y=\"247\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1543.75\" y=\"262\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1609 258a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1352 188 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1337\" y=\"202\" class=\"diagram-text\">1+</text>\n<path d=\"M 1619 188 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1626 196 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1639 198h20\"></path>\n<path d=\"M1302 198a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1322 288h0\"></path>\n<path d=\"M1519 288h120\"></path>\n<path d=\"M1322 288h20\"></path>\n<g>\n<path d=\"M1342 288h0\"></path>\n<path d=\"M1499 288h0\"></path>\n<g>\n<path d=\"M1342 288h0\"></path>\n<path d=\"M1408 288h0\"></path>\n<text x=\"1375\" y=\"293\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1408 288h10\"></path>\n<path d=\"M1418 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1428 288h0\"></path>\n<path d=\"M1499 288h0\"></path>\n<rect x=\"1428\" y=\"277\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1463.5\" y=\"292\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1499 288h20\"></path>\n<path d=\"M1322 288a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1342 318h0\"></path>\n<path d=\"M1472.5 318h26.5\"></path>\n<rect x=\"1342\" y=\"307\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1407.25\" y=\"322\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1499 318a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1639 288a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2023 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1085 48a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1105 348h0\"></path>\n<path d=\"M1856 348h167\"></path>\n<g>\n<path d=\"M1105 348h0\"></path>\n<path d=\"M1302 348h0\"></path>\n<path d=\"M1105 348h20\"></path>\n<g>\n<path d=\"M1125 348h0\"></path>\n<path d=\"M1282 348h0\"></path>\n<g>\n<path d=\"M1125 348h0\"></path>\n<path d=\"M1191 348h0\"></path>\n<text x=\"1158\" y=\"353\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1191 348h10\"></path>\n<path d=\"M1201 348h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1211 348h0\"></path>\n<path d=\"M1282 348h0\"></path>\n<rect x=\"1211\" y=\"337\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1246.5\" y=\"352\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1282 348h20\"></path>\n<path d=\"M1105 348a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1125 378h0\"></path>\n<path d=\"M1255.5 378h26.5\"></path>\n<rect x=\"1125\" y=\"367\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1190.25\" y=\"382\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1282 378a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1302 348h0\"></path>\n<path d=\"M1499 348h0\"></path>\n<path d=\"M1302 348h20\"></path>\n<g>\n<path d=\"M1322 348h0\"></path>\n<path d=\"M1479 348h0\"></path>\n<g>\n<path d=\"M1322 348h0\"></path>\n<path d=\"M1388 348h0\"></path>\n<text x=\"1355\" y=\"353\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1388 348h10\"></path>\n<path d=\"M1398 348h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1408 348h0\"></path>\n<path d=\"M1479 348h0\"></path>\n<rect x=\"1408\" y=\"337\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1443.5\" y=\"352\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1479 348h20\"></path>\n<path d=\"M1302 348a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1322 378h0\"></path>\n<path d=\"M1452.5 378h26.5\"></path>\n<rect x=\"1322\" y=\"367\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1387.25\" y=\"382\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1479 378a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1499 348h0\"></path>\n<path d=\"M1856 348h0\"></path>\n<path d=\"M1499 348h20\"></path>\n<g>\n<path d=\"M1519 348h0\"></path>\n<path d=\"M1836 348h0\"></path>\n<path d=\"M1549 348h10\"></path>\n<g>\n<path d=\"M1559 348h0\"></path>\n<path d=\"M1789 348h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1559 348h0\"></path>\n<path d=\"M1698 348h0\"></path>\n<rect x=\"1559\" y=\"337\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1628.5\" y=\"352\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M1698 348h10\"></path>\n<path d=\"M1708 348h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1718 348h0\"></path>\n<path d=\"M1789 348h0\"></path>\n<rect x=\"1718\" y=\"337\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1753.5\" y=\"352\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1806 348h10\"></path>\n<path d=\"M1549 348v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1559 378h0\"></path>\n<path d=\"M1721 378h85\"></path>\n<g class=\"terminal\">\n<path d=\"M1559 378h0\"></path>\n<path d=\"M1630 378h0\"></path>\n<rect x=\"1559\" y=\"367\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1594.5\" y=\"382\">\"INTO\"</text>\n</g>\n<path d=\"M1630 378h10\"></path>\n<path d=\"M1640 378h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1650 378h0\"></path>\n<path d=\"M1721 378h0\"></path>\n<rect x=\"1650\" y=\"367\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1685.5\" y=\"382\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1806 378a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1549 348v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1559 408h0\"></path>\n<path d=\"M1806 408h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1559 408h0\"></path>\n<path d=\"M1655.5 408h0\"></path>\n<rect x=\"1559\" y=\"397\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1607.25\" y=\"412\">\"RAISING\"</text>\n</g>\n<path d=\"M1655.5 408h10\"></path>\n<path d=\"M1665.5 408h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1675.5 408h0\"></path>\n<path d=\"M1806 408h0\"></path>\n<rect x=\"1675.5\" y=\"397\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1740.75\" y=\"412\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1806 408a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1549 338 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1534\" y=\"352\" class=\"diagram-text\">1+</text>\n<path d=\"M 1816 338 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1823 346 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1836 348h20\"></path>\n<path d=\"M1499 348a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1519 438h0\"></path>\n<path d=\"M1716 438h120\"></path>\n<path d=\"M1519 438h20\"></path>\n<g>\n<path d=\"M1539 438h0\"></path>\n<path d=\"M1696 438h0\"></path>\n<g>\n<path d=\"M1539 438h0\"></path>\n<path d=\"M1605 438h0\"></path>\n<text x=\"1572\" y=\"443\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1605 438h10\"></path>\n<path d=\"M1615 438h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1625 438h0\"></path>\n<path d=\"M1696 438h0\"></path>\n<rect x=\"1625\" y=\"427\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1660.5\" y=\"442\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1696 438h20\"></path>\n<path d=\"M1519 438a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1539 468h0\"></path>\n<path d=\"M1669.5 468h26.5\"></path>\n<rect x=\"1539\" y=\"457\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1604.25\" y=\"472\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1696 468a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1836 438a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2023 348a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1085 48a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1105 498h0\"></path>\n<path d=\"M2023 498h0\"></path>\n<g>\n<path d=\"M1105 498h0\"></path>\n<path d=\"M1302 498h0\"></path>\n<path d=\"M1105 498h20\"></path>\n<g>\n<path d=\"M1125 498h0\"></path>\n<path d=\"M1282 498h0\"></path>\n<g>\n<path d=\"M1125 498h0\"></path>\n<path d=\"M1191 498h0\"></path>\n<text x=\"1158\" y=\"503\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1191 498h10\"></path>\n<path d=\"M1201 498h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1211 498h0\"></path>\n<path d=\"M1282 498h0\"></path>\n<rect x=\"1211\" y=\"487\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1246.5\" y=\"502\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1282 498h20\"></path>\n<path d=\"M1105 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1125 528h0\"></path>\n<path d=\"M1255.5 528h26.5\"></path>\n<rect x=\"1125\" y=\"517\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1190.25\" y=\"532\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1282 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1302 498h0\"></path>\n<path d=\"M1499 498h0\"></path>\n<path d=\"M1302 498h20\"></path>\n<g>\n<path d=\"M1322 498h0\"></path>\n<path d=\"M1479 498h0\"></path>\n<g>\n<path d=\"M1322 498h0\"></path>\n<path d=\"M1388 498h0\"></path>\n<text x=\"1355\" y=\"503\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1388 498h10\"></path>\n<path d=\"M1398 498h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1408 498h0\"></path>\n<path d=\"M1479 498h0\"></path>\n<rect x=\"1408\" y=\"487\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1443.5\" y=\"502\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1479 498h20\"></path>\n<path d=\"M1302 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1322 528h0\"></path>\n<path d=\"M1452.5 528h26.5\"></path>\n<rect x=\"1322\" y=\"517\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1387.25\" y=\"532\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1479 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1499 498h0\"></path>\n<path d=\"M1696 498h0\"></path>\n<path d=\"M1499 498h20\"></path>\n<g>\n<path d=\"M1519 498h0\"></path>\n<path d=\"M1676 498h0\"></path>\n<g>\n<path d=\"M1519 498h0\"></path>\n<path d=\"M1585 498h0\"></path>\n<text x=\"1552\" y=\"503\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M1585 498h10\"></path>\n<path d=\"M1595 498h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1605 498h0\"></path>\n<path d=\"M1676 498h0\"></path>\n<rect x=\"1605\" y=\"487\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1640.5\" y=\"502\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1676 498h20\"></path>\n<path d=\"M1499 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1519 528h0\"></path>\n<path d=\"M1649.5 528h26.5\"></path>\n<rect x=\"1519\" y=\"517\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1584.25\" y=\"532\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1676 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1696 498h10\"></path>\n<g>\n<path d=\"M1706 498h0\"></path>\n<path d=\"M2023 498h0\"></path>\n<path d=\"M1736 498h10\"></path>\n<g>\n<path d=\"M1746 498h0\"></path>\n<path d=\"M1976 498h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 498h0\"></path>\n<path d=\"M1885 498h0\"></path>\n<rect x=\"1746\" y=\"487\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1815.5\" y=\"502\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M1885 498h10\"></path>\n<path d=\"M1895 498h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1905 498h0\"></path>\n<path d=\"M1976 498h0\"></path>\n<rect x=\"1905\" y=\"487\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1940.5\" y=\"502\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1993 498h10\"></path>\n<path d=\"M1736 498v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1746 528h0\"></path>\n<path d=\"M1908 528h85\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 528h0\"></path>\n<path d=\"M1817 528h0\"></path>\n<rect x=\"1746\" y=\"517\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1781.5\" y=\"532\">\"INTO\"</text>\n</g>\n<path d=\"M1817 528h10\"></path>\n<path d=\"M1827 528h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1837 528h0\"></path>\n<path d=\"M1908 528h0\"></path>\n<rect x=\"1837\" y=\"517\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1872.5\" y=\"532\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1993 528a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1736 498v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1746 558h0\"></path>\n<path d=\"M1993 558h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1746 558h0\"></path>\n<path d=\"M1842.5 558h0\"></path>\n<rect x=\"1746\" y=\"547\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1794.25\" y=\"562\">\"RAISING\"</text>\n</g>\n<path d=\"M1842.5 558h10\"></path>\n<path d=\"M1852.5 558h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1862.5 558h0\"></path>\n<path d=\"M1993 558h0\"></path>\n<rect x=\"1862.5\" y=\"547\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1927.75\" y=\"562\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1993 558a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1736 488 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1721\" y=\"502\" class=\"diagram-text\">1+</text>\n<path d=\"M 2003 488 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 2010 496 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2023 498a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2043 48h20\"></path>\n</g>\n</g>\n<path d=\"M2063 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2083 48h20\"></path>\n<path d=\"M156.5 48a10 10 0 0 1 10 10v529a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 597h0\"></path>\n<path d=\"M1205.5 597h877.5\"></path>\n<g>\n<path d=\"M176.5 597h0\"></path>\n<path d=\"M249.5 597h0\"></path>\n<text x=\"213\" y=\"602\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M249.5 597h10\"></path>\n<path d=\"M259.5 597h10\"></path>\n<g>\n<path d=\"M269.5 597h0\"></path>\n<path d=\"M1205.5 597h0\"></path>\n<g>\n<path d=\"M269.5 597h0\"></path>\n<path d=\"M466.5 597h0\"></path>\n<path d=\"M269.5 597h20\"></path>\n<g>\n<path d=\"M289.5 597h0\"></path>\n<path d=\"M446.5 597h0\"></path>\n<g>\n<path d=\"M289.5 597h0\"></path>\n<path d=\"M355.5 597h0\"></path>\n<text x=\"322.5\" y=\"602\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M355.5 597h10\"></path>\n<path d=\"M365.5 597h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M375.5 597h0\"></path>\n<path d=\"M446.5 597h0\"></path>\n<rect x=\"375.5\" y=\"586\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"411\" y=\"601\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M446.5 597h20\"></path>\n<path d=\"M269.5 597a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M289.5 627h0\"></path>\n<path d=\"M420 627h26.5\"></path>\n<rect x=\"289.5\" y=\"616\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"354.75\" y=\"631\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M446.5 627a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M466.5 597h10\"></path>\n<g>\n<path d=\"M476.5 597h0\"></path>\n<path d=\"M638.5 597h0\"></path>\n<g class=\"terminal\">\n<path d=\"M476.5 597h0\"></path>\n<path d=\"M547.5 597h0\"></path>\n<rect x=\"476.5\" y=\"586\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"512\" y=\"601\">\"TYPE\"</text>\n</g>\n<path d=\"M547.5 597h10\"></path>\n<path d=\"M557.5 597h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M567.5 597h0\"></path>\n<path d=\"M638.5 597h0\"></path>\n<rect x=\"567.5\" y=\"586\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"603\" y=\"601\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M638.5 597h10\"></path>\n<g>\n<path d=\"M648.5 597h0\"></path>\n<path d=\"M918.5 597h0\"></path>\n<path d=\"M648.5 597a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M668.5 577h230\"></path>\n</g>\n<path d=\"M898.5 577a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M648.5 597h20\"></path>\n<g>\n<path d=\"M668.5 597h0\"></path>\n<path d=\"M898.5 597h0\"></path>\n<g class=\"terminal\">\n<path d=\"M668.5 597h0\"></path>\n<path d=\"M807.5 597h0\"></path>\n<rect x=\"668.5\" y=\"586\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"738\" y=\"601\">\"DISPLAY LIKE\"</text>\n</g>\n<path d=\"M807.5 597h10\"></path>\n<path d=\"M817.5 597h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M827.5 597h0\"></path>\n<path d=\"M898.5 597h0\"></path>\n<rect x=\"827.5\" y=\"586\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"863\" y=\"601\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M898.5 597h20\"></path>\n</g>\n<g>\n<path d=\"M918.5 597h0\"></path>\n<path d=\"M1205.5 597h0\"></path>\n<path d=\"M918.5 597a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M938.5 577h247\"></path>\n</g>\n<path d=\"M1185.5 577a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M918.5 597h20\"></path>\n<g>\n<path d=\"M938.5 597h0\"></path>\n<path d=\"M1185.5 597h0\"></path>\n<g class=\"terminal\">\n<path d=\"M938.5 597h0\"></path>\n<path d=\"M1035 597h0\"></path>\n<rect x=\"938.5\" y=\"586\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"986.75\" y=\"601\">\"RAISING\"</text>\n</g>\n<path d=\"M1035 597h10\"></path>\n<path d=\"M1045 597h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1055 597h0\"></path>\n<path d=\"M1185.5 597h0\"></path>\n<rect x=\"1055\" y=\"586\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1120.25\" y=\"601\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1185.5 597h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2083 597a10 10 0 0 0 10 -10v-529a10 10 0 0 1 10 -10\"></path>\n<path d=\"M156.5 48a10 10 0 0 1 10 10v606a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 674h0\"></path>\n<path d=\"M1254 674h829\"></path>\n<g>\n<path d=\"M176.5 674h0\"></path>\n<path d=\"M221.5 674h0\"></path>\n<text x=\"199\" y=\"679\" class=\"comment\">Cloud</text>\n</g>\n<path d=\"M221.5 674h10\"></path>\n<path d=\"M231.5 674h10\"></path>\n<g>\n<path d=\"M241.5 674h0\"></path>\n<path d=\"M1254 674h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M241.5 674h0\"></path>\n<path d=\"M372 674h0\"></path>\n<rect x=\"241.5\" y=\"663\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageSource\"><text x=\"306.75\" y=\"678\">MessageSource</text>\n</a>\n</g>\n<path d=\"M372 674h10\"></path>\n<g>\n<path d=\"M382 674h0\"></path>\n<path d=\"M1254 674h0\"></path>\n<path d=\"M382 674h20\"></path>\n<g>\n<path d=\"M402 674h0\"></path>\n<path d=\"M1234 674h0\"></path>\n<g>\n<path d=\"M402 674h0\"></path>\n<path d=\"M947 674h0\"></path>\n<path d=\"M402 674a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M422 646h505\"></path>\n</g>\n<path d=\"M927 646a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M402 674h20\"></path>\n<g>\n<path d=\"M422 674h0\"></path>\n<path d=\"M927 674h0\"></path>\n<g class=\"terminal\">\n<path d=\"M422 674h0\"></path>\n<path d=\"M493 674h0\"></path>\n<rect x=\"422\" y=\"663\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"457.5\" y=\"678\">\"WITH\"</text>\n</g>\n<path d=\"M493 674h10\"></path>\n<path d=\"M503 674h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513 674h0\"></path>\n<path d=\"M584 674h0\"></path>\n<rect x=\"513\" y=\"663\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"548.5\" y=\"678\">Source</text>\n</a>\n</g>\n<path d=\"M584 674h10\"></path>\n<g>\n<path d=\"M594 674h0\"></path>\n<path d=\"M705 674h0\"></path>\n<path d=\"M594 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M614 654h71\"></path>\n</g>\n<path d=\"M685 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M594 674h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M614 674h0\"></path>\n<path d=\"M685 674h0\"></path>\n<rect x=\"614\" y=\"663\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"649.5\" y=\"678\">Source</text>\n</a>\n</g>\n<path d=\"M685 674h20\"></path>\n</g>\n<g>\n<path d=\"M705 674h0\"></path>\n<path d=\"M816 674h0\"></path>\n<path d=\"M705 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M725 654h71\"></path>\n</g>\n<path d=\"M796 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M705 674h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725 674h0\"></path>\n<path d=\"M796 674h0\"></path>\n<rect x=\"725\" y=\"663\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"760.5\" y=\"678\">Source</text>\n</a>\n</g>\n<path d=\"M796 674h20\"></path>\n</g>\n<g>\n<path d=\"M816 674h0\"></path>\n<path d=\"M927 674h0\"></path>\n<path d=\"M816 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M836 654h71\"></path>\n</g>\n<path d=\"M907 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M816 674h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M836 674h0\"></path>\n<path d=\"M907 674h0\"></path>\n<rect x=\"836\" y=\"663\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"871.5\" y=\"678\">Source</text>\n</a>\n</g>\n<path d=\"M907 674h20\"></path>\n</g>\n</g>\n<path d=\"M927 674h20\"></path>\n</g>\n<g>\n<path d=\"M947 674h0\"></path>\n<path d=\"M1234 674h0\"></path>\n<path d=\"M947 674h20\"></path>\n<g>\n<path d=\"M967 674h0\"></path>\n<path d=\"M1129 674h85\"></path>\n<g class=\"terminal\">\n<path d=\"M967 674h0\"></path>\n<path d=\"M1038 674h0\"></path>\n<rect x=\"967\" y=\"663\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1002.5\" y=\"678\">\"INTO\"</text>\n</g>\n<path d=\"M1038 674h10\"></path>\n<path d=\"M1048 674h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1058 674h0\"></path>\n<path d=\"M1129 674h0\"></path>\n<rect x=\"1058\" y=\"663\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1093.5\" y=\"678\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1214 674h20\"></path>\n<path d=\"M947 674a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M967 704h0\"></path>\n<path d=\"M1214 704h0\"></path>\n<g class=\"terminal\">\n<path d=\"M967 704h0\"></path>\n<path d=\"M1063.5 704h0\"></path>\n<rect x=\"967\" y=\"693\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1015.25\" y=\"708\">\"RAISING\"</text>\n</g>\n<path d=\"M1063.5 704h10\"></path>\n<path d=\"M1073.5 704h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1083.5 704h0\"></path>\n<path d=\"M1214 704h0\"></path>\n<rect x=\"1083.5\" y=\"693\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"1148.75\" y=\"708\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M1214 704a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1234 674h20\"></path>\n<path d=\"M382 674a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M402 751h0\"></path>\n<path d=\"M1234 751h0\"></path>\n<g>\n<path d=\"M402 751h0\"></path>\n<path d=\"M689 751h0\"></path>\n<path d=\"M402 751h20\"></path>\n<g>\n<path d=\"M422 751h0\"></path>\n<path d=\"M584 751h85\"></path>\n<g class=\"terminal\">\n<path d=\"M422 751h0\"></path>\n<path d=\"M493 751h0\"></path>\n<rect x=\"422\" y=\"740\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"457.5\" y=\"755\">\"INTO\"</text>\n</g>\n<path d=\"M493 751h10\"></path>\n<path d=\"M503 751h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513 751h0\"></path>\n<path d=\"M584 751h0\"></path>\n<rect x=\"513\" y=\"740\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"548.5\" y=\"755\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M669 751h20\"></path>\n<path d=\"M402 751a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M422 781h0\"></path>\n<path d=\"M669 781h0\"></path>\n<g class=\"terminal\">\n<path d=\"M422 781h0\"></path>\n<path d=\"M518.5 781h0\"></path>\n<rect x=\"422\" y=\"770\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"470.25\" y=\"785\">\"RAISING\"</text>\n</g>\n<path d=\"M518.5 781h10\"></path>\n<path d=\"M528.5 781h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M538.5 781h0\"></path>\n<path d=\"M669 781h0\"></path>\n<rect x=\"538.5\" y=\"770\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"603.75\" y=\"785\">ExceptionName</text>\n</a>\n</g>\n</g>\n<path d=\"M669 781a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M689 751h0\"></path>\n<path d=\"M1234 751h0\"></path>\n<path d=\"M689 751a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M709 723h505\"></path>\n</g>\n<path d=\"M1214 723a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M689 751h20\"></path>\n<g>\n<path d=\"M709 751h0\"></path>\n<path d=\"M1214 751h0\"></path>\n<g class=\"terminal\">\n<path d=\"M709 751h0\"></path>\n<path d=\"M780 751h0\"></path>\n<rect x=\"709\" y=\"740\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"744.5\" y=\"755\">\"WITH\"</text>\n</g>\n<path d=\"M780 751h10\"></path>\n<path d=\"M790 751h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M800 751h0\"></path>\n<path d=\"M871 751h0\"></path>\n<rect x=\"800\" y=\"740\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"835.5\" y=\"755\">Source</text>\n</a>\n</g>\n<path d=\"M871 751h10\"></path>\n<g>\n<path d=\"M881 751h0\"></path>\n<path d=\"M992 751h0\"></path>\n<path d=\"M881 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M901 731h71\"></path>\n</g>\n<path d=\"M972 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M881 751h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M901 751h0\"></path>\n<path d=\"M972 751h0\"></path>\n<rect x=\"901\" y=\"740\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"936.5\" y=\"755\">Source</text>\n</a>\n</g>\n<path d=\"M972 751h20\"></path>\n</g>\n<g>\n<path d=\"M992 751h0\"></path>\n<path d=\"M1103 751h0\"></path>\n<path d=\"M992 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1012 731h71\"></path>\n</g>\n<path d=\"M1083 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M992 751h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1012 751h0\"></path>\n<path d=\"M1083 751h0\"></path>\n<rect x=\"1012\" y=\"740\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1047.5\" y=\"755\">Source</text>\n</a>\n</g>\n<path d=\"M1083 751h20\"></path>\n</g>\n<g>\n<path d=\"M1103 751h0\"></path>\n<path d=\"M1214 751h0\"></path>\n<path d=\"M1103 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1123 731h71\"></path>\n</g>\n<path d=\"M1194 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1103 751h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1123 751h0\"></path>\n<path d=\"M1194 751h0\"></path>\n<rect x=\"1123\" y=\"740\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1158.5\" y=\"755\">Source</text>\n</a>\n</g>\n<path d=\"M1194 751h20\"></path>\n</g>\n</g>\n<path d=\"M1214 751h20\"></path>\n</g>\n</g>\n<path d=\"M1234 751a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2083 674a10 10 0 0 0 10 -10v-606a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2103 48h10\"></path>\n<path d=\"M 2113 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "message.ts"
+    },
+    {
+      "name": "MethodDef",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"CLASS-METHODS\"'),Railroad.Terminal('\"METHODS\"')),Railroad.NonTerminal('MethodName', {href: '#/expression/MethodName'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Abstract', {href: '#/expression/Abstract'})),Railroad.NonTerminal('EventHandler', {href: '#/expression/EventHandler'})),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"FINAL\"'),Railroad.Sequence(Railroad.Comment(\"v740sp08\", {}), Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Choice(0, Railroad.Terminal('\"FAIL\"'),Railroad.Terminal('\"IGNORE\"')))),Railroad.NonTerminal('Abstract', {href: '#/expression/Abstract'}))),Railroad.Optional(Railroad.NonTerminal('MethodDefImporting', {href: '#/expression/MethodDefImporting'})),Railroad.Optional(Railroad.NonTerminal('MethodDefExporting', {href: '#/expression/MethodDefExporting'})),Railroad.Optional(Railroad.NonTerminal('MethodDefChanging', {href: '#/expression/MethodDefChanging'})),Railroad.Optional(Railroad.NonTerminal('MethodDefReturning', {href: '#/expression/MethodDefReturning'})),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('MethodDefRaising', {href: '#/expression/MethodDefRaising'}),Railroad.NonTerminal('MethodDefExceptions', {href: '#/expression/MethodDefExceptions'})))),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Abstract', {href: '#/expression/Abstract'})),Railroad.Terminal('\"FOR TESTING\"'),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('MethodDefRaising', {href: '#/expression/MethodDefRaising'}),Railroad.NonTerminal('MethodDefExceptions', {href: '#/expression/MethodDefExceptions'})))),Railroad.Sequence(Railroad.Terminal('\"FOR\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLE FUNCTION\"'),Railroad.Terminal(\"^\\\\w+?$\")),Railroad.Terminal('\"DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"VALIDATE ON SAVE IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Sequence(Railroad.Terminal('\"MODIFY IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"FOR ACTION\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})))),Railroad.Sequence(Railroad.Terminal('\"FOR CREATE\"'),Railroad.Choice(0, Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('EntityAssociation', {href: '#/expression/EntityAssociation'}))),Railroad.Sequence(Railroad.Terminal('\"FOR DELETE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Sequence(Railroad.Terminal('\"FOR UPDATE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})))),Railroad.Sequence(Railroad.Terminal('\"READ IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR READ\"'),Railroad.Choice(0, Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('EntityAssociation', {href: '#/expression/EntityAssociation'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FULL\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}))),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LINK\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})))),Railroad.Sequence(Railroad.Terminal('\"FEATURES IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"REQUEST\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}))),Railroad.Sequence(Railroad.Terminal('\"BEHAVIOR IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR CREATE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR UPDATE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR DELETE\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Sequence(Railroad.Terminal('\"BEHAVIOR IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR READ\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"BEHAVIOR\"'),Railroad.Terminal('\"LOCK\"')),Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR LOCK\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Sequence(Railroad.Terminal('\"DETERMINE\"'),Railroad.Choice(0, Railroad.Terminal('\"ON MODIFY\"'),Railroad.Terminal('\"ON SAVE\"')),Railroad.Terminal('\"IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'})),Railroad.Sequence(Railroad.Terminal('\"GLOBAL AUTHORIZATION IMPORTING REQUEST\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}))),Railroad.Sequence(Railroad.Terminal('\"INSTANCE AUTHORIZATION IMPORTING\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"REQUEST\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('MethodParamName', {href: '#/expression/MethodParamName'})))))),Railroad.Sequence(Railroad.Terminal('\"AMDP OPTIONS CDS SESSION CLIENT CURRENT\"'),Railroad.Optional(Railroad.NonTerminal('MethodDefImporting', {href: '#/expression/MethodDefImporting'})),Railroad.Optional(Railroad.NonTerminal('MethodDefExporting', {href: '#/expression/MethodDefExporting'})),Railroad.Optional(Railroad.NonTerminal('MethodDefRaising', {href: '#/expression/MethodDefRaising'}))),Railroad.Terminal('\"NOT AT END OF MODE\"'),Railroad.Optional(Railroad.NonTerminal('Redefinition', {href: '#/expression/Redefinition'}))))).toString();",
+      "using": [
+        "expression/Abstract",
+        "expression/EntityAssociation",
+        "expression/EventHandler",
+        "expression/MethodDefChanging",
+        "expression/MethodDefExceptions",
+        "expression/MethodDefExporting",
+        "expression/MethodDefImporting",
+        "expression/MethodDefRaising",
+        "expression/MethodDefReturning",
+        "expression/MethodName",
+        "expression/MethodParamName",
+        "expression/NamespaceSimpleName",
+        "expression/Redefinition",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2100.5\" height=\"965\" viewBox=\"0 0 2100.5 965\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2050.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M237.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M217.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"143.75\" y=\"44\">\"CLASS-METHODS\"</text>\n</g>\n<path d=\"M217.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M166.5 70h51\"></path>\n<rect x=\"70\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"118.25\" y=\"74\">\"METHODS\"</text>\n</g>\n<path d=\"M217.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M237.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M247.5 40h0\"></path>\n<path d=\"M352.5 40h0\"></path>\n<rect x=\"247.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodName\"><text x=\"300\" y=\"44\">MethodName</text>\n</a>\n</g>\n<path d=\"M352.5 40h10\"></path>\n<g>\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M2050.5 40h0\"></path>\n<path d=\"M362.5 40h20\"></path>\n<g>\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M642.5 40h1388\"></path>\n<g>\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M510.5 40h0\"></path>\n<path d=\"M382.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 20h88\"></path>\n</g>\n<path d=\"M490.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M402.5 40h0\"></path>\n<path d=\"M490.5 40h0\"></path>\n<rect x=\"402.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Abstract\"><text x=\"446.5\" y=\"44\">Abstract</text>\n</a>\n</g>\n<path d=\"M490.5 40h20\"></path>\n</g>\n<path d=\"M510.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M520.5 40h0\"></path>\n<path d=\"M642.5 40h0\"></path>\n<rect x=\"520.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventHandler\"><text x=\"581.5\" y=\"44\">EventHandler</text>\n</a>\n</g>\n</g>\n<path d=\"M2030.5 40h20\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 79h0\"></path>\n<path d=\"M1888 79h142.5\"></path>\n<g>\n<path d=\"M382.5 79h0\"></path>\n<path d=\"M783 79h0\"></path>\n<path d=\"M382.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 59h360.5\"></path>\n</g>\n<path d=\"M763 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 79h20\"></path>\n<g>\n<path d=\"M402.5 79h0\"></path>\n<path d=\"M763 79h0\"></path>\n<path d=\"M402.5 79h20\"></path>\n<g class=\"terminal\">\n<path d=\"M422.5 79h0\"></path>\n<path d=\"M502 79h241\"></path>\n<rect x=\"422.5\" y=\"68\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"462.25\" y=\"83\">\"FINAL\"</text>\n</g>\n<path d=\"M743 79h20\"></path>\n<path d=\"M402.5 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M422.5 109h0\"></path>\n<path d=\"M743 109h0\"></path>\n<g>\n<path d=\"M422.5 109h0\"></path>\n<path d=\"M488.5 109h0\"></path>\n<text x=\"455.5\" y=\"114\" class=\"comment\">v740sp08</text>\n</g>\n<path d=\"M488.5 109h10\"></path>\n<path d=\"M498.5 109h10\"></path>\n<g>\n<path d=\"M508.5 109h0\"></path>\n<path d=\"M743 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508.5 109h0\"></path>\n<path d=\"M605 109h0\"></path>\n<rect x=\"508.5\" y=\"98\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"556.75\" y=\"113\">\"DEFAULT\"</text>\n</g>\n<path d=\"M605 109h10\"></path>\n<g>\n<path d=\"M615 109h0\"></path>\n<path d=\"M743 109h0\"></path>\n<path d=\"M615 109h20\"></path>\n<g class=\"terminal\">\n<path d=\"M635 109h0\"></path>\n<path d=\"M706 109h17\"></path>\n<rect x=\"635\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"670.5\" y=\"113\">\"FAIL\"</text>\n</g>\n<path d=\"M723 109h20\"></path>\n<path d=\"M615 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M635 139h0\"></path>\n<path d=\"M723 139h0\"></path>\n<rect x=\"635\" y=\"128\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679\" y=\"143\">\"IGNORE\"</text>\n</g>\n<path d=\"M723 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M743 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M402.5 79a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M422.5 169h0\"></path>\n<path d=\"M510.5 169h232.5\"></path>\n<rect x=\"422.5\" y=\"158\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Abstract\"><text x=\"466.5\" y=\"173\">Abstract</text>\n</a>\n</g>\n<path d=\"M743 169a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M763 79h20\"></path>\n</g>\n<g>\n<path d=\"M783 79h0\"></path>\n<path d=\"M996 79h0\"></path>\n<path d=\"M783 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M803 59h173\"></path>\n</g>\n<path d=\"M976 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M783 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M803 79h0\"></path>\n<path d=\"M976 79h0\"></path>\n<rect x=\"803\" y=\"68\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefImporting\"><text x=\"889.5\" y=\"83\">MethodDefImporting</text>\n</a>\n</g>\n<path d=\"M976 79h20\"></path>\n</g>\n<g>\n<path d=\"M996 79h0\"></path>\n<path d=\"M1209 79h0\"></path>\n<path d=\"M996 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1016 59h173\"></path>\n</g>\n<path d=\"M1189 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M996 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1016 79h0\"></path>\n<path d=\"M1189 79h0\"></path>\n<rect x=\"1016\" y=\"68\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefExporting\"><text x=\"1102.5\" y=\"83\">MethodDefExporting</text>\n</a>\n</g>\n<path d=\"M1189 79h20\"></path>\n</g>\n<g>\n<path d=\"M1209 79h0\"></path>\n<path d=\"M1413.5 79h0\"></path>\n<path d=\"M1209 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1229 59h164.5\"></path>\n</g>\n<path d=\"M1393.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1209 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1229 79h0\"></path>\n<path d=\"M1393.5 79h0\"></path>\n<rect x=\"1229\" y=\"68\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefChanging\"><text x=\"1311.25\" y=\"83\">MethodDefChanging</text>\n</a>\n</g>\n<path d=\"M1393.5 79h20\"></path>\n</g>\n<g>\n<path d=\"M1413.5 79h0\"></path>\n<path d=\"M1626.5 79h0\"></path>\n<path d=\"M1413.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1433.5 59h173\"></path>\n</g>\n<path d=\"M1606.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1413.5 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1433.5 79h0\"></path>\n<path d=\"M1606.5 79h0\"></path>\n<rect x=\"1433.5\" y=\"68\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefReturning\"><text x=\"1520\" y=\"83\">MethodDefReturning</text>\n</a>\n</g>\n<path d=\"M1606.5 79h20\"></path>\n</g>\n<g>\n<path d=\"M1626.5 79h0\"></path>\n<path d=\"M1888 79h0\"></path>\n<path d=\"M1626.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1646.5 59h221.5\"></path>\n</g>\n<path d=\"M1868 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1626.5 79h20\"></path>\n<g>\n<path d=\"M1646.5 79h0\"></path>\n<path d=\"M1868 79h0\"></path>\n<path d=\"M1646.5 79h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1666.5 79h0\"></path>\n<path d=\"M1822.5 79h25.5\"></path>\n<rect x=\"1666.5\" y=\"68\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefRaising\"><text x=\"1744.5\" y=\"83\">MethodDefRaising</text>\n</a>\n</g>\n<path d=\"M1848 79h20\"></path>\n<path d=\"M1646.5 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1666.5 109h0\"></path>\n<path d=\"M1848 109h0\"></path>\n<rect x=\"1666.5\" y=\"98\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefExceptions\"><text x=\"1757.25\" y=\"113\">MethodDefExceptions</text>\n</a>\n</g>\n<path d=\"M1848 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1868 79h20\"></path>\n</g>\n</g>\n<path d=\"M2030.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 208h0\"></path>\n<path d=\"M922.5 208h1108\"></path>\n<g>\n<path d=\"M382.5 208h0\"></path>\n<path d=\"M510.5 208h0\"></path>\n<path d=\"M382.5 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 188h88\"></path>\n</g>\n<path d=\"M490.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 208h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M402.5 208h0\"></path>\n<path d=\"M490.5 208h0\"></path>\n<rect x=\"402.5\" y=\"197\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Abstract\"><text x=\"446.5\" y=\"212\">Abstract</text>\n</a>\n</g>\n<path d=\"M490.5 208h20\"></path>\n</g>\n<path d=\"M510.5 208h10\"></path>\n<g class=\"terminal\">\n<path d=\"M520.5 208h0\"></path>\n<path d=\"M651 208h0\"></path>\n<rect x=\"520.5\" y=\"197\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"585.75\" y=\"212\">\"FOR TESTING\"</text>\n</g>\n<path d=\"M651 208h10\"></path>\n<g>\n<path d=\"M661 208h0\"></path>\n<path d=\"M922.5 208h0\"></path>\n<path d=\"M661 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M681 188h221.5\"></path>\n</g>\n<path d=\"M902.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M661 208h20\"></path>\n<g>\n<path d=\"M681 208h0\"></path>\n<path d=\"M902.5 208h0\"></path>\n<path d=\"M681 208h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M701 208h0\"></path>\n<path d=\"M857 208h25.5\"></path>\n<rect x=\"701\" y=\"197\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefRaising\"><text x=\"779\" y=\"212\">MethodDefRaising</text>\n</a>\n</g>\n<path d=\"M882.5 208h20\"></path>\n<path d=\"M681 208a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M701 238h0\"></path>\n<path d=\"M882.5 238h0\"></path>\n<rect x=\"701\" y=\"227\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefExceptions\"><text x=\"791.75\" y=\"242\">MethodDefExceptions</text>\n</a>\n</g>\n<path d=\"M882.5 238a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M902.5 208h20\"></path>\n</g>\n</g>\n<path d=\"M2030.5 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 268h0\"></path>\n<path d=\"M2030.5 268h0\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 268h0\"></path>\n<path d=\"M445 268h0\"></path>\n<rect x=\"382.5\" y=\"257\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"413.75\" y=\"272\">\"FOR\"</text>\n</g>\n<path d=\"M445 268h10\"></path>\n<g>\n<path d=\"M455 268h0\"></path>\n<path d=\"M2030.5 268h0\"></path>\n<path d=\"M455 268h20\"></path>\n<g>\n<path d=\"M475 268h0\"></path>\n<path d=\"M722 268h1288.5\"></path>\n<g class=\"terminal\">\n<path d=\"M475 268h0\"></path>\n<path d=\"M631 268h0\"></path>\n<rect x=\"475\" y=\"257\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"553\" y=\"272\">\"TABLE FUNCTION\"</text>\n</g>\n<path d=\"M631 268h10\"></path>\n<path d=\"M641 268h10\"></path>\n<g class=\"terminal\">\n<path d=\"M651 268h0\"></path>\n<path d=\"M722 268h0\"></path>\n<rect x=\"651\" y=\"257\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"686.5\" y=\"272\">^\\w+?$</text>\n</g>\n</g>\n<path d=\"M2010.5 268h20\"></path>\n<path d=\"M455 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M475 298h0\"></path>\n<path d=\"M903 298h1107.5\"></path>\n<rect x=\"475\" y=\"287\" width=\"428\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"302\">\"DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED\"</text>\n</g>\n<path d=\"M2010.5 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M455 268a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M475 328h0\"></path>\n<path d=\"M2010.5 328h0\"></path>\n<path d=\"M475 328h20\"></path>\n<g>\n<path d=\"M495 328h0\"></path>\n<path d=\"M1111 328h879.5\"></path>\n<g class=\"terminal\">\n<path d=\"M495 328h0\"></path>\n<path d=\"M753 328h0\"></path>\n<rect x=\"495\" y=\"317\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"624\" y=\"332\">\"VALIDATE ON SAVE IMPORTING\"</text>\n</g>\n<path d=\"M753 328h10\"></path>\n<path d=\"M763 328h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M773 328h0\"></path>\n<path d=\"M920.5 328h0\"></path>\n<rect x=\"773\" y=\"317\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"846.75\" y=\"332\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M920.5 328h10\"></path>\n<path d=\"M930.5 328h10\"></path>\n<g class=\"terminal\">\n<path d=\"M940.5 328h0\"></path>\n<path d=\"M1003 328h0\"></path>\n<rect x=\"940.5\" y=\"317\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"971.75\" y=\"332\">\"FOR\"</text>\n</g>\n<path d=\"M1003 328h10\"></path>\n<path d=\"M1013 328h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1023 328h0\"></path>\n<path d=\"M1111 328h0\"></path>\n<rect x=\"1023\" y=\"317\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1067\" y=\"332\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1990.5 328h20\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 367h0\"></path>\n<path d=\"M1421 367h569.5\"></path>\n<g class=\"terminal\">\n<path d=\"M495 367h0\"></path>\n<path d=\"M668 367h0\"></path>\n<rect x=\"495\" y=\"356\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"581.5\" y=\"371\">\"MODIFY IMPORTING\"</text>\n</g>\n<path d=\"M668 367h10\"></path>\n<path d=\"M678 367h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M688 367h0\"></path>\n<path d=\"M835.5 367h0\"></path>\n<rect x=\"688\" y=\"356\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"761.75\" y=\"371\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M835.5 367h10\"></path>\n<g>\n<path d=\"M845.5 367h0\"></path>\n<path d=\"M1421 367h0\"></path>\n<path d=\"M845.5 367h20\"></path>\n<g>\n<path d=\"M865.5 367h0\"></path>\n<path d=\"M1401 367h0\"></path>\n<g class=\"terminal\">\n<path d=\"M865.5 367h0\"></path>\n<path d=\"M987.5 367h0\"></path>\n<rect x=\"865.5\" y=\"356\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"926.5\" y=\"371\">\"FOR ACTION\"</text>\n</g>\n<path d=\"M987.5 367h10\"></path>\n<path d=\"M997.5 367h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1007.5 367h0\"></path>\n<path d=\"M1095.5 367h0\"></path>\n<rect x=\"1007.5\" y=\"356\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1051.5\" y=\"371\">TypeName</text>\n</a>\n</g>\n<path d=\"M1095.5 367h10\"></path>\n<g>\n<path d=\"M1105.5 367h0\"></path>\n<path d=\"M1401 367h0\"></path>\n<path d=\"M1105.5 367a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1125.5 347h255.5\"></path>\n</g>\n<path d=\"M1381 347a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1105.5 367h20\"></path>\n<g>\n<path d=\"M1125.5 367h0\"></path>\n<path d=\"M1381 367h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1125.5 367h0\"></path>\n<path d=\"M1213.5 367h0\"></path>\n<rect x=\"1125.5\" y=\"356\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1169.5\" y=\"371\">\"RESULT\"</text>\n</g>\n<path d=\"M1213.5 367h10\"></path>\n<path d=\"M1223.5 367h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1233.5 367h0\"></path>\n<path d=\"M1381 367h0\"></path>\n<rect x=\"1233.5\" y=\"356\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1307.25\" y=\"371\">MethodParamName</text>\n</a>\n</g>\n</g>\n<path d=\"M1381 367h20\"></path>\n</g>\n</g>\n<path d=\"M1401 367h20\"></path>\n<path d=\"M845.5 367a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M865.5 397h0\"></path>\n<path d=\"M1202 397h199\"></path>\n<g class=\"terminal\">\n<path d=\"M865.5 397h0\"></path>\n<path d=\"M987.5 397h0\"></path>\n<rect x=\"865.5\" y=\"386\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"926.5\" y=\"401\">\"FOR CREATE\"</text>\n</g>\n<path d=\"M987.5 397h10\"></path>\n<g>\n<path d=\"M997.5 397h0\"></path>\n<path d=\"M1202 397h0\"></path>\n<path d=\"M997.5 397h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1017.5 397h0\"></path>\n<path d=\"M1105.5 397h76.5\"></path>\n<rect x=\"1017.5\" y=\"386\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1061.5\" y=\"401\">TypeName</text>\n</a>\n</g>\n<path d=\"M1182 397h20\"></path>\n<path d=\"M997.5 397a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1017.5 427h0\"></path>\n<path d=\"M1182 427h0\"></path>\n<rect x=\"1017.5\" y=\"416\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EntityAssociation\"><text x=\"1099.75\" y=\"431\">EntityAssociation</text>\n</a>\n</g>\n<path d=\"M1182 427a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1401 397a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M845.5 367a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M865.5 457h0\"></path>\n<path d=\"M1095.5 457h305.5\"></path>\n<g class=\"terminal\">\n<path d=\"M865.5 457h0\"></path>\n<path d=\"M987.5 457h0\"></path>\n<rect x=\"865.5\" y=\"446\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"926.5\" y=\"461\">\"FOR DELETE\"</text>\n</g>\n<path d=\"M987.5 457h10\"></path>\n<path d=\"M997.5 457h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1007.5 457h0\"></path>\n<path d=\"M1095.5 457h0\"></path>\n<rect x=\"1007.5\" y=\"446\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1051.5\" y=\"461\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1401 457a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M845.5 367a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M865.5 487h0\"></path>\n<path d=\"M1095.5 487h305.5\"></path>\n<g class=\"terminal\">\n<path d=\"M865.5 487h0\"></path>\n<path d=\"M987.5 487h0\"></path>\n<rect x=\"865.5\" y=\"476\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"926.5\" y=\"491\">\"FOR UPDATE\"</text>\n</g>\n<path d=\"M987.5 487h10\"></path>\n<path d=\"M997.5 487h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1007.5 487h0\"></path>\n<path d=\"M1095.5 487h0\"></path>\n<rect x=\"1007.5\" y=\"476\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1051.5\" y=\"491\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1401 487a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1990.5 367a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 526h0\"></path>\n<path d=\"M1990.5 526h0\"></path>\n<g class=\"terminal\">\n<path d=\"M495 526h0\"></path>\n<path d=\"M651 526h0\"></path>\n<rect x=\"495\" y=\"515\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573\" y=\"530\">\"READ IMPORTING\"</text>\n</g>\n<path d=\"M651 526h10\"></path>\n<path d=\"M661 526h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M671 526h0\"></path>\n<path d=\"M818.5 526h0\"></path>\n<rect x=\"671\" y=\"515\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"744.75\" y=\"530\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M818.5 526h10\"></path>\n<path d=\"M828.5 526h10\"></path>\n<g class=\"terminal\">\n<path d=\"M838.5 526h0\"></path>\n<path d=\"M943.5 526h0\"></path>\n<rect x=\"838.5\" y=\"515\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"891\" y=\"530\">\"FOR READ\"</text>\n</g>\n<path d=\"M943.5 526h10\"></path>\n<g>\n<path d=\"M953.5 526h0\"></path>\n<path d=\"M1158 526h0\"></path>\n<path d=\"M953.5 526h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M973.5 526h0\"></path>\n<path d=\"M1061.5 526h76.5\"></path>\n<rect x=\"973.5\" y=\"515\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1017.5\" y=\"530\">TypeName</text>\n</a>\n</g>\n<path d=\"M1138 526h20\"></path>\n<path d=\"M953.5 526a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M973.5 556h0\"></path>\n<path d=\"M1138 556h0\"></path>\n<rect x=\"973.5\" y=\"545\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EntityAssociation\"><text x=\"1055.75\" y=\"560\">EntityAssociation</text>\n</a>\n</g>\n<path d=\"M1138 556a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1158 526h0\"></path>\n<path d=\"M1436.5 526h0\"></path>\n<path d=\"M1158 526a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1178 506h238.5\"></path>\n</g>\n<path d=\"M1416.5 506a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1158 526h20\"></path>\n<g>\n<path d=\"M1178 526h0\"></path>\n<path d=\"M1416.5 526h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1178 526h0\"></path>\n<path d=\"M1249 526h0\"></path>\n<rect x=\"1178\" y=\"515\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1213.5\" y=\"530\">\"FULL\"</text>\n</g>\n<path d=\"M1249 526h10\"></path>\n<path d=\"M1259 526h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1269 526h0\"></path>\n<path d=\"M1416.5 526h0\"></path>\n<rect x=\"1269\" y=\"515\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1342.75\" y=\"530\">MethodParamName</text>\n</a>\n</g>\n</g>\n<path d=\"M1416.5 526h20\"></path>\n</g>\n<path d=\"M1436.5 526h10\"></path>\n<g>\n<path d=\"M1446.5 526h0\"></path>\n<path d=\"M1702 526h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1446.5 526h0\"></path>\n<path d=\"M1534.5 526h0\"></path>\n<rect x=\"1446.5\" y=\"515\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1490.5\" y=\"530\">\"RESULT\"</text>\n</g>\n<path d=\"M1534.5 526h10\"></path>\n<path d=\"M1544.5 526h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1554.5 526h0\"></path>\n<path d=\"M1702 526h0\"></path>\n<rect x=\"1554.5\" y=\"515\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1628.25\" y=\"530\">MethodParamName</text>\n</a>\n</g>\n</g>\n<path d=\"M1702 526h10\"></path>\n<g>\n<path d=\"M1712 526h0\"></path>\n<path d=\"M1990.5 526h0\"></path>\n<path d=\"M1712 526a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1732 506h238.5\"></path>\n</g>\n<path d=\"M1970.5 506a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1712 526h20\"></path>\n<g>\n<path d=\"M1732 526h0\"></path>\n<path d=\"M1970.5 526h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1732 526h0\"></path>\n<path d=\"M1803 526h0\"></path>\n<rect x=\"1732\" y=\"515\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1767.5\" y=\"530\">\"LINK\"</text>\n</g>\n<path d=\"M1803 526h10\"></path>\n<path d=\"M1813 526h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1823 526h0\"></path>\n<path d=\"M1970.5 526h0\"></path>\n<rect x=\"1823\" y=\"515\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1896.75\" y=\"530\">MethodParamName</text>\n</a>\n</g>\n</g>\n<path d=\"M1970.5 526h20\"></path>\n</g>\n</g>\n<path d=\"M1990.5 526a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v238a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 586h0\"></path>\n<path d=\"M1730 586h260.5\"></path>\n<g class=\"terminal\">\n<path d=\"M495 586h0\"></path>\n<path d=\"M685 586h0\"></path>\n<rect x=\"495\" y=\"575\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"590\" y=\"590\">\"FEATURES IMPORTING\"</text>\n</g>\n<path d=\"M685 586h10\"></path>\n<path d=\"M695 586h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M705 586h0\"></path>\n<path d=\"M852.5 586h0\"></path>\n<rect x=\"705\" y=\"575\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"778.75\" y=\"590\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M852.5 586h10\"></path>\n<path d=\"M862.5 586h10\"></path>\n<g class=\"terminal\">\n<path d=\"M872.5 586h0\"></path>\n<path d=\"M969 586h0\"></path>\n<rect x=\"872.5\" y=\"575\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"920.75\" y=\"590\">\"REQUEST\"</text>\n</g>\n<path d=\"M969 586h10\"></path>\n<path d=\"M979 586h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M989 586h0\"></path>\n<path d=\"M1170.5 586h0\"></path>\n<rect x=\"989\" y=\"575\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1079.75\" y=\"590\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1170.5 586h10\"></path>\n<path d=\"M1180.5 586h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1190.5 586h0\"></path>\n<path d=\"M1253 586h0\"></path>\n<rect x=\"1190.5\" y=\"575\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1221.75\" y=\"590\">\"FOR\"</text>\n</g>\n<path d=\"M1253 586h10\"></path>\n<path d=\"M1263 586h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1273 586h0\"></path>\n<path d=\"M1454.5 586h0\"></path>\n<rect x=\"1273\" y=\"575\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1363.75\" y=\"590\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1454.5 586h10\"></path>\n<path d=\"M1464.5 586h10\"></path>\n<g>\n<path d=\"M1474.5 586h0\"></path>\n<path d=\"M1730 586h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1474.5 586h0\"></path>\n<path d=\"M1562.5 586h0\"></path>\n<rect x=\"1474.5\" y=\"575\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1518.5\" y=\"590\">\"RESULT\"</text>\n</g>\n<path d=\"M1562.5 586h10\"></path>\n<path d=\"M1572.5 586h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1582.5 586h0\"></path>\n<path d=\"M1730 586h0\"></path>\n<rect x=\"1582.5\" y=\"575\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1656.25\" y=\"590\">MethodParamName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1990.5 586a10 10 0 0 0 10 -10v-238a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v268a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 616h0\"></path>\n<path d=\"M1937.5 616h53\"></path>\n<g class=\"terminal\">\n<path d=\"M495 616h0\"></path>\n<path d=\"M685 616h0\"></path>\n<rect x=\"495\" y=\"605\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"590\" y=\"620\">\"BEHAVIOR IMPORTING\"</text>\n</g>\n<path d=\"M685 616h10\"></path>\n<path d=\"M695 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M705 616h0\"></path>\n<path d=\"M852.5 616h0\"></path>\n<rect x=\"705\" y=\"605\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"778.75\" y=\"620\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M852.5 616h10\"></path>\n<path d=\"M862.5 616h10\"></path>\n<g class=\"terminal\">\n<path d=\"M872.5 616h0\"></path>\n<path d=\"M994.5 616h0\"></path>\n<rect x=\"872.5\" y=\"605\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.5\" y=\"620\">\"FOR CREATE\"</text>\n</g>\n<path d=\"M994.5 616h10\"></path>\n<path d=\"M1004.5 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1014.5 616h0\"></path>\n<path d=\"M1102.5 616h0\"></path>\n<rect x=\"1014.5\" y=\"605\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1058.5\" y=\"620\">TypeName</text>\n</a>\n</g>\n<path d=\"M1102.5 616h10\"></path>\n<path d=\"M1112.5 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122.5 616h0\"></path>\n<path d=\"M1270 616h0\"></path>\n<rect x=\"1122.5\" y=\"605\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1196.25\" y=\"620\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M1270 616h10\"></path>\n<path d=\"M1280 616h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1290 616h0\"></path>\n<path d=\"M1412 616h0\"></path>\n<rect x=\"1290\" y=\"605\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1351\" y=\"620\">\"FOR UPDATE\"</text>\n</g>\n<path d=\"M1412 616h10\"></path>\n<path d=\"M1422 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1432 616h0\"></path>\n<path d=\"M1520 616h0\"></path>\n<rect x=\"1432\" y=\"605\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1476\" y=\"620\">TypeName</text>\n</a>\n</g>\n<path d=\"M1520 616h10\"></path>\n<path d=\"M1530 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1540 616h0\"></path>\n<path d=\"M1687.5 616h0\"></path>\n<rect x=\"1540\" y=\"605\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1613.75\" y=\"620\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M1687.5 616h10\"></path>\n<path d=\"M1697.5 616h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1707.5 616h0\"></path>\n<path d=\"M1829.5 616h0\"></path>\n<rect x=\"1707.5\" y=\"605\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1768.5\" y=\"620\">\"FOR DELETE\"</text>\n</g>\n<path d=\"M1829.5 616h10\"></path>\n<path d=\"M1839.5 616h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1849.5 616h0\"></path>\n<path d=\"M1937.5 616h0\"></path>\n<rect x=\"1849.5\" y=\"605\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1893.5\" y=\"620\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1990.5 616a10 10 0 0 0 10 -10v-268a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v298a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 646h0\"></path>\n<path d=\"M1361 646h629.5\"></path>\n<g class=\"terminal\">\n<path d=\"M495 646h0\"></path>\n<path d=\"M685 646h0\"></path>\n<rect x=\"495\" y=\"635\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"590\" y=\"650\">\"BEHAVIOR IMPORTING\"</text>\n</g>\n<path d=\"M685 646h10\"></path>\n<path d=\"M695 646h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M705 646h0\"></path>\n<path d=\"M852.5 646h0\"></path>\n<rect x=\"705\" y=\"635\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"778.75\" y=\"650\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M852.5 646h10\"></path>\n<path d=\"M862.5 646h10\"></path>\n<g class=\"terminal\">\n<path d=\"M872.5 646h0\"></path>\n<path d=\"M977.5 646h0\"></path>\n<rect x=\"872.5\" y=\"635\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"925\" y=\"650\">\"FOR READ\"</text>\n</g>\n<path d=\"M977.5 646h10\"></path>\n<path d=\"M987.5 646h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M997.5 646h0\"></path>\n<path d=\"M1085.5 646h0\"></path>\n<rect x=\"997.5\" y=\"635\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1041.5\" y=\"650\">TypeName</text>\n</a>\n</g>\n<path d=\"M1085.5 646h10\"></path>\n<path d=\"M1095.5 646h10\"></path>\n<g>\n<path d=\"M1105.5 646h0\"></path>\n<path d=\"M1361 646h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1105.5 646h0\"></path>\n<path d=\"M1193.5 646h0\"></path>\n<rect x=\"1105.5\" y=\"635\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1149.5\" y=\"650\">\"RESULT\"</text>\n</g>\n<path d=\"M1193.5 646h10\"></path>\n<path d=\"M1203.5 646h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1213.5 646h0\"></path>\n<path d=\"M1361 646h0\"></path>\n<rect x=\"1213.5\" y=\"635\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1287.25\" y=\"650\">MethodParamName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1990.5 646a10 10 0 0 0 10 -10v-298a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v328a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 676h0\"></path>\n<path d=\"M1164 676h826.5\"></path>\n<g>\n<path d=\"M495 676h0\"></path>\n<path d=\"M640 676h0\"></path>\n<path d=\"M495 676h20\"></path>\n<g class=\"terminal\">\n<path d=\"M515 676h0\"></path>\n<path d=\"M620 676h0\"></path>\n<rect x=\"515\" y=\"665\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"567.5\" y=\"680\">\"BEHAVIOR\"</text>\n</g>\n<path d=\"M620 676h20\"></path>\n<path d=\"M495 676a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M515 706h0\"></path>\n<path d=\"M586 706h34\"></path>\n<rect x=\"515\" y=\"695\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.5\" y=\"710\">\"LOCK\"</text>\n</g>\n<path d=\"M620 706a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M640 676h10\"></path>\n<g class=\"terminal\">\n<path d=\"M650 676h0\"></path>\n<path d=\"M763.5 676h0\"></path>\n<rect x=\"650\" y=\"665\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"706.75\" y=\"680\">\"IMPORTING\"</text>\n</g>\n<path d=\"M763.5 676h10\"></path>\n<path d=\"M773.5 676h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M783.5 676h0\"></path>\n<path d=\"M931 676h0\"></path>\n<rect x=\"783.5\" y=\"665\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"857.25\" y=\"680\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M931 676h10\"></path>\n<path d=\"M941 676h10\"></path>\n<g class=\"terminal\">\n<path d=\"M951 676h0\"></path>\n<path d=\"M1056 676h0\"></path>\n<rect x=\"951\" y=\"665\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1003.5\" y=\"680\">\"FOR LOCK\"</text>\n</g>\n<path d=\"M1056 676h10\"></path>\n<path d=\"M1066 676h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1076 676h0\"></path>\n<path d=\"M1164 676h0\"></path>\n<rect x=\"1076\" y=\"665\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1120\" y=\"680\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1990.5 676a10 10 0 0 0 10 -10v-328a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v388a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 736h0\"></path>\n<path d=\"M1253.5 736h737\"></path>\n<g class=\"terminal\">\n<path d=\"M495 736h0\"></path>\n<path d=\"M608.5 736h0\"></path>\n<rect x=\"495\" y=\"725\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"551.75\" y=\"740\">\"DETERMINE\"</text>\n</g>\n<path d=\"M608.5 736h10\"></path>\n<g>\n<path d=\"M618.5 736h0\"></path>\n<path d=\"M772 736h0\"></path>\n<path d=\"M618.5 736h20\"></path>\n<g class=\"terminal\">\n<path d=\"M638.5 736h0\"></path>\n<path d=\"M752 736h0\"></path>\n<rect x=\"638.5\" y=\"725\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"695.25\" y=\"740\">\"ON MODIFY\"</text>\n</g>\n<path d=\"M752 736h20\"></path>\n<path d=\"M618.5 736a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M638.5 766h0\"></path>\n<path d=\"M735 766h17\"></path>\n<rect x=\"638.5\" y=\"755\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"686.75\" y=\"770\">\"ON SAVE\"</text>\n</g>\n<path d=\"M752 766a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M772 736h10\"></path>\n<g class=\"terminal\">\n<path d=\"M782 736h0\"></path>\n<path d=\"M895.5 736h0\"></path>\n<rect x=\"782\" y=\"725\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"838.75\" y=\"740\">\"IMPORTING\"</text>\n</g>\n<path d=\"M895.5 736h10\"></path>\n<path d=\"M905.5 736h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M915.5 736h0\"></path>\n<path d=\"M1063 736h0\"></path>\n<rect x=\"915.5\" y=\"725\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"989.25\" y=\"740\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M1063 736h10\"></path>\n<path d=\"M1073 736h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1083 736h0\"></path>\n<path d=\"M1145.5 736h0\"></path>\n<rect x=\"1083\" y=\"725\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1114.25\" y=\"740\">\"FOR\"</text>\n</g>\n<path d=\"M1145.5 736h10\"></path>\n<path d=\"M1155.5 736h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1165.5 736h0\"></path>\n<path d=\"M1253.5 736h0\"></path>\n<rect x=\"1165.5\" y=\"725\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1209.5\" y=\"740\">TypeName</text>\n</a>\n</g>\n</g>\n<path d=\"M1990.5 736a10 10 0 0 0 10 -10v-388a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v448a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 796h0\"></path>\n<path d=\"M1488.5 796h502\"></path>\n<g class=\"terminal\">\n<path d=\"M495 796h0\"></path>\n<path d=\"M855 796h0\"></path>\n<rect x=\"495\" y=\"785\" width=\"360\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"675\" y=\"800\">\"GLOBAL AUTHORIZATION IMPORTING REQUEST\"</text>\n</g>\n<path d=\"M855 796h10\"></path>\n<path d=\"M865 796h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M875 796h0\"></path>\n<path d=\"M1022.5 796h0\"></path>\n<rect x=\"875\" y=\"785\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"948.75\" y=\"800\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M1022.5 796h10\"></path>\n<path d=\"M1032.5 796h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1042.5 796h0\"></path>\n<path d=\"M1105 796h0\"></path>\n<rect x=\"1042.5\" y=\"785\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1073.75\" y=\"800\">\"FOR\"</text>\n</g>\n<path d=\"M1105 796h10\"></path>\n<path d=\"M1115 796h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1125 796h0\"></path>\n<path d=\"M1213 796h0\"></path>\n<rect x=\"1125\" y=\"785\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1169\" y=\"800\">TypeName</text>\n</a>\n</g>\n<path d=\"M1213 796h10\"></path>\n<path d=\"M1223 796h10\"></path>\n<g>\n<path d=\"M1233 796h0\"></path>\n<path d=\"M1488.5 796h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1233 796h0\"></path>\n<path d=\"M1321 796h0\"></path>\n<rect x=\"1233\" y=\"785\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1277\" y=\"800\">\"RESULT\"</text>\n</g>\n<path d=\"M1321 796h10\"></path>\n<path d=\"M1331 796h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1341 796h0\"></path>\n<path d=\"M1488.5 796h0\"></path>\n<rect x=\"1341\" y=\"785\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1414.75\" y=\"800\">MethodParamName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1990.5 796a10 10 0 0 0 10 -10v-448a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 328a10 10 0 0 1 10 10v478a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M495 826h0\"></path>\n<path d=\"M1721.5 826h269\"></path>\n<g class=\"terminal\">\n<path d=\"M495 826h0\"></path>\n<path d=\"M804 826h0\"></path>\n<rect x=\"495\" y=\"815\" width=\"309\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"649.5\" y=\"830\">\"INSTANCE AUTHORIZATION IMPORTING\"</text>\n</g>\n<path d=\"M804 826h10\"></path>\n<path d=\"M814 826h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M824 826h0\"></path>\n<path d=\"M971.5 826h0\"></path>\n<rect x=\"824\" y=\"815\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"897.75\" y=\"830\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M971.5 826h10\"></path>\n<path d=\"M981.5 826h10\"></path>\n<g class=\"terminal\">\n<path d=\"M991.5 826h0\"></path>\n<path d=\"M1088 826h0\"></path>\n<rect x=\"991.5\" y=\"815\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1039.75\" y=\"830\">\"REQUEST\"</text>\n</g>\n<path d=\"M1088 826h10\"></path>\n<path d=\"M1098 826h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1108 826h0\"></path>\n<path d=\"M1255.5 826h0\"></path>\n<rect x=\"1108\" y=\"815\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1181.75\" y=\"830\">MethodParamName</text>\n</a>\n</g>\n<path d=\"M1255.5 826h10\"></path>\n<path d=\"M1265.5 826h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1275.5 826h0\"></path>\n<path d=\"M1338 826h0\"></path>\n<rect x=\"1275.5\" y=\"815\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1306.75\" y=\"830\">\"FOR\"</text>\n</g>\n<path d=\"M1338 826h10\"></path>\n<path d=\"M1348 826h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1358 826h0\"></path>\n<path d=\"M1446 826h0\"></path>\n<rect x=\"1358\" y=\"815\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"1402\" y=\"830\">TypeName</text>\n</a>\n</g>\n<path d=\"M1446 826h10\"></path>\n<path d=\"M1456 826h10\"></path>\n<g>\n<path d=\"M1466 826h0\"></path>\n<path d=\"M1721.5 826h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1466 826h0\"></path>\n<path d=\"M1554 826h0\"></path>\n<rect x=\"1466\" y=\"815\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1510\" y=\"830\">\"RESULT\"</text>\n</g>\n<path d=\"M1554 826h10\"></path>\n<path d=\"M1564 826h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1574 826h0\"></path>\n<path d=\"M1721.5 826h0\"></path>\n<rect x=\"1574\" y=\"815\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodParamName\"><text x=\"1647.75\" y=\"830\">MethodParamName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1990.5 826a10 10 0 0 0 10 -10v-478a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2010.5 328a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2030.5 268a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v805a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 865h0\"></path>\n<path d=\"M1383 865h647.5\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 865h0\"></path>\n<path d=\"M751 865h0\"></path>\n<rect x=\"382.5\" y=\"854\" width=\"368.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"566.75\" y=\"869\">\"AMDP OPTIONS CDS SESSION CLIENT CURRENT\"</text>\n</g>\n<path d=\"M751 865h10\"></path>\n<g>\n<path d=\"M761 865h0\"></path>\n<path d=\"M974 865h0\"></path>\n<path d=\"M761 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M781 845h173\"></path>\n</g>\n<path d=\"M954 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M761 865h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M781 865h0\"></path>\n<path d=\"M954 865h0\"></path>\n<rect x=\"781\" y=\"854\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefImporting\"><text x=\"867.5\" y=\"869\">MethodDefImporting</text>\n</a>\n</g>\n<path d=\"M954 865h20\"></path>\n</g>\n<g>\n<path d=\"M974 865h0\"></path>\n<path d=\"M1187 865h0\"></path>\n<path d=\"M974 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M994 845h173\"></path>\n</g>\n<path d=\"M1167 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M974 865h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994 865h0\"></path>\n<path d=\"M1167 865h0\"></path>\n<rect x=\"994\" y=\"854\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefExporting\"><text x=\"1080.5\" y=\"869\">MethodDefExporting</text>\n</a>\n</g>\n<path d=\"M1167 865h20\"></path>\n</g>\n<g>\n<path d=\"M1187 865h0\"></path>\n<path d=\"M1383 865h0\"></path>\n<path d=\"M1187 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1207 845h156\"></path>\n</g>\n<path d=\"M1363 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1187 865h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1207 865h0\"></path>\n<path d=\"M1363 865h0\"></path>\n<rect x=\"1207\" y=\"854\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodDefRaising\"><text x=\"1285\" y=\"869\">MethodDefRaising</text>\n</a>\n</g>\n<path d=\"M1363 865h20\"></path>\n</g>\n</g>\n<path d=\"M2030.5 865a10 10 0 0 0 10 -10v-805a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v835a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M382.5 895h0\"></path>\n<path d=\"M572.5 895h1458\"></path>\n<rect x=\"382.5\" y=\"884\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"477.5\" y=\"899\">\"NOT AT END OF MODE\"</text>\n</g>\n<path d=\"M2030.5 895a10 10 0 0 0 10 -10v-835a10 10 0 0 1 10 -10\"></path>\n<path d=\"M362.5 40a10 10 0 0 1 10 10v874a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M382.5 934h0\"></path>\n<path d=\"M544.5 934h1486\"></path>\n<path d=\"M382.5 934a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M402.5 914h122\"></path>\n</g>\n<path d=\"M524.5 914a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M382.5 934h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M402.5 934h0\"></path>\n<path d=\"M524.5 934h0\"></path>\n<rect x=\"402.5\" y=\"923\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Redefinition\"><text x=\"463.5\" y=\"938\">Redefinition</text>\n</a>\n</g>\n<path d=\"M524.5 934h20\"></path>\n</g>\n<path d=\"M2030.5 934a10 10 0 0 0 10 -10v-874a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2050.5 40h10\"></path>\n<path d=\"M 2060.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/SectionContents"
+      ],
+      "filename": "method_def.ts"
+    },
+    {
+      "name": "MethodImplementation",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"METHOD\"'),Railroad.NonTerminal('MethodName', {href: '#/expression/MethodName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BY\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"KERNEL MODULE\"'),Railroad.OneOrMore(Railroad.Terminal(\"[\\\\w~]+\")),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"FAIL\"'),Railroad.Terminal('\"IGNORE\"')))),Railroad.Sequence(Railroad.Terminal('\"DATABASE\"'),Railroad.Choice(0, Railroad.Terminal('\"PROCEDURE\"'),Railroad.Terminal('\"FUNCTION\"'),Railroad.Terminal('\"GRAPH WORKSPACE\"')),Railroad.Terminal('\"FOR HDB\"'),Railroad.NonTerminal('Language', {href: '#/expression/Language'}),Railroad.Optional(Railroad.Terminal('\"OPTIONS READ-ONLY\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.OneOrMore(Railroad.NonTerminal('SimpleFieldChain', {href: '#/expression/SimpleFieldChain'})))))))))).toString();",
+      "using": [
+        "expression/Language",
+        "expression/MethodName",
+        "expression/SimpleFieldChain"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1548\" height=\"208\" viewBox=\"0 0 1548 208\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1498 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M138 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"52\">\"METHOD\"</text>\n</g>\n<path d=\"M138 48h10\"></path>\n<path d=\"M148 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 48h0\"></path>\n<path d=\"M263 48h0\"></path>\n<rect x=\"158\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodName\"><text x=\"210.5\" y=\"52\">MethodName</text>\n</a>\n</g>\n<path d=\"M263 48h10\"></path>\n<g>\n<path d=\"M273 48h0\"></path>\n<path d=\"M1498 48h0\"></path>\n<path d=\"M273 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M293 20h1185\"></path>\n</g>\n<path d=\"M1478 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M273 48h20\"></path>\n<g>\n<path d=\"M293 48h0\"></path>\n<path d=\"M1478 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M293 48h0\"></path>\n<path d=\"M347 48h0\"></path>\n<rect x=\"293\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"320\" y=\"52\">\"BY\"</text>\n</g>\n<path d=\"M347 48h10\"></path>\n<g>\n<path d=\"M357 48h0\"></path>\n<path d=\"M1478 48h0\"></path>\n<path d=\"M357 48h20\"></path>\n<g>\n<path d=\"M377 48h0\"></path>\n<path d=\"M813.5 48h644.5\"></path>\n<g class=\"terminal\">\n<path d=\"M377 48h0\"></path>\n<path d=\"M524.5 48h0\"></path>\n<rect x=\"377\" y=\"37\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"450.75\" y=\"52\">\"KERNEL MODULE\"</text>\n</g>\n<path d=\"M524.5 48h10\"></path>\n<path d=\"M534.5 48h10\"></path>\n<g>\n<path d=\"M544.5 48h0\"></path>\n<path d=\"M635.5 48h0\"></path>\n<path d=\"M544.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M554.5 48h0\"></path>\n<path d=\"M625.5 48h0\"></path>\n<rect x=\"554.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"590\" y=\"52\">&#91;\\w~&#93;+</text>\n</g>\n<path d=\"M625.5 48h10\"></path>\n<path d=\"M554.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M554.5 68h71\"></path>\n</g>\n<path d=\"M625.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M635.5 48h10\"></path>\n<g>\n<path d=\"M645.5 48h0\"></path>\n<path d=\"M813.5 48h0\"></path>\n<path d=\"M645.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M665.5 28h128\"></path>\n</g>\n<path d=\"M793.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M645.5 48h20\"></path>\n<g>\n<path d=\"M665.5 48h0\"></path>\n<path d=\"M793.5 48h0\"></path>\n<path d=\"M665.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M685.5 48h0\"></path>\n<path d=\"M756.5 48h17\"></path>\n<rect x=\"685.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"721\" y=\"52\">\"FAIL\"</text>\n</g>\n<path d=\"M773.5 48h20\"></path>\n<path d=\"M665.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M685.5 78h0\"></path>\n<path d=\"M773.5 78h0\"></path>\n<rect x=\"685.5\" y=\"67\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"729.5\" y=\"82\">\"IGNORE\"</text>\n</g>\n<path d=\"M773.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M793.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1458 48h20\"></path>\n<path d=\"M357 48a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M377 117h0\"></path>\n<path d=\"M1458 117h0\"></path>\n<g class=\"terminal\">\n<path d=\"M377 117h0\"></path>\n<path d=\"M482 117h0\"></path>\n<rect x=\"377\" y=\"106\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"429.5\" y=\"121\">\"DATABASE\"</text>\n</g>\n<path d=\"M482 117h10\"></path>\n<g>\n<path d=\"M492 117h0\"></path>\n<path d=\"M696.5 117h0\"></path>\n<path d=\"M492 117h20\"></path>\n<g class=\"terminal\">\n<path d=\"M512 117h0\"></path>\n<path d=\"M625.5 117h51\"></path>\n<rect x=\"512\" y=\"106\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.75\" y=\"121\">\"PROCEDURE\"</text>\n</g>\n<path d=\"M676.5 117h20\"></path>\n<path d=\"M492 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M512 147h0\"></path>\n<path d=\"M617 147h59.5\"></path>\n<rect x=\"512\" y=\"136\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"564.5\" y=\"151\">\"FUNCTION\"</text>\n</g>\n<path d=\"M676.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M492 117a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M512 177h0\"></path>\n<path d=\"M676.5 177h0\"></path>\n<rect x=\"512\" y=\"166\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"594.25\" y=\"181\">\"GRAPH WORKSPACE\"</text>\n</g>\n<path d=\"M676.5 177a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M696.5 117h10\"></path>\n<g class=\"terminal\">\n<path d=\"M706.5 117h0\"></path>\n<path d=\"M803 117h0\"></path>\n<rect x=\"706.5\" y=\"106\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"754.75\" y=\"121\">\"FOR HDB\"</text>\n</g>\n<path d=\"M803 117h10\"></path>\n<path d=\"M813 117h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M823 117h0\"></path>\n<path d=\"M911 117h0\"></path>\n<rect x=\"823\" y=\"106\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Language\"><text x=\"867\" y=\"121\">Language</text>\n</a>\n</g>\n<path d=\"M911 117h10\"></path>\n<g>\n<path d=\"M921 117h0\"></path>\n<path d=\"M1142.5 117h0\"></path>\n<path d=\"M921 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M941 97h181.5\"></path>\n</g>\n<path d=\"M1122.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M921 117h20\"></path>\n<g class=\"terminal\">\n<path d=\"M941 117h0\"></path>\n<path d=\"M1122.5 117h0\"></path>\n<rect x=\"941\" y=\"106\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1031.75\" y=\"121\">\"OPTIONS READ-ONLY\"</text>\n</g>\n<path d=\"M1122.5 117h20\"></path>\n</g>\n<g>\n<path d=\"M1142.5 117h0\"></path>\n<path d=\"M1458 117h0\"></path>\n<path d=\"M1142.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1162.5 97h275.5\"></path>\n</g>\n<path d=\"M1438 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1142.5 117h20\"></path>\n<g>\n<path d=\"M1162.5 117h0\"></path>\n<path d=\"M1438 117h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1162.5 117h0\"></path>\n<path d=\"M1242 117h0\"></path>\n<rect x=\"1162.5\" y=\"106\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1202.25\" y=\"121\">\"USING\"</text>\n</g>\n<path d=\"M1242 117h10\"></path>\n<path d=\"M1252 117h10\"></path>\n<g>\n<path d=\"M1262 117h0\"></path>\n<path d=\"M1438 117h0\"></path>\n<path d=\"M1262 117h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1272 117h0\"></path>\n<path d=\"M1428 117h0\"></path>\n<rect x=\"1272\" y=\"106\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain\"><text x=\"1350\" y=\"121\">SimpleFieldChain</text>\n</a>\n</g>\n<path d=\"M1428 117h10\"></path>\n<path d=\"M1272 117a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1272 137h156\"></path>\n</g>\n<path d=\"M1428 137a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1438 117h20\"></path>\n</g>\n</g>\n<path d=\"M1458 117a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1478 48h20\"></path>\n</g>\n</g>\n<path d=\"M1498 48h10\"></path>\n<path d=\"M 1508 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Method"
+      ],
+      "filename": "method_implementation.ts"
+    },
+    {
+      "name": "ModifyDatabase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"MODIFY\"'),Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'}),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/DatabaseTable",
+        "expression/SQLClient",
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"735.5\" height=\"131\" viewBox=\"0 0 735.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M685.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"MODIFY\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 31h0\"></path>\n<path d=\"M288.5 31h0\"></path>\n<rect x=\"158\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"223.25\" y=\"35\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M288.5 31h10\"></path>\n<path d=\"M298.5 31h10\"></path>\n<g>\n<path d=\"M308.5 31h0\"></path>\n<path d=\"M685.5 31h0\"></path>\n<path d=\"M338.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348.5 31h0\"></path>\n<path d=\"M521.5 31h134\"></path>\n<rect x=\"348.5\" y=\"20\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"435\" y=\"35\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M655.5 31h10\"></path>\n<path d=\"M338.5 31v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M348.5 70h0\"></path>\n<path d=\"M655.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 70h0\"></path>\n<path d=\"M419.5 70h0\"></path>\n<rect x=\"348.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"384\" y=\"74\">\"FROM\"</text>\n</g>\n<path d=\"M419.5 70h10\"></path>\n<g>\n<path d=\"M429.5 70h0\"></path>\n<path d=\"M549 70h0\"></path>\n<path d=\"M429.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M449.5 50h79.5\"></path>\n</g>\n<path d=\"M529 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M429.5 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 70h0\"></path>\n<path d=\"M529 70h0\"></path>\n<rect x=\"449.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"489.25\" y=\"74\">\"TABLE\"</text>\n</g>\n<path d=\"M529 70h20\"></path>\n</g>\n<path d=\"M549 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M559 70h0\"></path>\n<path d=\"M655.5 70h0\"></path>\n<rect x=\"559\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"607.25\" y=\"74\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M655.5 70a10 10 0 0 0 10 -10v-29\"></path>\n<path d=\"M338.5 31v59a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348.5 100h0\"></path>\n<path d=\"M445 100h210.5\"></path>\n<rect x=\"348.5\" y=\"89\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"396.75\" y=\"104\">SQLClient</text>\n</a>\n</g>\n<path d=\"M655.5 100a10 10 0 0 0 10 -10v-59\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 338.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"323.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 665.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 672.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M685.5 31h10\"></path>\n<path d=\"M 695.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "modify_database.ts"
+    },
+    {
+      "name": "ModifyEntities",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"MODIFY ENTITIES OF\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Terminal('\"IN LOCAL MODE\"')),Railroad.Terminal('\"ENTITY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"UPDATE SET FIELDS WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"CREATE SET FIELDS WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"UPDATE\"'),Railroad.Sequence(Railroad.Terminal('\"FIELDS (\"'),Railroad.OneOrMore(Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})),Railroad.Terminal('\") WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.Terminal('\"DELETE FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"EXECUTE\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"CREATE\"'),Railroad.Optional(Railroad.Terminal('\"AUTO FILL CID\"')),Railroad.Sequence(Railroad.Terminal('\"FIELDS (\"'),Railroad.OneOrMore(Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})),Railroad.Terminal('\") WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FAILED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MAPPED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"REPORTED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2040.5\" height=\"248\" viewBox=\"0 0 2040.5 248\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1990.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M1990.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M298 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203\" y=\"44\">\"MODIFY ENTITIES OF\"</text>\n</g>\n<path d=\"M298 40h10\"></path>\n<path d=\"M308 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M318 40h0\"></path>\n<path d=\"M499.5 40h0\"></path>\n<rect x=\"318\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"408.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M499.5 40h10\"></path>\n<g>\n<path d=\"M509.5 40h0\"></path>\n<path d=\"M697 40h0\"></path>\n<path d=\"M509.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M529.5 20h147.5\"></path>\n</g>\n<path d=\"M677 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M509.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M529.5 40h0\"></path>\n<path d=\"M677 40h0\"></path>\n<rect x=\"529.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"603.25\" y=\"44\">\"IN LOCAL MODE\"</text>\n</g>\n<path d=\"M677 40h20\"></path>\n</g>\n<path d=\"M697 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M707 40h0\"></path>\n<path d=\"M795 40h0\"></path>\n<rect x=\"707\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"751\" y=\"44\">\"ENTITY\"</text>\n</g>\n<path d=\"M795 40h10\"></path>\n<path d=\"M805 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M815 40h0\"></path>\n<path d=\"M920 40h0\"></path>\n<rect x=\"815\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"867.5\" y=\"44\">SimpleName</text>\n</a>\n</g>\n<path d=\"M920 40h10\"></path>\n<g>\n<path d=\"M930 40h0\"></path>\n<path d=\"M1714.5 40h0\"></path>\n<path d=\"M930 40h20\"></path>\n<g>\n<path d=\"M950 40h0\"></path>\n<path d=\"M1265 40h429.5\"></path>\n<g class=\"terminal\">\n<path d=\"M950 40h0\"></path>\n<path d=\"M1174 40h0\"></path>\n<rect x=\"950\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1062\" y=\"44\">\"UPDATE SET FIELDS WITH\"</text>\n</g>\n<path d=\"M1174 40h10\"></path>\n<path d=\"M1184 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1194 40h0\"></path>\n<path d=\"M1265 40h0\"></path>\n<rect x=\"1194\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1229.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1694.5 40h20\"></path>\n<path d=\"M930 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M950 70h0\"></path>\n<path d=\"M1265 70h429.5\"></path>\n<g class=\"terminal\">\n<path d=\"M950 70h0\"></path>\n<path d=\"M1174 70h0\"></path>\n<rect x=\"950\" y=\"59\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1062\" y=\"74\">\"CREATE SET FIELDS WITH\"</text>\n</g>\n<path d=\"M1174 70h10\"></path>\n<path d=\"M1184 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1194 70h0\"></path>\n<path d=\"M1265 70h0\"></path>\n<rect x=\"1194\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1229.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1694.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M930 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M950 100h0\"></path>\n<path d=\"M1507 100h187.5\"></path>\n<g class=\"terminal\">\n<path d=\"M950 100h0\"></path>\n<path d=\"M1038 100h0\"></path>\n<rect x=\"950\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"994\" y=\"104\">\"UPDATE\"</text>\n</g>\n<path d=\"M1038 100h10\"></path>\n<path d=\"M1048 100h10\"></path>\n<g>\n<path d=\"M1058 100h0\"></path>\n<path d=\"M1507 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1058 100h0\"></path>\n<path d=\"M1163 100h0\"></path>\n<rect x=\"1058\" y=\"89\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1110.5\" y=\"104\">\"FIELDS (\"</text>\n</g>\n<path d=\"M1163 100h10\"></path>\n<path d=\"M1173 100h10\"></path>\n<g>\n<path d=\"M1183 100h0\"></path>\n<path d=\"M1308 100h0\"></path>\n<path d=\"M1183 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1193 100h0\"></path>\n<path d=\"M1298 100h0\"></path>\n<rect x=\"1193\" y=\"89\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1245.5\" y=\"104\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1298 100h10\"></path>\n<path d=\"M1193 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1193 120h105\"></path>\n</g>\n<path d=\"M1298 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1308 100h10\"></path>\n<path d=\"M1318 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1328 100h0\"></path>\n<path d=\"M1416 100h0\"></path>\n<rect x=\"1328\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1372\" y=\"104\">\") WITH\"</text>\n</g>\n<path d=\"M1416 100h10\"></path>\n<path d=\"M1426 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1436 100h0\"></path>\n<path d=\"M1507 100h0\"></path>\n<rect x=\"1436\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1471.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1694.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M930 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M950 139h0\"></path>\n<path d=\"M1171.5 139h523\"></path>\n<g class=\"terminal\">\n<path d=\"M950 139h0\"></path>\n<path d=\"M1080.5 139h0\"></path>\n<rect x=\"950\" y=\"128\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1015.25\" y=\"143\">\"DELETE FROM\"</text>\n</g>\n<path d=\"M1080.5 139h10\"></path>\n<path d=\"M1090.5 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1100.5 139h0\"></path>\n<path d=\"M1171.5 139h0\"></path>\n<rect x=\"1100.5\" y=\"128\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1136\" y=\"143\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1694.5 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M930 40a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M950 169h0\"></path>\n<path d=\"M1353.5 169h341\"></path>\n<g class=\"terminal\">\n<path d=\"M950 169h0\"></path>\n<path d=\"M1046.5 169h0\"></path>\n<rect x=\"950\" y=\"158\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"998.25\" y=\"173\">\"EXECUTE\"</text>\n</g>\n<path d=\"M1046.5 169h10\"></path>\n<path d=\"M1056.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1066.5 169h0\"></path>\n<path d=\"M1171.5 169h0\"></path>\n<rect x=\"1066.5\" y=\"158\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1119\" y=\"173\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1171.5 169h10\"></path>\n<path d=\"M1181.5 169h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1191.5 169h0\"></path>\n<path d=\"M1262.5 169h0\"></path>\n<rect x=\"1191.5\" y=\"158\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1227\" y=\"173\">\"FROM\"</text>\n</g>\n<path d=\"M1262.5 169h10\"></path>\n<path d=\"M1272.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1282.5 169h0\"></path>\n<path d=\"M1353.5 169h0\"></path>\n<rect x=\"1282.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1318\" y=\"173\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1694.5 169a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M930 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M950 208h0\"></path>\n<path d=\"M1694.5 208h0\"></path>\n<g class=\"terminal\">\n<path d=\"M950 208h0\"></path>\n<path d=\"M1038 208h0\"></path>\n<rect x=\"950\" y=\"197\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"994\" y=\"212\">\"CREATE\"</text>\n</g>\n<path d=\"M1038 208h10\"></path>\n<g>\n<path d=\"M1048 208h0\"></path>\n<path d=\"M1235.5 208h0\"></path>\n<path d=\"M1048 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1068 188h147.5\"></path>\n</g>\n<path d=\"M1215.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1048 208h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1068 208h0\"></path>\n<path d=\"M1215.5 208h0\"></path>\n<rect x=\"1068\" y=\"197\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1141.75\" y=\"212\">\"AUTO FILL CID\"</text>\n</g>\n<path d=\"M1215.5 208h20\"></path>\n</g>\n<path d=\"M1235.5 208h10\"></path>\n<g>\n<path d=\"M1245.5 208h0\"></path>\n<path d=\"M1694.5 208h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 208h0\"></path>\n<path d=\"M1350.5 208h0\"></path>\n<rect x=\"1245.5\" y=\"197\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1298\" y=\"212\">\"FIELDS (\"</text>\n</g>\n<path d=\"M1350.5 208h10\"></path>\n<path d=\"M1360.5 208h10\"></path>\n<g>\n<path d=\"M1370.5 208h0\"></path>\n<path d=\"M1495.5 208h0\"></path>\n<path d=\"M1370.5 208h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1380.5 208h0\"></path>\n<path d=\"M1485.5 208h0\"></path>\n<rect x=\"1380.5\" y=\"197\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1433\" y=\"212\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1485.5 208h10\"></path>\n<path d=\"M1380.5 208a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1380.5 228h105\"></path>\n</g>\n<path d=\"M1485.5 228a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1495.5 208h10\"></path>\n<path d=\"M1505.5 208h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1515.5 208h0\"></path>\n<path d=\"M1603.5 208h0\"></path>\n<rect x=\"1515.5\" y=\"197\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1559.5\" y=\"212\">\") WITH\"</text>\n</g>\n<path d=\"M1603.5 208h10\"></path>\n<path d=\"M1613.5 208h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1623.5 208h0\"></path>\n<path d=\"M1694.5 208h0\"></path>\n<rect x=\"1623.5\" y=\"197\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1659\" y=\"212\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1694.5 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1714.5 40h10\"></path>\n<g>\n<path d=\"M1724.5 40h0\"></path>\n<path d=\"M1990.5 40h0\"></path>\n<path d=\"M1754.5 40h10\"></path>\n<g>\n<path d=\"M1764.5 40h0\"></path>\n<path d=\"M1943.5 40h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1764.5 40h0\"></path>\n<path d=\"M1852.5 40h0\"></path>\n<rect x=\"1764.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1808.5\" y=\"44\">\"FAILED\"</text>\n</g>\n<path d=\"M1852.5 40h10\"></path>\n<path d=\"M1862.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1872.5 40h0\"></path>\n<path d=\"M1943.5 40h0\"></path>\n<rect x=\"1872.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1908\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1960.5 40h10\"></path>\n<path d=\"M1754.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1764.5 70h0\"></path>\n<path d=\"M1943.5 70h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1764.5 70h0\"></path>\n<path d=\"M1852.5 70h0\"></path>\n<rect x=\"1764.5\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1808.5\" y=\"74\">\"RESULT\"</text>\n</g>\n<path d=\"M1852.5 70h10\"></path>\n<path d=\"M1862.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1872.5 70h0\"></path>\n<path d=\"M1943.5 70h0\"></path>\n<rect x=\"1872.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1908\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1960.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1754.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1764.5 100h0\"></path>\n<path d=\"M1943.5 100h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1764.5 100h0\"></path>\n<path d=\"M1852.5 100h0\"></path>\n<rect x=\"1764.5\" y=\"89\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1808.5\" y=\"104\">\"MAPPED\"</text>\n</g>\n<path d=\"M1852.5 100h10\"></path>\n<path d=\"M1862.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1872.5 100h0\"></path>\n<path d=\"M1943.5 100h0\"></path>\n<rect x=\"1872.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1908\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1960.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1754.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1764.5 130h0\"></path>\n<path d=\"M1960.5 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1764.5 130h0\"></path>\n<path d=\"M1869.5 130h0\"></path>\n<rect x=\"1764.5\" y=\"119\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1817\" y=\"134\">\"REPORTED\"</text>\n</g>\n<path d=\"M1869.5 130h10\"></path>\n<path d=\"M1879.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1889.5 130h0\"></path>\n<path d=\"M1960.5 130h0\"></path>\n<rect x=\"1889.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1925\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1960.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1754.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1739.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1970.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1977.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M1990.5 40h10\"></path>\n<path d=\"M 2000.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "modify_entities.ts"
+    },
+    {
+      "name": "ModifyInternal",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"MODIFY\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.Choice(0, Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TRANSPORTING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))),Railroad.Sequence(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TRANSPORTING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))))),Railroad.Sequence(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TRANSPORTING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TRANSPORTING\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('ComponentChainSimple', {href: '#/expression/ComponentChainSimple'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))))))))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('ComponentCond', {href: '#/expression/ComponentCond'})),Railroad.Sequence(Railroad.Terminal('\"ASSIGNING\"'),Railroad.NonTerminal('FSTarget', {href: '#/expression/FSTarget'})),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}))))),Railroad.Sequence(Railroad.Terminal('\"MODIFY TABLE\"'),Railroad.Choice(0, Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})))))).toString();",
+      "using": [
+        "expression/ComponentChainSimple",
+        "expression/ComponentCond",
+        "expression/Dynamic",
+        "expression/FSTarget",
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2075.5\" height=\"422\" viewBox=\"0 0 2075.5 422\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M2035.5 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M2015.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M148 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"44\">\"MODIFY\"</text>\n</g>\n<path d=\"M148 40h10\"></path>\n<g>\n<path d=\"M158 40h0\"></path>\n<path d=\"M277.5 40h0\"></path>\n<path d=\"M158 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M178 20h79.5\"></path>\n</g>\n<path d=\"M257.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M158 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M178 40h0\"></path>\n<path d=\"M257.5 40h0\"></path>\n<rect x=\"178\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"217.75\" y=\"44\">\"TABLE\"</text>\n</g>\n<path d=\"M257.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M277.5 40h0\"></path>\n<path d=\"M397 40h0\"></path>\n<path d=\"M277.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M297.5 40h0\"></path>\n<path d=\"M368.5 40h8.5\"></path>\n<rect x=\"297.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"333\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M377 40h20\"></path>\n<path d=\"M277.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M297.5 70h0\"></path>\n<path d=\"M377 70h0\"></path>\n<rect x=\"297.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"337.25\" y=\"74\">Dynamic</text>\n</a>\n</g>\n<path d=\"M377 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M397 40h0\"></path>\n<path d=\"M1667 40h0\"></path>\n<path d=\"M397 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M417 20h1230\"></path>\n</g>\n<path d=\"M1647 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M397 40h20\"></path>\n<g>\n<path d=\"M417 40h0\"></path>\n<path d=\"M1647 40h0\"></path>\n<path d=\"M417 40h20\"></path>\n<g>\n<path d=\"M437 40h0\"></path>\n<path d=\"M916 40h711\"></path>\n<path d=\"M467 40h10\"></path>\n<g>\n<path d=\"M477 40h0\"></path>\n<path d=\"M647.5 40h238.5\"></path>\n<g class=\"terminal\">\n<path d=\"M477 40h0\"></path>\n<path d=\"M556.5 40h0\"></path>\n<rect x=\"477\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"44\">\"INDEX\"</text>\n</g>\n<path d=\"M556.5 40h10\"></path>\n<path d=\"M566.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 40h0\"></path>\n<path d=\"M647.5 40h0\"></path>\n<rect x=\"576.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"612\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M886 40h10\"></path>\n<path d=\"M467 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M477 70h0\"></path>\n<path d=\"M886 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M477 70h0\"></path>\n<path d=\"M616 70h0\"></path>\n<rect x=\"477\" y=\"59\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"546.5\" y=\"74\">\"TRANSPORTING\"</text>\n</g>\n<path d=\"M616 70h10\"></path>\n<path d=\"M626 70h10\"></path>\n<g>\n<path d=\"M636 70h0\"></path>\n<path d=\"M886 70h0\"></path>\n<path d=\"M636 70h10\"></path>\n<g>\n<path d=\"M646 70h0\"></path>\n<path d=\"M876 70h0\"></path>\n<path d=\"M646 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M666 70h0\"></path>\n<path d=\"M856 70h0\"></path>\n<rect x=\"666\" y=\"59\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"761\" y=\"74\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M856 70h20\"></path>\n<path d=\"M646 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M666 100h0\"></path>\n<path d=\"M745.5 100h110.5\"></path>\n<rect x=\"666\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"705.75\" y=\"104\">Dynamic</text>\n</a>\n</g>\n<path d=\"M856 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M876 70h10\"></path>\n<path d=\"M646 70a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M646 119h230\"></path>\n</g>\n<path d=\"M876 119a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M886 70a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 467 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"452\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 896 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 903 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1627 40h20\"></path>\n<path d=\"M417 40a10 10 0 0 1 10 10v87a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437 147h0\"></path>\n<path d=\"M1128 147h499\"></path>\n<g>\n<path d=\"M437 147h0\"></path>\n<path d=\"M599 147h0\"></path>\n<g class=\"terminal\">\n<path d=\"M437 147h0\"></path>\n<path d=\"M508 147h0\"></path>\n<rect x=\"437\" y=\"136\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"472.5\" y=\"151\">\"FROM\"</text>\n</g>\n<path d=\"M508 147h10\"></path>\n<path d=\"M518 147h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M528 147h0\"></path>\n<path d=\"M599 147h0\"></path>\n<rect x=\"528\" y=\"136\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"563.5\" y=\"151\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M599 147h10\"></path>\n<g>\n<path d=\"M609 147h0\"></path>\n<path d=\"M1128 147h0\"></path>\n<path d=\"M609 147a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M629 127h479\"></path>\n</g>\n<path d=\"M1108 127a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M609 147h20\"></path>\n<g>\n<path d=\"M629 147h0\"></path>\n<path d=\"M1108 147h0\"></path>\n<path d=\"M659 147h10\"></path>\n<g>\n<path d=\"M669 147h0\"></path>\n<path d=\"M839.5 147h238.5\"></path>\n<g class=\"terminal\">\n<path d=\"M669 147h0\"></path>\n<path d=\"M748.5 147h0\"></path>\n<rect x=\"669\" y=\"136\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.75\" y=\"151\">\"INDEX\"</text>\n</g>\n<path d=\"M748.5 147h10\"></path>\n<path d=\"M758.5 147h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768.5 147h0\"></path>\n<path d=\"M839.5 147h0\"></path>\n<rect x=\"768.5\" y=\"136\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"804\" y=\"151\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1078 147h10\"></path>\n<path d=\"M659 147v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M669 177h0\"></path>\n<path d=\"M1078 177h0\"></path>\n<g class=\"terminal\">\n<path d=\"M669 177h0\"></path>\n<path d=\"M808 177h0\"></path>\n<rect x=\"669\" y=\"166\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"738.5\" y=\"181\">\"TRANSPORTING\"</text>\n</g>\n<path d=\"M808 177h10\"></path>\n<path d=\"M818 177h10\"></path>\n<g>\n<path d=\"M828 177h0\"></path>\n<path d=\"M1078 177h0\"></path>\n<path d=\"M828 177h10\"></path>\n<g>\n<path d=\"M838 177h0\"></path>\n<path d=\"M1068 177h0\"></path>\n<path d=\"M838 177h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M858 177h0\"></path>\n<path d=\"M1048 177h0\"></path>\n<rect x=\"858\" y=\"166\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"953\" y=\"181\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M1048 177h20\"></path>\n<path d=\"M838 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M858 207h0\"></path>\n<path d=\"M937.5 207h110.5\"></path>\n<rect x=\"858\" y=\"196\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"897.75\" y=\"211\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1048 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1068 177h10\"></path>\n<path d=\"M838 177a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M838 226h230\"></path>\n</g>\n<path d=\"M1068 226a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1078 177a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 659 137 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"644\" y=\"151\" class=\"diagram-text\">1+</text>\n<path d=\"M 1088 137 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1095 145 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1108 147h20\"></path>\n</g>\n</g>\n<path d=\"M1627 147a10 10 0 0 0 10 -10v-87a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417 40a10 10 0 0 1 10 10v194a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437 254h0\"></path>\n<path d=\"M1627 254h0\"></path>\n<g>\n<path d=\"M437 254h0\"></path>\n<path d=\"M916 254h0\"></path>\n<path d=\"M467 254h10\"></path>\n<g>\n<path d=\"M477 254h0\"></path>\n<path d=\"M647.5 254h238.5\"></path>\n<g class=\"terminal\">\n<path d=\"M477 254h0\"></path>\n<path d=\"M556.5 254h0\"></path>\n<rect x=\"477\" y=\"243\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"258\">\"INDEX\"</text>\n</g>\n<path d=\"M556.5 254h10\"></path>\n<path d=\"M566.5 254h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 254h0\"></path>\n<path d=\"M647.5 254h0\"></path>\n<rect x=\"576.5\" y=\"243\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"612\" y=\"258\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M886 254h10\"></path>\n<path d=\"M467 254v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M477 284h0\"></path>\n<path d=\"M886 284h0\"></path>\n<g class=\"terminal\">\n<path d=\"M477 284h0\"></path>\n<path d=\"M616 284h0\"></path>\n<rect x=\"477\" y=\"273\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"546.5\" y=\"288\">\"TRANSPORTING\"</text>\n</g>\n<path d=\"M616 284h10\"></path>\n<path d=\"M626 284h10\"></path>\n<g>\n<path d=\"M636 284h0\"></path>\n<path d=\"M886 284h0\"></path>\n<path d=\"M636 284h10\"></path>\n<g>\n<path d=\"M646 284h0\"></path>\n<path d=\"M876 284h0\"></path>\n<path d=\"M646 284h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M666 284h0\"></path>\n<path d=\"M856 284h0\"></path>\n<rect x=\"666\" y=\"273\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"761\" y=\"288\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M856 284h20\"></path>\n<path d=\"M646 284a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M666 314h0\"></path>\n<path d=\"M745.5 314h110.5\"></path>\n<rect x=\"666\" y=\"303\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"705.75\" y=\"318\">Dynamic</text>\n</a>\n</g>\n<path d=\"M856 314a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M876 284h10\"></path>\n<path d=\"M646 284a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M646 333h230\"></path>\n</g>\n<path d=\"M876 333a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M886 284a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 467 244 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"452\" y=\"258\" class=\"diagram-text\">1+</text>\n<path d=\"M 896 244 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 903 252 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M916 254h10\"></path>\n<path d=\"M926 254h10\"></path>\n<g>\n<path d=\"M936 254h0\"></path>\n<path d=\"M1098 254h0\"></path>\n<g class=\"terminal\">\n<path d=\"M936 254h0\"></path>\n<path d=\"M1007 254h0\"></path>\n<rect x=\"936\" y=\"243\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"971.5\" y=\"258\">\"FROM\"</text>\n</g>\n<path d=\"M1007 254h10\"></path>\n<path d=\"M1017 254h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1027 254h0\"></path>\n<path d=\"M1098 254h0\"></path>\n<rect x=\"1027\" y=\"243\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1062.5\" y=\"258\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1098 254h10\"></path>\n<g>\n<path d=\"M1108 254h0\"></path>\n<path d=\"M1627 254h0\"></path>\n<path d=\"M1108 254a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1128 234h479\"></path>\n</g>\n<path d=\"M1607 234a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1108 254h20\"></path>\n<g>\n<path d=\"M1128 254h0\"></path>\n<path d=\"M1607 254h0\"></path>\n<path d=\"M1158 254h10\"></path>\n<g>\n<path d=\"M1168 254h0\"></path>\n<path d=\"M1338.5 254h238.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1168 254h0\"></path>\n<path d=\"M1247.5 254h0\"></path>\n<rect x=\"1168\" y=\"243\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1207.75\" y=\"258\">\"INDEX\"</text>\n</g>\n<path d=\"M1247.5 254h10\"></path>\n<path d=\"M1257.5 254h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1267.5 254h0\"></path>\n<path d=\"M1338.5 254h0\"></path>\n<rect x=\"1267.5\" y=\"243\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1303\" y=\"258\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1577 254h10\"></path>\n<path d=\"M1158 254v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1168 284h0\"></path>\n<path d=\"M1577 284h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1168 284h0\"></path>\n<path d=\"M1307 284h0\"></path>\n<rect x=\"1168\" y=\"273\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1237.5\" y=\"288\">\"TRANSPORTING\"</text>\n</g>\n<path d=\"M1307 284h10\"></path>\n<path d=\"M1317 284h10\"></path>\n<g>\n<path d=\"M1327 284h0\"></path>\n<path d=\"M1577 284h0\"></path>\n<path d=\"M1327 284h10\"></path>\n<g>\n<path d=\"M1337 284h0\"></path>\n<path d=\"M1567 284h0\"></path>\n<path d=\"M1337 284h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1357 284h0\"></path>\n<path d=\"M1547 284h0\"></path>\n<rect x=\"1357\" y=\"273\" width=\"190\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChainSimple\"><text x=\"1452\" y=\"288\">ComponentChainSimple</text>\n</a>\n</g>\n<path d=\"M1547 284h20\"></path>\n<path d=\"M1337 284a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1357 314h0\"></path>\n<path d=\"M1436.5 314h110.5\"></path>\n<rect x=\"1357\" y=\"303\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"1396.75\" y=\"318\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1547 314a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1567 284h10\"></path>\n<path d=\"M1337 284a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1337 333h230\"></path>\n</g>\n<path d=\"M1567 333a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1577 284a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1158 244 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1143\" y=\"258\" class=\"diagram-text\">1+</text>\n<path d=\"M 1587 244 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1594 252 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1607 254h20\"></path>\n</g>\n</g>\n<path d=\"M1627 254a10 10 0 0 0 10 -10v-194a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1647 40h20\"></path>\n</g>\n<g>\n<path d=\"M1667 40h0\"></path>\n<path d=\"M2015.5 40h0\"></path>\n<path d=\"M1667 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1687 20h308.5\"></path>\n</g>\n<path d=\"M1995.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1667 40h20\"></path>\n<g>\n<path d=\"M1687 40h0\"></path>\n<path d=\"M1995.5 40h0\"></path>\n<path d=\"M1717 40h10\"></path>\n<g>\n<path d=\"M1727 40h0\"></path>\n<path d=\"M1957 40h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1727 40h0\"></path>\n<path d=\"M1806.5 40h0\"></path>\n<rect x=\"1727\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1766.75\" y=\"44\">\"WHERE\"</text>\n</g>\n<path d=\"M1806.5 40h10\"></path>\n<path d=\"M1816.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1826.5 40h0\"></path>\n<path d=\"M1957 40h0\"></path>\n<rect x=\"1826.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCond\"><text x=\"1891.75\" y=\"44\">ComponentCond</text>\n</a>\n</g>\n</g>\n<path d=\"M1965.5 40h10\"></path>\n<path d=\"M1717 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1727 70h0\"></path>\n<path d=\"M1948.5 70h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1727 70h0\"></path>\n<path d=\"M1840.5 70h0\"></path>\n<rect x=\"1727\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1783.75\" y=\"74\">\"ASSIGNING\"</text>\n</g>\n<path d=\"M1840.5 70h10\"></path>\n<path d=\"M1850.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1860.5 70h0\"></path>\n<path d=\"M1948.5 70h0\"></path>\n<rect x=\"1860.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FSTarget\"><text x=\"1904.5\" y=\"74\">FSTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M1965.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1717 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1727 100h0\"></path>\n<path d=\"M1965.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1727 100h0\"></path>\n<path d=\"M1840.5 100h0\"></path>\n<rect x=\"1727\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1783.75\" y=\"104\">\"USING KEY\"</text>\n</g>\n<path d=\"M1840.5 100h10\"></path>\n<path d=\"M1850.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1860.5 100h0\"></path>\n<path d=\"M1965.5 100h0\"></path>\n<rect x=\"1860.5\" y=\"89\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1913\" y=\"104\">SimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M1965.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1717 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1702\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1975.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1982.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1995.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M2015.5 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v301a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 361h0\"></path>\n<path d=\"M789 361h1226.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 361h0\"></path>\n<path d=\"M199 361h0\"></path>\n<rect x=\"60\" y=\"350\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.5\" y=\"365\">\"MODIFY TABLE\"</text>\n</g>\n<path d=\"M199 361h10\"></path>\n<g>\n<path d=\"M209 361h0\"></path>\n<path d=\"M328.5 361h0\"></path>\n<path d=\"M209 361h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M229 361h0\"></path>\n<path d=\"M300 361h8.5\"></path>\n<rect x=\"229\" y=\"350\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"264.5\" y=\"365\">Target</text>\n</a>\n</g>\n<path d=\"M308.5 361h20\"></path>\n<path d=\"M209 361a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M229 391h0\"></path>\n<path d=\"M308.5 391h0\"></path>\n<rect x=\"229\" y=\"380\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"268.75\" y=\"395\">Dynamic</text>\n</a>\n</g>\n<path d=\"M308.5 391a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M328.5 361h10\"></path>\n<g>\n<path d=\"M338.5 361h0\"></path>\n<path d=\"M500.5 361h0\"></path>\n<g class=\"terminal\">\n<path d=\"M338.5 361h0\"></path>\n<path d=\"M409.5 361h0\"></path>\n<rect x=\"338.5\" y=\"350\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374\" y=\"365\">\"FROM\"</text>\n</g>\n<path d=\"M409.5 361h10\"></path>\n<path d=\"M419.5 361h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M429.5 361h0\"></path>\n<path d=\"M500.5 361h0\"></path>\n<rect x=\"429.5\" y=\"350\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"465\" y=\"365\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M500.5 361h10\"></path>\n<g>\n<path d=\"M510.5 361h0\"></path>\n<path d=\"M789 361h0\"></path>\n<path d=\"M510.5 361a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M530.5 341h238.5\"></path>\n</g>\n<path d=\"M769 341a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M510.5 361h20\"></path>\n<g>\n<path d=\"M530.5 361h0\"></path>\n<path d=\"M769 361h0\"></path>\n<g class=\"terminal\">\n<path d=\"M530.5 361h0\"></path>\n<path d=\"M644 361h0\"></path>\n<rect x=\"530.5\" y=\"350\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587.25\" y=\"365\">\"USING KEY\"</text>\n</g>\n<path d=\"M644 361h10\"></path>\n<path d=\"M654 361h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M664 361h0\"></path>\n<path d=\"M769 361h0\"></path>\n<rect x=\"664\" y=\"350\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"716.5\" y=\"365\">SimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M769 361h20\"></path>\n</g>\n</g>\n<path d=\"M2015.5 361a10 10 0 0 0 10 -10v-301a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 2035.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "modify_internal.ts"
+    },
+    {
+      "name": "ModifyLine",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"MODIFY\"'),Railroad.Choice(0, Railroad.Terminal('\"CURRENT LINE\"'),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FIELD VALUE\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))),Railroad.Sequence(Railroad.Terminal('\"FIELD FORMAT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"INVERSE\"'),Railroad.Terminal('\"INPUT\"')),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"OF PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE FORMAT\"'),Railroad.Choice(0, Railroad.Terminal('\"INPUT OFF\"'),Railroad.Terminal('\"INVERSE\"'),Railroad.Terminal('\"RESET\"'),Railroad.Terminal('\"INTENSIFIED\"'))),Railroad.Sequence(Railroad.Terminal('\"LINE VALUE FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"OF CURRENT PAGE\"'),Railroad.Sequence(Railroad.Terminal('\"INTENSIFIED\"'),Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))),Railroad.NonTerminal('Color', {href: '#/expression/Color'})))))).toString();",
+      "using": [
+        "expression/Color",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1166\" height=\"488\" viewBox=\"0 0 1166 488\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1116 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1116 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"MODIFY\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<g>\n<path d=\"M241 40h0\"></path>\n<path d=\"M443 40h0\"></path>\n<path d=\"M241 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M261 40h0\"></path>\n<path d=\"M400 40h23\"></path>\n<rect x=\"261\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.5\" y=\"44\">\"CURRENT LINE\"</text>\n</g>\n<path d=\"M423 40h20\"></path>\n<path d=\"M241 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M261 70h0\"></path>\n<path d=\"M423 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M261 70h0\"></path>\n<path d=\"M332 70h0\"></path>\n<rect x=\"261\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"296.5\" y=\"74\">\"LINE\"</text>\n</g>\n<path d=\"M332 70h10\"></path>\n<path d=\"M342 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M352 70h0\"></path>\n<path d=\"M423 70h0\"></path>\n<rect x=\"352\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"387.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M423 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M443 40h0\"></path>\n<path d=\"M1116 40h0\"></path>\n<path d=\"M443 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M463 20h633\"></path>\n</g>\n<path d=\"M1096 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M443 40h20\"></path>\n<g>\n<path d=\"M463 40h0\"></path>\n<path d=\"M1096 40h0\"></path>\n<path d=\"M493 40h10\"></path>\n<g>\n<path d=\"M503 40h0\"></path>\n<path d=\"M673.5 40h392.5\"></path>\n<g class=\"terminal\">\n<path d=\"M503 40h0\"></path>\n<path d=\"M582.5 40h0\"></path>\n<rect x=\"503\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"542.75\" y=\"44\">\"INDEX\"</text>\n</g>\n<path d=\"M582.5 40h10\"></path>\n<path d=\"M592.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M602.5 40h0\"></path>\n<path d=\"M673.5 40h0\"></path>\n<rect x=\"602.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"638\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1066 40h10\"></path>\n<path d=\"M493 40v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 79h0\"></path>\n<path d=\"M956.5 79h109.5\"></path>\n<g class=\"terminal\">\n<path d=\"M503 79h0\"></path>\n<path d=\"M633.5 79h0\"></path>\n<rect x=\"503\" y=\"68\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.25\" y=\"83\">\"FIELD VALUE\"</text>\n</g>\n<path d=\"M633.5 79h10\"></path>\n<path d=\"M643.5 79h10\"></path>\n<g>\n<path d=\"M653.5 79h0\"></path>\n<path d=\"M956.5 79h0\"></path>\n<path d=\"M653.5 79h10\"></path>\n<g>\n<path d=\"M663.5 79h0\"></path>\n<path d=\"M946.5 79h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M663.5 79h0\"></path>\n<path d=\"M734.5 79h0\"></path>\n<rect x=\"663.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"699\" y=\"83\">Source</text>\n</a>\n</g>\n<path d=\"M734.5 79h10\"></path>\n<g>\n<path d=\"M744.5 79h0\"></path>\n<path d=\"M946.5 79h0\"></path>\n<path d=\"M744.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M764.5 59h162\"></path>\n</g>\n<path d=\"M926.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M744.5 79h20\"></path>\n<g>\n<path d=\"M764.5 79h0\"></path>\n<path d=\"M926.5 79h0\"></path>\n<g class=\"terminal\">\n<path d=\"M764.5 79h0\"></path>\n<path d=\"M835.5 79h0\"></path>\n<rect x=\"764.5\" y=\"68\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"800\" y=\"83\">\"FROM\"</text>\n</g>\n<path d=\"M835.5 79h10\"></path>\n<path d=\"M845.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M855.5 79h0\"></path>\n<path d=\"M926.5 79h0\"></path>\n<rect x=\"855.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"891\" y=\"83\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M926.5 79h20\"></path>\n</g>\n</g>\n<path d=\"M946.5 79h10\"></path>\n<path d=\"M663.5 79a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M663.5 99h283\"></path>\n</g>\n<path d=\"M946.5 99a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1066 79a10 10 0 0 0 10 -10v-29\"></path>\n<path d=\"M493 40v77a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 127h0\"></path>\n<path d=\"M1066 127h0\"></path>\n<g class=\"terminal\">\n<path d=\"M503 127h0\"></path>\n<path d=\"M642 127h0\"></path>\n<rect x=\"503\" y=\"116\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"572.5\" y=\"131\">\"FIELD FORMAT\"</text>\n</g>\n<path d=\"M642 127h10\"></path>\n<path d=\"M652 127h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M662 127h0\"></path>\n<path d=\"M733 127h0\"></path>\n<rect x=\"662\" y=\"116\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"697.5\" y=\"131\">Source</text>\n</a>\n</g>\n<path d=\"M733 127h10\"></path>\n<g>\n<path d=\"M743 127h0\"></path>\n<path d=\"M1066 127h0\"></path>\n<path d=\"M743 127a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M763 107h283\"></path>\n</g>\n<path d=\"M1046 107a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M743 127h20\"></path>\n<g>\n<path d=\"M763 127h0\"></path>\n<path d=\"M1046 127h0\"></path>\n<g>\n<path d=\"M763 127h0\"></path>\n<path d=\"M899.5 127h0\"></path>\n<path d=\"M763 127h20\"></path>\n<g class=\"terminal\">\n<path d=\"M783 127h0\"></path>\n<path d=\"M879.5 127h0\"></path>\n<rect x=\"783\" y=\"116\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"831.25\" y=\"131\">\"INVERSE\"</text>\n</g>\n<path d=\"M879.5 127h20\"></path>\n<path d=\"M763 127a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M783 157h0\"></path>\n<path d=\"M862.5 157h17\"></path>\n<rect x=\"783\" y=\"146\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"822.75\" y=\"161\">\"INPUT\"</text>\n</g>\n<path d=\"M879.5 157a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M899.5 127h10\"></path>\n<g class=\"terminal\">\n<path d=\"M909.5 127h0\"></path>\n<path d=\"M955 127h0\"></path>\n<rect x=\"909.5\" y=\"116\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"932.25\" y=\"131\">\"=\"</text>\n</g>\n<path d=\"M955 127h10\"></path>\n<path d=\"M965 127h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M975 127h0\"></path>\n<path d=\"M1046 127h0\"></path>\n<rect x=\"975\" y=\"116\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1010.5\" y=\"131\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1046 127h20\"></path>\n</g>\n</g>\n<path d=\"M1066 127a10 10 0 0 0 10 -10v-77\"></path>\n<path d=\"M493 40v137a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 187h0\"></path>\n<path d=\"M690.5 187h375.5\"></path>\n<g class=\"terminal\">\n<path d=\"M503 187h0\"></path>\n<path d=\"M599.5 187h0\"></path>\n<rect x=\"503\" y=\"176\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"551.25\" y=\"191\">\"OF PAGE\"</text>\n</g>\n<path d=\"M599.5 187h10\"></path>\n<path d=\"M609.5 187h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M619.5 187h0\"></path>\n<path d=\"M690.5 187h0\"></path>\n<rect x=\"619.5\" y=\"176\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"655\" y=\"191\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1066 187a10 10 0 0 0 10 -10v-137\"></path>\n<path d=\"M493 40v167a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 217h0\"></path>\n<path d=\"M814 217h252\"></path>\n<g class=\"terminal\">\n<path d=\"M503 217h0\"></path>\n<path d=\"M633.5 217h0\"></path>\n<rect x=\"503\" y=\"206\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.25\" y=\"221\">\"LINE FORMAT\"</text>\n</g>\n<path d=\"M633.5 217h10\"></path>\n<g>\n<path d=\"M643.5 217h0\"></path>\n<path d=\"M814 217h0\"></path>\n<path d=\"M643.5 217h20\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 217h0\"></path>\n<path d=\"M777 217h17\"></path>\n<rect x=\"663.5\" y=\"206\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"720.25\" y=\"221\">\"INPUT OFF\"</text>\n</g>\n<path d=\"M794 217h20\"></path>\n<path d=\"M643.5 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 247h0\"></path>\n<path d=\"M760 247h34\"></path>\n<rect x=\"663.5\" y=\"236\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"711.75\" y=\"251\">\"INVERSE\"</text>\n</g>\n<path d=\"M794 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M643.5 217a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 277h0\"></path>\n<path d=\"M743 277h51\"></path>\n<rect x=\"663.5\" y=\"266\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"703.25\" y=\"281\">\"RESET\"</text>\n</g>\n<path d=\"M794 277a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M643.5 217a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 307h0\"></path>\n<path d=\"M794 307h0\"></path>\n<rect x=\"663.5\" y=\"296\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"728.75\" y=\"311\">\"INTENSIFIED\"</text>\n</g>\n<path d=\"M794 307a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1066 217a10 10 0 0 0 10 -10v-167\"></path>\n<path d=\"M493 40v287a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 337h0\"></path>\n<path d=\"M758.5 337h307.5\"></path>\n<g class=\"terminal\">\n<path d=\"M503 337h0\"></path>\n<path d=\"M667.5 337h0\"></path>\n<rect x=\"503\" y=\"326\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"585.25\" y=\"341\">\"LINE VALUE FROM\"</text>\n</g>\n<path d=\"M667.5 337h10\"></path>\n<path d=\"M677.5 337h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M687.5 337h0\"></path>\n<path d=\"M758.5 337h0\"></path>\n<rect x=\"687.5\" y=\"326\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"723\" y=\"341\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1066 337a10 10 0 0 0 10 -10v-287\"></path>\n<path d=\"M493 40v317a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M503 367h0\"></path>\n<path d=\"M667.5 367h398.5\"></path>\n<rect x=\"503\" y=\"356\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"585.25\" y=\"371\">\"OF CURRENT PAGE\"</text>\n</g>\n<path d=\"M1066 367a10 10 0 0 0 10 -10v-317\"></path>\n<path d=\"M493 40v347a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M503 397h0\"></path>\n<path d=\"M746 397h320\"></path>\n<g class=\"terminal\">\n<path d=\"M503 397h0\"></path>\n<path d=\"M633.5 397h0\"></path>\n<rect x=\"503\" y=\"386\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.25\" y=\"401\">\"INTENSIFIED\"</text>\n</g>\n<path d=\"M633.5 397h10\"></path>\n<g>\n<path d=\"M643.5 397h0\"></path>\n<path d=\"M746 397h0\"></path>\n<path d=\"M643.5 397h20\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 397h0\"></path>\n<path d=\"M717.5 397h8.5\"></path>\n<rect x=\"663.5\" y=\"386\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"690.5\" y=\"401\">\"ON\"</text>\n</g>\n<path d=\"M726 397h20\"></path>\n<path d=\"M643.5 397a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M663.5 427h0\"></path>\n<path d=\"M726 427h0\"></path>\n<rect x=\"663.5\" y=\"416\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"694.75\" y=\"431\">\"OFF\"</text>\n</g>\n<path d=\"M726 427a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1066 397a10 10 0 0 0 10 -10v-347\"></path>\n<path d=\"M493 40v407a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M503 457h0\"></path>\n<path d=\"M565.5 457h500.5\"></path>\n<rect x=\"503\" y=\"446\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Color\"><text x=\"534.25\" y=\"461\">Color</text>\n</a>\n</g>\n<path d=\"M1066 457a10 10 0 0 0 10 -10v-407\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 493 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"478\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1076 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1083 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1096 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1116 40h10\"></path>\n<path d=\"M 1126 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "modify_line.ts"
+    },
+    {
+      "name": "ModifyScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"MODIFY SCREEN\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"552.5\" height=\"71\" viewBox=\"0 0 552.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M502.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M502.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"MODIFY SCREEN\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<g>\n<path d=\"M300.5 40h0\"></path>\n<path d=\"M502.5 40h0\"></path>\n<path d=\"M300.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M320.5 20h162\"></path>\n</g>\n<path d=\"M482.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M300.5 40h20\"></path>\n<g>\n<path d=\"M320.5 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 40h0\"></path>\n<path d=\"M391.5 40h0\"></path>\n<rect x=\"320.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"356\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M391.5 40h10\"></path>\n<path d=\"M401.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<rect x=\"411.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"447\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M482.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M502.5 40h10\"></path>\n<path d=\"M 512.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "modify_screen.ts"
+    },
+    {
+      "name": "Module",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"MODULE\"'),Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"INPUT\"'),Railroad.Terminal('\"OUTPUT\"')))))).toString();",
+      "using": [
+        "expression/FormName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"567\" height=\"101\" viewBox=\"0 0 567 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M517 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M517 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"MODULE\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<path d=\"M241 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 40h0\"></path>\n<path d=\"M339 40h0\"></path>\n<rect x=\"251\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"295\" y=\"44\">FormName</text>\n</a>\n</g>\n<path d=\"M339 40h10\"></path>\n<g>\n<path d=\"M349 40h0\"></path>\n<path d=\"M517 40h0\"></path>\n<path d=\"M349 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M369 20h128\"></path>\n</g>\n<path d=\"M497 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M349 40h20\"></path>\n<g>\n<path d=\"M369 40h0\"></path>\n<path d=\"M497 40h0\"></path>\n<path d=\"M369 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M389 40h0\"></path>\n<path d=\"M468.5 40h8.5\"></path>\n<rect x=\"389\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428.75\" y=\"44\">\"INPUT\"</text>\n</g>\n<path d=\"M477 40h20\"></path>\n<path d=\"M369 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M389 70h0\"></path>\n<path d=\"M477 70h0\"></path>\n<rect x=\"389\" y=\"59\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"433\" y=\"74\">\"OUTPUT\"</text>\n</g>\n<path d=\"M477 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M497 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M517 40h10\"></path>\n<path d=\"M 527 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Module"
+      ],
+      "filename": "module.ts"
+    },
+    {
+      "name": "Move",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"MOVE\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"EXACT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.Terminal('\"?TO\"'),Railroad.Terminal('\"TO\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))),Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Choice(0, Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"=\"')))),Railroad.Terminal('\"?=\"')),Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('!\" +\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('!\" -\"'),Railroad.Terminal('\"=\"')),Railroad.Terminal('\"/=\"'),Railroad.Terminal('\"*=\"'),Railroad.Terminal('\"&&=\"')))),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"669.5\" height=\"350\" viewBox=\"0 0 669.5 350\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M629.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M609.5 31h0\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M224 31h0\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M133 31h0\"></path>\n<text x=\"96.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M133 31h10\"></path>\n<path d=\"M143 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M153 31h0\"></path>\n<path d=\"M224 31h0\"></path>\n<rect x=\"153\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"188.5\" y=\"35\">\"MOVE\"</text>\n</g>\n</g>\n<path d=\"M224 31h10\"></path>\n<g>\n<path d=\"M234 31h0\"></path>\n<path d=\"M609.5 31h0\"></path>\n<path d=\"M234 31h20\"></path>\n<g>\n<path d=\"M254 31h0\"></path>\n<path d=\"M589.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M254 31h0\"></path>\n<path d=\"M333.5 31h0\"></path>\n<rect x=\"254\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293.75\" y=\"35\">\"EXACT\"</text>\n</g>\n<path d=\"M333.5 31h10\"></path>\n<path d=\"M343.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353.5 31h0\"></path>\n<path d=\"M424.5 31h0\"></path>\n<rect x=\"353.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"389\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M424.5 31h10\"></path>\n<path d=\"M434.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M444.5 31h0\"></path>\n<path d=\"M498.5 31h0\"></path>\n<rect x=\"444.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"471.5\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M498.5 31h10\"></path>\n<path d=\"M508.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M518.5 31h0\"></path>\n<path d=\"M589.5 31h0\"></path>\n<rect x=\"518.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"554\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M589.5 31h20\"></path>\n<path d=\"M234 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M254 61h0\"></path>\n<path d=\"M518.5 61h71\"></path>\n<g class=\"non-terminal\">\n<path d=\"M254 61h0\"></path>\n<path d=\"M325 61h0\"></path>\n<rect x=\"254\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"289.5\" y=\"65\">Source</text>\n</a>\n</g>\n<path d=\"M325 61h10\"></path>\n<g>\n<path d=\"M335 61h0\"></path>\n<path d=\"M437.5 61h0\"></path>\n<path d=\"M335 61h20\"></path>\n<g class=\"terminal\">\n<path d=\"M355 61h0\"></path>\n<path d=\"M417.5 61h0\"></path>\n<rect x=\"355\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"386.25\" y=\"65\">\"?TO\"</text>\n</g>\n<path d=\"M417.5 61h20\"></path>\n<path d=\"M335 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M355 91h0\"></path>\n<path d=\"M409 91h8.5\"></path>\n<rect x=\"355\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"382\" y=\"95\">\"TO\"</text>\n</g>\n<path d=\"M417.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M437.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M447.5 61h0\"></path>\n<path d=\"M518.5 61h0\"></path>\n<rect x=\"447.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"483\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M589.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M609.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 130h0\"></path>\n<path d=\"M554 130h55.5\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 130h0\"></path>\n<path d=\"M131 130h0\"></path>\n<rect x=\"60\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"95.5\" y=\"134\">Target</text>\n</a>\n</g>\n<path d=\"M131 130h10\"></path>\n<g>\n<path d=\"M141 130h0\"></path>\n<path d=\"M473 130h0\"></path>\n<path d=\"M141 130h20\"></path>\n<g>\n<path d=\"M161 130h0\"></path>\n<path d=\"M453 130h0\"></path>\n<path d=\"M161 130h20\"></path>\n<g>\n<path d=\"M181 130h0\"></path>\n<path d=\"M433 130h0\"></path>\n<g class=\"terminal\">\n<path d=\"M181 130h0\"></path>\n<path d=\"M226.5 130h0\"></path>\n<rect x=\"181\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.75\" y=\"134\">\"=\"</text>\n</g>\n<path d=\"M226.5 130h10\"></path>\n<g>\n<path d=\"M236.5 130h0\"></path>\n<path d=\"M433 130h0\"></path>\n<path d=\"M236.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M256.5 110h156.5\"></path>\n</g>\n<path d=\"M413 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M236.5 130h20\"></path>\n<g>\n<path d=\"M256.5 130h0\"></path>\n<path d=\"M413 130h0\"></path>\n<path d=\"M256.5 130h10\"></path>\n<g>\n<path d=\"M266.5 130h0\"></path>\n<path d=\"M403 130h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M266.5 130h0\"></path>\n<path d=\"M337.5 130h0\"></path>\n<rect x=\"266.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"302\" y=\"134\">Target</text>\n</a>\n</g>\n<path d=\"M337.5 130h10\"></path>\n<path d=\"M347.5 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M357.5 130h0\"></path>\n<path d=\"M403 130h0\"></path>\n<rect x=\"357.5\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"380.25\" y=\"134\">\"=\"</text>\n</g>\n</g>\n<path d=\"M403 130h10\"></path>\n<path d=\"M266.5 130a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M266.5 150h136.5\"></path>\n</g>\n<path d=\"M403 150a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M413 130h20\"></path>\n</g>\n</g>\n<path d=\"M433 130h20\"></path>\n<path d=\"M161 130a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 169h0\"></path>\n<path d=\"M235 169h198\"></path>\n<rect x=\"181\" y=\"158\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208\" y=\"173\">\"?=\"</text>\n</g>\n<path d=\"M433 169a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M453 130h20\"></path>\n<path d=\"M141 130a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 199h0\"></path>\n<path d=\"M377 199h76\"></path>\n<g>\n<path d=\"M161 199h0\"></path>\n<path d=\"M199 199h0\"></path>\n<text x=\"180\" y=\"204\" class=\"comment\">v754</text>\n</g>\n<path d=\"M199 199h10\"></path>\n<g>\n<path d=\"M209 199h0\"></path>\n<path d=\"M377 199h0\"></path>\n<path d=\"M209 199h20\"></path>\n<g>\n<path d=\"M229 199h0\"></path>\n<path d=\"M357 199h0\"></path>\n<g class=\"terminal\">\n<path d=\"M229 199h0\"></path>\n<path d=\"M291.5 199h0\"></path>\n<rect x=\"229\" y=\"188\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.25\" y=\"203\">!\" +\"</text>\n</g>\n<path d=\"M291.5 199h10\"></path>\n<path d=\"M301.5 199h10\"></path>\n<g class=\"terminal\">\n<path d=\"M311.5 199h0\"></path>\n<path d=\"M357 199h0\"></path>\n<rect x=\"311.5\" y=\"188\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"203\">\"=\"</text>\n</g>\n</g>\n<path d=\"M357 199h20\"></path>\n<path d=\"M209 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M229 229h0\"></path>\n<path d=\"M357 229h0\"></path>\n<g class=\"terminal\">\n<path d=\"M229 229h0\"></path>\n<path d=\"M291.5 229h0\"></path>\n<rect x=\"229\" y=\"218\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.25\" y=\"233\">!\" -\"</text>\n</g>\n<path d=\"M291.5 229h10\"></path>\n<path d=\"M301.5 229h10\"></path>\n<g class=\"terminal\">\n<path d=\"M311.5 229h0\"></path>\n<path d=\"M357 229h0\"></path>\n<rect x=\"311.5\" y=\"218\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"233\">\"=\"</text>\n</g>\n</g>\n<path d=\"M357 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M209 199a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M229 259h0\"></path>\n<path d=\"M283 259h74\"></path>\n<rect x=\"229\" y=\"248\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"256\" y=\"263\">\"/=\"</text>\n</g>\n<path d=\"M357 259a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M209 199a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M229 289h0\"></path>\n<path d=\"M283 289h74\"></path>\n<rect x=\"229\" y=\"278\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"256\" y=\"293\">\"&#42;=\"</text>\n</g>\n<path d=\"M357 289a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M209 199a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M229 319h0\"></path>\n<path d=\"M291.5 319h65.5\"></path>\n<rect x=\"229\" y=\"308\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260.25\" y=\"323\">\"&#38;&#38;=\"</text>\n</g>\n<path d=\"M357 319a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M453 199a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M473 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M483 130h0\"></path>\n<path d=\"M554 130h0\"></path>\n<rect x=\"483\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"518.5\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M609.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 629.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "move.ts"
+    },
+    {
+      "name": "MoveCorresponding",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"MOVE-CORRESPONDING\"'),Railroad.Optional(Railroad.Terminal('\"EXACT\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('SimpleTarget', {href: '#/expression/SimpleTarget'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Terminal('\"EXPANDING NESTED TABLES\"'))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Terminal('\"KEEPING TARGET LINES\"'))))).toString();",
+      "using": [
+        "expression/SimpleTarget",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1418\" height=\"71\" viewBox=\"0 0 1418 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1368 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M240 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"44\">\"MOVE-CORRESPONDING\"</text>\n</g>\n<path d=\"M240 40h10\"></path>\n<g>\n<path d=\"M250 40h0\"></path>\n<path d=\"M369.5 40h0\"></path>\n<path d=\"M250 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M270 20h79.5\"></path>\n</g>\n<path d=\"M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M250 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M270 40h0\"></path>\n<path d=\"M349.5 40h0\"></path>\n<rect x=\"270\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"309.75\" y=\"44\">\"EXACT\"</text>\n</g>\n<path d=\"M349.5 40h20\"></path>\n</g>\n<path d=\"M369.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M379.5 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<rect x=\"379.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"415\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M450.5 40h10\"></path>\n<path d=\"M460.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M470.5 40h0\"></path>\n<path d=\"M524.5 40h0\"></path>\n<rect x=\"470.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"497.5\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M524.5 40h10\"></path>\n<path d=\"M534.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M544.5 40h0\"></path>\n<path d=\"M666.5 40h0\"></path>\n<rect x=\"544.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleTarget\"><text x=\"605.5\" y=\"44\">SimpleTarget</text>\n</a>\n</g>\n<path d=\"M666.5 40h10\"></path>\n<g>\n<path d=\"M676.5 40h0\"></path>\n<path d=\"M1035 40h0\"></path>\n<path d=\"M676.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M696.5 20h318.5\"></path>\n</g>\n<path d=\"M1015 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M676.5 40h20\"></path>\n<g>\n<path d=\"M696.5 40h0\"></path>\n<path d=\"M1015 40h0\"></path>\n<g>\n<path d=\"M696.5 40h0\"></path>\n<path d=\"M762.5 40h0\"></path>\n<text x=\"729.5\" y=\"45\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M762.5 40h10\"></path>\n<path d=\"M772.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M782.5 40h0\"></path>\n<path d=\"M1015 40h0\"></path>\n<rect x=\"782.5\" y=\"29\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"898.75\" y=\"44\">\"EXPANDING NESTED TABLES\"</text>\n</g>\n</g>\n<path d=\"M1015 40h20\"></path>\n</g>\n<g>\n<path d=\"M1035 40h0\"></path>\n<path d=\"M1368 40h0\"></path>\n<path d=\"M1035 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1055 20h293\"></path>\n</g>\n<path d=\"M1348 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1035 40h20\"></path>\n<g>\n<path d=\"M1055 40h0\"></path>\n<path d=\"M1348 40h0\"></path>\n<g>\n<path d=\"M1055 40h0\"></path>\n<path d=\"M1121 40h0\"></path>\n<text x=\"1088\" y=\"45\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M1121 40h10\"></path>\n<path d=\"M1131 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1141 40h0\"></path>\n<path d=\"M1348 40h0\"></path>\n<rect x=\"1141\" y=\"29\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1244.5\" y=\"44\">\"KEEPING TARGET LINES\"</text>\n</g>\n</g>\n<path d=\"M1348 40h20\"></path>\n</g>\n</g>\n<path d=\"M1368 40h10\"></path>\n<path d=\"M 1378 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "move_corresponding.ts"
+    },
+    {
+      "name": "Multiply",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"MULTIPLY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"BY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"461\" height=\"62\" viewBox=\"0 0 461 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M411 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"MULTIPLY\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"210.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M320 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293\" y=\"35\">\"BY\"</text>\n</g>\n<path d=\"M320 31h10\"></path>\n<path d=\"M330 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M340 31h0\"></path>\n<path d=\"M411 31h0\"></path>\n<rect x=\"340\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"375.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M411 31h10\"></path>\n<path d=\"M 421 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "multiply.ts"
+    },
+    {
+      "name": "NewLine",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"NEW-LINE\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"SCROLLING\"'),Railroad.Terminal('\"NO-SCROLLING\"')))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"527\" height=\"101\" viewBox=\"0 0 527 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"NEW-LINE\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<g>\n<path d=\"M258 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<path d=\"M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M278 20h179\"></path>\n</g>\n<path d=\"M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M258 40h20\"></path>\n<g>\n<path d=\"M278 40h0\"></path>\n<path d=\"M457 40h0\"></path>\n<path d=\"M278 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M298 40h0\"></path>\n<path d=\"M411.5 40h25.5\"></path>\n<rect x=\"298\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"354.75\" y=\"44\">\"SCROLLING\"</text>\n</g>\n<path d=\"M437 40h20\"></path>\n<path d=\"M278 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M298 70h0\"></path>\n<path d=\"M437 70h0\"></path>\n<rect x=\"298\" y=\"59\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"367.5\" y=\"74\">\"NO-SCROLLING\"</text>\n</g>\n<path d=\"M437 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M457 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M477 40h10\"></path>\n<path d=\"M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "new_line.ts"
+    },
+    {
+      "name": "NewPage",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"NEW-PAGE\"'),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"PRINT\"'),Railroad.Choice(0, Railroad.Terminal('\"OFF\"'),Railroad.Terminal('\"ON\"'))),Railroad.Choice(0, Railroad.Terminal('\"NO-TITLE\"'),Railroad.Terminal('\"WITH-TITLE\"')),Railroad.Choice(0, Railroad.Terminal('\"NO-HEADING\"'),Railroad.Terminal('\"WITH-HEADING\"')),Railroad.Terminal('\"NO DIALOG\"'),Railroad.Sequence(Railroad.Terminal('\"PARAMETERS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LIST AUTHORITY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IMMEDIATELY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LIST DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"SAP COVER PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"NEW LIST IDENTIFICATION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"KEEP IN SPOOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DEPARTMENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LIST NAME\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LAYOUT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DESTINATION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"RECEIVER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"COVER TEXT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ARCHIVE PARAMETERS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"NEW-SECTION\"'),Railroad.Sequence(Railroad.Terminal('\"LINE-COUNT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"741.5\" height=\"761\" viewBox=\"0 0 741.5 761\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M691.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M691.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"NEW-PAGE\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<g>\n<path d=\"M258 40h0\"></path>\n<path d=\"M691.5 40h0\"></path>\n<path d=\"M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M278 20h393.5\"></path>\n</g>\n<path d=\"M671.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M258 40h20\"></path>\n<g>\n<path d=\"M278 40h0\"></path>\n<path d=\"M671.5 40h0\"></path>\n<path d=\"M308 40h10\"></path>\n<g>\n<path d=\"M318 40h0\"></path>\n<path d=\"M510 40h131.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 40h0\"></path>\n<path d=\"M397.5 40h0\"></path>\n<rect x=\"318\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"357.75\" y=\"44\">\"PRINT\"</text>\n</g>\n<path d=\"M397.5 40h10\"></path>\n<g>\n<path d=\"M407.5 40h0\"></path>\n<path d=\"M510 40h0\"></path>\n<path d=\"M407.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M427.5 40h0\"></path>\n<path d=\"M490 40h0\"></path>\n<rect x=\"427.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458.75\" y=\"44\">\"OFF\"</text>\n</g>\n<path d=\"M490 40h20\"></path>\n<path d=\"M407.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M427.5 70h0\"></path>\n<path d=\"M481.5 70h8.5\"></path>\n<rect x=\"427.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"454.5\" y=\"74\">\"ON\"</text>\n</g>\n<path d=\"M490 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M641.5 40h10\"></path>\n<path d=\"M308 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 100h0\"></path>\n<path d=\"M480 100h161.5\"></path>\n<path d=\"M318 100h20\"></path>\n<g class=\"terminal\">\n<path d=\"M338 100h0\"></path>\n<path d=\"M443 100h17\"></path>\n<rect x=\"338\" y=\"89\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"390.5\" y=\"104\">\"NO-TITLE\"</text>\n</g>\n<path d=\"M460 100h20\"></path>\n<path d=\"M318 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M338 130h0\"></path>\n<path d=\"M460 130h0\"></path>\n<rect x=\"338\" y=\"119\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"399\" y=\"134\">\"WITH-TITLE\"</text>\n</g>\n<path d=\"M460 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M641.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M308 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 160h0\"></path>\n<path d=\"M497 160h144.5\"></path>\n<path d=\"M318 160h20\"></path>\n<g class=\"terminal\">\n<path d=\"M338 160h0\"></path>\n<path d=\"M460 160h17\"></path>\n<rect x=\"338\" y=\"149\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"399\" y=\"164\">\"NO-HEADING\"</text>\n</g>\n<path d=\"M477 160h20\"></path>\n<path d=\"M318 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M338 190h0\"></path>\n<path d=\"M477 190h0\"></path>\n<rect x=\"338\" y=\"179\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.5\" y=\"194\">\"WITH-HEADING\"</text>\n</g>\n<path d=\"M477 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M641.5 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M308 40v170a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M318 220h0\"></path>\n<path d=\"M431.5 220h210\"></path>\n<rect x=\"318\" y=\"209\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"224\">\"NO DIALOG\"</text>\n</g>\n<path d=\"M641.5 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M308 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 250h0\"></path>\n<path d=\"M531 250h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 250h0\"></path>\n<path d=\"M440 250h0\"></path>\n<rect x=\"318\" y=\"239\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379\" y=\"254\">\"PARAMETERS\"</text>\n</g>\n<path d=\"M440 250h10\"></path>\n<path d=\"M450 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 250h0\"></path>\n<path d=\"M531 250h0\"></path>\n<rect x=\"460\" y=\"239\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"495.5\" y=\"254\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M308 40v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 280h0\"></path>\n<path d=\"M565 280h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 280h0\"></path>\n<path d=\"M474 280h0\"></path>\n<rect x=\"318\" y=\"269\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"396\" y=\"284\">\"LIST AUTHORITY\"</text>\n</g>\n<path d=\"M474 280h10\"></path>\n<path d=\"M484 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M494 280h0\"></path>\n<path d=\"M565 280h0\"></path>\n<rect x=\"494\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"529.5\" y=\"284\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M308 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 310h0\"></path>\n<path d=\"M539.5 310h102\"></path>\n<g class=\"terminal\">\n<path d=\"M318 310h0\"></path>\n<path d=\"M448.5 310h0\"></path>\n<rect x=\"318\" y=\"299\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"383.25\" y=\"314\">\"IMMEDIATELY\"</text>\n</g>\n<path d=\"M448.5 310h10\"></path>\n<path d=\"M458.5 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M468.5 310h0\"></path>\n<path d=\"M539.5 310h0\"></path>\n<rect x=\"468.5\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"504\" y=\"314\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 310a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M308 40v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 340h0\"></path>\n<path d=\"M548 340h93.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 340h0\"></path>\n<path d=\"M457 340h0\"></path>\n<rect x=\"318\" y=\"329\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"387.5\" y=\"344\">\"LIST DATASET\"</text>\n</g>\n<path d=\"M457 340h10\"></path>\n<path d=\"M467 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M477 340h0\"></path>\n<path d=\"M548 340h0\"></path>\n<rect x=\"477\" y=\"329\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"512.5\" y=\"344\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 340a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M308 40v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 370h0\"></path>\n<path d=\"M565 370h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 370h0\"></path>\n<path d=\"M474 370h0\"></path>\n<rect x=\"318\" y=\"359\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"396\" y=\"374\">\"SAP COVER PAGE\"</text>\n</g>\n<path d=\"M474 370h10\"></path>\n<path d=\"M484 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M494 370h0\"></path>\n<path d=\"M565 370h0\"></path>\n<rect x=\"494\" y=\"359\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"529.5\" y=\"374\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 370a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M308 40v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 400h0\"></path>\n<path d=\"M641.5 400h0\"></path>\n<g class=\"terminal\">\n<path d=\"M318 400h0\"></path>\n<path d=\"M550.5 400h0\"></path>\n<rect x=\"318\" y=\"389\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"434.25\" y=\"404\">\"NEW LIST IDENTIFICATION\"</text>\n</g>\n<path d=\"M550.5 400h10\"></path>\n<path d=\"M560.5 400h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M570.5 400h0\"></path>\n<path d=\"M641.5 400h0\"></path>\n<rect x=\"570.5\" y=\"389\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"606\" y=\"404\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 400a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M308 40v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 430h0\"></path>\n<path d=\"M556.5 430h85\"></path>\n<g class=\"terminal\">\n<path d=\"M318 430h0\"></path>\n<path d=\"M465.5 430h0\"></path>\n<rect x=\"318\" y=\"419\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"391.75\" y=\"434\">\"KEEP IN SPOOL\"</text>\n</g>\n<path d=\"M465.5 430h10\"></path>\n<path d=\"M475.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M485.5 430h0\"></path>\n<path d=\"M556.5 430h0\"></path>\n<rect x=\"485.5\" y=\"419\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"521\" y=\"434\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 430a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M308 40v410a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 460h0\"></path>\n<path d=\"M531 460h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 460h0\"></path>\n<path d=\"M440 460h0\"></path>\n<rect x=\"318\" y=\"449\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379\" y=\"464\">\"DEPARTMENT\"</text>\n</g>\n<path d=\"M440 460h10\"></path>\n<path d=\"M450 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 460h0\"></path>\n<path d=\"M531 460h0\"></path>\n<rect x=\"460\" y=\"449\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"495.5\" y=\"464\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 460a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M308 40v440a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 490h0\"></path>\n<path d=\"M522.5 490h119\"></path>\n<g class=\"terminal\">\n<path d=\"M318 490h0\"></path>\n<path d=\"M431.5 490h0\"></path>\n<rect x=\"318\" y=\"479\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"494\">\"LIST NAME\"</text>\n</g>\n<path d=\"M431.5 490h10\"></path>\n<path d=\"M441.5 490h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M451.5 490h0\"></path>\n<path d=\"M522.5 490h0\"></path>\n<rect x=\"451.5\" y=\"479\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"487\" y=\"494\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 490a10 10 0 0 0 10 -10v-440\"></path>\n<path d=\"M308 40v470a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 520h0\"></path>\n<path d=\"M497 520h144.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 520h0\"></path>\n<path d=\"M406 520h0\"></path>\n<rect x=\"318\" y=\"509\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362\" y=\"524\">\"LAYOUT\"</text>\n</g>\n<path d=\"M406 520h10\"></path>\n<path d=\"M416 520h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M426 520h0\"></path>\n<path d=\"M497 520h0\"></path>\n<rect x=\"426\" y=\"509\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"461.5\" y=\"524\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 520a10 10 0 0 0 10 -10v-470\"></path>\n<path d=\"M308 40v500a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 550h0\"></path>\n<path d=\"M539.5 550h102\"></path>\n<g class=\"terminal\">\n<path d=\"M318 550h0\"></path>\n<path d=\"M448.5 550h0\"></path>\n<rect x=\"318\" y=\"539\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"383.25\" y=\"554\">\"DESTINATION\"</text>\n</g>\n<path d=\"M448.5 550h10\"></path>\n<path d=\"M458.5 550h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M468.5 550h0\"></path>\n<path d=\"M539.5 550h0\"></path>\n<rect x=\"468.5\" y=\"539\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"504\" y=\"554\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 550a10 10 0 0 0 10 -10v-500\"></path>\n<path d=\"M308 40v530a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 580h0\"></path>\n<path d=\"M514 580h127.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 580h0\"></path>\n<path d=\"M423 580h0\"></path>\n<rect x=\"318\" y=\"569\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"370.5\" y=\"584\">\"RECEIVER\"</text>\n</g>\n<path d=\"M423 580h10\"></path>\n<path d=\"M433 580h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M443 580h0\"></path>\n<path d=\"M514 580h0\"></path>\n<rect x=\"443\" y=\"569\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"478.5\" y=\"584\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 580a10 10 0 0 0 10 -10v-530\"></path>\n<path d=\"M308 40v560a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 610h0\"></path>\n<path d=\"M531 610h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 610h0\"></path>\n<path d=\"M440 610h0\"></path>\n<rect x=\"318\" y=\"599\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379\" y=\"614\">\"COVER TEXT\"</text>\n</g>\n<path d=\"M440 610h10\"></path>\n<path d=\"M450 610h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 610h0\"></path>\n<path d=\"M531 610h0\"></path>\n<rect x=\"460\" y=\"599\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"495.5\" y=\"614\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 610a10 10 0 0 0 10 -10v-560\"></path>\n<path d=\"M308 40v590a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 640h0\"></path>\n<path d=\"M599 640h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 640h0\"></path>\n<path d=\"M508 640h0\"></path>\n<rect x=\"318\" y=\"629\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"413\" y=\"644\">\"ARCHIVE PARAMETERS\"</text>\n</g>\n<path d=\"M508 640h10\"></path>\n<path d=\"M518 640h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M528 640h0\"></path>\n<path d=\"M599 640h0\"></path>\n<rect x=\"528\" y=\"629\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"563.5\" y=\"644\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 640a10 10 0 0 0 10 -10v-590\"></path>\n<path d=\"M308 40v620a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M318 670h0\"></path>\n<path d=\"M448.5 670h193\"></path>\n<rect x=\"318\" y=\"659\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"383.25\" y=\"674\">\"NEW-SECTION\"</text>\n</g>\n<path d=\"M641.5 670a10 10 0 0 0 10 -10v-620\"></path>\n<path d=\"M308 40v650a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 700h0\"></path>\n<path d=\"M531 700h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M318 700h0\"></path>\n<path d=\"M440 700h0\"></path>\n<rect x=\"318\" y=\"689\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379\" y=\"704\">\"LINE-COUNT\"</text>\n</g>\n<path d=\"M440 700h10\"></path>\n<path d=\"M450 700h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 700h0\"></path>\n<path d=\"M531 700h0\"></path>\n<rect x=\"460\" y=\"689\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"495.5\" y=\"704\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 700a10 10 0 0 0 10 -10v-650\"></path>\n<path d=\"M308 40v680a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M318 730h0\"></path>\n<path d=\"M522.5 730h119\"></path>\n<g class=\"terminal\">\n<path d=\"M318 730h0\"></path>\n<path d=\"M431.5 730h0\"></path>\n<rect x=\"318\" y=\"719\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"734\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M431.5 730h10\"></path>\n<path d=\"M441.5 730h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M451.5 730h0\"></path>\n<path d=\"M522.5 730h0\"></path>\n<rect x=\"451.5\" y=\"719\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"487\" y=\"734\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M641.5 730a10 10 0 0 0 10 -10v-680\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 308 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"293\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 651.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 658.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M671.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M691.5 40h10\"></path>\n<path d=\"M 701.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "new_page.ts"
+    },
+    {
+      "name": "Nodes",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"NODES\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"355\" height=\"62\" viewBox=\"0 0 355 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M222.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"35\">\"NODES\"</text>\n</g>\n<path d=\"M222.5 31h10\"></path>\n<path d=\"M232.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M242.5 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<rect x=\"242.5\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"273.75\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M305 31h10\"></path>\n<path d=\"M 315 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "nodes.ts"
+    },
+    {
+      "name": "OnChange",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ON CHANGE OF\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"OR\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"638\" height=\"80\" viewBox=\"0 0 638 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M282 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"44\">\"ON CHANGE OF\"</text>\n</g>\n<path d=\"M282 40h10\"></path>\n<path d=\"M292 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 40h0\"></path>\n<path d=\"M373 40h0\"></path>\n<rect x=\"302\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"337.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M373 40h10\"></path>\n<g>\n<path d=\"M383 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<path d=\"M383 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M403 20h165\"></path>\n</g>\n<path d=\"M568 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M383 40h20\"></path>\n<g>\n<path d=\"M403 40h0\"></path>\n<path d=\"M568 40h0\"></path>\n<path d=\"M403 40h10\"></path>\n<g>\n<path d=\"M413 40h0\"></path>\n<path d=\"M558 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M413 40h0\"></path>\n<path d=\"M467 40h0\"></path>\n<rect x=\"413\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"440\" y=\"44\">\"OR\"</text>\n</g>\n<path d=\"M467 40h10\"></path>\n<path d=\"M477 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M487 40h0\"></path>\n<path d=\"M558 40h0\"></path>\n<rect x=\"487\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"522.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M558 40h10\"></path>\n<path d=\"M413 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M413 60h145\"></path>\n</g>\n<path d=\"M558 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M568 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M588 40h10\"></path>\n<path d=\"M 598 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/OnChange"
+      ],
+      "filename": "on_change.ts"
+    },
+    {
+      "name": "OpenCursor",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"OPEN CURSOR\"'),Railroad.Optional(Railroad.Terminal('\"WITH HOLD\"')),Railroad.NonTerminal('SQLTarget', {href: '#/expression/SQLTarget'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('Select', {href: '#/expression/Select'})))).toString();",
+      "using": [
+        "expression/SQLTarget",
+        "expression/Select"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"767\" height=\"71\" viewBox=\"0 0 767 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M717 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M717 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"44\">\"OPEN CURSOR\"</text>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<g>\n<path d=\"M283.5 40h0\"></path>\n<path d=\"M437 40h0\"></path>\n<path d=\"M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M303.5 20h113.5\"></path>\n</g>\n<path d=\"M417 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M283.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 40h0\"></path>\n<path d=\"M417 40h0\"></path>\n<rect x=\"303.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.25\" y=\"44\">\"WITH HOLD\"</text>\n</g>\n<path d=\"M417 40h20\"></path>\n</g>\n<path d=\"M437 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M447 40h0\"></path>\n<path d=\"M543.5 40h0\"></path>\n<rect x=\"447\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLTarget\"><text x=\"495.25\" y=\"44\">SQLTarget</text>\n</a>\n</g>\n<path d=\"M543.5 40h10\"></path>\n<path d=\"M553.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M563.5 40h0\"></path>\n<path d=\"M626 40h0\"></path>\n<rect x=\"563.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"594.75\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M626 40h10\"></path>\n<path d=\"M636 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M646 40h0\"></path>\n<path d=\"M717 40h0\"></path>\n<rect x=\"646\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"681.5\" y=\"44\">Select</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M717 40h10\"></path>\n<path d=\"M 727 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "open_cursor.ts"
+    },
+    {
+      "name": "OpenDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"OPEN DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FOR\"'),Railroad.Choice(0, Railroad.Terminal('\"OUTPUT\"'),Railroad.Terminal('\"INPUT\"'),Railroad.Terminal('\"UPDATE\"'),Railroad.Terminal('\"APPENDING\"'))),Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Optional(Railroad.Terminal('\"LEGACY\"')),Railroad.Choice(0, Railroad.Terminal('\"BINARY MODE\"'),Railroad.Terminal('\"TEXT MODE\"'))),Railroad.Terminal('\"WITH BYTE-ORDER MARK\"'),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT CHARACTER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FILTER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ENCODING\"'),Railroad.Choice(0, Railroad.Terminal('\"DEFAULT\"'),Railroad.Terminal('\"UTF-8\"'),Railroad.Terminal('\"NON-UNICODE\"'))),Railroad.Sequence(Railroad.Terminal('\"AT POSITION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Terminal('\"IGNORING CONVERSION ERRORS\"'),Railroad.Terminal('\"SKIPPING BYTE-ORDER MARK\"'),Railroad.Sequence(Railroad.Terminal('\"CODE PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.Choice(0, Railroad.Terminal('\"SMART\"'),Railroad.Terminal('\"NATIVE\"'),Railroad.Terminal('\"UNIX\"')),Railroad.Terminal('\"LINEFEED\"')),Railroad.Terminal('\"WITH WINDOWS LINEFEED\"'))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"875.5\" height=\"701\" viewBox=\"0 0 875.5 701\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M825.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M825.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M282 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"35\">\"OPEN DATASET\"</text>\n</g>\n<path d=\"M282 31h10\"></path>\n<path d=\"M292 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 31h0\"></path>\n<path d=\"M373 31h0\"></path>\n<rect x=\"302\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"337.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M373 31h10\"></path>\n<path d=\"M383 31h10\"></path>\n<g>\n<path d=\"M393 31h0\"></path>\n<path d=\"M825.5 31h0\"></path>\n<path d=\"M423 31h10\"></path>\n<g>\n<path d=\"M433 31h0\"></path>\n<path d=\"M659 31h136.5\"></path>\n<g class=\"terminal\">\n<path d=\"M433 31h0\"></path>\n<path d=\"M495.5 31h0\"></path>\n<rect x=\"433\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464.25\" y=\"35\">\"FOR\"</text>\n</g>\n<path d=\"M495.5 31h10\"></path>\n<g>\n<path d=\"M505.5 31h0\"></path>\n<path d=\"M659 31h0\"></path>\n<path d=\"M505.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M525.5 31h0\"></path>\n<path d=\"M613.5 31h25.5\"></path>\n<rect x=\"525.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569.5\" y=\"35\">\"OUTPUT\"</text>\n</g>\n<path d=\"M639 31h20\"></path>\n<path d=\"M505.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M525.5 61h0\"></path>\n<path d=\"M605 61h34\"></path>\n<rect x=\"525.5\" y=\"50\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"565.25\" y=\"65\">\"INPUT\"</text>\n</g>\n<path d=\"M639 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M505.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M525.5 91h0\"></path>\n<path d=\"M613.5 91h25.5\"></path>\n<rect x=\"525.5\" y=\"80\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569.5\" y=\"95\">\"UPDATE\"</text>\n</g>\n<path d=\"M639 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M505.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M525.5 121h0\"></path>\n<path d=\"M639 121h0\"></path>\n<rect x=\"525.5\" y=\"110\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"582.25\" y=\"125\">\"APPENDING\"</text>\n</g>\n<path d=\"M639 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M795.5 31h10\"></path>\n<path d=\"M423 31v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 151h0\"></path>\n<path d=\"M595 151h200.5\"></path>\n<g class=\"terminal\">\n<path d=\"M433 151h0\"></path>\n<path d=\"M504 151h0\"></path>\n<rect x=\"433\" y=\"140\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"468.5\" y=\"155\">\"TYPE\"</text>\n</g>\n<path d=\"M504 151h10\"></path>\n<path d=\"M514 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M524 151h0\"></path>\n<path d=\"M595 151h0\"></path>\n<rect x=\"524\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"559.5\" y=\"155\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 151a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M423 31v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 190h0\"></path>\n<path d=\"M795.5 190h0\"></path>\n<g class=\"terminal\">\n<path d=\"M433 190h0\"></path>\n<path d=\"M487 190h0\"></path>\n<rect x=\"433\" y=\"179\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460\" y=\"194\">\"IN\"</text>\n</g>\n<path d=\"M487 190h10\"></path>\n<g>\n<path d=\"M497 190h0\"></path>\n<path d=\"M625 190h0\"></path>\n<path d=\"M497 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M517 170h88\"></path>\n</g>\n<path d=\"M605 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M497 190h20\"></path>\n<g class=\"terminal\">\n<path d=\"M517 190h0\"></path>\n<path d=\"M605 190h0\"></path>\n<rect x=\"517\" y=\"179\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"561\" y=\"194\">\"LEGACY\"</text>\n</g>\n<path d=\"M605 190h20\"></path>\n</g>\n<g>\n<path d=\"M625 190h0\"></path>\n<path d=\"M795.5 190h0\"></path>\n<path d=\"M625 190h20\"></path>\n<g class=\"terminal\">\n<path d=\"M645 190h0\"></path>\n<path d=\"M775.5 190h0\"></path>\n<rect x=\"645\" y=\"179\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"710.25\" y=\"194\">\"BINARY MODE\"</text>\n</g>\n<path d=\"M775.5 190h20\"></path>\n<path d=\"M625 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M645 220h0\"></path>\n<path d=\"M758.5 220h17\"></path>\n<rect x=\"645\" y=\"209\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.75\" y=\"224\">\"TEXT MODE\"</text>\n</g>\n<path d=\"M775.5 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M795.5 190a10 10 0 0 0 10 -10v-149\"></path>\n<path d=\"M423 31v209a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M433 250h0\"></path>\n<path d=\"M640 250h155.5\"></path>\n<rect x=\"433\" y=\"239\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"254\">\"WITH BYTE-ORDER MARK\"</text>\n</g>\n<path d=\"M795.5 250a10 10 0 0 0 10 -10v-209\"></path>\n<path d=\"M423 31v239a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 280h0\"></path>\n<path d=\"M739.5 280h56\"></path>\n<g class=\"terminal\">\n<path d=\"M433 280h0\"></path>\n<path d=\"M648.5 280h0\"></path>\n<rect x=\"433\" y=\"269\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"284\">\"REPLACEMENT CHARACTER\"</text>\n</g>\n<path d=\"M648.5 280h10\"></path>\n<path d=\"M658.5 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M668.5 280h0\"></path>\n<path d=\"M739.5 280h0\"></path>\n<rect x=\"668.5\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"704\" y=\"284\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 280a10 10 0 0 0 10 -10v-239\"></path>\n<path d=\"M423 31v269a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 310h0\"></path>\n<path d=\"M612 310h183.5\"></path>\n<g class=\"terminal\">\n<path d=\"M433 310h0\"></path>\n<path d=\"M521 310h0\"></path>\n<rect x=\"433\" y=\"299\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"477\" y=\"314\">\"FILTER\"</text>\n</g>\n<path d=\"M521 310h10\"></path>\n<path d=\"M531 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541 310h0\"></path>\n<path d=\"M612 310h0\"></path>\n<rect x=\"541\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"576.5\" y=\"314\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 310a10 10 0 0 0 10 -10v-269\"></path>\n<path d=\"M423 31v299a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 340h0\"></path>\n<path d=\"M718.5 340h77\"></path>\n<g class=\"terminal\">\n<path d=\"M433 340h0\"></path>\n<path d=\"M538 340h0\"></path>\n<rect x=\"433\" y=\"329\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485.5\" y=\"344\">\"ENCODING\"</text>\n</g>\n<path d=\"M538 340h10\"></path>\n<g>\n<path d=\"M548 340h0\"></path>\n<path d=\"M718.5 340h0\"></path>\n<path d=\"M548 340h20\"></path>\n<g class=\"terminal\">\n<path d=\"M568 340h0\"></path>\n<path d=\"M664.5 340h34\"></path>\n<rect x=\"568\" y=\"329\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616.25\" y=\"344\">\"DEFAULT\"</text>\n</g>\n<path d=\"M698.5 340h20\"></path>\n<path d=\"M548 340a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M568 370h0\"></path>\n<path d=\"M647.5 370h51\"></path>\n<rect x=\"568\" y=\"359\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"607.75\" y=\"374\">\"UTF-8\"</text>\n</g>\n<path d=\"M698.5 370a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M548 340a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M568 400h0\"></path>\n<path d=\"M698.5 400h0\"></path>\n<rect x=\"568\" y=\"389\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633.25\" y=\"404\">\"NON-UNICODE\"</text>\n</g>\n<path d=\"M698.5 400a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M795.5 340a10 10 0 0 0 10 -10v-299\"></path>\n<path d=\"M423 31v389a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 430h0\"></path>\n<path d=\"M654.5 430h141\"></path>\n<g class=\"terminal\">\n<path d=\"M433 430h0\"></path>\n<path d=\"M563.5 430h0\"></path>\n<rect x=\"433\" y=\"419\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.25\" y=\"434\">\"AT POSITION\"</text>\n</g>\n<path d=\"M563.5 430h10\"></path>\n<path d=\"M573.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M583.5 430h0\"></path>\n<path d=\"M654.5 430h0\"></path>\n<rect x=\"583.5\" y=\"419\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"619\" y=\"434\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 430a10 10 0 0 0 10 -10v-389\"></path>\n<path d=\"M423 31v419a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 460h0\"></path>\n<path d=\"M620.5 460h175\"></path>\n<g class=\"terminal\">\n<path d=\"M433 460h0\"></path>\n<path d=\"M529.5 460h0\"></path>\n<rect x=\"433\" y=\"449\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"481.25\" y=\"464\">\"MESSAGE\"</text>\n</g>\n<path d=\"M529.5 460h10\"></path>\n<path d=\"M539.5 460h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M549.5 460h0\"></path>\n<path d=\"M620.5 460h0\"></path>\n<rect x=\"549.5\" y=\"449\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"585\" y=\"464\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 460a10 10 0 0 0 10 -10v-419\"></path>\n<path d=\"M423 31v449a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M433 490h0\"></path>\n<path d=\"M691 490h104.5\"></path>\n<rect x=\"433\" y=\"479\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"562\" y=\"494\">\"IGNORING CONVERSION ERRORS\"</text>\n</g>\n<path d=\"M795.5 490a10 10 0 0 0 10 -10v-449\"></path>\n<path d=\"M423 31v479a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M433 520h0\"></path>\n<path d=\"M674 520h121.5\"></path>\n<rect x=\"433\" y=\"509\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"553.5\" y=\"524\">\"SKIPPING BYTE-ORDER MARK\"</text>\n</g>\n<path d=\"M795.5 520a10 10 0 0 0 10 -10v-479\"></path>\n<path d=\"M423 31v509a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 550h0\"></path>\n<path d=\"M637.5 550h158\"></path>\n<g class=\"terminal\">\n<path d=\"M433 550h0\"></path>\n<path d=\"M546.5 550h0\"></path>\n<rect x=\"433\" y=\"539\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"489.75\" y=\"554\">\"CODE PAGE\"</text>\n</g>\n<path d=\"M546.5 550h10\"></path>\n<path d=\"M556.5 550h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M566.5 550h0\"></path>\n<path d=\"M637.5 550h0\"></path>\n<rect x=\"566.5\" y=\"539\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"602\" y=\"554\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M795.5 550a10 10 0 0 0 10 -10v-509\"></path>\n<path d=\"M423 31v539a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M433 580h0\"></path>\n<path d=\"M757 580h38.5\"></path>\n<g class=\"terminal\">\n<path d=\"M433 580h0\"></path>\n<path d=\"M504 580h0\"></path>\n<rect x=\"433\" y=\"569\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"468.5\" y=\"584\">\"WITH\"</text>\n</g>\n<path d=\"M504 580h10\"></path>\n<g>\n<path d=\"M514 580h0\"></path>\n<path d=\"M642 580h0\"></path>\n<path d=\"M514 580h20\"></path>\n<g class=\"terminal\">\n<path d=\"M534 580h0\"></path>\n<path d=\"M613.5 580h8.5\"></path>\n<rect x=\"534\" y=\"569\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.75\" y=\"584\">\"SMART\"</text>\n</g>\n<path d=\"M622 580h20\"></path>\n<path d=\"M514 580a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M534 610h0\"></path>\n<path d=\"M622 610h0\"></path>\n<rect x=\"534\" y=\"599\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"578\" y=\"614\">\"NATIVE\"</text>\n</g>\n<path d=\"M622 610a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M514 580a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M534 640h0\"></path>\n<path d=\"M605 640h17\"></path>\n<rect x=\"534\" y=\"629\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569.5\" y=\"644\">\"UNIX\"</text>\n</g>\n<path d=\"M622 640a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M642 580h10\"></path>\n<g class=\"terminal\">\n<path d=\"M652 580h0\"></path>\n<path d=\"M757 580h0\"></path>\n<rect x=\"652\" y=\"569\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"704.5\" y=\"584\">\"LINEFEED\"</text>\n</g>\n</g>\n<path d=\"M795.5 580a10 10 0 0 0 10 -10v-539\"></path>\n<path d=\"M423 31v629a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M433 670h0\"></path>\n<path d=\"M648.5 670h147\"></path>\n<rect x=\"433\" y=\"659\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"674\">\"WITH WINDOWS LINEFEED\"</text>\n</g>\n<path d=\"M795.5 670a10 10 0 0 0 10 -10v-629\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 423 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"408\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 805.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 812.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M825.5 31h10\"></path>\n<path d=\"M 835.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "open_dataset.ts"
+    },
+    {
+      "name": "Overlay",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"OVERLAY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ONLY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"681.5\" height=\"71\" viewBox=\"0 0 681.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"OVERLAY\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<path d=\"M156.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 40h0\"></path>\n<path d=\"M237.5 40h0\"></path>\n<rect x=\"166.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"202\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M237.5 40h10\"></path>\n<path d=\"M247.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M257.5 40h0\"></path>\n<path d=\"M328.5 40h0\"></path>\n<rect x=\"257.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M328.5 40h10\"></path>\n<path d=\"M338.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M419.5 40h0\"></path>\n<rect x=\"348.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"384\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M419.5 40h10\"></path>\n<g>\n<path d=\"M429.5 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<path d=\"M429.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M449.5 20h162\"></path>\n</g>\n<path d=\"M611.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M429.5 40h20\"></path>\n<g>\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M611.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M449.5 40h0\"></path>\n<path d=\"M520.5 40h0\"></path>\n<rect x=\"449.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"485\" y=\"44\">\"ONLY\"</text>\n</g>\n<path d=\"M520.5 40h10\"></path>\n<path d=\"M530.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M540.5 40h0\"></path>\n<path d=\"M611.5 40h0\"></path>\n<rect x=\"540.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"576\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M611.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M631.5 40h10\"></path>\n<path d=\"M 641.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "overlay.ts"
+    },
+    {
+      "name": "Pack",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"PACK\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"520\" height=\"62\" viewBox=\"0 0 520 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M470 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M470 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"35\">\"PACK\"</text>\n</g>\n<path d=\"M214 31h10\"></path>\n<path d=\"M224 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M234 31h0\"></path>\n<path d=\"M305 31h0\"></path>\n<rect x=\"234\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"269.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M305 31h10\"></path>\n<path d=\"M315 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M325 31h0\"></path>\n<path d=\"M379 31h0\"></path>\n<rect x=\"325\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"352\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M379 31h10\"></path>\n<path d=\"M389 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M399 31h0\"></path>\n<path d=\"M470 31h0\"></path>\n<rect x=\"399\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"434.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M470 31h10\"></path>\n<path d=\"M 480 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "pack.ts"
+    },
+    {
+      "name": "Parameter",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"PARAMETER\"'),Railroad.Terminal('\"PARAMETERS\"')),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Optional(Railroad.NonTerminal('FieldLength', {href: '#/expression/FieldLength'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"TYPE\"'),Railroad.Terminal('\"LIKE\"')),Railroad.Choice(0, Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))),Railroad.Terminal('\"OBLIGATORY\"'),Railroad.Sequence(Railroad.Terminal('\"MATCHCODE OBJECT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"USER-COMMAND\"'),Railroad.Terminal(\"^\\\\w+$\")),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"RADIOBUTTON GROUP\"'),Railroad.NonTerminal('RadioGroupName', {href: '#/expression/RadioGroupName'})),Railroad.Sequence(Railroad.Terminal('\"MEMORY ID\"'),Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'})),Railroad.Sequence(Railroad.Terminal('\"MODIF ID\"'),Railroad.NonTerminal('Modif', {href: '#/expression/Modif'})),Railroad.Terminal('\"AS LISTBOX\"'),Railroad.Sequence(Railroad.Terminal('\"VISIBLE LENGTH\"'),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'})),Railroad.Terminal('\"VALUE CHECK\"'),Railroad.Terminal('\"NO-DISPLAY\"'),Railroad.Terminal('\"AS CHECKBOX\"'),Railroad.Terminal('\"LOWER CASE\"')))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/FieldChain",
+        "expression/FieldLength",
+        "expression/FieldSub",
+        "expression/Modif",
+        "expression/RadioGroupName",
+        "expression/SimpleSource1",
+        "expression/Source",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1067\" height=\"581\" viewBox=\"0 0 1067 581\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1017 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1017 40h0\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M305 40h0\"></path>\n<path d=\"M143 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M163 40h0\"></path>\n<path d=\"M276.5 40h8.5\"></path>\n<rect x=\"163\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"219.75\" y=\"44\">\"PARAMETER\"</text>\n</g>\n<path d=\"M285 40h20\"></path>\n<path d=\"M143 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M163 70h0\"></path>\n<path d=\"M285 70h0\"></path>\n<rect x=\"163\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"224\" y=\"74\">\"PARAMETERS\"</text>\n</g>\n<path d=\"M285 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M305 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M315 40h0\"></path>\n<path d=\"M403 40h0\"></path>\n<rect x=\"315\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"359\" y=\"44\">FieldSub</text>\n</a>\n</g>\n<path d=\"M403 40h10\"></path>\n<g>\n<path d=\"M413 40h0\"></path>\n<path d=\"M566.5 40h0\"></path>\n<path d=\"M413 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M433 20h113.5\"></path>\n</g>\n<path d=\"M546.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M413 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M433 40h0\"></path>\n<path d=\"M546.5 40h0\"></path>\n<rect x=\"433\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldLength\"><text x=\"489.75\" y=\"44\">FieldLength</text>\n</a>\n</g>\n<path d=\"M546.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M566.5 40h0\"></path>\n<path d=\"M1017 40h0\"></path>\n<path d=\"M566.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M586.5 20h410.5\"></path>\n</g>\n<path d=\"M997 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M566.5 40h20\"></path>\n<g>\n<path d=\"M586.5 40h0\"></path>\n<path d=\"M997 40h0\"></path>\n<path d=\"M616.5 40h10\"></path>\n<g>\n<path d=\"M626.5 40h0\"></path>\n<path d=\"M865.5 40h101.5\"></path>\n<g>\n<path d=\"M626.5 40h0\"></path>\n<path d=\"M737.5 40h0\"></path>\n<path d=\"M626.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M646.5 40h0\"></path>\n<path d=\"M717.5 40h0\"></path>\n<rect x=\"646.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"682\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M717.5 40h20\"></path>\n<path d=\"M626.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M646.5 70h0\"></path>\n<path d=\"M717.5 70h0\"></path>\n<rect x=\"646.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"682\" y=\"74\">\"LIKE\"</text>\n</g>\n<path d=\"M717.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M737.5 40h0\"></path>\n<path d=\"M865.5 40h0\"></path>\n<path d=\"M737.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M757.5 40h0\"></path>\n<path d=\"M845.5 40h0\"></path>\n<rect x=\"757.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"801.5\" y=\"44\">TypeName</text>\n</a>\n</g>\n<path d=\"M845.5 40h20\"></path>\n<path d=\"M737.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M757.5 70h0\"></path>\n<path d=\"M837 70h8.5\"></path>\n<rect x=\"757.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"797.25\" y=\"74\">Dynamic</text>\n</a>\n</g>\n<path d=\"M845.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M967 40h10\"></path>\n<path d=\"M616.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 100h0\"></path>\n<path d=\"M878 100h89\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 100h0\"></path>\n<path d=\"M723 100h0\"></path>\n<rect x=\"626.5\" y=\"89\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"674.75\" y=\"104\">\"DEFAULT\"</text>\n</g>\n<path d=\"M723 100h10\"></path>\n<g>\n<path d=\"M733 100h0\"></path>\n<path d=\"M878 100h0\"></path>\n<path d=\"M733 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M753 100h0\"></path>\n<path d=\"M841 100h17\"></path>\n<rect x=\"753\" y=\"89\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"797\" y=\"104\">Constant</text>\n</a>\n</g>\n<path d=\"M858 100h20\"></path>\n<path d=\"M733 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M753 130h0\"></path>\n<path d=\"M858 130h0\"></path>\n<rect x=\"753\" y=\"119\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"805.5\" y=\"134\">FieldChain</text>\n</a>\n</g>\n<path d=\"M858 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M967 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M616.5 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 160h0\"></path>\n<path d=\"M748.5 160h218.5\"></path>\n<rect x=\"626.5\" y=\"149\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"687.5\" y=\"164\">\"OBLIGATORY\"</text>\n</g>\n<path d=\"M967 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M616.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 190h0\"></path>\n<path d=\"M882 190h85\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 190h0\"></path>\n<path d=\"M799.5 190h0\"></path>\n<rect x=\"626.5\" y=\"179\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"713\" y=\"194\">\"MATCHCODE OBJECT\"</text>\n</g>\n<path d=\"M799.5 190h10\"></path>\n<path d=\"M809.5 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M819.5 190h0\"></path>\n<path d=\"M882 190h0\"></path>\n<rect x=\"819.5\" y=\"179\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"850.75\" y=\"194\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M967 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M616.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 220h0\"></path>\n<path d=\"M848 220h119\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 220h0\"></path>\n<path d=\"M765.5 220h0\"></path>\n<rect x=\"626.5\" y=\"209\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"696\" y=\"224\">\"USER-COMMAND\"</text>\n</g>\n<path d=\"M765.5 220h10\"></path>\n<path d=\"M775.5 220h10\"></path>\n<g class=\"terminal\">\n<path d=\"M785.5 220h0\"></path>\n<path d=\"M848 220h0\"></path>\n<rect x=\"785.5\" y=\"209\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"816.75\" y=\"224\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M967 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M616.5 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 250h0\"></path>\n<path d=\"M822.5 250h144.5\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 250h0\"></path>\n<path d=\"M714.5 250h0\"></path>\n<rect x=\"626.5\" y=\"239\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"670.5\" y=\"254\">\"LENGTH\"</text>\n</g>\n<path d=\"M714.5 250h10\"></path>\n<path d=\"M724.5 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M734.5 250h0\"></path>\n<path d=\"M822.5 250h0\"></path>\n<rect x=\"734.5\" y=\"239\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"778.5\" y=\"254\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M967 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M616.5 40v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 280h0\"></path>\n<path d=\"M822.5 280h144.5\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 280h0\"></path>\n<path d=\"M731.5 280h0\"></path>\n<rect x=\"626.5\" y=\"269\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679\" y=\"284\">\"DECIMALS\"</text>\n</g>\n<path d=\"M731.5 280h10\"></path>\n<path d=\"M741.5 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751.5 280h0\"></path>\n<path d=\"M822.5 280h0\"></path>\n<rect x=\"751.5\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"787\" y=\"284\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M967 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M616.5 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 310h0\"></path>\n<path d=\"M967 310h0\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 310h0\"></path>\n<path d=\"M808 310h0\"></path>\n<rect x=\"626.5\" y=\"299\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"717.25\" y=\"314\">\"RADIOBUTTON GROUP\"</text>\n</g>\n<path d=\"M808 310h10\"></path>\n<path d=\"M818 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M828 310h0\"></path>\n<path d=\"M967 310h0\"></path>\n<rect x=\"828\" y=\"299\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/RadioGroupName\"><text x=\"897.5\" y=\"314\">RadioGroupName</text>\n</a>\n</g>\n</g>\n<path d=\"M967 310a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M616.5 40v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 340h0\"></path>\n<path d=\"M890.5 340h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 340h0\"></path>\n<path d=\"M740 340h0\"></path>\n<rect x=\"626.5\" y=\"329\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"683.25\" y=\"344\">\"MEMORY ID\"</text>\n</g>\n<path d=\"M740 340h10\"></path>\n<path d=\"M750 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M760 340h0\"></path>\n<path d=\"M890.5 340h0\"></path>\n<rect x=\"760\" y=\"329\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"825.25\" y=\"344\">SimpleSource1</text>\n</a>\n</g>\n</g>\n<path d=\"M967 340a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M616.5 40v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 370h0\"></path>\n<path d=\"M814 370h153\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 370h0\"></path>\n<path d=\"M731.5 370h0\"></path>\n<rect x=\"626.5\" y=\"359\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679\" y=\"374\">\"MODIF ID\"</text>\n</g>\n<path d=\"M731.5 370h10\"></path>\n<path d=\"M741.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751.5 370h0\"></path>\n<path d=\"M814 370h0\"></path>\n<rect x=\"751.5\" y=\"359\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Modif\"><text x=\"782.75\" y=\"374\">Modif</text>\n</a>\n</g>\n</g>\n<path d=\"M967 370a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M616.5 40v350a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 400h0\"></path>\n<path d=\"M748.5 400h218.5\"></path>\n<rect x=\"626.5\" y=\"389\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"687.5\" y=\"404\">\"AS LISTBOX\"</text>\n</g>\n<path d=\"M967 400a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M616.5 40v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M626.5 430h0\"></path>\n<path d=\"M890.5 430h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 430h0\"></path>\n<path d=\"M782.5 430h0\"></path>\n<rect x=\"626.5\" y=\"419\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"704.5\" y=\"434\">\"VISIBLE LENGTH\"</text>\n</g>\n<path d=\"M782.5 430h10\"></path>\n<path d=\"M792.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M802.5 430h0\"></path>\n<path d=\"M890.5 430h0\"></path>\n<rect x=\"802.5\" y=\"419\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"846.5\" y=\"434\">Constant</text>\n</a>\n</g>\n</g>\n<path d=\"M967 430a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M616.5 40v410a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 460h0\"></path>\n<path d=\"M757 460h210\"></path>\n<rect x=\"626.5\" y=\"449\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"691.75\" y=\"464\">\"VALUE CHECK\"</text>\n</g>\n<path d=\"M967 460a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M616.5 40v440a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 490h0\"></path>\n<path d=\"M748.5 490h218.5\"></path>\n<rect x=\"626.5\" y=\"479\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"687.5\" y=\"494\">\"NO-DISPLAY\"</text>\n</g>\n<path d=\"M967 490a10 10 0 0 0 10 -10v-440\"></path>\n<path d=\"M616.5 40v470a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 520h0\"></path>\n<path d=\"M757 520h210\"></path>\n<rect x=\"626.5\" y=\"509\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"691.75\" y=\"524\">\"AS CHECKBOX\"</text>\n</g>\n<path d=\"M967 520a10 10 0 0 0 10 -10v-470\"></path>\n<path d=\"M616.5 40v500a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 550h0\"></path>\n<path d=\"M748.5 550h218.5\"></path>\n<rect x=\"626.5\" y=\"539\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"687.5\" y=\"554\">\"LOWER CASE\"</text>\n</g>\n<path d=\"M967 550a10 10 0 0 0 10 -10v-500\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 616.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"601.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 977 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 984 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M997 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1017 40h10\"></path>\n<path d=\"M 1027 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "parameter.ts"
+    },
+    {
+      "name": "Perform",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"PERFORM\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('IncludeName', {href: '#/expression/IncludeName'}),Railroad.Terminal('!\") \"'))),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('FormName', {href: '#/expression/FormName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"IN PROGRAM\"'),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('IncludeName', {href: '#/expression/IncludeName'})))))))),Railroad.Optional(Railroad.Terminal('\"IF FOUND\"')),Railroad.Optional(Railroad.NonTerminal('PerformTables', {href: '#/expression/PerformTables'})),Railroad.Optional(Railroad.NonTerminal('PerformUsing', {href: '#/expression/PerformUsing'})),Railroad.Optional(Railroad.NonTerminal('PerformChanging', {href: '#/expression/PerformChanging'})),Railroad.Optional(Railroad.Terminal('\"IF FOUND\"')),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"ON COMMIT\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LEVEL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Terminal('\"ON ROLLBACK\"'))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FormName",
+        "expression/IncludeName",
+        "expression/PerformChanging",
+        "expression/PerformTables",
+        "expression/PerformUsing",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2057\" height=\"156\" viewBox=\"0 0 2057 156\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M2007 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M146.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"52\">\"PERFORM\"</text>\n</g>\n<path d=\"M146.5 48h10\"></path>\n<g>\n<path d=\"M156.5 48h0\"></path>\n<path d=\"M783 48h0\"></path>\n<path d=\"M156.5 48h20\"></path>\n<g>\n<path d=\"M176.5 48h0\"></path>\n<path d=\"M647.5 48h115.5\"></path>\n<g>\n<path d=\"M176.5 48h0\"></path>\n<path d=\"M249.5 48h0\"></path>\n<text x=\"213\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M249.5 48h10\"></path>\n<path d=\"M259.5 48h10\"></path>\n<g>\n<path d=\"M269.5 48h0\"></path>\n<path d=\"M647.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269.5 48h0\"></path>\n<path d=\"M357.5 48h0\"></path>\n<rect x=\"269.5\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"313.5\" y=\"52\">FormName</text>\n</a>\n</g>\n<path d=\"M357.5 48h10\"></path>\n<path d=\"M367.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M377.5 48h0\"></path>\n<path d=\"M431.5 48h0\"></path>\n<rect x=\"377.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404.5\" y=\"52\">!\"(\"</text>\n</g>\n<path d=\"M431.5 48h10\"></path>\n<path d=\"M441.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M451.5 48h0\"></path>\n<path d=\"M565 48h0\"></path>\n<rect x=\"451.5\" y=\"37\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/IncludeName\"><text x=\"508.25\" y=\"52\">IncludeName</text>\n</a>\n</g>\n<path d=\"M565 48h10\"></path>\n<path d=\"M575 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M585 48h0\"></path>\n<path d=\"M647.5 48h0\"></path>\n<rect x=\"585\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616.25\" y=\"52\">!\") \"</text>\n</g>\n</g>\n</g>\n<path d=\"M763 48h20\"></path>\n<path d=\"M156.5 48a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M176.5 95h0\"></path>\n<path d=\"M763 95h0\"></path>\n<g>\n<path d=\"M176.5 95h0\"></path>\n<path d=\"M304.5 95h0\"></path>\n<path d=\"M176.5 95h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M196.5 95h0\"></path>\n<path d=\"M284.5 95h0\"></path>\n<rect x=\"196.5\" y=\"84\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FormName\"><text x=\"240.5\" y=\"99\">FormName</text>\n</a>\n</g>\n<path d=\"M284.5 95h20\"></path>\n<path d=\"M176.5 95a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M196.5 125h0\"></path>\n<path d=\"M276 125h8.5\"></path>\n<rect x=\"196.5\" y=\"114\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"236.25\" y=\"129\">Dynamic</text>\n</a>\n</g>\n<path d=\"M284.5 125a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M304.5 95h0\"></path>\n<path d=\"M763 95h0\"></path>\n<path d=\"M304.5 95a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M324.5 67h418.5\"></path>\n</g>\n<path d=\"M743 67a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M304.5 95h20\"></path>\n<g>\n<path d=\"M324.5 95h0\"></path>\n<path d=\"M743 95h0\"></path>\n<g>\n<path d=\"M324.5 95h0\"></path>\n<path d=\"M397.5 95h0\"></path>\n<text x=\"361\" y=\"100\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M397.5 95h10\"></path>\n<path d=\"M407.5 95h10\"></path>\n<g>\n<path d=\"M417.5 95h0\"></path>\n<path d=\"M743 95h0\"></path>\n<g class=\"terminal\">\n<path d=\"M417.5 95h0\"></path>\n<path d=\"M539.5 95h0\"></path>\n<rect x=\"417.5\" y=\"84\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"478.5\" y=\"99\">\"IN PROGRAM\"</text>\n</g>\n<path d=\"M539.5 95h10\"></path>\n<g>\n<path d=\"M549.5 95h0\"></path>\n<path d=\"M743 95h0\"></path>\n<path d=\"M549.5 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M569.5 75h153.5\"></path>\n</g>\n<path d=\"M723 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M549.5 95h20\"></path>\n<g>\n<path d=\"M569.5 95h0\"></path>\n<path d=\"M723 95h0\"></path>\n<path d=\"M569.5 95h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M589.5 95h0\"></path>\n<path d=\"M669 95h34\"></path>\n<rect x=\"589.5\" y=\"84\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"629.25\" y=\"99\">Dynamic</text>\n</a>\n</g>\n<path d=\"M703 95h20\"></path>\n<path d=\"M569.5 95a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M589.5 125h0\"></path>\n<path d=\"M703 125h0\"></path>\n<rect x=\"589.5\" y=\"114\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/IncludeName\"><text x=\"646.25\" y=\"129\">IncludeName</text>\n</a>\n</g>\n<path d=\"M703 125a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M723 95h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M743 95h20\"></path>\n</g>\n</g>\n<path d=\"M763 95a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M783 48h0\"></path>\n<path d=\"M928 48h0\"></path>\n<path d=\"M783 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M803 28h105\"></path>\n</g>\n<path d=\"M908 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M783 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M803 48h0\"></path>\n<path d=\"M908 48h0\"></path>\n<rect x=\"803\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"855.5\" y=\"52\">\"IF FOUND\"</text>\n</g>\n<path d=\"M908 48h20\"></path>\n</g>\n<g>\n<path d=\"M928 48h0\"></path>\n<path d=\"M1098.5 48h0\"></path>\n<path d=\"M928 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M948 28h130.5\"></path>\n</g>\n<path d=\"M1078.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M928 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M948 48h0\"></path>\n<path d=\"M1078.5 48h0\"></path>\n<rect x=\"948\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/PerformTables\"><text x=\"1013.25\" y=\"52\">PerformTables</text>\n</a>\n</g>\n<path d=\"M1078.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1098.5 48h0\"></path>\n<path d=\"M1260.5 48h0\"></path>\n<path d=\"M1098.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1118.5 28h122\"></path>\n</g>\n<path d=\"M1240.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1098.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1118.5 48h0\"></path>\n<path d=\"M1240.5 48h0\"></path>\n<rect x=\"1118.5\" y=\"37\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/PerformUsing\"><text x=\"1179.5\" y=\"52\">PerformUsing</text>\n</a>\n</g>\n<path d=\"M1240.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1260.5 48h0\"></path>\n<path d=\"M1448 48h0\"></path>\n<path d=\"M1260.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1280.5 28h147.5\"></path>\n</g>\n<path d=\"M1428 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1260.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1280.5 48h0\"></path>\n<path d=\"M1428 48h0\"></path>\n<rect x=\"1280.5\" y=\"37\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/PerformChanging\"><text x=\"1354.25\" y=\"52\">PerformChanging</text>\n</a>\n</g>\n<path d=\"M1428 48h20\"></path>\n</g>\n<g>\n<path d=\"M1448 48h0\"></path>\n<path d=\"M1593 48h0\"></path>\n<path d=\"M1448 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1468 28h105\"></path>\n</g>\n<path d=\"M1573 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1448 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1468 48h0\"></path>\n<path d=\"M1573 48h0\"></path>\n<rect x=\"1468\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1520.5\" y=\"52\">\"IF FOUND\"</text>\n</g>\n<path d=\"M1573 48h20\"></path>\n</g>\n<g>\n<path d=\"M1593 48h0\"></path>\n<path d=\"M2007 48h0\"></path>\n<path d=\"M1593 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1613 20h374\"></path>\n</g>\n<path d=\"M1987 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1593 48h20\"></path>\n<g>\n<path d=\"M1613 48h0\"></path>\n<path d=\"M1987 48h0\"></path>\n<path d=\"M1613 48h20\"></path>\n<g>\n<path d=\"M1633 48h0\"></path>\n<path d=\"M1967 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1633 48h0\"></path>\n<path d=\"M1746.5 48h0\"></path>\n<rect x=\"1633\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1689.75\" y=\"52\">\"ON COMMIT\"</text>\n</g>\n<path d=\"M1746.5 48h10\"></path>\n<g>\n<path d=\"M1756.5 48h0\"></path>\n<path d=\"M1967 48h0\"></path>\n<path d=\"M1756.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1776.5 28h170.5\"></path>\n</g>\n<path d=\"M1947 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1756.5 48h20\"></path>\n<g>\n<path d=\"M1776.5 48h0\"></path>\n<path d=\"M1947 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1776.5 48h0\"></path>\n<path d=\"M1856 48h0\"></path>\n<rect x=\"1776.5\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1816.25\" y=\"52\">\"LEVEL\"</text>\n</g>\n<path d=\"M1856 48h10\"></path>\n<path d=\"M1866 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1876 48h0\"></path>\n<path d=\"M1947 48h0\"></path>\n<rect x=\"1876\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1911.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1947 48h20\"></path>\n</g>\n</g>\n<path d=\"M1967 48h20\"></path>\n<path d=\"M1613 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1633 78h0\"></path>\n<path d=\"M1763.5 78h203.5\"></path>\n<rect x=\"1633\" y=\"67\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1698.25\" y=\"82\">\"ON ROLLBACK\"</text>\n</g>\n<path d=\"M1967 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1987 48h20\"></path>\n</g>\n</g>\n<path d=\"M2007 48h10\"></path>\n<path d=\"M 2017 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "perform.ts"
+    },
+    {
+      "name": "Position",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"POSITION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"389\" height=\"62\" viewBox=\"0 0 389 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M248 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"35\">\"POSITION\"</text>\n</g>\n<path d=\"M248 31h10\"></path>\n<path d=\"M258 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M268 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<rect x=\"268\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"303.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M339 31h10\"></path>\n<path d=\"M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "position.ts"
+    },
+    {
+      "name": "PrintControl",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"PRINT-CONTROL\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INDEX-LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FUNCTION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"603.5\" height=\"92\" viewBox=\"0 0 603.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M553.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M553.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"PRINT-CONTROL\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<g>\n<path d=\"M300.5 31h0\"></path>\n<path d=\"M553.5 31h0\"></path>\n<path d=\"M300.5 31h20\"></path>\n<g>\n<path d=\"M320.5 31h0\"></path>\n<path d=\"M533.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 31h0\"></path>\n<path d=\"M442.5 31h0\"></path>\n<rect x=\"320.5\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"381.5\" y=\"35\">\"INDEX-LINE\"</text>\n</g>\n<path d=\"M442.5 31h10\"></path>\n<path d=\"M452.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M462.5 31h0\"></path>\n<path d=\"M533.5 31h0\"></path>\n<rect x=\"462.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"498\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M533.5 31h20\"></path>\n<path d=\"M300.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320.5 61h0\"></path>\n<path d=\"M516.5 61h17\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 61h0\"></path>\n<path d=\"M425.5 61h0\"></path>\n<rect x=\"320.5\" y=\"50\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373\" y=\"65\">\"FUNCTION\"</text>\n</g>\n<path d=\"M425.5 61h10\"></path>\n<path d=\"M435.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M445.5 61h0\"></path>\n<path d=\"M516.5 61h0\"></path>\n<rect x=\"445.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"481\" y=\"65\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M533.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M553.5 31h10\"></path>\n<path d=\"M 563.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "print_control.ts"
+    },
+    {
+      "name": "Private",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"PRIVATE SECTION\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"264.5\" height=\"62\" viewBox=\"0 0 264.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M214.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"132.25\" y=\"35\">\"PRIVATE SECTION\"</text>\n</g>\n<path d=\"M214.5 31h10\"></path>\n<path d=\"M 224.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/PrivateSection"
+      ],
+      "filename": "private.ts"
+    },
+    {
+      "name": "Program",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"PROGRAM\"'),Railroad.Optional(Railroad.NonTerminal('ReportName', {href: '#/expression/ReportName'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"NO STANDARD PAGE HEADING\"'),Railroad.Sequence(Railroad.Terminal('\"LINE-COUNT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/ReportName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"795.5\" height=\"161\" viewBox=\"0 0 795.5 161\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M745.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M745.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M239.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"44\">\"PROGRAM\"</text>\n</g>\n<path d=\"M239.5 40h10\"></path>\n<g>\n<path d=\"M249.5 40h0\"></path>\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M269.5 20h105\"></path>\n</g>\n<path d=\"M374.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M249.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269.5 40h0\"></path>\n<path d=\"M374.5 40h0\"></path>\n<rect x=\"269.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReportName\"><text x=\"322\" y=\"44\">ReportName</text>\n</a>\n</g>\n<path d=\"M374.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M745.5 40h0\"></path>\n<path d=\"M394.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M414.5 20h311\"></path>\n</g>\n<path d=\"M725.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M394.5 40h20\"></path>\n<g>\n<path d=\"M414.5 40h0\"></path>\n<path d=\"M725.5 40h0\"></path>\n<path d=\"M444.5 40h10\"></path>\n<g>\n<path d=\"M454.5 40h0\"></path>\n<path d=\"M667.5 40h28\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 40h0\"></path>\n<path d=\"M576.5 40h0\"></path>\n<rect x=\"454.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"515.5\" y=\"44\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M576.5 40h10\"></path>\n<path d=\"M586.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M596.5 40h0\"></path>\n<path d=\"M667.5 40h0\"></path>\n<rect x=\"596.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"632\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M695.5 40h10\"></path>\n<path d=\"M444.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M454.5 70h0\"></path>\n<path d=\"M659 70h36.5\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 70h0\"></path>\n<path d=\"M568 70h0\"></path>\n<rect x=\"454.5\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511.25\" y=\"74\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M568 70h10\"></path>\n<path d=\"M578 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M588 70h0\"></path>\n<path d=\"M659 70h0\"></path>\n<rect x=\"588\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"623.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M695.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M444.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 100h0\"></path>\n<path d=\"M695.5 100h0\"></path>\n<rect x=\"454.5\" y=\"89\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"575\" y=\"104\">\"NO STANDARD PAGE HEADING\"</text>\n</g>\n<path d=\"M695.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M444.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M454.5 130h0\"></path>\n<path d=\"M667.5 130h28\"></path>\n<g class=\"terminal\">\n<path d=\"M454.5 130h0\"></path>\n<path d=\"M576.5 130h0\"></path>\n<rect x=\"454.5\" y=\"119\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"515.5\" y=\"134\">\"LINE-COUNT\"</text>\n</g>\n<path d=\"M576.5 130h10\"></path>\n<path d=\"M586.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M596.5 130h0\"></path>\n<path d=\"M667.5 130h0\"></path>\n<rect x=\"596.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"632\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M695.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 444.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"429.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 705.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 712.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M725.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M745.5 40h10\"></path>\n<path d=\"M 755.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "program.ts"
+    },
+    {
+      "name": "Protected",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"PROTECTED SECTION\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"281.5\" height=\"62\" viewBox=\"0 0 281.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M231.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"140.75\" y=\"35\">\"PROTECTED SECTION\"</text>\n</g>\n<path d=\"M231.5 31h10\"></path>\n<path d=\"M 241.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ProtectedSection"
+      ],
+      "filename": "protected.ts"
+    },
+    {
+      "name": "Provide",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"PROVIDE\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"VALID\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"BOUNDS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Sequence(Railroad.OneOrMore(Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.OneOrMore(Railroad.Choice(0, Railroad.Terminal('\"*\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))))),Railroad.Terminal('\"BETWEEN\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('SimpleSource3', {href: '#/expression/SimpleSource3'})))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/SimpleSource3",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1981.5\" height=\"252\" viewBox=\"0 0 1981.5 252\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1931.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M1931.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"35\">\"PROVIDE\"</text>\n</g>\n<path d=\"M239.5 31h10\"></path>\n<g>\n<path d=\"M249.5 31h0\"></path>\n<path d=\"M1441.5 31h0\"></path>\n<path d=\"M249.5 31h20\"></path>\n<g>\n<path d=\"M269.5 31h0\"></path>\n<path d=\"M1421.5 31h0\"></path>\n<path d=\"M269.5 31h10\"></path>\n<g>\n<path d=\"M279.5 31h0\"></path>\n<path d=\"M1411.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M279.5 31h0\"></path>\n<path d=\"M367.5 31h0\"></path>\n<rect x=\"279.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"323.5\" y=\"35\">\"FIELDS\"</text>\n</g>\n<path d=\"M367.5 31h10\"></path>\n<path d=\"M377.5 31h10\"></path>\n<g>\n<path d=\"M387.5 31h0\"></path>\n<path d=\"M510 31h0\"></path>\n<path d=\"M387.5 31h10\"></path>\n<g>\n<path d=\"M397.5 31h0\"></path>\n<path d=\"M500 31h0\"></path>\n<path d=\"M397.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M417.5 31h0\"></path>\n<path d=\"M463 31h17\"></path>\n<rect x=\"417.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"440.25\" y=\"35\">\"&#42;\"</text>\n</g>\n<path d=\"M480 31h20\"></path>\n<path d=\"M397.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M417.5 61h0\"></path>\n<path d=\"M480 61h0\"></path>\n<rect x=\"417.5\" y=\"50\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"448.75\" y=\"65\">Field</text>\n</a>\n</g>\n<path d=\"M480 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M500 31h10\"></path>\n<path d=\"M397.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M397.5 80h102.5\"></path>\n</g>\n<path d=\"M500 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M510 31h10\"></path>\n<path d=\"M520 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M530 31h0\"></path>\n<path d=\"M601 31h0\"></path>\n<rect x=\"530\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"565.5\" y=\"35\">\"FROM\"</text>\n</g>\n<path d=\"M601 31h10\"></path>\n<path d=\"M611 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M621 31h0\"></path>\n<path d=\"M692 31h0\"></path>\n<rect x=\"621\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"656.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M692 31h10\"></path>\n<path d=\"M702 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M712 31h0\"></path>\n<path d=\"M783 31h0\"></path>\n<rect x=\"712\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"747.5\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M783 31h10\"></path>\n<path d=\"M793 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M803 31h0\"></path>\n<path d=\"M874 31h0\"></path>\n<rect x=\"803\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"838.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M874 31h10\"></path>\n<path d=\"M884 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M894 31h0\"></path>\n<path d=\"M973.5 31h0\"></path>\n<rect x=\"894\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.75\" y=\"35\">\"VALID\"</text>\n</g>\n<path d=\"M973.5 31h10\"></path>\n<path d=\"M983.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M993.5 31h0\"></path>\n<path d=\"M1056 31h0\"></path>\n<rect x=\"993.5\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1024.75\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M1056 31h10\"></path>\n<path d=\"M1066 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1076 31h0\"></path>\n<path d=\"M1164 31h0\"></path>\n<rect x=\"1076\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1120\" y=\"35\">\"BOUNDS\"</text>\n</g>\n<path d=\"M1164 31h10\"></path>\n<path d=\"M1174 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1184 31h0\"></path>\n<path d=\"M1246.5 31h0\"></path>\n<rect x=\"1184\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1215.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M1246.5 31h10\"></path>\n<path d=\"M1256.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1266.5 31h0\"></path>\n<path d=\"M1329 31h0\"></path>\n<rect x=\"1266.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1297.75\" y=\"35\">\"AND\"</text>\n</g>\n<path d=\"M1329 31h10\"></path>\n<path d=\"M1339 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1349 31h0\"></path>\n<path d=\"M1411.5 31h0\"></path>\n<rect x=\"1349\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1380.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1411.5 31h10\"></path>\n<path d=\"M279.5 31a10 10 0 0 0 -10 10v37a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M279.5 88h1132\"></path>\n</g>\n<path d=\"M1411.5 88a10 10 0 0 0 10 -10v-37a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1421.5 31h20\"></path>\n<path d=\"M249.5 31a10 10 0 0 1 10 10v56a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M269.5 107h0\"></path>\n<path d=\"M634 107h787.5\"></path>\n<path d=\"M269.5 107h10\"></path>\n<g>\n<path d=\"M279.5 107h0\"></path>\n<path d=\"M624 107h0\"></path>\n<path d=\"M279.5 107h20\"></path>\n<g>\n<path d=\"M299.5 107h0\"></path>\n<path d=\"M604 107h0\"></path>\n<g>\n<path d=\"M299.5 107h0\"></path>\n<path d=\"M422 107h0\"></path>\n<path d=\"M299.5 107h10\"></path>\n<g>\n<path d=\"M309.5 107h0\"></path>\n<path d=\"M412 107h0\"></path>\n<path d=\"M309.5 107h20\"></path>\n<g class=\"terminal\">\n<path d=\"M329.5 107h0\"></path>\n<path d=\"M375 107h17\"></path>\n<rect x=\"329.5\" y=\"96\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"352.25\" y=\"111\">\"&#42;\"</text>\n</g>\n<path d=\"M392 107h20\"></path>\n<path d=\"M309.5 107a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M329.5 137h0\"></path>\n<path d=\"M392 137h0\"></path>\n<rect x=\"329.5\" y=\"126\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"360.75\" y=\"141\">Field</text>\n</a>\n</g>\n<path d=\"M392 137a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M412 107h10\"></path>\n<path d=\"M309.5 107a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M309.5 156h102.5\"></path>\n</g>\n<path d=\"M412 156a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M422 107h10\"></path>\n<path d=\"M432 107h10\"></path>\n<g class=\"terminal\">\n<path d=\"M442 107h0\"></path>\n<path d=\"M513 107h0\"></path>\n<rect x=\"442\" y=\"96\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"477.5\" y=\"111\">\"FROM\"</text>\n</g>\n<path d=\"M513 107h10\"></path>\n<path d=\"M523 107h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M533 107h0\"></path>\n<path d=\"M604 107h0\"></path>\n<rect x=\"533\" y=\"96\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"568.5\" y=\"111\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M604 107h20\"></path>\n<path d=\"M279.5 107a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M299.5 175h0\"></path>\n<path d=\"M422 175h182\"></path>\n<path d=\"M299.5 175h10\"></path>\n<g>\n<path d=\"M309.5 175h0\"></path>\n<path d=\"M412 175h0\"></path>\n<path d=\"M309.5 175h20\"></path>\n<g class=\"terminal\">\n<path d=\"M329.5 175h0\"></path>\n<path d=\"M375 175h17\"></path>\n<rect x=\"329.5\" y=\"164\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"352.25\" y=\"179\">\"&#42;\"</text>\n</g>\n<path d=\"M392 175h20\"></path>\n<path d=\"M309.5 175a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M329.5 205h0\"></path>\n<path d=\"M392 205h0\"></path>\n<rect x=\"329.5\" y=\"194\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"360.75\" y=\"209\">Field</text>\n</a>\n</g>\n<path d=\"M392 205a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M412 175h10\"></path>\n<path d=\"M309.5 175a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M309.5 224h102.5\"></path>\n</g>\n<path d=\"M412 224a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M604 175a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M624 107h10\"></path>\n<path d=\"M279.5 107a10 10 0 0 0 -10 10v105a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M279.5 232h344.5\"></path>\n</g>\n<path d=\"M624 232a10 10 0 0 0 10 -10v-105a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1421.5 107a10 10 0 0 0 10 -10v-56a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1441.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1451.5 31h0\"></path>\n<path d=\"M1548 31h0\"></path>\n<rect x=\"1451.5\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1499.75\" y=\"35\">\"BETWEEN\"</text>\n</g>\n<path d=\"M1548 31h10\"></path>\n<path d=\"M1558 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1568 31h0\"></path>\n<path d=\"M1698.5 31h0\"></path>\n<rect x=\"1568\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1633.25\" y=\"35\">SimpleSource3</text>\n</a>\n</g>\n<path d=\"M1698.5 31h10\"></path>\n<path d=\"M1708.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1718.5 31h0\"></path>\n<path d=\"M1781 31h0\"></path>\n<rect x=\"1718.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1749.75\" y=\"35\">\"AND\"</text>\n</g>\n<path d=\"M1781 31h10\"></path>\n<path d=\"M1791 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1801 31h0\"></path>\n<path d=\"M1931.5 31h0\"></path>\n<rect x=\"1801\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource3\"><text x=\"1866.25\" y=\"35\">SimpleSource3</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1931.5 31h10\"></path>\n<path d=\"M 1941.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Provide"
+      ],
+      "filename": "provide.ts"
+    },
+    {
+      "name": "Public",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"PUBLIC SECTION\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"256\" height=\"62\" viewBox=\"0 0 256 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M206 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"128\" y=\"35\">\"PUBLIC SECTION\"</text>\n</g>\n<path d=\"M206 31h10\"></path>\n<path d=\"M 216 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/PublicSection"
+      ],
+      "filename": "public.ts"
+    },
+    {
+      "name": "Put",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"PUT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"338\" height=\"62\" viewBox=\"0 0 338 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M288 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M288 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M205.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"174.25\" y=\"35\">\"PUT\"</text>\n</g>\n<path d=\"M205.5 31h10\"></path>\n<path d=\"M215.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M225.5 31h0\"></path>\n<path d=\"M288 31h0\"></path>\n<rect x=\"225.5\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"256.75\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M288 31h10\"></path>\n<path d=\"M 298 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "put.ts"
+    },
+    {
+      "name": "Raise",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"RAISE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"RESUMABLE\"')),Railroad.Terminal('\"EXCEPTION\"')),Railroad.Terminal('\"SHORTDUMP\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TYPE\"'),Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('MessageSource', {href: '#/expression/MessageSource'}),Railroad.Optional(Railroad.NonTerminal('RaiseWith', {href: '#/expression/RaiseWith'}))),Railroad.Sequence(Railroad.Terminal('\"MESSAGE ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"NUMBER\"'),Railroad.Choice(0, Railroad.NonTerminal('MessageNumber', {href: '#/expression/MessageNumber'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Optional(Railroad.NonTerminal('RaiseWith', {href: '#/expression/RaiseWith'}))))),Railroad.Sequence(Railroad.Comment(\"v752\", {}), Railroad.Terminal('\"USING MESSAGE\"')))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'})))),Railroad.Sequence(Railroad.Comment(\"v752\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.NonTerminal('SimpleSource2', {href: '#/expression/SimpleSource2'}))),Railroad.NonTerminal('ExceptionName', {href: '#/expression/ExceptionName'})))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/ExceptionName",
+        "expression/MessageNumber",
+        "expression/MessageSource",
+        "expression/ParameterListS",
+        "expression/RaiseWith",
+        "expression/SimpleSource2",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1902.5\" height=\"268\" viewBox=\"0 0 1902.5 268\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1852.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M129.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"52\">\"RAISE\"</text>\n</g>\n<path d=\"M129.5 48h10\"></path>\n<g>\n<path d=\"M139.5 48h0\"></path>\n<path d=\"M1852.5 48h0\"></path>\n<path d=\"M139.5 48h20\"></path>\n<g>\n<path d=\"M159.5 48h0\"></path>\n<path d=\"M1832.5 48h0\"></path>\n<g>\n<path d=\"M159.5 48h0\"></path>\n<path d=\"M476.5 48h0\"></path>\n<path d=\"M159.5 48h20\"></path>\n<g>\n<path d=\"M179.5 48h0\"></path>\n<path d=\"M456.5 48h0\"></path>\n<g>\n<path d=\"M179.5 48h0\"></path>\n<path d=\"M333 48h0\"></path>\n<path d=\"M179.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M199.5 28h113.5\"></path>\n</g>\n<path d=\"M313 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M179.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M199.5 48h0\"></path>\n<path d=\"M313 48h0\"></path>\n<rect x=\"199.5\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"256.25\" y=\"52\">\"RESUMABLE\"</text>\n</g>\n<path d=\"M313 48h20\"></path>\n</g>\n<path d=\"M333 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M343 48h0\"></path>\n<path d=\"M456.5 48h0\"></path>\n<rect x=\"343\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"399.75\" y=\"52\">\"EXCEPTION\"</text>\n</g>\n</g>\n<path d=\"M456.5 48h20\"></path>\n<path d=\"M159.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 78h0\"></path>\n<path d=\"M293 78h163.5\"></path>\n<rect x=\"179.5\" y=\"67\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"236.25\" y=\"82\">\"SHORTDUMP\"</text>\n</g>\n<path d=\"M456.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M476.5 48h0\"></path>\n<path d=\"M1832.5 48h0\"></path>\n<path d=\"M476.5 48h20\"></path>\n<g>\n<path d=\"M496.5 48h0\"></path>\n<path d=\"M1812.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M496.5 48h0\"></path>\n<path d=\"M567.5 48h0\"></path>\n<rect x=\"496.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532\" y=\"52\">\"TYPE\"</text>\n</g>\n<path d=\"M567.5 48h10\"></path>\n<path d=\"M577.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M587.5 48h0\"></path>\n<path d=\"M684 48h0\"></path>\n<rect x=\"587.5\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"635.75\" y=\"52\">ClassName</text>\n</a>\n</g>\n<path d=\"M684 48h10\"></path>\n<g>\n<path d=\"M694 48h0\"></path>\n<path d=\"M1500 48h0\"></path>\n<path d=\"M694 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M714 20h766\"></path>\n</g>\n<path d=\"M1480 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M694 48h20\"></path>\n<g>\n<path d=\"M714 48h0\"></path>\n<path d=\"M1480 48h0\"></path>\n<path d=\"M714 48h20\"></path>\n<g>\n<path d=\"M734 48h0\"></path>\n<path d=\"M1460 48h0\"></path>\n<g>\n<path d=\"M734 48h0\"></path>\n<path d=\"M772 48h0\"></path>\n<text x=\"753\" y=\"53\" class=\"comment\">v750</text>\n</g>\n<path d=\"M772 48h10\"></path>\n<g>\n<path d=\"M782 48h0\"></path>\n<path d=\"M1460 48h0\"></path>\n<path d=\"M782 48h20\"></path>\n<g>\n<path d=\"M802 48h0\"></path>\n<path d=\"M1195.5 48h244.5\"></path>\n<g class=\"terminal\">\n<path d=\"M802 48h0\"></path>\n<path d=\"M898.5 48h0\"></path>\n<rect x=\"802\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"850.25\" y=\"52\">\"MESSAGE\"</text>\n</g>\n<path d=\"M898.5 48h10\"></path>\n<path d=\"M908.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M918.5 48h0\"></path>\n<path d=\"M1049 48h0\"></path>\n<rect x=\"918.5\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageSource\"><text x=\"983.75\" y=\"52\">MessageSource</text>\n</a>\n</g>\n<path d=\"M1049 48h10\"></path>\n<g>\n<path d=\"M1059 48h0\"></path>\n<path d=\"M1195.5 48h0\"></path>\n<path d=\"M1059 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1079 28h96.5\"></path>\n</g>\n<path d=\"M1175.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1059 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1079 48h0\"></path>\n<path d=\"M1175.5 48h0\"></path>\n<rect x=\"1079\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/RaiseWith\"><text x=\"1127.25\" y=\"52\">RaiseWith</text>\n</a>\n</g>\n<path d=\"M1175.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1440 48h20\"></path>\n<path d=\"M782 48a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M802 87h0\"></path>\n<path d=\"M1440 87h0\"></path>\n<g class=\"terminal\">\n<path d=\"M802 87h0\"></path>\n<path d=\"M924 87h0\"></path>\n<rect x=\"802\" y=\"76\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"863\" y=\"91\">\"MESSAGE ID\"</text>\n</g>\n<path d=\"M924 87h10\"></path>\n<path d=\"M934 87h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M944 87h0\"></path>\n<path d=\"M1015 87h0\"></path>\n<rect x=\"944\" y=\"76\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"979.5\" y=\"91\">Source</text>\n</a>\n</g>\n<path d=\"M1015 87h10\"></path>\n<path d=\"M1025 87h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1035 87h0\"></path>\n<path d=\"M1123 87h0\"></path>\n<rect x=\"1035\" y=\"76\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1079\" y=\"91\">\"NUMBER\"</text>\n</g>\n<path d=\"M1123 87h10\"></path>\n<g>\n<path d=\"M1133 87h0\"></path>\n<path d=\"M1303.5 87h0\"></path>\n<path d=\"M1133 87h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1153 87h0\"></path>\n<path d=\"M1283.5 87h0\"></path>\n<rect x=\"1153\" y=\"76\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageNumber\"><text x=\"1218.25\" y=\"91\">MessageNumber</text>\n</a>\n</g>\n<path d=\"M1283.5 87h20\"></path>\n<path d=\"M1133 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1153 117h0\"></path>\n<path d=\"M1224 117h59.5\"></path>\n<rect x=\"1153\" y=\"106\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1188.5\" y=\"121\">Source</text>\n</a>\n</g>\n<path d=\"M1283.5 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1303.5 87h0\"></path>\n<path d=\"M1440 87h0\"></path>\n<path d=\"M1303.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1323.5 67h96.5\"></path>\n</g>\n<path d=\"M1420 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1303.5 87h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1323.5 87h0\"></path>\n<path d=\"M1420 87h0\"></path>\n<rect x=\"1323.5\" y=\"76\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/RaiseWith\"><text x=\"1371.75\" y=\"91\">RaiseWith</text>\n</a>\n</g>\n<path d=\"M1420 87h20\"></path>\n</g>\n</g>\n<path d=\"M1440 87a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1460 48h20\"></path>\n<path d=\"M714 48a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M734 147h0\"></path>\n<path d=\"M939.5 147h520.5\"></path>\n<g>\n<path d=\"M734 147h0\"></path>\n<path d=\"M772 147h0\"></path>\n<text x=\"753\" y=\"152\" class=\"comment\">v752</text>\n</g>\n<path d=\"M772 147h10\"></path>\n<path d=\"M782 147h10\"></path>\n<g class=\"terminal\">\n<path d=\"M792 147h0\"></path>\n<path d=\"M939.5 147h0\"></path>\n<rect x=\"792\" y=\"136\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"865.75\" y=\"151\">\"USING MESSAGE\"</text>\n</g>\n</g>\n<path d=\"M1460 147a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1480 48h20\"></path>\n</g>\n<g>\n<path d=\"M1500 48h0\"></path>\n<path d=\"M1812.5 48h0\"></path>\n<path d=\"M1500 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1520 28h272.5\"></path>\n</g>\n<path d=\"M1792.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1500 48h20\"></path>\n<g>\n<path d=\"M1520 48h0\"></path>\n<path d=\"M1792.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1520 48h0\"></path>\n<path d=\"M1633.5 48h0\"></path>\n<rect x=\"1520\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1576.75\" y=\"52\">\"EXPORTING\"</text>\n</g>\n<path d=\"M1633.5 48h10\"></path>\n<path d=\"M1643.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1653.5 48h0\"></path>\n<path d=\"M1792.5 48h0\"></path>\n<rect x=\"1653.5\" y=\"37\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"1723\" y=\"52\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M1792.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1812.5 48h20\"></path>\n<path d=\"M476.5 48a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M496.5 177h0\"></path>\n<path d=\"M625.5 177h1187\"></path>\n<g>\n<path d=\"M496.5 177h0\"></path>\n<path d=\"M534.5 177h0\"></path>\n<text x=\"515.5\" y=\"182\" class=\"comment\">v752</text>\n</g>\n<path d=\"M534.5 177h10\"></path>\n<path d=\"M544.5 177h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M554.5 177h0\"></path>\n<path d=\"M625.5 177h0\"></path>\n<rect x=\"554.5\" y=\"166\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"590\" y=\"181\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1812.5 177a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M476.5 48a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M496.5 207h0\"></path>\n<path d=\"M627 207h1185.5\"></path>\n<rect x=\"496.5\" y=\"196\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource2\"><text x=\"561.75\" y=\"211\">SimpleSource2</text>\n</a>\n</g>\n<path d=\"M1812.5 207a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1832.5 48h20\"></path>\n<path d=\"M139.5 48a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 237h0\"></path>\n<path d=\"M290 237h1542.5\"></path>\n<rect x=\"159.5\" y=\"226\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ExceptionName\"><text x=\"224.75\" y=\"241\">ExceptionName</text>\n</a>\n</g>\n<path d=\"M1832.5 237a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1852.5 48h10\"></path>\n<path d=\"M 1862.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "raise.ts"
+    },
+    {
+      "name": "RaiseEntityEvent",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"RAISE ENTITY EVENT\"'),Railroad.NonTerminal('EventName', {href: '#/expression/EventName'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))).toString();",
+      "using": [
+        "expression/EventName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"588.5\" height=\"62\" viewBox=\"0 0 588.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M538.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M240 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"145\" y=\"35\">\"RAISE ENTITY EVENT\"</text>\n</g>\n<path d=\"M240 31h10\"></path>\n<path d=\"M250 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260 31h0\"></path>\n<path d=\"M356.5 31h0\"></path>\n<rect x=\"260\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventName\"><text x=\"308.25\" y=\"35\">EventName</text>\n</a>\n</g>\n<path d=\"M356.5 31h10\"></path>\n<path d=\"M366.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M376.5 31h0\"></path>\n<path d=\"M447.5 31h0\"></path>\n<rect x=\"376.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"412\" y=\"35\">\"FROM\"</text>\n</g>\n<path d=\"M447.5 31h10\"></path>\n<path d=\"M457.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M467.5 31h0\"></path>\n<path d=\"M538.5 31h0\"></path>\n<rect x=\"467.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"503\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M538.5 31h10\"></path>\n<path d=\"M 548.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "raise_entity_event.ts"
+    },
+    {
+      "name": "RaiseEvent",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"RAISE EVENT\"'),Railroad.NonTerminal('EventName', {href: '#/expression/EventName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"EXPORTING\"'),Railroad.NonTerminal('ParameterListS', {href: '#/expression/ParameterListS'}))))).toString();",
+      "using": [
+        "expression/EventName",
+        "expression/ParameterListS"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"669.5\" height=\"71\" viewBox=\"0 0 669.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M619.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"RAISE EVENT\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<path d=\"M190.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M200.5 40h0\"></path>\n<path d=\"M297 40h0\"></path>\n<rect x=\"200.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/EventName\"><text x=\"248.75\" y=\"44\">EventName</text>\n</a>\n</g>\n<path d=\"M297 40h10\"></path>\n<g>\n<path d=\"M307 40h0\"></path>\n<path d=\"M619.5 40h0\"></path>\n<path d=\"M307 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M327 20h272.5\"></path>\n</g>\n<path d=\"M599.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M307 40h20\"></path>\n<g>\n<path d=\"M327 40h0\"></path>\n<path d=\"M599.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M327 40h0\"></path>\n<path d=\"M440.5 40h0\"></path>\n<rect x=\"327\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"383.75\" y=\"44\">\"EXPORTING\"</text>\n</g>\n<path d=\"M440.5 40h10\"></path>\n<path d=\"M450.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460.5 40h0\"></path>\n<path d=\"M599.5 40h0\"></path>\n<rect x=\"460.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ParameterListS\"><text x=\"530\" y=\"44\">ParameterListS</text>\n</a>\n</g>\n</g>\n<path d=\"M599.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M619.5 40h10\"></path>\n<path d=\"M 629.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "raise_event.ts"
+    },
+    {
+      "name": "Ranges",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"RANGES\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('SimpleFieldChain2', {href: '#/expression/SimpleFieldChain2'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/SimpleFieldChain2",
+        "expression/SimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"902\" height=\"71\" viewBox=\"0 0 902 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M852 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M852 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"RANGES\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<path d=\"M241 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 40h0\"></path>\n<path d=\"M356 40h0\"></path>\n<rect x=\"251\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"303.5\" y=\"44\">SimpleName</text>\n</a>\n</g>\n<path d=\"M356 40h10\"></path>\n<path d=\"M366 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M376 40h0\"></path>\n<path d=\"M438.5 40h0\"></path>\n<rect x=\"376\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.25\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M438.5 40h10\"></path>\n<path d=\"M448.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M458.5 40h0\"></path>\n<path d=\"M623 40h0\"></path>\n<rect x=\"458.5\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleFieldChain2\"><text x=\"540.75\" y=\"44\">SimpleFieldChain2</text>\n</a>\n</g>\n<path d=\"M623 40h10\"></path>\n<g>\n<path d=\"M633 40h0\"></path>\n<path d=\"M852 40h0\"></path>\n<path d=\"M633 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M653 20h179\"></path>\n</g>\n<path d=\"M832 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M633 40h20\"></path>\n<g>\n<path d=\"M653 40h0\"></path>\n<path d=\"M832 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M653 40h0\"></path>\n<path d=\"M741 40h0\"></path>\n<rect x=\"653\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"697\" y=\"44\">\"OCCURS\"</text>\n</g>\n<path d=\"M741 40h10\"></path>\n<path d=\"M751 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M761 40h0\"></path>\n<path d=\"M832 40h0\"></path>\n<rect x=\"761\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"796.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M832 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M852 40h10\"></path>\n<path d=\"M 862 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal"
+      ],
+      "filename": "ranges.ts"
+    },
+    {
+      "name": "ReadDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"READ DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MAXIMUM LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ACTUAL LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1399.5\" height=\"71\" viewBox=\"0 0 1399.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1349.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1349.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M282 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"44\">\"READ DATASET\"</text>\n</g>\n<path d=\"M282 40h10\"></path>\n<path d=\"M292 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 40h0\"></path>\n<path d=\"M373 40h0\"></path>\n<rect x=\"302\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"337.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M373 40h10\"></path>\n<path d=\"M383 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M393 40h0\"></path>\n<path d=\"M464 40h0\"></path>\n<rect x=\"393\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M464 40h10\"></path>\n<path d=\"M474 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M484 40h0\"></path>\n<path d=\"M555 40h0\"></path>\n<rect x=\"484\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"519.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M555 40h10\"></path>\n<g>\n<path d=\"M565 40h0\"></path>\n<path d=\"M852 40h0\"></path>\n<path d=\"M565 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M585 20h247\"></path>\n</g>\n<path d=\"M832 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M565 40h20\"></path>\n<g>\n<path d=\"M585 40h0\"></path>\n<path d=\"M832 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M585 40h0\"></path>\n<path d=\"M741 40h0\"></path>\n<rect x=\"585\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"663\" y=\"44\">\"MAXIMUM LENGTH\"</text>\n</g>\n<path d=\"M741 40h10\"></path>\n<path d=\"M751 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M761 40h0\"></path>\n<path d=\"M832 40h0\"></path>\n<rect x=\"761\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"796.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M832 40h20\"></path>\n</g>\n<g>\n<path d=\"M852 40h0\"></path>\n<path d=\"M1130.5 40h0\"></path>\n<path d=\"M852 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M872 20h238.5\"></path>\n</g>\n<path d=\"M1110.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M852 40h20\"></path>\n<g>\n<path d=\"M872 40h0\"></path>\n<path d=\"M1110.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M872 40h0\"></path>\n<path d=\"M1019.5 40h0\"></path>\n<rect x=\"872\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"945.75\" y=\"44\">\"ACTUAL LENGTH\"</text>\n</g>\n<path d=\"M1019.5 40h10\"></path>\n<path d=\"M1029.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1039.5 40h0\"></path>\n<path d=\"M1110.5 40h0\"></path>\n<rect x=\"1039.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1075\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1110.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1130.5 40h0\"></path>\n<path d=\"M1349.5 40h0\"></path>\n<path d=\"M1130.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1150.5 20h179\"></path>\n</g>\n<path d=\"M1329.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1130.5 40h20\"></path>\n<g>\n<path d=\"M1150.5 40h0\"></path>\n<path d=\"M1329.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1150.5 40h0\"></path>\n<path d=\"M1238.5 40h0\"></path>\n<rect x=\"1150.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1194.5\" y=\"44\">\"LENGTH\"</text>\n</g>\n<path d=\"M1238.5 40h10\"></path>\n<path d=\"M1248.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1258.5 40h0\"></path>\n<path d=\"M1329.5 40h0\"></path>\n<rect x=\"1258.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1294\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1329.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1349.5 40h10\"></path>\n<path d=\"M 1359.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_dataset.ts"
+    },
+    {
+      "name": "ReadEntities",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"READ ENTITIES OF\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Terminal('\"IN LOCAL MODE\"')),Railroad.Terminal('\"ENTITY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BY\"'),Railroad.NonTerminal('AssociationName', {href: '#/expression/AssociationName'}))),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"FIELDS\"'),Railroad.Terminal('!\" ( \"'),Railroad.OneOrMore(Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'})),Railroad.Terminal('!\" ) \"'),Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ALL FIELDS WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"RESULT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LINK\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FAILED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"REPORTED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/AssociationName",
+        "expression/NamespaceSimpleName",
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2717.5\" height=\"140\" viewBox=\"0 0 2717.5 140\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2667.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M2667.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M281 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"194.5\" y=\"44\">\"READ ENTITIES OF\"</text>\n</g>\n<path d=\"M281 40h10\"></path>\n<path d=\"M291 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M301 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<rect x=\"301\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"391.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M482.5 40h10\"></path>\n<g>\n<path d=\"M492.5 40h0\"></path>\n<path d=\"M680 40h0\"></path>\n<path d=\"M492.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M512.5 20h147.5\"></path>\n</g>\n<path d=\"M660 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M492.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M512.5 40h0\"></path>\n<path d=\"M660 40h0\"></path>\n<rect x=\"512.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"586.25\" y=\"44\">\"IN LOCAL MODE\"</text>\n</g>\n<path d=\"M660 40h20\"></path>\n</g>\n<path d=\"M680 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M690 40h0\"></path>\n<path d=\"M778 40h0\"></path>\n<rect x=\"690\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"734\" y=\"44\">\"ENTITY\"</text>\n</g>\n<path d=\"M778 40h10\"></path>\n<path d=\"M788 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M798 40h0\"></path>\n<path d=\"M903 40h0\"></path>\n<rect x=\"798\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"850.5\" y=\"44\">SimpleName</text>\n</a>\n</g>\n<path d=\"M903 40h10\"></path>\n<g>\n<path d=\"M913 40h0\"></path>\n<path d=\"M1174.5 40h0\"></path>\n<path d=\"M913 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M933 20h221.5\"></path>\n</g>\n<path d=\"M1154.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M913 40h20\"></path>\n<g>\n<path d=\"M933 40h0\"></path>\n<path d=\"M1154.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M933 40h0\"></path>\n<path d=\"M987 40h0\"></path>\n<rect x=\"933\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"960\" y=\"44\">\"BY\"</text>\n</g>\n<path d=\"M987 40h10\"></path>\n<path d=\"M997 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1007 40h0\"></path>\n<path d=\"M1154.5 40h0\"></path>\n<rect x=\"1007\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AssociationName\"><text x=\"1080.75\" y=\"44\">AssociationName</text>\n</a>\n</g>\n</g>\n<path d=\"M1154.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1174.5 40h0\"></path>\n<path d=\"M1811.5 40h0\"></path>\n<path d=\"M1174.5 40h20\"></path>\n<g>\n<path d=\"M1194.5 40h0\"></path>\n<path d=\"M1791.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1194.5 40h0\"></path>\n<path d=\"M1282.5 40h0\"></path>\n<rect x=\"1194.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1238.5\" y=\"44\">\"FIELDS\"</text>\n</g>\n<path d=\"M1282.5 40h10\"></path>\n<path d=\"M1292.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1302.5 40h0\"></path>\n<path d=\"M1373.5 40h0\"></path>\n<rect x=\"1302.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1338\" y=\"44\">!\" ( \"</text>\n</g>\n<path d=\"M1373.5 40h10\"></path>\n<path d=\"M1383.5 40h10\"></path>\n<g>\n<path d=\"M1393.5 40h0\"></path>\n<path d=\"M1518.5 40h0\"></path>\n<path d=\"M1393.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1403.5 40h0\"></path>\n<path d=\"M1508.5 40h0\"></path>\n<rect x=\"1403.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"1456\" y=\"44\">SimpleName</text>\n</a>\n</g>\n<path d=\"M1508.5 40h10\"></path>\n<path d=\"M1403.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1403.5 60h105\"></path>\n</g>\n<path d=\"M1508.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1518.5 40h10\"></path>\n<path d=\"M1528.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1538.5 40h0\"></path>\n<path d=\"M1609.5 40h0\"></path>\n<rect x=\"1538.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1574\" y=\"44\">!\" ) \"</text>\n</g>\n<path d=\"M1609.5 40h10\"></path>\n<path d=\"M1619.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1629.5 40h0\"></path>\n<path d=\"M1700.5 40h0\"></path>\n<rect x=\"1629.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1665\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M1700.5 40h10\"></path>\n<path d=\"M1710.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1720.5 40h0\"></path>\n<path d=\"M1791.5 40h0\"></path>\n<rect x=\"1720.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1756\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1791.5 40h20\"></path>\n<path d=\"M1174.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1194.5 79h0\"></path>\n<path d=\"M1356.5 79h435\"></path>\n<g class=\"terminal\">\n<path d=\"M1194.5 79h0\"></path>\n<path d=\"M1265.5 79h0\"></path>\n<rect x=\"1194.5\" y=\"68\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1230\" y=\"83\">\"FROM\"</text>\n</g>\n<path d=\"M1265.5 79h10\"></path>\n<path d=\"M1275.5 79h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1285.5 79h0\"></path>\n<path d=\"M1356.5 79h0\"></path>\n<rect x=\"1285.5\" y=\"68\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1321\" y=\"83\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1791.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1174.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1194.5 109h0\"></path>\n<path d=\"M1450 109h341.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1194.5 109h0\"></path>\n<path d=\"M1359 109h0\"></path>\n<rect x=\"1194.5\" y=\"98\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1276.75\" y=\"113\">\"ALL FIELDS WITH\"</text>\n</g>\n<path d=\"M1359 109h10\"></path>\n<path d=\"M1369 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1379 109h0\"></path>\n<path d=\"M1450 109h0\"></path>\n<rect x=\"1379\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1414.5\" y=\"113\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1791.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1811.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1821.5 40h0\"></path>\n<path d=\"M1909.5 40h0\"></path>\n<rect x=\"1821.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1865.5\" y=\"44\">\"RESULT\"</text>\n</g>\n<path d=\"M1909.5 40h10\"></path>\n<path d=\"M1919.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1929.5 40h0\"></path>\n<path d=\"M2000.5 40h0\"></path>\n<rect x=\"1929.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1965\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M2000.5 40h10\"></path>\n<g>\n<path d=\"M2010.5 40h0\"></path>\n<path d=\"M2212.5 40h0\"></path>\n<path d=\"M2010.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2030.5 20h162\"></path>\n</g>\n<path d=\"M2192.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2010.5 40h20\"></path>\n<g>\n<path d=\"M2030.5 40h0\"></path>\n<path d=\"M2192.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2030.5 40h0\"></path>\n<path d=\"M2101.5 40h0\"></path>\n<rect x=\"2030.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2066\" y=\"44\">\"LINK\"</text>\n</g>\n<path d=\"M2101.5 40h10\"></path>\n<path d=\"M2111.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2121.5 40h0\"></path>\n<path d=\"M2192.5 40h0\"></path>\n<rect x=\"2121.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"2157\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M2192.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M2212.5 40h0\"></path>\n<path d=\"M2431.5 40h0\"></path>\n<path d=\"M2212.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2232.5 20h179\"></path>\n</g>\n<path d=\"M2411.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2212.5 40h20\"></path>\n<g>\n<path d=\"M2232.5 40h0\"></path>\n<path d=\"M2411.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2232.5 40h0\"></path>\n<path d=\"M2320.5 40h0\"></path>\n<rect x=\"2232.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2276.5\" y=\"44\">\"FAILED\"</text>\n</g>\n<path d=\"M2320.5 40h10\"></path>\n<path d=\"M2330.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2340.5 40h0\"></path>\n<path d=\"M2411.5 40h0\"></path>\n<rect x=\"2340.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"2376\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M2411.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M2431.5 40h0\"></path>\n<path d=\"M2667.5 40h0\"></path>\n<path d=\"M2431.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2451.5 20h196\"></path>\n</g>\n<path d=\"M2647.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2431.5 40h20\"></path>\n<g>\n<path d=\"M2451.5 40h0\"></path>\n<path d=\"M2647.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2451.5 40h0\"></path>\n<path d=\"M2556.5 40h0\"></path>\n<rect x=\"2451.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2504\" y=\"44\">\"REPORTED\"</text>\n</g>\n<path d=\"M2556.5 40h10\"></path>\n<path d=\"M2566.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2576.5 40h0\"></path>\n<path d=\"M2647.5 40h0\"></path>\n<rect x=\"2576.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"2612\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M2647.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2667.5 40h10\"></path>\n<path d=\"M 2677.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_entities.ts"
+    },
+    {
+      "name": "ReadLine",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"READ\"'),Railroad.Choice(0, Railroad.Terminal('\"CURRENT LINE\"'),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"LINE VALUE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FIELD VALUE\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))),Railroad.Sequence(Railroad.Terminal('\"OF PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"OF CURRENT PAGE\"')))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1039.5\" height=\"209\" viewBox=\"0 0 1039.5 209\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M989.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M989.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M214 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"44\">\"READ\"</text>\n</g>\n<path d=\"M214 40h10\"></path>\n<g>\n<path d=\"M224 40h0\"></path>\n<path d=\"M426 40h0\"></path>\n<path d=\"M224 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M244 40h0\"></path>\n<path d=\"M383 40h23\"></path>\n<rect x=\"244\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"313.5\" y=\"44\">\"CURRENT LINE\"</text>\n</g>\n<path d=\"M406 40h20\"></path>\n<path d=\"M224 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M244 70h0\"></path>\n<path d=\"M406 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M244 70h0\"></path>\n<path d=\"M315 70h0\"></path>\n<rect x=\"244\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"279.5\" y=\"74\">\"LINE\"</text>\n</g>\n<path d=\"M315 70h10\"></path>\n<path d=\"M325 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M335 70h0\"></path>\n<path d=\"M406 70h0\"></path>\n<rect x=\"335\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"370.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M406 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M426 40h0\"></path>\n<path d=\"M989.5 40h0\"></path>\n<path d=\"M426 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M446 20h523.5\"></path>\n</g>\n<path d=\"M969.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M426 40h20\"></path>\n<g>\n<path d=\"M446 40h0\"></path>\n<path d=\"M969.5 40h0\"></path>\n<path d=\"M476 40h10\"></path>\n<g>\n<path d=\"M486 40h0\"></path>\n<path d=\"M741.5 40h198\"></path>\n<g class=\"terminal\">\n<path d=\"M486 40h0\"></path>\n<path d=\"M650.5 40h0\"></path>\n<rect x=\"486\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.25\" y=\"44\">\"LINE VALUE INTO\"</text>\n</g>\n<path d=\"M650.5 40h10\"></path>\n<path d=\"M660.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M670.5 40h0\"></path>\n<path d=\"M741.5 40h0\"></path>\n<rect x=\"670.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"706\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M939.5 40h10\"></path>\n<path d=\"M476 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M486 70h0\"></path>\n<path d=\"M656.5 70h283\"></path>\n<g class=\"terminal\">\n<path d=\"M486 70h0\"></path>\n<path d=\"M565.5 70h0\"></path>\n<rect x=\"486\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"525.75\" y=\"74\">\"INDEX\"</text>\n</g>\n<path d=\"M565.5 70h10\"></path>\n<path d=\"M575.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M585.5 70h0\"></path>\n<path d=\"M656.5 70h0\"></path>\n<rect x=\"585.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"621\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M939.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M476 40v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M486 109h0\"></path>\n<path d=\"M939.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M486 109h0\"></path>\n<path d=\"M616.5 109h0\"></path>\n<rect x=\"486\" y=\"98\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"551.25\" y=\"113\">\"FIELD VALUE\"</text>\n</g>\n<path d=\"M616.5 109h10\"></path>\n<path d=\"M626.5 109h10\"></path>\n<g>\n<path d=\"M636.5 109h0\"></path>\n<path d=\"M939.5 109h0\"></path>\n<path d=\"M636.5 109h10\"></path>\n<g>\n<path d=\"M646.5 109h0\"></path>\n<path d=\"M929.5 109h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M646.5 109h0\"></path>\n<path d=\"M717.5 109h0\"></path>\n<rect x=\"646.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"682\" y=\"113\">Target</text>\n</a>\n</g>\n<path d=\"M717.5 109h10\"></path>\n<g>\n<path d=\"M727.5 109h0\"></path>\n<path d=\"M929.5 109h0\"></path>\n<path d=\"M727.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M747.5 89h162\"></path>\n</g>\n<path d=\"M909.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M727.5 109h20\"></path>\n<g>\n<path d=\"M747.5 109h0\"></path>\n<path d=\"M909.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M747.5 109h0\"></path>\n<path d=\"M818.5 109h0\"></path>\n<rect x=\"747.5\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"783\" y=\"113\">\"INTO\"</text>\n</g>\n<path d=\"M818.5 109h10\"></path>\n<path d=\"M828.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M838.5 109h0\"></path>\n<path d=\"M909.5 109h0\"></path>\n<rect x=\"838.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"874\" y=\"113\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M909.5 109h20\"></path>\n</g>\n</g>\n<path d=\"M929.5 109h10\"></path>\n<path d=\"M646.5 109a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M646.5 129h283\"></path>\n</g>\n<path d=\"M929.5 129a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M939.5 109a10 10 0 0 0 10 -10v-59\"></path>\n<path d=\"M476 40v98a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M486 148h0\"></path>\n<path d=\"M673.5 148h266\"></path>\n<g class=\"terminal\">\n<path d=\"M486 148h0\"></path>\n<path d=\"M582.5 148h0\"></path>\n<rect x=\"486\" y=\"137\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"534.25\" y=\"152\">\"OF PAGE\"</text>\n</g>\n<path d=\"M582.5 148h10\"></path>\n<path d=\"M592.5 148h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M602.5 148h0\"></path>\n<path d=\"M673.5 148h0\"></path>\n<rect x=\"602.5\" y=\"137\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"638\" y=\"152\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M939.5 148a10 10 0 0 0 10 -10v-98\"></path>\n<path d=\"M476 40v128a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M486 178h0\"></path>\n<path d=\"M650.5 178h289\"></path>\n<rect x=\"486\" y=\"167\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568.25\" y=\"182\">\"OF CURRENT PAGE\"</text>\n</g>\n<path d=\"M939.5 178a10 10 0 0 0 10 -10v-128\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 476 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"461\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 949.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 956.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M969.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M989.5 40h10\"></path>\n<path d=\"M 999.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_line.ts"
+    },
+    {
+      "name": "ReadReport",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"READ REPORT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MAXIMUM WIDTH INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"785.5\" height=\"122\" viewBox=\"0 0 785.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M735.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M735.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"READ REPORT\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<rect x=\"293.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M364.5 31h10\"></path>\n<path d=\"M374.5 31h10\"></path>\n<g>\n<path d=\"M384.5 31h0\"></path>\n<path d=\"M735.5 31h0\"></path>\n<path d=\"M414.5 31h10\"></path>\n<g>\n<path d=\"M424.5 31h0\"></path>\n<path d=\"M595 31h110.5\"></path>\n<g class=\"terminal\">\n<path d=\"M424.5 31h0\"></path>\n<path d=\"M504 31h0\"></path>\n<rect x=\"424.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464.25\" y=\"35\">\"STATE\"</text>\n</g>\n<path d=\"M504 31h10\"></path>\n<path d=\"M514 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M524 31h0\"></path>\n<path d=\"M595 31h0\"></path>\n<rect x=\"524\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"559.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M705.5 31h10\"></path>\n<path d=\"M414.5 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M424.5 61h0\"></path>\n<path d=\"M586.5 61h119\"></path>\n<g class=\"terminal\">\n<path d=\"M424.5 61h0\"></path>\n<path d=\"M495.5 61h0\"></path>\n<rect x=\"424.5\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"460\" y=\"65\">\"INTO\"</text>\n</g>\n<path d=\"M495.5 61h10\"></path>\n<path d=\"M505.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M515.5 61h0\"></path>\n<path d=\"M586.5 61h0\"></path>\n<rect x=\"515.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"551\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M705.5 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M414.5 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M424.5 91h0\"></path>\n<path d=\"M705.5 91h0\"></path>\n<g class=\"terminal\">\n<path d=\"M424.5 91h0\"></path>\n<path d=\"M614.5 91h0\"></path>\n<rect x=\"424.5\" y=\"80\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"519.5\" y=\"95\">\"MAXIMUM WIDTH INTO\"</text>\n</g>\n<path d=\"M614.5 91h10\"></path>\n<path d=\"M624.5 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634.5 91h0\"></path>\n<path d=\"M705.5 91h0\"></path>\n<rect x=\"634.5\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"670\" y=\"95\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M705.5 91a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 414.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"399.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 715.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 722.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M735.5 31h10\"></path>\n<path d=\"M 745.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_report.ts"
+    },
+    {
+      "name": "ReadTable",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"READ TABLE\"'),Railroad.Choice(0, Railroad.NonTerminal('SimpleSource2', {href: '#/expression/SimpleSource2'}),Railroad.Sequence(Railroad.Comment(\"v740sp02\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"WITH KEY\"'),Railroad.Terminal('\"WITH TABLE KEY\"')),Railroad.Choice(0, Railroad.NonTerminal('ComponentCompareSimple', {href: '#/expression/ComponentCompareSimple'}),Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Terminal('\"COMPONENTS\"'),Railroad.NonTerminal('ComponentCompareSimple', {href: '#/expression/ComponentCompareSimple'})),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"=\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.NonTerminal('ReadTableTarget', {href: '#/expression/ReadTableTarget'}),Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Sequence(Railroad.Terminal('\"COMPARING\"'),Railroad.Choice(0, Railroad.OneOrMore(Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}))),Railroad.Terminal('\"CASTING\"'),Railroad.Terminal('\"TRANSPORTING ALL FIELDS\"'),Railroad.Sequence(Railroad.Terminal('\"TRANSPORTING\"'),Railroad.NonTerminal('TransportingFields', {href: '#/expression/TransportingFields'})),Railroad.Terminal('\"BINARY SEARCH\"'))))).toString();",
+      "using": [
+        "expression/ComponentCompareSimple",
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/FieldSub",
+        "expression/ReadTableTarget",
+        "expression/SimpleSource2",
+        "expression/Source",
+        "expression/TransportingFields"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1293.5\" height=\"509\" viewBox=\"0 0 1293.5 509\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1243.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"111\" y=\"44\">\"READ TABLE\"</text>\n</g>\n<path d=\"M172 40h10\"></path>\n<g>\n<path d=\"M182 40h0\"></path>\n<path d=\"M379 40h0\"></path>\n<path d=\"M182 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M202 40h0\"></path>\n<path d=\"M332.5 40h26.5\"></path>\n<rect x=\"202\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource2\"><text x=\"267.25\" y=\"44\">SimpleSource2</text>\n</a>\n</g>\n<path d=\"M359 40h20\"></path>\n<path d=\"M182 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M202 70h0\"></path>\n<path d=\"M359 70h0\"></path>\n<g>\n<path d=\"M202 70h0\"></path>\n<path d=\"M268 70h0\"></path>\n<text x=\"235\" y=\"75\" class=\"comment\">v740sp02</text>\n</g>\n<path d=\"M268 70h10\"></path>\n<path d=\"M278 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M288 70h0\"></path>\n<path d=\"M359 70h0\"></path>\n<rect x=\"288\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"323.5\" y=\"74\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M359 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M379 40h0\"></path>\n<path d=\"M1243.5 40h0\"></path>\n<path d=\"M379 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M399 20h824.5\"></path>\n</g>\n<path d=\"M1223.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M379 40h20\"></path>\n<g>\n<path d=\"M399 40h0\"></path>\n<path d=\"M1223.5 40h0\"></path>\n<path d=\"M429 40h10\"></path>\n<g>\n<path d=\"M439 40h0\"></path>\n<path d=\"M1193.5 40h0\"></path>\n<path d=\"M439 40h20\"></path>\n<g>\n<path d=\"M459 40h0\"></path>\n<path d=\"M629.5 40h544\"></path>\n<g class=\"terminal\">\n<path d=\"M459 40h0\"></path>\n<path d=\"M538.5 40h0\"></path>\n<rect x=\"459\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.75\" y=\"44\">\"INDEX\"</text>\n</g>\n<path d=\"M538.5 40h10\"></path>\n<path d=\"M548.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M558.5 40h0\"></path>\n<path d=\"M629.5 40h0\"></path>\n<rect x=\"558.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"594\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1173.5 40h20\"></path>\n<path d=\"M439 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M459 70h0\"></path>\n<path d=\"M1173.5 70h0\"></path>\n<g>\n<path d=\"M459 70h0\"></path>\n<path d=\"M655 70h0\"></path>\n<path d=\"M459 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M479 70h0\"></path>\n<path d=\"M584 70h51\"></path>\n<rect x=\"479\" y=\"59\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"531.5\" y=\"74\">\"WITH KEY\"</text>\n</g>\n<path d=\"M635 70h20\"></path>\n<path d=\"M459 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M479 100h0\"></path>\n<path d=\"M635 100h0\"></path>\n<rect x=\"479\" y=\"89\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557\" y=\"104\">\"WITH TABLE KEY\"</text>\n</g>\n<path d=\"M635 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M655 70h0\"></path>\n<path d=\"M1173.5 70h0\"></path>\n<path d=\"M655 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M675 70h0\"></path>\n<path d=\"M882 70h271.5\"></path>\n<rect x=\"675\" y=\"59\" width=\"207\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompareSimple\"><text x=\"778.5\" y=\"74\">ComponentCompareSimple</text>\n</a>\n</g>\n<path d=\"M1153.5 70h20\"></path>\n<path d=\"M655 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M675 100h0\"></path>\n<path d=\"M1153.5 100h0\"></path>\n<g>\n<path d=\"M675 100h0\"></path>\n<path d=\"M794.5 100h0\"></path>\n<path d=\"M675 100h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M695 100h0\"></path>\n<path d=\"M757.5 100h17\"></path>\n<rect x=\"695\" y=\"89\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"726.25\" y=\"104\">Field</text>\n</a>\n</g>\n<path d=\"M774.5 100h20\"></path>\n<path d=\"M675 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M695 130h0\"></path>\n<path d=\"M774.5 130h0\"></path>\n<rect x=\"695\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"734.75\" y=\"134\">Dynamic</text>\n</a>\n</g>\n<path d=\"M774.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M794.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M804.5 100h0\"></path>\n<path d=\"M926.5 100h0\"></path>\n<rect x=\"804.5\" y=\"89\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"865.5\" y=\"104\">\"COMPONENTS\"</text>\n</g>\n<path d=\"M926.5 100h10\"></path>\n<path d=\"M936.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M946.5 100h0\"></path>\n<path d=\"M1153.5 100h0\"></path>\n<rect x=\"946.5\" y=\"89\" width=\"207\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentCompareSimple\"><text x=\"1050\" y=\"104\">ComponentCompareSimple</text>\n</a>\n</g>\n</g>\n<path d=\"M1153.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M655 70a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M675 169h0\"></path>\n<path d=\"M841.5 169h312\"></path>\n<g>\n<path d=\"M675 169h0\"></path>\n<path d=\"M760.5 169h0\"></path>\n<path d=\"M675 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M695 149h45.5\"></path>\n</g>\n<path d=\"M740.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M675 169h20\"></path>\n<g class=\"terminal\">\n<path d=\"M695 169h0\"></path>\n<path d=\"M740.5 169h0\"></path>\n<rect x=\"695\" y=\"158\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"717.75\" y=\"173\">\"=\"</text>\n</g>\n<path d=\"M740.5 169h20\"></path>\n</g>\n<path d=\"M760.5 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M770.5 169h0\"></path>\n<path d=\"M841.5 169h0\"></path>\n<rect x=\"770.5\" y=\"158\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"806\" y=\"173\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1153.5 169a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1173.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M439 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M459 199h0\"></path>\n<path d=\"M621 199h552.5\"></path>\n<g class=\"terminal\">\n<path d=\"M459 199h0\"></path>\n<path d=\"M530 199h0\"></path>\n<rect x=\"459\" y=\"188\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494.5\" y=\"203\">\"FROM\"</text>\n</g>\n<path d=\"M530 199h10\"></path>\n<path d=\"M540 199h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M550 199h0\"></path>\n<path d=\"M621 199h0\"></path>\n<rect x=\"550\" y=\"188\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"585.5\" y=\"203\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1173.5 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1193.5 40h10\"></path>\n<path d=\"M429 40v179a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M439 229h0\"></path>\n<path d=\"M586.5 229h607\"></path>\n<rect x=\"439\" y=\"218\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReadTableTarget\"><text x=\"512.75\" y=\"233\">ReadTableTarget</text>\n</a>\n</g>\n<path d=\"M1193.5 229a10 10 0 0 0 10 -10v-179\"></path>\n<path d=\"M429 40v209a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M439 259h0\"></path>\n<path d=\"M682 259h511.5\"></path>\n<g class=\"terminal\">\n<path d=\"M439 259h0\"></path>\n<path d=\"M552.5 259h0\"></path>\n<rect x=\"439\" y=\"248\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495.75\" y=\"263\">\"USING KEY\"</text>\n</g>\n<path d=\"M552.5 259h10\"></path>\n<g>\n<path d=\"M562.5 259h0\"></path>\n<path d=\"M682 259h0\"></path>\n<path d=\"M562.5 259h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M582.5 259h0\"></path>\n<path d=\"M645 259h17\"></path>\n<rect x=\"582.5\" y=\"248\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"613.75\" y=\"263\">Field</text>\n</a>\n</g>\n<path d=\"M662 259h20\"></path>\n<path d=\"M562.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M582.5 289h0\"></path>\n<path d=\"M662 289h0\"></path>\n<rect x=\"582.5\" y=\"278\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"622.25\" y=\"293\">Dynamic</text>\n</a>\n</g>\n<path d=\"M662 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1193.5 259a10 10 0 0 0 10 -10v-209\"></path>\n<path d=\"M429 40v269a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M439 319h0\"></path>\n<path d=\"M710.5 319h483\"></path>\n<g class=\"terminal\">\n<path d=\"M439 319h0\"></path>\n<path d=\"M552.5 319h0\"></path>\n<rect x=\"439\" y=\"308\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"495.75\" y=\"323\">\"COMPARING\"</text>\n</g>\n<path d=\"M552.5 319h10\"></path>\n<g>\n<path d=\"M562.5 319h0\"></path>\n<path d=\"M710.5 319h0\"></path>\n<path d=\"M562.5 319h20\"></path>\n<g>\n<path d=\"M582.5 319h0\"></path>\n<path d=\"M690.5 319h0\"></path>\n<path d=\"M582.5 319h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M592.5 319h0\"></path>\n<path d=\"M680.5 319h0\"></path>\n<rect x=\"592.5\" y=\"308\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"636.5\" y=\"323\">FieldSub</text>\n</a>\n</g>\n<path d=\"M680.5 319h10\"></path>\n<path d=\"M592.5 319a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M592.5 339h88\"></path>\n</g>\n<path d=\"M680.5 339a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M690.5 319h20\"></path>\n<path d=\"M562.5 319a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M582.5 358h0\"></path>\n<path d=\"M662 358h28.5\"></path>\n<rect x=\"582.5\" y=\"347\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"622.25\" y=\"362\">Dynamic</text>\n</a>\n</g>\n<path d=\"M690.5 358a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1193.5 319a10 10 0 0 0 10 -10v-269\"></path>\n<path d=\"M429 40v338a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M439 388h0\"></path>\n<path d=\"M535.5 388h658\"></path>\n<rect x=\"439\" y=\"377\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"487.25\" y=\"392\">\"CASTING\"</text>\n</g>\n<path d=\"M1193.5 388a10 10 0 0 0 10 -10v-338\"></path>\n<path d=\"M429 40v368a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M439 418h0\"></path>\n<path d=\"M671.5 418h522\"></path>\n<rect x=\"439\" y=\"407\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"555.25\" y=\"422\">\"TRANSPORTING ALL FIELDS\"</text>\n</g>\n<path d=\"M1193.5 418a10 10 0 0 0 10 -10v-368\"></path>\n<path d=\"M429 40v398a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M439 448h0\"></path>\n<path d=\"M771 448h422.5\"></path>\n<g class=\"terminal\">\n<path d=\"M439 448h0\"></path>\n<path d=\"M578 448h0\"></path>\n<rect x=\"439\" y=\"437\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"508.5\" y=\"452\">\"TRANSPORTING\"</text>\n</g>\n<path d=\"M578 448h10\"></path>\n<path d=\"M588 448h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M598 448h0\"></path>\n<path d=\"M771 448h0\"></path>\n<rect x=\"598\" y=\"437\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TransportingFields\"><text x=\"684.5\" y=\"452\">TransportingFields</text>\n</a>\n</g>\n</g>\n<path d=\"M1193.5 448a10 10 0 0 0 10 -10v-398\"></path>\n<path d=\"M429 40v428a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M439 478h0\"></path>\n<path d=\"M586.5 478h607\"></path>\n<rect x=\"439\" y=\"467\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"512.75\" y=\"482\">\"BINARY SEARCH\"</text>\n</g>\n<path d=\"M1193.5 478a10 10 0 0 0 10 -10v-428\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 429 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"414\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1203.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1210.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1223.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1243.5 40h10\"></path>\n<path d=\"M 1253.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_table.ts"
+    },
+    {
+      "name": "ReadTextpool",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"READ TEXTPOOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('SimpleTarget', {href: '#/expression/SimpleTarget'})),Railroad.Sequence(Railroad.Terminal('\"LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"STATE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/SimpleTarget",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"734.5\" height=\"122\" viewBox=\"0 0 734.5 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M684.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M684.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"35\">\"READ TEXTPOOL\"</text>\n</g>\n<path d=\"M290.5 31h10\"></path>\n<path d=\"M300.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 31h0\"></path>\n<path d=\"M381.5 31h0\"></path>\n<rect x=\"310.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M381.5 31h10\"></path>\n<path d=\"M391.5 31h10\"></path>\n<g>\n<path d=\"M401.5 31h0\"></path>\n<path d=\"M684.5 31h0\"></path>\n<path d=\"M431.5 31h10\"></path>\n<g>\n<path d=\"M441.5 31h0\"></path>\n<path d=\"M654.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M441.5 31h0\"></path>\n<path d=\"M512.5 31h0\"></path>\n<rect x=\"441.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"477\" y=\"35\">\"INTO\"</text>\n</g>\n<path d=\"M512.5 31h10\"></path>\n<path d=\"M522.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M532.5 31h0\"></path>\n<path d=\"M654.5 31h0\"></path>\n<rect x=\"532.5\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleTarget\"><text x=\"593.5\" y=\"35\">SimpleTarget</text>\n</a>\n</g>\n</g>\n<path d=\"M654.5 31h10\"></path>\n<path d=\"M431.5 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M441.5 61h0\"></path>\n<path d=\"M637.5 61h17\"></path>\n<g class=\"terminal\">\n<path d=\"M441.5 61h0\"></path>\n<path d=\"M546.5 61h0\"></path>\n<rect x=\"441.5\" y=\"50\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494\" y=\"65\">\"LANGUAGE\"</text>\n</g>\n<path d=\"M546.5 61h10\"></path>\n<path d=\"M556.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M566.5 61h0\"></path>\n<path d=\"M637.5 61h0\"></path>\n<rect x=\"566.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"602\" y=\"65\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M654.5 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M431.5 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M441.5 91h0\"></path>\n<path d=\"M612 91h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M441.5 91h0\"></path>\n<path d=\"M521 91h0\"></path>\n<rect x=\"441.5\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"481.25\" y=\"95\">\"STATE\"</text>\n</g>\n<path d=\"M521 91h10\"></path>\n<path d=\"M531 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541 91h0\"></path>\n<path d=\"M612 91h0\"></path>\n<rect x=\"541\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"576.5\" y=\"95\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M654.5 91a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 431.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"416.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 664.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 671.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M684.5 31h10\"></path>\n<path d=\"M 694.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "read_textpool.ts"
+    },
+    {
+      "name": "Receive",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"RECEIVE RESULTS FROM FUNCTION\"'),Railroad.NonTerminal('FunctionName', {href: '#/expression/FunctionName'}),Railroad.Optional(Railroad.Terminal('\"KEEPING TASK\"')),Railroad.NonTerminal('ReceiveParameters', {href: '#/expression/ReceiveParameters'})))).toString();",
+      "using": [
+        "expression/FunctionName",
+        "expression/ReceiveParameters"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"982\" height=\"71\" viewBox=\"0 0 982 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M426.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"283.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.75\" y=\"44\">\"RECEIVE RESULTS FROM FUNCTION\"</text>\n</g>\n<path d=\"M426.5 40h10\"></path>\n<path d=\"M436.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M446.5 40h0\"></path>\n<path d=\"M568.5 40h0\"></path>\n<rect x=\"446.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FunctionName\"><text x=\"507.5\" y=\"44\">FunctionName</text>\n</a>\n</g>\n<path d=\"M568.5 40h10\"></path>\n<g>\n<path d=\"M578.5 40h0\"></path>\n<path d=\"M757.5 40h0\"></path>\n<path d=\"M578.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M598.5 20h139\"></path>\n</g>\n<path d=\"M737.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M578.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M598.5 40h0\"></path>\n<path d=\"M737.5 40h0\"></path>\n<rect x=\"598.5\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"668\" y=\"44\">\"KEEPING TASK\"</text>\n</g>\n<path d=\"M737.5 40h20\"></path>\n</g>\n<path d=\"M757.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M767.5 40h0\"></path>\n<path d=\"M932 40h0\"></path>\n<rect x=\"767.5\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReceiveParameters\"><text x=\"849.75\" y=\"44\">ReceiveParameters</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M932 40h10\"></path>\n<path d=\"M 942 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "receive.ts"
+    },
+    {
+      "name": "Refresh",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"REFRESH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FROM TABLE\"'),Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'})))))).toString();",
+      "using": [
+        "expression/DatabaseTable",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"703\" height=\"71\" viewBox=\"0 0 703 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M239.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"44\">\"REFRESH\"</text>\n</g>\n<path d=\"M239.5 40h10\"></path>\n<path d=\"M249.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M259.5 40h0\"></path>\n<path d=\"M330.5 40h0\"></path>\n<rect x=\"259.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"295\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M330.5 40h10\"></path>\n<g>\n<path d=\"M340.5 40h0\"></path>\n<path d=\"M653 40h0\"></path>\n<path d=\"M340.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M360.5 20h272.5\"></path>\n</g>\n<path d=\"M633 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M340.5 40h20\"></path>\n<g>\n<path d=\"M360.5 40h0\"></path>\n<path d=\"M633 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M360.5 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<rect x=\"360.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"421.5\" y=\"44\">\"FROM TABLE\"</text>\n</g>\n<path d=\"M482.5 40h10\"></path>\n<path d=\"M492.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M502.5 40h0\"></path>\n<path d=\"M633 40h0\"></path>\n<rect x=\"502.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"567.75\" y=\"44\">DatabaseTable</text>\n</a>\n</g>\n</g>\n<path d=\"M633 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M653 40h10\"></path>\n<path d=\"M 663 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "refresh.ts"
+    },
+    {
+      "name": "RefreshControl",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"REFRESH CONTROL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FROM SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"690\" height=\"62\" viewBox=\"0 0 690 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"REFRESH CONTROL\"</text>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<path d=\"M317.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 31h0\"></path>\n<path d=\"M398.5 31h0\"></path>\n<rect x=\"327.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 31h10\"></path>\n<path d=\"M408.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M418.5 31h0\"></path>\n<path d=\"M549 31h0\"></path>\n<rect x=\"418.5\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"483.75\" y=\"35\">\"FROM SCREEN\"</text>\n</g>\n<path d=\"M549 31h10\"></path>\n<path d=\"M559 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M569 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<rect x=\"569\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"604.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M640 31h10\"></path>\n<path d=\"M 650 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "refresh_control.ts"
+    },
+    {
+      "name": "Reject",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"REJECT\"'),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"402\" height=\"71\" viewBox=\"0 0 402 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"REJECT\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<g>\n<path d=\"M241 40h0\"></path>\n<path d=\"M352 40h0\"></path>\n<path d=\"M241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M261 20h71\"></path>\n</g>\n<path d=\"M332 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M241 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 40h0\"></path>\n<path d=\"M332 40h0\"></path>\n<rect x=\"261\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"296.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M332 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M352 40h10\"></path>\n<path d=\"M 362 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "reject.ts"
+    },
+    {
+      "name": "Replace",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"REPLACE\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"IN\"')),Railroad.Terminal('\"SECTION\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ALL OCCURRENCES\"'),Railroad.Terminal('\"ALL OCCURENCES\"'),Railroad.Terminal('\"FIRST OCCURENCE\"'),Railroad.Terminal('\"FIRST OCCURRENCE\"'))),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"OF\"')),Railroad.NonTerminal('FindType', {href: '#/expression/FindType'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Choice(0, Railroad.Terminal('\"IGNORING CASE\"'),Railroad.Terminal('\"RESPECTING CASE\"')),Railroad.Choice(0, Railroad.Terminal('\"IN CHARACTER MODE\"'),Railroad.Terminal('\"IN BYTE MODE\"')),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT COUNT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT LENGTH\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"REPLACEMENT LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/FindType",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1626.5\" height=\"379\" viewBox=\"0 0 1626.5 379\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1576.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M146.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"52\">\"REPLACE\"</text>\n</g>\n<path d=\"M146.5 48h10\"></path>\n<path d=\"M156.5 48h10\"></path>\n<g>\n<path d=\"M166.5 48h0\"></path>\n<path d=\"M871 48h0\"></path>\n<path d=\"M196.5 48h10\"></path>\n<g>\n<path d=\"M206.5 48h0\"></path>\n<path d=\"M841 48h0\"></path>\n<g>\n<path d=\"M206.5 48h0\"></path>\n<path d=\"M300.5 48h0\"></path>\n<path d=\"M206.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M226.5 28h54\"></path>\n</g>\n<path d=\"M280.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M206.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 48h0\"></path>\n<path d=\"M280.5 48h0\"></path>\n<rect x=\"226.5\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"253.5\" y=\"52\">\"IN\"</text>\n</g>\n<path d=\"M280.5 48h20\"></path>\n</g>\n<path d=\"M300.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M310.5 48h0\"></path>\n<path d=\"M407 48h0\"></path>\n<rect x=\"310.5\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"358.75\" y=\"52\">\"SECTION\"</text>\n</g>\n<path d=\"M407 48h10\"></path>\n<path d=\"M417 48h10\"></path>\n<g>\n<path d=\"M427 48h0\"></path>\n<path d=\"M676 48h0\"></path>\n<path d=\"M457 48h10\"></path>\n<g>\n<path d=\"M467 48h0\"></path>\n<path d=\"M646 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M467 48h0\"></path>\n<path d=\"M555 48h0\"></path>\n<rect x=\"467\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511\" y=\"52\">\"OFFSET\"</text>\n</g>\n<path d=\"M555 48h10\"></path>\n<path d=\"M565 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M575 48h0\"></path>\n<path d=\"M646 48h0\"></path>\n<rect x=\"575\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"610.5\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M646 48h10\"></path>\n<path d=\"M457 48v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 78h0\"></path>\n<path d=\"M646 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M467 78h0\"></path>\n<path d=\"M555 78h0\"></path>\n<rect x=\"467\" y=\"67\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511\" y=\"82\">\"LENGTH\"</text>\n</g>\n<path d=\"M555 78h10\"></path>\n<path d=\"M565 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M575 78h0\"></path>\n<path d=\"M646 78h0\"></path>\n<rect x=\"575\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"610.5\" y=\"82\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M646 78a10 10 0 0 0 10 -10v-20\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 457 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"442\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 656 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 663 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M676 48h10\"></path>\n<path d=\"M686 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M696 48h0\"></path>\n<path d=\"M750 48h0\"></path>\n<rect x=\"696\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"723\" y=\"52\">\"OF\"</text>\n</g>\n<path d=\"M750 48h10\"></path>\n<path d=\"M760 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M770 48h0\"></path>\n<path d=\"M841 48h0\"></path>\n<rect x=\"770\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"805.5\" y=\"52\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M841 48h10\"></path>\n<path d=\"M196.5 48v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M206.5 117h0\"></path>\n<path d=\"M752.5 117h88.5\"></path>\n<g>\n<path d=\"M206.5 117h0\"></path>\n<path d=\"M459.5 117h0\"></path>\n<path d=\"M206.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M226.5 97h213\"></path>\n</g>\n<path d=\"M439.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M206.5 117h20\"></path>\n<g>\n<path d=\"M226.5 117h0\"></path>\n<path d=\"M439.5 117h0\"></path>\n<path d=\"M226.5 117h20\"></path>\n<g class=\"terminal\">\n<path d=\"M246.5 117h0\"></path>\n<path d=\"M411 117h8.5\"></path>\n<rect x=\"246.5\" y=\"106\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"328.75\" y=\"121\">\"ALL OCCURRENCES\"</text>\n</g>\n<path d=\"M419.5 117h20\"></path>\n<path d=\"M226.5 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M246.5 147h0\"></path>\n<path d=\"M402.5 147h17\"></path>\n<rect x=\"246.5\" y=\"136\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.5\" y=\"151\">\"ALL OCCURENCES\"</text>\n</g>\n<path d=\"M419.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M226.5 117a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M246.5 177h0\"></path>\n<path d=\"M411 177h8.5\"></path>\n<rect x=\"246.5\" y=\"166\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"328.75\" y=\"181\">\"FIRST OCCURENCE\"</text>\n</g>\n<path d=\"M419.5 177a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M226.5 117a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M246.5 207h0\"></path>\n<path d=\"M419.5 207h0\"></path>\n<rect x=\"246.5\" y=\"196\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"333\" y=\"211\">\"FIRST OCCURRENCE\"</text>\n</g>\n<path d=\"M419.5 207a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M439.5 117h20\"></path>\n</g>\n<path d=\"M459.5 117h10\"></path>\n<g>\n<path d=\"M469.5 117h0\"></path>\n<path d=\"M752.5 117h0\"></path>\n<g>\n<path d=\"M469.5 117h0\"></path>\n<path d=\"M563.5 117h0\"></path>\n<path d=\"M469.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M489.5 97h54\"></path>\n</g>\n<path d=\"M543.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M469.5 117h20\"></path>\n<g class=\"terminal\">\n<path d=\"M489.5 117h0\"></path>\n<path d=\"M543.5 117h0\"></path>\n<rect x=\"489.5\" y=\"106\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.5\" y=\"121\">\"OF\"</text>\n</g>\n<path d=\"M543.5 117h20\"></path>\n</g>\n<path d=\"M563.5 117h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 117h0\"></path>\n<path d=\"M661.5 117h0\"></path>\n<rect x=\"573.5\" y=\"106\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FindType\"><text x=\"617.5\" y=\"121\">FindType</text>\n</a>\n</g>\n<path d=\"M661.5 117h10\"></path>\n<path d=\"M671.5 117h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M681.5 117h0\"></path>\n<path d=\"M752.5 117h0\"></path>\n<rect x=\"681.5\" y=\"106\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"717\" y=\"121\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M841 117a10 10 0 0 0 10 -10v-59\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 196.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"181.5\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 851 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 858 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M871 48h10\"></path>\n<g>\n<path d=\"M881 48h0\"></path>\n<path d=\"M1185.5 48h0\"></path>\n<path d=\"M881 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M901 20h264.5\"></path>\n</g>\n<path d=\"M1165.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M881 48h20\"></path>\n<g>\n<path d=\"M901 48h0\"></path>\n<path d=\"M1165.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M901 48h0\"></path>\n<path d=\"M955 48h0\"></path>\n<rect x=\"901\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"928\" y=\"52\">\"IN\"</text>\n</g>\n<path d=\"M955 48h10\"></path>\n<g>\n<path d=\"M965 48h0\"></path>\n<path d=\"M1084.5 48h0\"></path>\n<path d=\"M965 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M985 28h79.5\"></path>\n</g>\n<path d=\"M1064.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M965 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M985 48h0\"></path>\n<path d=\"M1064.5 48h0\"></path>\n<rect x=\"985\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1024.75\" y=\"52\">\"TABLE\"</text>\n</g>\n<path d=\"M1064.5 48h20\"></path>\n</g>\n<path d=\"M1084.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1094.5 48h0\"></path>\n<path d=\"M1165.5 48h0\"></path>\n<rect x=\"1094.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1130\" y=\"52\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1165.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1185.5 48h0\"></path>\n<path d=\"M1576.5 48h0\"></path>\n<path d=\"M1185.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1205.5 28h351\"></path>\n</g>\n<path d=\"M1556.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1185.5 48h20\"></path>\n<g>\n<path d=\"M1205.5 48h0\"></path>\n<path d=\"M1556.5 48h0\"></path>\n<path d=\"M1235.5 48h10\"></path>\n<g>\n<path d=\"M1245.5 48h0\"></path>\n<path d=\"M1407.5 48h119\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 48h0\"></path>\n<path d=\"M1316.5 48h0\"></path>\n<rect x=\"1245.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1281\" y=\"52\">\"WITH\"</text>\n</g>\n<path d=\"M1316.5 48h10\"></path>\n<path d=\"M1326.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1336.5 48h0\"></path>\n<path d=\"M1407.5 48h0\"></path>\n<rect x=\"1336.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1372\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 48h10\"></path>\n<path d=\"M1235.5 48v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 78h0\"></path>\n<path d=\"M1407.5 78h119\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 78h0\"></path>\n<path d=\"M1316.5 78h0\"></path>\n<rect x=\"1245.5\" y=\"67\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1281\" y=\"82\">\"INTO\"</text>\n</g>\n<path d=\"M1316.5 78h10\"></path>\n<path d=\"M1326.5 78h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1336.5 78h0\"></path>\n<path d=\"M1407.5 78h0\"></path>\n<rect x=\"1336.5\" y=\"67\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1372\" y=\"82\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 78a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1235.5 48v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 108h0\"></path>\n<path d=\"M1450 108h76.5\"></path>\n<path d=\"M1245.5 108h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1265.5 108h0\"></path>\n<path d=\"M1413 108h17\"></path>\n<rect x=\"1265.5\" y=\"97\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1339.25\" y=\"112\">\"IGNORING CASE\"</text>\n</g>\n<path d=\"M1430 108h20\"></path>\n<path d=\"M1245.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1265.5 138h0\"></path>\n<path d=\"M1430 138h0\"></path>\n<rect x=\"1265.5\" y=\"127\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1347.75\" y=\"142\">\"RESPECTING CASE\"</text>\n</g>\n<path d=\"M1430 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1526.5 108a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M1235.5 48v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 168h0\"></path>\n<path d=\"M1467 168h59.5\"></path>\n<path d=\"M1245.5 168h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1265.5 168h0\"></path>\n<path d=\"M1447 168h0\"></path>\n<rect x=\"1265.5\" y=\"157\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1356.25\" y=\"172\">\"IN CHARACTER MODE\"</text>\n</g>\n<path d=\"M1447 168h20\"></path>\n<path d=\"M1245.5 168a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1265.5 198h0\"></path>\n<path d=\"M1404.5 198h42.5\"></path>\n<rect x=\"1265.5\" y=\"187\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1335\" y=\"202\">\"IN BYTE MODE\"</text>\n</g>\n<path d=\"M1447 198a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1526.5 168a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M1235.5 48v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 228h0\"></path>\n<path d=\"M1518 228h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 228h0\"></path>\n<path d=\"M1427 228h0\"></path>\n<rect x=\"1245.5\" y=\"217\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1336.25\" y=\"232\">\"REPLACEMENT COUNT\"</text>\n</g>\n<path d=\"M1427 228h10\"></path>\n<path d=\"M1437 228h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1447 228h0\"></path>\n<path d=\"M1518 228h0\"></path>\n<rect x=\"1447\" y=\"217\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1482.5\" y=\"232\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 228a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M1235.5 48v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 258h0\"></path>\n<path d=\"M1526.5 258h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 258h0\"></path>\n<path d=\"M1435.5 258h0\"></path>\n<rect x=\"1245.5\" y=\"247\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1340.5\" y=\"262\">\"REPLACEMENT OFFSET\"</text>\n</g>\n<path d=\"M1435.5 258h10\"></path>\n<path d=\"M1445.5 258h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1455.5 258h0\"></path>\n<path d=\"M1526.5 258h0\"></path>\n<rect x=\"1455.5\" y=\"247\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1491\" y=\"262\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 258a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M1235.5 48v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 288h0\"></path>\n<path d=\"M1526.5 288h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 288h0\"></path>\n<path d=\"M1435.5 288h0\"></path>\n<rect x=\"1245.5\" y=\"277\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1340.5\" y=\"292\">\"REPLACEMENT LENGTH\"</text>\n</g>\n<path d=\"M1435.5 288h10\"></path>\n<path d=\"M1445.5 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1455.5 288h0\"></path>\n<path d=\"M1526.5 288h0\"></path>\n<rect x=\"1455.5\" y=\"277\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1491\" y=\"292\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 288a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M1235.5 48v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 318h0\"></path>\n<path d=\"M1509.5 318h17\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 318h0\"></path>\n<path d=\"M1418.5 318h0\"></path>\n<rect x=\"1245.5\" y=\"307\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1332\" y=\"322\">\"REPLACEMENT LINE\"</text>\n</g>\n<path d=\"M1418.5 318h10\"></path>\n<path d=\"M1428.5 318h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1438.5 318h0\"></path>\n<path d=\"M1509.5 318h0\"></path>\n<rect x=\"1438.5\" y=\"307\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1474\" y=\"322\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 318a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M1235.5 48v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1245.5 348h0\"></path>\n<path d=\"M1424.5 348h102\"></path>\n<g class=\"terminal\">\n<path d=\"M1245.5 348h0\"></path>\n<path d=\"M1333.5 348h0\"></path>\n<rect x=\"1245.5\" y=\"337\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1289.5\" y=\"352\">\"LENGTH\"</text>\n</g>\n<path d=\"M1333.5 348h10\"></path>\n<path d=\"M1343.5 348h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1353.5 348h0\"></path>\n<path d=\"M1424.5 348h0\"></path>\n<rect x=\"1353.5\" y=\"337\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1389\" y=\"352\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1526.5 348a10 10 0 0 0 10 -10v-290\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1235.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1220.5\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 1536.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1543.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1556.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1576.5 48h10\"></path>\n<path d=\"M 1586.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "replace.ts"
+    },
+    {
+      "name": "Report",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"REPORT\"'),Railroad.Optional(Railroad.NonTerminal('ReportName', {href: '#/expression/ReportName'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"NO STANDARD PAGE HEADING\"'),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Sequence(Railroad.Terminal('\"LINE-COUNT\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('!\"(\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('!\") \"')))),Railroad.Sequence(Railroad.Terminal('\"USING DATABASE\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('MessageClass', {href: '#/expression/MessageClass'}))))))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Integer",
+        "expression/MessageClass",
+        "expression/ReportName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1053.5\" height=\"200\" viewBox=\"0 0 1053.5 200\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1003.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1003.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"REPORT\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<g>\n<path d=\"M241 40h0\"></path>\n<path d=\"M386 40h0\"></path>\n<path d=\"M241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M261 20h105\"></path>\n</g>\n<path d=\"M366 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M241 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 40h0\"></path>\n<path d=\"M366 40h0\"></path>\n<rect x=\"261\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ReportName\"><text x=\"313.5\" y=\"44\">ReportName</text>\n</a>\n</g>\n<path d=\"M366 40h20\"></path>\n</g>\n<g>\n<path d=\"M386 40h0\"></path>\n<path d=\"M1003.5 40h0\"></path>\n<path d=\"M386 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M406 20h577.5\"></path>\n</g>\n<path d=\"M983.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M386 40h20\"></path>\n<g>\n<path d=\"M406 40h0\"></path>\n<path d=\"M983.5 40h0\"></path>\n<path d=\"M436 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M446 40h0\"></path>\n<path d=\"M687 40h266.5\"></path>\n<rect x=\"446\" y=\"29\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"566.5\" y=\"44\">\"NO STANDARD PAGE HEADING\"</text>\n</g>\n<path d=\"M953.5 40h10\"></path>\n<path d=\"M436 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M446 70h0\"></path>\n<path d=\"M659 70h294.5\"></path>\n<g class=\"terminal\">\n<path d=\"M446 70h0\"></path>\n<path d=\"M559.5 70h0\"></path>\n<rect x=\"446\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502.75\" y=\"74\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M559.5 70h10\"></path>\n<path d=\"M569.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M579.5 70h0\"></path>\n<path d=\"M659 70h0\"></path>\n<rect x=\"579.5\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"619.25\" y=\"74\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M953.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M436 40v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M446 109h0\"></path>\n<path d=\"M953.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M446 109h0\"></path>\n<path d=\"M568 109h0\"></path>\n<rect x=\"446\" y=\"98\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507\" y=\"113\">\"LINE-COUNT\"</text>\n</g>\n<path d=\"M568 109h10\"></path>\n<path d=\"M578 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M588 109h0\"></path>\n<path d=\"M667.5 109h0\"></path>\n<rect x=\"588\" y=\"98\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"627.75\" y=\"113\">Integer</text>\n</a>\n</g>\n<path d=\"M667.5 109h10\"></path>\n<g>\n<path d=\"M677.5 109h0\"></path>\n<path d=\"M953.5 109h0\"></path>\n<path d=\"M677.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M697.5 89h236\"></path>\n</g>\n<path d=\"M933.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M677.5 109h20\"></path>\n<g>\n<path d=\"M697.5 109h0\"></path>\n<path d=\"M933.5 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M697.5 109h0\"></path>\n<path d=\"M751.5 109h0\"></path>\n<rect x=\"697.5\" y=\"98\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"724.5\" y=\"113\">!\"(\"</text>\n</g>\n<path d=\"M751.5 109h10\"></path>\n<path d=\"M761.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M771.5 109h0\"></path>\n<path d=\"M851 109h0\"></path>\n<rect x=\"771.5\" y=\"98\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"811.25\" y=\"113\">Integer</text>\n</a>\n</g>\n<path d=\"M851 109h10\"></path>\n<path d=\"M861 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M871 109h0\"></path>\n<path d=\"M933.5 109h0\"></path>\n<rect x=\"871\" y=\"98\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"902.25\" y=\"113\">!\") \"</text>\n</g>\n</g>\n<path d=\"M933.5 109h20\"></path>\n</g>\n</g>\n<path d=\"M953.5 109a10 10 0 0 0 10 -10v-59\"></path>\n<path d=\"M436 40v89a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M446 139h0\"></path>\n<path d=\"M684.5 139h269\"></path>\n<g class=\"terminal\">\n<path d=\"M446 139h0\"></path>\n<path d=\"M602 139h0\"></path>\n<rect x=\"446\" y=\"128\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"524\" y=\"143\">\"USING DATABASE\"</text>\n</g>\n<path d=\"M602 139h10\"></path>\n<path d=\"M612 139h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M622 139h0\"></path>\n<path d=\"M684.5 139h0\"></path>\n<rect x=\"622\" y=\"128\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"653.25\" y=\"143\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M953.5 139a10 10 0 0 0 10 -10v-89\"></path>\n<path d=\"M436 40v119a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M446 169h0\"></path>\n<path d=\"M710 169h243.5\"></path>\n<g class=\"terminal\">\n<path d=\"M446 169h0\"></path>\n<path d=\"M568 169h0\"></path>\n<rect x=\"446\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507\" y=\"173\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M568 169h10\"></path>\n<path d=\"M578 169h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M588 169h0\"></path>\n<path d=\"M710 169h0\"></path>\n<rect x=\"588\" y=\"158\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MessageClass\"><text x=\"649\" y=\"173\">MessageClass</text>\n</a>\n</g>\n</g>\n<path d=\"M953.5 169a10 10 0 0 0 10 -10v-119\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 436 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"421\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 963.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 970.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M983.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1003.5 40h10\"></path>\n<path d=\"M 1013.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "report.ts"
+    },
+    {
+      "name": "Reserve",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"RESERVE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"LINES\"')))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"480\" height=\"62\" viewBox=\"0 0 480 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"35\">\"RESERVE\"</text>\n</g>\n<path d=\"M239.5 31h10\"></path>\n<path d=\"M249.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M259.5 31h0\"></path>\n<path d=\"M330.5 31h0\"></path>\n<rect x=\"259.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"295\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M330.5 31h10\"></path>\n<path d=\"M340.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M350.5 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<rect x=\"350.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"390.25\" y=\"35\">\"LINES\"</text>\n</g>\n</g>\n</g>\n<path d=\"M430 31h10\"></path>\n<path d=\"M 440 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "reserve.ts"
+    },
+    {
+      "name": "Resume",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"RESUME\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"188\" height=\"62\" viewBox=\"0 0 188 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"RESUME\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M 148 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "resume.ts"
+    },
+    {
+      "name": "Retry",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v702\", {}), Railroad.Terminal('\"RETRY\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"237.5\" height=\"62\" viewBox=\"0 0 237.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M187.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v702</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M187.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"147.75\" y=\"35\">\"RETRY\"</text>\n</g>\n</g>\n<path d=\"M187.5 31h10\"></path>\n<path d=\"M 197.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "retry.ts"
+    },
+    {
+      "name": "Return",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"RETURN\"'),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v758\", {}), Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"367\" height=\"71\" viewBox=\"0 0 367 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M317 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"44\">\"RETURN\"</text>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M317 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h129\"></path>\n</g>\n<path d=\"M297 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M297 40h0\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M206 40h0\"></path>\n<text x=\"187\" y=\"45\" class=\"comment\">v758</text>\n</g>\n<path d=\"M206 40h10\"></path>\n<path d=\"M216 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226 40h0\"></path>\n<path d=\"M297 40h0\"></path>\n<rect x=\"226\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"261.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M297 40h20\"></path>\n</g>\n</g>\n<path d=\"M317 40h10\"></path>\n<path d=\"M 327 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "return.ts"
+    },
+    {
+      "name": "Rollback",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"ROLLBACK\"'),Railroad.Choice(0, Railroad.Terminal('\"WORK\"'),Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})))).toString();",
+      "using": [
+        "expression/DatabaseConnection"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"428\" height=\"92\" viewBox=\"0 0 428 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M378 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"ROLLBACK\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<g>\n<path d=\"M165 31h0\"></path>\n<path d=\"M378 31h0\"></path>\n<path d=\"M165 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M185 31h0\"></path>\n<path d=\"M256 31h102\"></path>\n<rect x=\"185\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.5\" y=\"35\">\"WORK\"</text>\n</g>\n<path d=\"M358 31h20\"></path>\n<path d=\"M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 61h0\"></path>\n<path d=\"M358 61h0\"></path>\n<rect x=\"185\" y=\"50\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"271.5\" y=\"65\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M358 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M378 31h10\"></path>\n<path d=\"M 388 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "rollback.ts"
+    },
+    {
+      "name": "RollbackEntities",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Terminal('\"ROLLBACK ENTITIES\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"339.5\" height=\"62\" viewBox=\"0 0 339.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M289.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M289.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"198.75\" y=\"35\">\"ROLLBACK ENTITIES\"</text>\n</g>\n</g>\n<path d=\"M289.5 31h10\"></path>\n<path d=\"M 299.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "rollback_entities.ts"
+    },
+    {
+      "name": "Scan",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SCAN ABAP-SOURCE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"TOKENS INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LEVELS INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"STATEMENTS INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"STRUCTURES INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"KEYWORDS FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"WORD INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OVERFLOW INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE PROGRAM FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"FRAME PROGRAM FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ENHANCEMENT OPTIONS INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"ENHANCEMENTS INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"PROGRAM FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"REPLACING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"WITH ANALYSIS\"'),Railroad.Terminal('\"WITH COMMENTS\"'),Railroad.Terminal('\"WITH TYPE-POOLS\"'),Railroad.Terminal('\"WITH INCLUDES\"'),Railroad.Terminal('\"WITHOUT TRMAC\"'),Railroad.Terminal('\"WITH DECLARATIONS\"'),Railroad.Terminal('\"WITH BLOCKS\"'),Railroad.Terminal('\"PRESERVING IDENTIFIER ESCAPING\"'),Railroad.Terminal('\"WITH LIST TOKENIZATION\"'),Railroad.Terminal('\"WITH EXPLICIT ENHANCEMENTS\"'),Railroad.Terminal('\"WITH IMPLICIT ENHANCEMENTS\"'),Railroad.Terminal('\"WITH INACTIVE ENHANCEMENTS\"'),Railroad.Sequence(Railroad.Terminal('\"WITH PRAGMAS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"882.5\" height=\"1022\" viewBox=\"0 0 882.5 1022\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M832.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M832.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"SCAN ABAP-SOURCE\"</text>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M326 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<rect x=\"336\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M407 31h10\"></path>\n<path d=\"M417 31h10\"></path>\n<g>\n<path d=\"M427 31h0\"></path>\n<path d=\"M832.5 31h0\"></path>\n<path d=\"M457 31h10\"></path>\n<g>\n<path d=\"M467 31h0\"></path>\n<path d=\"M688.5 31h114\"></path>\n<g class=\"terminal\">\n<path d=\"M467 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<rect x=\"467\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"35\">\"TOKENS INTO\"</text>\n</g>\n<path d=\"M597.5 31h10\"></path>\n<path d=\"M607.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M617.5 31h0\"></path>\n<path d=\"M688.5 31h0\"></path>\n<rect x=\"617.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"653\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 31h10\"></path>\n<path d=\"M457 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 61h0\"></path>\n<path d=\"M688.5 61h114\"></path>\n<g class=\"terminal\">\n<path d=\"M467 61h0\"></path>\n<path d=\"M597.5 61h0\"></path>\n<rect x=\"467\" y=\"50\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"65\">\"LEVELS INTO\"</text>\n</g>\n<path d=\"M597.5 61h10\"></path>\n<path d=\"M607.5 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M617.5 61h0\"></path>\n<path d=\"M688.5 61h0\"></path>\n<rect x=\"617.5\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"653\" y=\"65\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M457 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 91h0\"></path>\n<path d=\"M629 91h173.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 91h0\"></path>\n<path d=\"M538 91h0\"></path>\n<rect x=\"467\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"502.5\" y=\"95\">\"FROM\"</text>\n</g>\n<path d=\"M538 91h10\"></path>\n<path d=\"M548 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M558 91h0\"></path>\n<path d=\"M629 91h0\"></path>\n<rect x=\"558\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"593.5\" y=\"95\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 91a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M457 31v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 121h0\"></path>\n<path d=\"M612 121h190.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 121h0\"></path>\n<path d=\"M521 121h0\"></path>\n<rect x=\"467\" y=\"110\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494\" y=\"125\">\"TO\"</text>\n</g>\n<path d=\"M521 121h10\"></path>\n<path d=\"M531 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541 121h0\"></path>\n<path d=\"M612 121h0\"></path>\n<rect x=\"541\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"576.5\" y=\"125\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 121a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M457 31v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 151h0\"></path>\n<path d=\"M722.5 151h80\"></path>\n<g class=\"terminal\">\n<path d=\"M467 151h0\"></path>\n<path d=\"M631.5 151h0\"></path>\n<rect x=\"467\" y=\"140\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"549.25\" y=\"155\">\"STATEMENTS INTO\"</text>\n</g>\n<path d=\"M631.5 151h10\"></path>\n<path d=\"M641.5 151h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M651.5 151h0\"></path>\n<path d=\"M722.5 151h0\"></path>\n<rect x=\"651.5\" y=\"140\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"687\" y=\"155\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 151a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M457 31v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 181h0\"></path>\n<path d=\"M722.5 181h80\"></path>\n<g class=\"terminal\">\n<path d=\"M467 181h0\"></path>\n<path d=\"M631.5 181h0\"></path>\n<rect x=\"467\" y=\"170\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"549.25\" y=\"185\">\"STRUCTURES INTO\"</text>\n</g>\n<path d=\"M631.5 181h10\"></path>\n<path d=\"M641.5 181h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M651.5 181h0\"></path>\n<path d=\"M722.5 181h0\"></path>\n<rect x=\"651.5\" y=\"170\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"687\" y=\"185\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 181a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M457 31v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 211h0\"></path>\n<path d=\"M705.5 211h97\"></path>\n<g class=\"terminal\">\n<path d=\"M467 211h0\"></path>\n<path d=\"M614.5 211h0\"></path>\n<rect x=\"467\" y=\"200\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"215\">\"KEYWORDS FROM\"</text>\n</g>\n<path d=\"M614.5 211h10\"></path>\n<path d=\"M624.5 211h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634.5 211h0\"></path>\n<path d=\"M705.5 211h0\"></path>\n<rect x=\"634.5\" y=\"200\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"670\" y=\"215\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 211a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M457 31v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 241h0\"></path>\n<path d=\"M671.5 241h131\"></path>\n<g class=\"terminal\">\n<path d=\"M467 241h0\"></path>\n<path d=\"M580.5 241h0\"></path>\n<rect x=\"467\" y=\"230\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"523.75\" y=\"245\">\"WORD INTO\"</text>\n</g>\n<path d=\"M580.5 241h10\"></path>\n<path d=\"M590.5 241h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M600.5 241h0\"></path>\n<path d=\"M671.5 241h0\"></path>\n<rect x=\"600.5\" y=\"230\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"636\" y=\"245\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 241a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M457 31v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 271h0\"></path>\n<path d=\"M671.5 271h131\"></path>\n<g class=\"terminal\">\n<path d=\"M467 271h0\"></path>\n<path d=\"M580.5 271h0\"></path>\n<rect x=\"467\" y=\"260\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"523.75\" y=\"275\">\"LINE INTO\"</text>\n</g>\n<path d=\"M580.5 271h10\"></path>\n<path d=\"M590.5 271h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M600.5 271h0\"></path>\n<path d=\"M671.5 271h0\"></path>\n<rect x=\"600.5\" y=\"260\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"636\" y=\"275\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 271a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M457 31v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 301h0\"></path>\n<path d=\"M688.5 301h114\"></path>\n<g class=\"terminal\">\n<path d=\"M467 301h0\"></path>\n<path d=\"M597.5 301h0\"></path>\n<rect x=\"467\" y=\"290\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"305\">\"OFFSET INTO\"</text>\n</g>\n<path d=\"M597.5 301h10\"></path>\n<path d=\"M607.5 301h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M617.5 301h0\"></path>\n<path d=\"M688.5 301h0\"></path>\n<rect x=\"617.5\" y=\"290\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"653\" y=\"305\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 301a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M457 31v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 331h0\"></path>\n<path d=\"M705.5 331h97\"></path>\n<g class=\"terminal\">\n<path d=\"M467 331h0\"></path>\n<path d=\"M614.5 331h0\"></path>\n<rect x=\"467\" y=\"320\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"335\">\"OVERFLOW INTO\"</text>\n</g>\n<path d=\"M614.5 331h10\"></path>\n<path d=\"M624.5 331h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M634.5 331h0\"></path>\n<path d=\"M705.5 331h0\"></path>\n<rect x=\"634.5\" y=\"320\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"670\" y=\"335\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 331a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M457 31v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 361h0\"></path>\n<path d=\"M697 361h105.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 361h0\"></path>\n<path d=\"M606 361h0\"></path>\n<rect x=\"467\" y=\"350\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"365\">\"MESSAGE INTO\"</text>\n</g>\n<path d=\"M606 361h10\"></path>\n<path d=\"M616 361h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 361h0\"></path>\n<path d=\"M697 361h0\"></path>\n<rect x=\"626\" y=\"350\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"661.5\" y=\"365\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 361a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M457 31v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 391h0\"></path>\n<path d=\"M765 391h37.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 391h0\"></path>\n<path d=\"M674 391h0\"></path>\n<rect x=\"467\" y=\"380\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"570.5\" y=\"395\">\"INCLUDE PROGRAM FROM\"</text>\n</g>\n<path d=\"M674 391h10\"></path>\n<path d=\"M684 391h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M694 391h0\"></path>\n<path d=\"M765 391h0\"></path>\n<rect x=\"694\" y=\"380\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"729.5\" y=\"395\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 391a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M457 31v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 421h0\"></path>\n<path d=\"M697 421h105.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 421h0\"></path>\n<path d=\"M606 421h0\"></path>\n<rect x=\"467\" y=\"410\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"425\">\"INCLUDE INTO\"</text>\n</g>\n<path d=\"M606 421h10\"></path>\n<path d=\"M616 421h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 421h0\"></path>\n<path d=\"M697 421h0\"></path>\n<rect x=\"626\" y=\"410\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"661.5\" y=\"425\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 421a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M457 31v410a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 451h0\"></path>\n<path d=\"M748 451h54.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 451h0\"></path>\n<path d=\"M657 451h0\"></path>\n<rect x=\"467\" y=\"440\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"562\" y=\"455\">\"FRAME PROGRAM FROM\"</text>\n</g>\n<path d=\"M657 451h10\"></path>\n<path d=\"M667 451h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M677 451h0\"></path>\n<path d=\"M748 451h0\"></path>\n<rect x=\"677\" y=\"440\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"712.5\" y=\"455\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 451a10 10 0 0 0 10 -10v-410\"></path>\n<path d=\"M457 31v440a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 481h0\"></path>\n<path d=\"M799 481h3.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 481h0\"></path>\n<path d=\"M708 481h0\"></path>\n<rect x=\"467\" y=\"470\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587.5\" y=\"485\">\"ENHANCEMENT OPTIONS INTO\"</text>\n</g>\n<path d=\"M708 481h10\"></path>\n<path d=\"M718 481h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M728 481h0\"></path>\n<path d=\"M799 481h0\"></path>\n<rect x=\"728\" y=\"470\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"763.5\" y=\"485\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 481a10 10 0 0 0 10 -10v-440\"></path>\n<path d=\"M457 31v470a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 511h0\"></path>\n<path d=\"M739.5 511h63\"></path>\n<g class=\"terminal\">\n<path d=\"M467 511h0\"></path>\n<path d=\"M648.5 511h0\"></path>\n<rect x=\"467\" y=\"500\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557.75\" y=\"515\">\"ENHANCEMENTS INTO\"</text>\n</g>\n<path d=\"M648.5 511h10\"></path>\n<path d=\"M658.5 511h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M668.5 511h0\"></path>\n<path d=\"M739.5 511h0\"></path>\n<rect x=\"668.5\" y=\"500\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"704\" y=\"515\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 511a10 10 0 0 0 10 -10v-470\"></path>\n<path d=\"M457 31v500a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 541h0\"></path>\n<path d=\"M697 541h105.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 541h0\"></path>\n<path d=\"M606 541h0\"></path>\n<rect x=\"467\" y=\"530\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"545\">\"PROGRAM FROM\"</text>\n</g>\n<path d=\"M606 541h10\"></path>\n<path d=\"M616 541h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 541h0\"></path>\n<path d=\"M697 541h0\"></path>\n<rect x=\"626\" y=\"530\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"661.5\" y=\"545\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 541a10 10 0 0 0 10 -10v-500\"></path>\n<path d=\"M457 31v530a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 571h0\"></path>\n<path d=\"M671.5 571h131\"></path>\n<g class=\"terminal\">\n<path d=\"M467 571h0\"></path>\n<path d=\"M580.5 571h0\"></path>\n<rect x=\"467\" y=\"560\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"523.75\" y=\"575\">\"REPLACING\"</text>\n</g>\n<path d=\"M580.5 571h10\"></path>\n<path d=\"M590.5 571h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M600.5 571h0\"></path>\n<path d=\"M671.5 571h0\"></path>\n<rect x=\"600.5\" y=\"560\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"636\" y=\"575\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 571a10 10 0 0 0 10 -10v-530\"></path>\n<path d=\"M457 31v560a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 601h0\"></path>\n<path d=\"M614.5 601h188\"></path>\n<rect x=\"467\" y=\"590\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"605\">\"WITH ANALYSIS\"</text>\n</g>\n<path d=\"M802.5 601a10 10 0 0 0 10 -10v-560\"></path>\n<path d=\"M457 31v590a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 631h0\"></path>\n<path d=\"M614.5 631h188\"></path>\n<rect x=\"467\" y=\"620\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"635\">\"WITH COMMENTS\"</text>\n</g>\n<path d=\"M802.5 631a10 10 0 0 0 10 -10v-590\"></path>\n<path d=\"M457 31v620a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 661h0\"></path>\n<path d=\"M631.5 661h171\"></path>\n<rect x=\"467\" y=\"650\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"549.25\" y=\"665\">\"WITH TYPE-POOLS\"</text>\n</g>\n<path d=\"M802.5 661a10 10 0 0 0 10 -10v-620\"></path>\n<path d=\"M457 31v650a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 691h0\"></path>\n<path d=\"M614.5 691h188\"></path>\n<rect x=\"467\" y=\"680\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"695\">\"WITH INCLUDES\"</text>\n</g>\n<path d=\"M802.5 691a10 10 0 0 0 10 -10v-650\"></path>\n<path d=\"M457 31v680a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 721h0\"></path>\n<path d=\"M614.5 721h188\"></path>\n<rect x=\"467\" y=\"710\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"540.75\" y=\"725\">\"WITHOUT TRMAC\"</text>\n</g>\n<path d=\"M802.5 721a10 10 0 0 0 10 -10v-680\"></path>\n<path d=\"M457 31v710a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 751h0\"></path>\n<path d=\"M648.5 751h154\"></path>\n<rect x=\"467\" y=\"740\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"557.75\" y=\"755\">\"WITH DECLARATIONS\"</text>\n</g>\n<path d=\"M802.5 751a10 10 0 0 0 10 -10v-710\"></path>\n<path d=\"M457 31v740a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 781h0\"></path>\n<path d=\"M597.5 781h205\"></path>\n<rect x=\"467\" y=\"770\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"785\">\"WITH BLOCKS\"</text>\n</g>\n<path d=\"M802.5 781a10 10 0 0 0 10 -10v-740\"></path>\n<path d=\"M457 31v770a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 811h0\"></path>\n<path d=\"M759 811h43.5\"></path>\n<rect x=\"467\" y=\"800\" width=\"292\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"613\" y=\"815\">\"PRESERVING IDENTIFIER ESCAPING\"</text>\n</g>\n<path d=\"M802.5 811a10 10 0 0 0 10 -10v-770\"></path>\n<path d=\"M457 31v800a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 841h0\"></path>\n<path d=\"M691 841h111.5\"></path>\n<rect x=\"467\" y=\"830\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"579\" y=\"845\">\"WITH LIST TOKENIZATION\"</text>\n</g>\n<path d=\"M802.5 841a10 10 0 0 0 10 -10v-800\"></path>\n<path d=\"M457 31v830a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 871h0\"></path>\n<path d=\"M725 871h77.5\"></path>\n<rect x=\"467\" y=\"860\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596\" y=\"875\">\"WITH EXPLICIT ENHANCEMENTS\"</text>\n</g>\n<path d=\"M802.5 871a10 10 0 0 0 10 -10v-830\"></path>\n<path d=\"M457 31v860a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 901h0\"></path>\n<path d=\"M725 901h77.5\"></path>\n<rect x=\"467\" y=\"890\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596\" y=\"905\">\"WITH IMPLICIT ENHANCEMENTS\"</text>\n</g>\n<path d=\"M802.5 901a10 10 0 0 0 10 -10v-860\"></path>\n<path d=\"M457 31v890a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M467 931h0\"></path>\n<path d=\"M725 931h77.5\"></path>\n<rect x=\"467\" y=\"920\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596\" y=\"935\">\"WITH INACTIVE ENHANCEMENTS\"</text>\n</g>\n<path d=\"M802.5 931a10 10 0 0 0 10 -10v-890\"></path>\n<path d=\"M457 31v920a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 961h0\"></path>\n<path d=\"M697 961h105.5\"></path>\n<g class=\"terminal\">\n<path d=\"M467 961h0\"></path>\n<path d=\"M606 961h0\"></path>\n<rect x=\"467\" y=\"950\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"965\">\"WITH PRAGMAS\"</text>\n</g>\n<path d=\"M606 961h10\"></path>\n<path d=\"M616 961h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M626 961h0\"></path>\n<path d=\"M697 961h0\"></path>\n<rect x=\"626\" y=\"950\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"661.5\" y=\"965\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 961a10 10 0 0 0 10 -10v-920\"></path>\n<path d=\"M457 31v950a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M467 991h0\"></path>\n<path d=\"M802.5 991h0\"></path>\n<g class=\"terminal\">\n<path d=\"M467 991h0\"></path>\n<path d=\"M521 991h0\"></path>\n<rect x=\"467\" y=\"980\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494\" y=\"995\">\"ID\"</text>\n</g>\n<path d=\"M521 991h10\"></path>\n<path d=\"M531 991h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M541 991h0\"></path>\n<path d=\"M612 991h0\"></path>\n<rect x=\"541\" y=\"980\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"576.5\" y=\"995\">Source</text>\n</a>\n</g>\n<path d=\"M612 991h10\"></path>\n<path d=\"M622 991h10\"></path>\n<g class=\"terminal\">\n<path d=\"M632 991h0\"></path>\n<path d=\"M711.5 991h0\"></path>\n<rect x=\"632\" y=\"980\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671.75\" y=\"995\">\"TABLE\"</text>\n</g>\n<path d=\"M711.5 991h10\"></path>\n<path d=\"M721.5 991h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M731.5 991h0\"></path>\n<path d=\"M802.5 991h0\"></path>\n<rect x=\"731.5\" y=\"980\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"767\" y=\"995\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M802.5 991a10 10 0 0 0 10 -10v-950\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 457 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"442\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 812.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 819.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M832.5 31h10\"></path>\n<path d=\"M 842.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "scan.ts"
+    },
+    {
+      "name": "ScrollList",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SCROLL LIST\"'),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.Choice(0, Railroad.Terminal('\"FIRST PAGE\"'),Railroad.Terminal('\"LAST PAGE\"'),Railroad.Sequence(Railroad.Terminal('\"PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Terminal('\"BACKWARD\"'),Railroad.Terminal('\"FORWARD\"')),Railroad.Choice(0, Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"RIGHT\"')),Railroad.Sequence(Railroad.Terminal('\"TO COLUMN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"719.5\" height=\"332\" viewBox=\"0 0 719.5 332\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M669.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M669.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"SCROLL LIST\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g>\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M669.5 31h0\"></path>\n<path d=\"M323.5 31h10\"></path>\n<g>\n<path d=\"M333.5 31h0\"></path>\n<path d=\"M504 31h135.5\"></path>\n<g class=\"terminal\">\n<path d=\"M333.5 31h0\"></path>\n<path d=\"M413 31h0\"></path>\n<rect x=\"333.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373.25\" y=\"35\">\"INDEX\"</text>\n</g>\n<path d=\"M413 31h10\"></path>\n<path d=\"M423 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M433 31h0\"></path>\n<path d=\"M504 31h0\"></path>\n<rect x=\"433\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"468.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M639.5 31h10\"></path>\n<path d=\"M323.5 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M333.5 61h0\"></path>\n<path d=\"M639.5 61h0\"></path>\n<path d=\"M333.5 61h20\"></path>\n<g>\n<path d=\"M353.5 61h0\"></path>\n<path d=\"M619.5 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M353.5 61h0\"></path>\n<path d=\"M407.5 61h0\"></path>\n<rect x=\"353.5\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"380.5\" y=\"65\">\"TO\"</text>\n</g>\n<path d=\"M407.5 61h10\"></path>\n<g>\n<path d=\"M417.5 61h0\"></path>\n<path d=\"M619.5 61h0\"></path>\n<path d=\"M417.5 61h20\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 61h0\"></path>\n<path d=\"M559.5 61h40\"></path>\n<rect x=\"437.5\" y=\"50\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"498.5\" y=\"65\">\"FIRST PAGE\"</text>\n</g>\n<path d=\"M599.5 61h20\"></path>\n<path d=\"M417.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 91h0\"></path>\n<path d=\"M551 91h48.5\"></path>\n<rect x=\"437.5\" y=\"80\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494.25\" y=\"95\">\"LAST PAGE\"</text>\n</g>\n<path d=\"M599.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M417.5 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M437.5 121h0\"></path>\n<path d=\"M599.5 121h0\"></path>\n<g class=\"terminal\">\n<path d=\"M437.5 121h0\"></path>\n<path d=\"M508.5 121h0\"></path>\n<rect x=\"437.5\" y=\"110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"473\" y=\"125\">\"PAGE\"</text>\n</g>\n<path d=\"M508.5 121h10\"></path>\n<path d=\"M518.5 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M528.5 121h0\"></path>\n<path d=\"M599.5 121h0\"></path>\n<rect x=\"528.5\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"564\" y=\"125\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M599.5 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M619.5 61h20\"></path>\n<path d=\"M333.5 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M353.5 151h0\"></path>\n<path d=\"M458.5 151h161\"></path>\n<rect x=\"353.5\" y=\"140\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406\" y=\"155\">\"BACKWARD\"</text>\n</g>\n<path d=\"M619.5 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M333.5 61a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M353.5 181h0\"></path>\n<path d=\"M450 181h169.5\"></path>\n<rect x=\"353.5\" y=\"170\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"401.75\" y=\"185\">\"FORWARD\"</text>\n</g>\n<path d=\"M619.5 181a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M639.5 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M323.5 31v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M333.5 211h0\"></path>\n<path d=\"M453 211h186.5\"></path>\n<path d=\"M333.5 211h20\"></path>\n<g class=\"terminal\">\n<path d=\"M353.5 211h0\"></path>\n<path d=\"M424.5 211h8.5\"></path>\n<rect x=\"353.5\" y=\"200\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"389\" y=\"215\">\"LEFT\"</text>\n</g>\n<path d=\"M433 211h20\"></path>\n<path d=\"M333.5 211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M353.5 241h0\"></path>\n<path d=\"M433 241h0\"></path>\n<rect x=\"353.5\" y=\"230\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"393.25\" y=\"245\">\"RIGHT\"</text>\n</g>\n<path d=\"M433 241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M639.5 211a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M323.5 31v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M333.5 271h0\"></path>\n<path d=\"M538 271h101.5\"></path>\n<g class=\"terminal\">\n<path d=\"M333.5 271h0\"></path>\n<path d=\"M447 271h0\"></path>\n<rect x=\"333.5\" y=\"260\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"390.25\" y=\"275\">\"TO COLUMN\"</text>\n</g>\n<path d=\"M447 271h10\"></path>\n<path d=\"M457 271h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M467 271h0\"></path>\n<path d=\"M538 271h0\"></path>\n<rect x=\"467\" y=\"260\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"502.5\" y=\"275\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M639.5 271a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M323.5 31v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M333.5 301h0\"></path>\n<path d=\"M495.5 301h144\"></path>\n<g class=\"terminal\">\n<path d=\"M333.5 301h0\"></path>\n<path d=\"M404.5 301h0\"></path>\n<rect x=\"333.5\" y=\"290\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369\" y=\"305\">\"LINE\"</text>\n</g>\n<path d=\"M404.5 301h10\"></path>\n<path d=\"M414.5 301h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M424.5 301h0\"></path>\n<path d=\"M495.5 301h0\"></path>\n<rect x=\"424.5\" y=\"290\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"460\" y=\"305\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M639.5 301a10 10 0 0 0 10 -10v-260\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 323.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"308.5\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 649.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 656.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M669.5 31h10\"></path>\n<path d=\"M 679.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "scroll_list.ts"
+    },
+    {
+      "name": "Search",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SEARCH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Choice(0, Railroad.Terminal('\"IN BYTE MODE\"'),Railroad.Terminal('\"IN CHARACTER MODE\"')),Railroad.Sequence(Railroad.Terminal('\"STARTING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ENDING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"AND MARK\"')))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"887\" height=\"191\" viewBox=\"0 0 887 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M837 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M837 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M231 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"44\">\"SEARCH\"</text>\n</g>\n<path d=\"M231 40h10\"></path>\n<path d=\"M241 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 40h0\"></path>\n<path d=\"M322 40h0\"></path>\n<rect x=\"251\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"286.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M322 40h10\"></path>\n<path d=\"M332 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M342 40h0\"></path>\n<path d=\"M404.5 40h0\"></path>\n<rect x=\"342\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373.25\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M404.5 40h10\"></path>\n<path d=\"M414.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M424.5 40h0\"></path>\n<path d=\"M495.5 40h0\"></path>\n<rect x=\"424.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"460\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M495.5 40h10\"></path>\n<g>\n<path d=\"M505.5 40h0\"></path>\n<path d=\"M837 40h0\"></path>\n<path d=\"M505.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M525.5 20h291.5\"></path>\n</g>\n<path d=\"M817 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M505.5 40h20\"></path>\n<g>\n<path d=\"M525.5 40h0\"></path>\n<path d=\"M817 40h0\"></path>\n<path d=\"M555.5 40h10\"></path>\n<g>\n<path d=\"M565.5 40h0\"></path>\n<path d=\"M787 40h0\"></path>\n<path d=\"M565.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M585.5 40h0\"></path>\n<path d=\"M724.5 40h42.5\"></path>\n<rect x=\"585.5\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"655\" y=\"44\">\"IN BYTE MODE\"</text>\n</g>\n<path d=\"M767 40h20\"></path>\n<path d=\"M565.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M585.5 70h0\"></path>\n<path d=\"M767 70h0\"></path>\n<rect x=\"585.5\" y=\"59\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"74\">\"IN CHARACTER MODE\"</text>\n</g>\n<path d=\"M767 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M787 40h10\"></path>\n<path d=\"M555.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M565.5 100h0\"></path>\n<path d=\"M787 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M565.5 100h0\"></path>\n<path d=\"M696 100h0\"></path>\n<rect x=\"565.5\" y=\"89\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"630.75\" y=\"104\">\"STARTING AT\"</text>\n</g>\n<path d=\"M696 100h10\"></path>\n<path d=\"M706 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M716 100h0\"></path>\n<path d=\"M787 100h0\"></path>\n<rect x=\"716\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"751.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M787 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M555.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M565.5 130h0\"></path>\n<path d=\"M770 130h17\"></path>\n<g class=\"terminal\">\n<path d=\"M565.5 130h0\"></path>\n<path d=\"M679 130h0\"></path>\n<rect x=\"565.5\" y=\"119\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"622.25\" y=\"134\">\"ENDING AT\"</text>\n</g>\n<path d=\"M679 130h10\"></path>\n<path d=\"M689 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M699 130h0\"></path>\n<path d=\"M770 130h0\"></path>\n<rect x=\"699\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"734.5\" y=\"134\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M787 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M555.5 40v110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M565.5 160h0\"></path>\n<path d=\"M670.5 160h116.5\"></path>\n<rect x=\"565.5\" y=\"149\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"618\" y=\"164\">\"AND MARK\"</text>\n</g>\n<path d=\"M787 160a10 10 0 0 0 10 -10v-110\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 555.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"540.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 797 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 804 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M817 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M837 40h10\"></path>\n<path d=\"M 847 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "search.ts"
+    },
+    {
+      "name": "Select",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.NonTerminal('Select', {href: '#/expression/Select'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal('\"UNION\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"DISTINCT\"'),Railroad.Terminal('\"ALL\"'))),Railroad.NonTerminal('Select', {href: '#/expression/Select'})))))).toString();",
+      "using": [
+        "expression/Select"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"654.5\" height=\"117\" viewBox=\"0 0 654.5 117\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M604.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M121 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"85.5\" y=\"52\">Select</text>\n</a>\n</g>\n<path d=\"M121 48h10\"></path>\n<g>\n<path d=\"M131 48h0\"></path>\n<path d=\"M604.5 48h0\"></path>\n<path d=\"M131 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h433.5\"></path>\n</g>\n<path d=\"M584.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 48h20\"></path>\n<g>\n<path d=\"M151 48h0\"></path>\n<path d=\"M584.5 48h0\"></path>\n<path d=\"M151 48h10\"></path>\n<g>\n<path d=\"M161 48h0\"></path>\n<path d=\"M574.5 48h0\"></path>\n<g>\n<path d=\"M161 48h0\"></path>\n<path d=\"M199 48h0\"></path>\n<text x=\"180\" y=\"53\" class=\"comment\">v750</text>\n</g>\n<path d=\"M199 48h10\"></path>\n<path d=\"M209 48h10\"></path>\n<g>\n<path d=\"M219 48h0\"></path>\n<path d=\"M574.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M219 48h0\"></path>\n<path d=\"M298.5 48h0\"></path>\n<rect x=\"219\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"258.75\" y=\"52\">\"UNION\"</text>\n</g>\n<path d=\"M298.5 48h10\"></path>\n<g>\n<path d=\"M308.5 48h0\"></path>\n<path d=\"M493.5 48h0\"></path>\n<path d=\"M308.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M328.5 28h145\"></path>\n</g>\n<path d=\"M473.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M308.5 48h20\"></path>\n<g>\n<path d=\"M328.5 48h0\"></path>\n<path d=\"M473.5 48h0\"></path>\n<path d=\"M328.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 48h0\"></path>\n<path d=\"M453.5 48h0\"></path>\n<rect x=\"348.5\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"401\" y=\"52\">\"DISTINCT\"</text>\n</g>\n<path d=\"M453.5 48h20\"></path>\n<path d=\"M328.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M348.5 78h0\"></path>\n<path d=\"M411 78h42.5\"></path>\n<rect x=\"348.5\" y=\"67\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379.75\" y=\"82\">\"ALL\"</text>\n</g>\n<path d=\"M453.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M473.5 48h20\"></path>\n</g>\n<path d=\"M493.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M503.5 48h0\"></path>\n<path d=\"M574.5 48h0\"></path>\n<rect x=\"503.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"539\" y=\"52\">Select</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M574.5 48h10\"></path>\n<path d=\"M161 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 97h413.5\"></path>\n</g>\n<path d=\"M574.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M584.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M604.5 48h10\"></path>\n<path d=\"M 614.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "select.ts"
+    },
+    {
+      "name": "SelectLoop",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.NonTerminal('SelectLoop', {href: '#/expression/SelectLoop'})).toString();",
+      "using": [
+        "expression/SelectLoop"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"205\" height=\"62\" viewBox=\"0 0 205 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SelectLoop\"><text x=\"102.5\" y=\"35\">SelectLoop</text>\n</a>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Select"
+      ],
+      "filename": "select_loop.ts"
+    },
+    {
+      "name": "SelectOption",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SELECT-OPTIONS\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Terminal('\"FOR\"'),Railroad.Choice(0, Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('FieldChain', {href: '#/expression/FieldChain'}))))),Railroad.Sequence(Railroad.Terminal('\"OPTION\"'),Railroad.Choice(0, Railroad.Terminal('\"CP\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.Sequence(Railroad.Terminal('\"SIGN\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"MEMORY ID\"'),Railroad.NonTerminal('SimpleSource1', {href: '#/expression/SimpleSource1'})),Railroad.Sequence(Railroad.Terminal('\"MATCHCODE OBJECT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"VISIBLE LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"MODIF ID\"'),Railroad.NonTerminal('Modif', {href: '#/expression/Modif'})),Railroad.Terminal('\"NO DATABASE SELECTION\"'),Railroad.Terminal('\"LOWER CASE\"'),Railroad.Terminal('\"NO-EXTENSION\"'),Railroad.Terminal('\"NO INTERVALS\"'),Railroad.Terminal('\"NO-DISPLAY\"'),Railroad.Terminal('\"OBLIGATORY\"')))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Dynamic",
+        "expression/Field",
+        "expression/FieldChain",
+        "expression/FieldSub",
+        "expression/Modif",
+        "expression/SimpleSource1",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1305\" height=\"499\" viewBox=\"0 0 1305 499\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1255 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1255 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M299 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"221\" y=\"52\">\"SELECT-OPTIONS\"</text>\n</g>\n<path d=\"M299 48h10\"></path>\n<path d=\"M309 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M319 48h0\"></path>\n<path d=\"M407 48h0\"></path>\n<rect x=\"319\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"363\" y=\"52\">FieldSub</text>\n</a>\n</g>\n<path d=\"M407 48h10\"></path>\n<path d=\"M417 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M427 48h0\"></path>\n<path d=\"M489.5 48h0\"></path>\n<rect x=\"427\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458.25\" y=\"52\">\"FOR\"</text>\n</g>\n<path d=\"M489.5 48h10\"></path>\n<g>\n<path d=\"M499.5 48h0\"></path>\n<path d=\"M644.5 48h0\"></path>\n<path d=\"M499.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M519.5 48h0\"></path>\n<path d=\"M624.5 48h0\"></path>\n<rect x=\"519.5\" y=\"37\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"572\" y=\"52\">FieldChain</text>\n</a>\n</g>\n<path d=\"M624.5 48h20\"></path>\n<path d=\"M499.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M519.5 78h0\"></path>\n<path d=\"M599 78h25.5\"></path>\n<rect x=\"519.5\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"559.25\" y=\"82\">Dynamic</text>\n</a>\n</g>\n<path d=\"M624.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M644.5 48h0\"></path>\n<path d=\"M1255 48h0\"></path>\n<path d=\"M644.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M664.5 20h570.5\"></path>\n</g>\n<path d=\"M1235 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M644.5 48h20\"></path>\n<g>\n<path d=\"M664.5 48h0\"></path>\n<path d=\"M1235 48h0\"></path>\n<path d=\"M694.5 48h10\"></path>\n<g>\n<path d=\"M704.5 48h0\"></path>\n<path d=\"M1205 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 48h0\"></path>\n<path d=\"M801 48h0\"></path>\n<rect x=\"704.5\" y=\"37\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"752.75\" y=\"52\">\"DEFAULT\"</text>\n</g>\n<path d=\"M801 48h10\"></path>\n<g>\n<path d=\"M811 48h0\"></path>\n<path d=\"M956 48h0\"></path>\n<path d=\"M811 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M831 48h0\"></path>\n<path d=\"M919 48h17\"></path>\n<rect x=\"831\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"875\" y=\"52\">Constant</text>\n</a>\n</g>\n<path d=\"M936 48h20\"></path>\n<path d=\"M811 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M831 78h0\"></path>\n<path d=\"M936 78h0\"></path>\n<rect x=\"831\" y=\"67\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"883.5\" y=\"82\">FieldChain</text>\n</a>\n</g>\n<path d=\"M936 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M956 48h0\"></path>\n<path d=\"M1205 48h0\"></path>\n<path d=\"M956 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M976 28h209\"></path>\n</g>\n<path d=\"M1185 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M956 48h20\"></path>\n<g>\n<path d=\"M976 48h0\"></path>\n<path d=\"M1185 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M976 48h0\"></path>\n<path d=\"M1030 48h0\"></path>\n<rect x=\"976\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1003\" y=\"52\">\"TO\"</text>\n</g>\n<path d=\"M1030 48h10\"></path>\n<g>\n<path d=\"M1040 48h0\"></path>\n<path d=\"M1185 48h0\"></path>\n<path d=\"M1040 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1060 48h0\"></path>\n<path d=\"M1148 48h17\"></path>\n<rect x=\"1060\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1104\" y=\"52\">Constant</text>\n</a>\n</g>\n<path d=\"M1165 48h20\"></path>\n<path d=\"M1040 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1060 78h0\"></path>\n<path d=\"M1165 78h0\"></path>\n<rect x=\"1060\" y=\"67\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldChain\"><text x=\"1112.5\" y=\"82\">FieldChain</text>\n</a>\n</g>\n<path d=\"M1165 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1185 48h20\"></path>\n</g>\n</g>\n<path d=\"M1205 48h10\"></path>\n<path d=\"M694.5 48v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 108h0\"></path>\n<path d=\"M905 108h300\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 108h0\"></path>\n<path d=\"M792.5 108h0\"></path>\n<rect x=\"704.5\" y=\"97\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"748.5\" y=\"112\">\"OPTION\"</text>\n</g>\n<path d=\"M792.5 108h10\"></path>\n<g>\n<path d=\"M802.5 108h0\"></path>\n<path d=\"M905 108h0\"></path>\n<path d=\"M802.5 108h20\"></path>\n<g class=\"terminal\">\n<path d=\"M822.5 108h0\"></path>\n<path d=\"M876.5 108h8.5\"></path>\n<rect x=\"822.5\" y=\"97\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"849.5\" y=\"112\">\"CP\"</text>\n</g>\n<path d=\"M885 108h20\"></path>\n<path d=\"M802.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M822.5 138h0\"></path>\n<path d=\"M885 138h0\"></path>\n<rect x=\"822.5\" y=\"127\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"853.75\" y=\"142\">Field</text>\n</a>\n</g>\n<path d=\"M885 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1205 108a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M694.5 48v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 168h0\"></path>\n<path d=\"M858 168h347\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 168h0\"></path>\n<path d=\"M775.5 168h0\"></path>\n<rect x=\"704.5\" y=\"157\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"740\" y=\"172\">\"SIGN\"</text>\n</g>\n<path d=\"M775.5 168h10\"></path>\n<path d=\"M785.5 168h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M795.5 168h0\"></path>\n<path d=\"M858 168h0\"></path>\n<rect x=\"795.5\" y=\"157\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"826.75\" y=\"172\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1205 168a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M694.5 48v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 198h0\"></path>\n<path d=\"M968.5 198h236.5\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 198h0\"></path>\n<path d=\"M818 198h0\"></path>\n<rect x=\"704.5\" y=\"187\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"761.25\" y=\"202\">\"MEMORY ID\"</text>\n</g>\n<path d=\"M818 198h10\"></path>\n<path d=\"M828 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M838 198h0\"></path>\n<path d=\"M968.5 198h0\"></path>\n<rect x=\"838\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleSource1\"><text x=\"903.25\" y=\"202\">SimpleSource1</text>\n</a>\n</g>\n</g>\n<path d=\"M1205 198a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M694.5 48v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 228h0\"></path>\n<path d=\"M960 228h245\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 228h0\"></path>\n<path d=\"M877.5 228h0\"></path>\n<rect x=\"704.5\" y=\"217\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"791\" y=\"232\">\"MATCHCODE OBJECT\"</text>\n</g>\n<path d=\"M877.5 228h10\"></path>\n<path d=\"M887.5 228h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M897.5 228h0\"></path>\n<path d=\"M960 228h0\"></path>\n<rect x=\"897.5\" y=\"217\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"928.75\" y=\"232\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1205 228a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M694.5 48v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 258h0\"></path>\n<path d=\"M951.5 258h253.5\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 258h0\"></path>\n<path d=\"M860.5 258h0\"></path>\n<rect x=\"704.5\" y=\"247\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"782.5\" y=\"262\">\"VISIBLE LENGTH\"</text>\n</g>\n<path d=\"M860.5 258h10\"></path>\n<path d=\"M870.5 258h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M880.5 258h0\"></path>\n<path d=\"M951.5 258h0\"></path>\n<rect x=\"880.5\" y=\"247\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"916\" y=\"262\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1205 258a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M694.5 48v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M704.5 288h0\"></path>\n<path d=\"M892 288h313\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 288h0\"></path>\n<path d=\"M809.5 288h0\"></path>\n<rect x=\"704.5\" y=\"277\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"757\" y=\"292\">\"MODIF ID\"</text>\n</g>\n<path d=\"M809.5 288h10\"></path>\n<path d=\"M819.5 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M829.5 288h0\"></path>\n<path d=\"M892 288h0\"></path>\n<rect x=\"829.5\" y=\"277\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Modif\"><text x=\"860.75\" y=\"292\">Modif</text>\n</a>\n</g>\n</g>\n<path d=\"M1205 288a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M694.5 48v260a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 318h0\"></path>\n<path d=\"M920 318h285\"></path>\n<rect x=\"704.5\" y=\"307\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"812.25\" y=\"322\">\"NO DATABASE SELECTION\"</text>\n</g>\n<path d=\"M1205 318a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M694.5 48v290a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 348h0\"></path>\n<path d=\"M826.5 348h378.5\"></path>\n<rect x=\"704.5\" y=\"337\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"765.5\" y=\"352\">\"LOWER CASE\"</text>\n</g>\n<path d=\"M1205 348a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M694.5 48v320a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 378h0\"></path>\n<path d=\"M843.5 378h361.5\"></path>\n<rect x=\"704.5\" y=\"367\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"774\" y=\"382\">\"NO-EXTENSION\"</text>\n</g>\n<path d=\"M1205 378a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M694.5 48v350a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 408h0\"></path>\n<path d=\"M843.5 408h361.5\"></path>\n<rect x=\"704.5\" y=\"397\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"774\" y=\"412\">\"NO INTERVALS\"</text>\n</g>\n<path d=\"M1205 408a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M694.5 48v380a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 438h0\"></path>\n<path d=\"M826.5 438h378.5\"></path>\n<rect x=\"704.5\" y=\"427\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"765.5\" y=\"442\">\"NO-DISPLAY\"</text>\n</g>\n<path d=\"M1205 438a10 10 0 0 0 10 -10v-380\"></path>\n<path d=\"M694.5 48v410a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 468h0\"></path>\n<path d=\"M826.5 468h378.5\"></path>\n<rect x=\"704.5\" y=\"457\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"765.5\" y=\"472\">\"OBLIGATORY\"</text>\n</g>\n<path d=\"M1205 468a10 10 0 0 0 10 -10v-410\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 694.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"679.5\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 1215 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1222 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1235 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1255 48h10\"></path>\n<path d=\"M 1265 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "select_option.ts"
+    },
+    {
+      "name": "SelectionScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SELECTION-SCREEN\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"COMMENT\"'),Railroad.Sequence(Railroad.Optional(Railroad.Terminal(\"^\\\\/?[\\\\d\\\\w]+$\")),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\" (\"')),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"'))),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}))),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FOR FIELD\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"MODIF ID\"'),Railroad.NonTerminal('Modif', {href: '#/expression/Modif'})),Railroad.Sequence(Railroad.Terminal('\"VISIBLE LENGTH\"'),Railroad.Terminal(\"^\\\\d+$\"))))),Railroad.Sequence(Railroad.Terminal('\"FUNCTION KEY\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})),Railroad.Sequence(Railroad.Terminal('\"SKIP\"'),Railroad.Optional(Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}))),Railroad.Sequence(Railroad.Terminal('\"POSITION\"'),Railroad.Choice(0, Railroad.Terminal(\"^(0?[1-9]|[1234567][0-9]|8[0-3])$\"),Railroad.Choice(0, Railroad.Terminal('\"POS_LOW\"'),Railroad.Terminal('\"POS_HIGH\"')))),Railroad.Sequence(Railroad.Terminal('\"INCLUDE BLOCKS\"'),Railroad.NonTerminal('BlockName', {href: '#/expression/BlockName'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE SELECT-OPTIONS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"PUSHBUTTON\"'),Railroad.Sequence(Railroad.Optional(Railroad.Terminal(\"^\\\\/?[\\\\d\\\\w]+$\")),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\" (\"')),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"'))),Railroad.Choice(0, Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'})),Railroad.Sequence(Railroad.Terminal('\"USER-COMMAND\"'),Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MODIF ID\"'),Railroad.NonTerminal('Modif', {href: '#/expression/Modif'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"VISIBLE LENGTH\"'),Railroad.Terminal(\"^\\\\d+$\")))),Railroad.Sequence(Railroad.Terminal('\"TAB\"'),Railroad.Terminal('!\" (\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('!\") \"'),Railroad.Choice(0, Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'})),Railroad.Sequence(Railroad.Terminal('\"USER-COMMAND\"'),Railroad.Choice(0, Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"DEFAULT\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PROGRAM\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'}))),Railroad.Terminal('\"SCREEN\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MODIF ID\"'),Railroad.NonTerminal('Modif', {href: '#/expression/Modif'})))),Railroad.Sequence(Railroad.Terminal('\"ULINE\"'),Railroad.Optional(Railroad.Sequence(Railroad.Optional(Railroad.Terminal(\"^\\\\/?[\\\\d\\\\w]+$\")),Railroad.Choice(0, Railroad.Terminal('!\"(\"'),Railroad.Terminal('!\" (\"')),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Choice(0, Railroad.Terminal('!\") \"'),Railroad.Terminal('!\")\"'))))),Railroad.Sequence(Railroad.Terminal('\"BEGIN OF BLOCK\"'),Railroad.NonTerminal('BlockName', {href: '#/expression/BlockName'}),Railroad.Optional(Railroad.Terminal('\"WITH FRAME\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TITLE\"'),Railroad.Choice(0, Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'})))),Railroad.Optional(Railroad.Terminal('\"NO INTERVALS\"'))),Railroad.Sequence(Railroad.Terminal('\"BEGIN OF TABBED BLOCK\"'),Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.Terminal('\"FOR\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Terminal('\"LINES\"'),Railroad.Optional(Railroad.Terminal('\"NO INTERVALS\"'))),Railroad.Sequence(Railroad.Terminal('\"END OF BLOCK\"'),Railroad.NonTerminal('BlockName', {href: '#/expression/BlockName'})),Railroad.Terminal('\"BEGIN OF LINE\"'),Railroad.Terminal('\"END OF LINE\"'),Railroad.Sequence(Railroad.Terminal('\"INCLUDE PARAMETERS\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Sequence(Railroad.Terminal('\"BEGIN OF SCREEN\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.Choice(0, Railroad.Terminal('\"WINDOW\"'),Railroad.Terminal('\"SUBSCREEN\"'))),Railroad.Sequence(Railroad.Terminal('\"TITLE\"'),Railroad.Choice(0, Railroad.NonTerminal('InlineField', {href: '#/expression/InlineField'}),Railroad.NonTerminal('TextElement', {href: '#/expression/TextElement'}))),Railroad.Terminal('\"NO INTERVALS\"'),Railroad.Sequence(Railroad.Terminal('\"NESTING LEVEL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Terminal('\"END OF SCREEN\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'})))))).toString();",
+      "using": [
+        "expression/BlockName",
+        "expression/Constant",
+        "expression/Field",
+        "expression/InlineField",
+        "expression/Integer",
+        "expression/Modif",
+        "expression/Source",
+        "expression/TextElement"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1994\" height=\"1020\" viewBox=\"0 0 1994 1020\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1944 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1944 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M316 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"44\">\"SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M316 40h10\"></path>\n<g>\n<path d=\"M326 40h0\"></path>\n<path d=\"M1944 40h0\"></path>\n<path d=\"M326 40h20\"></path>\n<g>\n<path d=\"M346 40h0\"></path>\n<path d=\"M1481 40h443\"></path>\n<g class=\"terminal\">\n<path d=\"M346 40h0\"></path>\n<path d=\"M442.5 40h0\"></path>\n<rect x=\"346\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"394.25\" y=\"44\">\"COMMENT\"</text>\n</g>\n<path d=\"M442.5 40h10\"></path>\n<path d=\"M452.5 40h10\"></path>\n<g>\n<path d=\"M462.5 40h0\"></path>\n<path d=\"M929 40h0\"></path>\n<g>\n<path d=\"M462.5 40h0\"></path>\n<path d=\"M624.5 40h0\"></path>\n<path d=\"M462.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M482.5 20h122\"></path>\n</g>\n<path d=\"M604.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M462.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M482.5 40h0\"></path>\n<path d=\"M604.5 40h0\"></path>\n<rect x=\"482.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"543.5\" y=\"44\">^\\/?&#91;\\d\\w&#93;+$</text>\n</g>\n<path d=\"M604.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M624.5 40h0\"></path>\n<path d=\"M727 40h0\"></path>\n<path d=\"M624.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M644.5 40h0\"></path>\n<path d=\"M698.5 40h8.5\"></path>\n<rect x=\"644.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671.5\" y=\"44\">!\"(\"</text>\n</g>\n<path d=\"M707 40h20\"></path>\n<path d=\"M624.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M644.5 70h0\"></path>\n<path d=\"M707 70h0\"></path>\n<rect x=\"644.5\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"675.75\" y=\"74\">!\" (\"</text>\n</g>\n<path d=\"M707 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M727 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M737 40h0\"></path>\n<path d=\"M816.5 40h0\"></path>\n<rect x=\"737\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"776.75\" y=\"44\">Integer</text>\n</a>\n</g>\n<path d=\"M816.5 40h10\"></path>\n<g>\n<path d=\"M826.5 40h0\"></path>\n<path d=\"M929 40h0\"></path>\n<path d=\"M826.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M846.5 40h0\"></path>\n<path d=\"M909 40h0\"></path>\n<rect x=\"846.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"877.75\" y=\"44\">!\") \"</text>\n</g>\n<path d=\"M909 40h20\"></path>\n<path d=\"M826.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M846.5 70h0\"></path>\n<path d=\"M900.5 70h8.5\"></path>\n<rect x=\"846.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"873.5\" y=\"74\">!\")\"</text>\n</g>\n<path d=\"M909 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M929 40h10\"></path>\n<g>\n<path d=\"M939 40h0\"></path>\n<path d=\"M1132.5 40h0\"></path>\n<path d=\"M939 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M959 20h153.5\"></path>\n</g>\n<path d=\"M1112.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M939 40h20\"></path>\n<g>\n<path d=\"M959 40h0\"></path>\n<path d=\"M1112.5 40h0\"></path>\n<path d=\"M959 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M979 40h0\"></path>\n<path d=\"M1092.5 40h0\"></path>\n<rect x=\"979\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"1035.75\" y=\"44\">InlineField</text>\n</a>\n</g>\n<path d=\"M1092.5 40h20\"></path>\n<path d=\"M959 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M979 70h0\"></path>\n<path d=\"M1092.5 70h0\"></path>\n<rect x=\"979\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"1035.75\" y=\"74\">TextElement</text>\n</a>\n</g>\n<path d=\"M1092.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1112.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1132.5 40h0\"></path>\n<path d=\"M1481 40h0\"></path>\n<path d=\"M1132.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1152.5 20h308.5\"></path>\n</g>\n<path d=\"M1461 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1132.5 40h20\"></path>\n<g>\n<path d=\"M1152.5 40h0\"></path>\n<path d=\"M1461 40h0\"></path>\n<path d=\"M1182.5 40h10\"></path>\n<g>\n<path d=\"M1192.5 40h0\"></path>\n<path d=\"M1388.5 40h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1192.5 40h0\"></path>\n<path d=\"M1306 40h0\"></path>\n<rect x=\"1192.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1249.25\" y=\"44\">\"FOR FIELD\"</text>\n</g>\n<path d=\"M1306 40h10\"></path>\n<path d=\"M1316 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1326 40h0\"></path>\n<path d=\"M1388.5 40h0\"></path>\n<rect x=\"1326\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1357.25\" y=\"44\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1431 40h10\"></path>\n<path d=\"M1182.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1192.5 70h0\"></path>\n<path d=\"M1380 70h51\"></path>\n<g class=\"terminal\">\n<path d=\"M1192.5 70h0\"></path>\n<path d=\"M1297.5 70h0\"></path>\n<rect x=\"1192.5\" y=\"59\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1245\" y=\"74\">\"MODIF ID\"</text>\n</g>\n<path d=\"M1297.5 70h10\"></path>\n<path d=\"M1307.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1317.5 70h0\"></path>\n<path d=\"M1380 70h0\"></path>\n<rect x=\"1317.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Modif\"><text x=\"1348.75\" y=\"74\">Modif</text>\n</a>\n</g>\n</g>\n<path d=\"M1431 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M1182.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1192.5 100h0\"></path>\n<path d=\"M1431 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1192.5 100h0\"></path>\n<path d=\"M1348.5 100h0\"></path>\n<rect x=\"1192.5\" y=\"89\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1270.5\" y=\"104\">\"VISIBLE LENGTH\"</text>\n</g>\n<path d=\"M1348.5 100h10\"></path>\n<path d=\"M1358.5 100h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1368.5 100h0\"></path>\n<path d=\"M1431 100h0\"></path>\n<rect x=\"1368.5\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1399.75\" y=\"104\">^\\d+$</text>\n</g>\n</g>\n<path d=\"M1431 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 1182.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"1167.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 1441 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1448 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1461 40h20\"></path>\n</g>\n</g>\n<path d=\"M1924 40h20\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 130h0\"></path>\n<path d=\"M584.5 130h1339.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 130h0\"></path>\n<path d=\"M485 130h0\"></path>\n<rect x=\"346\" y=\"119\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"415.5\" y=\"134\">\"FUNCTION KEY\"</text>\n</g>\n<path d=\"M485 130h10\"></path>\n<path d=\"M495 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M505 130h0\"></path>\n<path d=\"M584.5 130h0\"></path>\n<rect x=\"505\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"544.75\" y=\"134\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 169h0\"></path>\n<path d=\"M546.5 169h1377.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 169h0\"></path>\n<path d=\"M417 169h0\"></path>\n<rect x=\"346\" y=\"158\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"381.5\" y=\"173\">\"SKIP\"</text>\n</g>\n<path d=\"M417 169h10\"></path>\n<g>\n<path d=\"M427 169h0\"></path>\n<path d=\"M546.5 169h0\"></path>\n<path d=\"M427 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M447 149h79.5\"></path>\n</g>\n<path d=\"M526.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M427 169h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M447 169h0\"></path>\n<path d=\"M526.5 169h0\"></path>\n<rect x=\"447\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"486.75\" y=\"173\">Integer</text>\n</a>\n</g>\n<path d=\"M526.5 169h20\"></path>\n</g>\n</g>\n<path d=\"M1924 169a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 199h0\"></path>\n<path d=\"M801.5 199h1122.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 199h0\"></path>\n<path d=\"M451 199h0\"></path>\n<rect x=\"346\" y=\"188\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398.5\" y=\"203\">\"POSITION\"</text>\n</g>\n<path d=\"M451 199h10\"></path>\n<g>\n<path d=\"M461 199h0\"></path>\n<path d=\"M801.5 199h0\"></path>\n<path d=\"M461 199h20\"></path>\n<g class=\"terminal\">\n<path d=\"M481 199h0\"></path>\n<path d=\"M781.5 199h0\"></path>\n<rect x=\"481\" y=\"188\" width=\"300.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"631.25\" y=\"203\">^(0?&#91;1-9&#93;|&#91;1234567&#93;&#91;0-9&#93;|8&#91;0-3&#93;)$</text>\n</g>\n<path d=\"M781.5 199h20\"></path>\n<path d=\"M461 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M481 229h0\"></path>\n<path d=\"M626 229h155.5\"></path>\n<path d=\"M481 229h20\"></path>\n<g class=\"terminal\">\n<path d=\"M501 229h0\"></path>\n<path d=\"M597.5 229h8.5\"></path>\n<rect x=\"501\" y=\"218\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"549.25\" y=\"233\">\"POS&#95;LOW\"</text>\n</g>\n<path d=\"M606 229h20\"></path>\n<path d=\"M481 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M501 259h0\"></path>\n<path d=\"M606 259h0\"></path>\n<rect x=\"501\" y=\"248\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"553.5\" y=\"263\">\"POS&#95;HIGH\"</text>\n</g>\n<path d=\"M606 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M781.5 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1924 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v229a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 289h0\"></path>\n<path d=\"M618.5 289h1305.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 289h0\"></path>\n<path d=\"M502 289h0\"></path>\n<rect x=\"346\" y=\"278\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"424\" y=\"293\">\"INCLUDE BLOCKS\"</text>\n</g>\n<path d=\"M502 289h10\"></path>\n<path d=\"M512 289h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 289h0\"></path>\n<path d=\"M618.5 289h0\"></path>\n<rect x=\"522\" y=\"278\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/BlockName\"><text x=\"570.25\" y=\"293\">BlockName</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 289a10 10 0 0 0 10 -10v-229a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 319h0\"></path>\n<path d=\"M652.5 319h1271.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 319h0\"></path>\n<path d=\"M570 319h0\"></path>\n<rect x=\"346\" y=\"308\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458\" y=\"323\">\"INCLUDE SELECT-OPTIONS\"</text>\n</g>\n<path d=\"M570 319h10\"></path>\n<path d=\"M580 319h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590 319h0\"></path>\n<path d=\"M652.5 319h0\"></path>\n<rect x=\"590\" y=\"308\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"621.25\" y=\"323\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 319a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v298a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 358h0\"></path>\n<path d=\"M1921 358h3\"></path>\n<g class=\"terminal\">\n<path d=\"M346 358h0\"></path>\n<path d=\"M468 358h0\"></path>\n<rect x=\"346\" y=\"347\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407\" y=\"362\">\"PUSHBUTTON\"</text>\n</g>\n<path d=\"M468 358h10\"></path>\n<path d=\"M478 358h10\"></path>\n<g>\n<path d=\"M488 358h0\"></path>\n<path d=\"M954.5 358h0\"></path>\n<g>\n<path d=\"M488 358h0\"></path>\n<path d=\"M650 358h0\"></path>\n<path d=\"M488 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M508 338h122\"></path>\n</g>\n<path d=\"M630 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M488 358h20\"></path>\n<g class=\"terminal\">\n<path d=\"M508 358h0\"></path>\n<path d=\"M630 358h0\"></path>\n<rect x=\"508\" y=\"347\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569\" y=\"362\">^\\/?&#91;\\d\\w&#93;+$</text>\n</g>\n<path d=\"M630 358h20\"></path>\n</g>\n<g>\n<path d=\"M650 358h0\"></path>\n<path d=\"M752.5 358h0\"></path>\n<path d=\"M650 358h20\"></path>\n<g class=\"terminal\">\n<path d=\"M670 358h0\"></path>\n<path d=\"M724 358h8.5\"></path>\n<rect x=\"670\" y=\"347\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"697\" y=\"362\">!\"(\"</text>\n</g>\n<path d=\"M732.5 358h20\"></path>\n<path d=\"M650 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M670 388h0\"></path>\n<path d=\"M732.5 388h0\"></path>\n<rect x=\"670\" y=\"377\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.25\" y=\"392\">!\" (\"</text>\n</g>\n<path d=\"M732.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M752.5 358h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M762.5 358h0\"></path>\n<path d=\"M842 358h0\"></path>\n<rect x=\"762.5\" y=\"347\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"802.25\" y=\"362\">Integer</text>\n</a>\n</g>\n<path d=\"M842 358h10\"></path>\n<g>\n<path d=\"M852 358h0\"></path>\n<path d=\"M954.5 358h0\"></path>\n<path d=\"M852 358h20\"></path>\n<g class=\"terminal\">\n<path d=\"M872 358h0\"></path>\n<path d=\"M934.5 358h0\"></path>\n<rect x=\"872\" y=\"347\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"903.25\" y=\"362\">!\") \"</text>\n</g>\n<path d=\"M934.5 358h20\"></path>\n<path d=\"M852 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M872 388h0\"></path>\n<path d=\"M926 388h8.5\"></path>\n<rect x=\"872\" y=\"377\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"899\" y=\"392\">!\")\"</text>\n</g>\n<path d=\"M934.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M954.5 358h10\"></path>\n<g>\n<path d=\"M964.5 358h0\"></path>\n<path d=\"M1118 358h0\"></path>\n<path d=\"M964.5 358h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M984.5 358h0\"></path>\n<path d=\"M1098 358h0\"></path>\n<rect x=\"984.5\" y=\"347\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"1041.25\" y=\"362\">InlineField</text>\n</a>\n</g>\n<path d=\"M1098 358h20\"></path>\n<path d=\"M964.5 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M984.5 388h0\"></path>\n<path d=\"M1098 388h0\"></path>\n<rect x=\"984.5\" y=\"377\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"1041.25\" y=\"392\">TextElement</text>\n</a>\n</g>\n<path d=\"M1098 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1118 358h10\"></path>\n<g>\n<path d=\"M1128 358h0\"></path>\n<path d=\"M1405 358h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1128 358h0\"></path>\n<path d=\"M1267 358h0\"></path>\n<rect x=\"1128\" y=\"347\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1197.5\" y=\"362\">\"USER-COMMAND\"</text>\n</g>\n<path d=\"M1267 358h10\"></path>\n<g>\n<path d=\"M1277 358h0\"></path>\n<path d=\"M1405 358h0\"></path>\n<path d=\"M1277 358h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1297 358h0\"></path>\n<path d=\"M1359.5 358h25.5\"></path>\n<rect x=\"1297\" y=\"347\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1328.25\" y=\"362\">Field</text>\n</a>\n</g>\n<path d=\"M1385 358h20\"></path>\n<path d=\"M1277 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1297 388h0\"></path>\n<path d=\"M1385 388h0\"></path>\n<rect x=\"1297\" y=\"377\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1341\" y=\"392\">Constant</text>\n</a>\n</g>\n<path d=\"M1385 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1405 358h10\"></path>\n<g>\n<path d=\"M1415 358h0\"></path>\n<path d=\"M1642.5 358h0\"></path>\n<path d=\"M1415 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1435 338h187.5\"></path>\n</g>\n<path d=\"M1622.5 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1415 358h20\"></path>\n<g>\n<path d=\"M1435 358h0\"></path>\n<path d=\"M1622.5 358h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1435 358h0\"></path>\n<path d=\"M1540 358h0\"></path>\n<rect x=\"1435\" y=\"347\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1487.5\" y=\"362\">\"MODIF ID\"</text>\n</g>\n<path d=\"M1540 358h10\"></path>\n<path d=\"M1550 358h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1560 358h0\"></path>\n<path d=\"M1622.5 358h0\"></path>\n<rect x=\"1560\" y=\"347\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Modif\"><text x=\"1591.25\" y=\"362\">Modif</text>\n</a>\n</g>\n</g>\n<path d=\"M1622.5 358h20\"></path>\n</g>\n<g>\n<path d=\"M1642.5 358h0\"></path>\n<path d=\"M1921 358h0\"></path>\n<path d=\"M1642.5 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1662.5 338h238.5\"></path>\n</g>\n<path d=\"M1901 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1642.5 358h20\"></path>\n<g>\n<path d=\"M1662.5 358h0\"></path>\n<path d=\"M1901 358h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1662.5 358h0\"></path>\n<path d=\"M1818.5 358h0\"></path>\n<rect x=\"1662.5\" y=\"347\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1740.5\" y=\"362\">\"VISIBLE LENGTH\"</text>\n</g>\n<path d=\"M1818.5 358h10\"></path>\n<path d=\"M1828.5 358h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1838.5 358h0\"></path>\n<path d=\"M1901 358h0\"></path>\n<rect x=\"1838.5\" y=\"347\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1869.75\" y=\"362\">^\\d+$</text>\n</g>\n</g>\n<path d=\"M1901 358h20\"></path>\n</g>\n</g>\n<path d=\"M1924 358a10 10 0 0 0 10 -10v-298a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v375a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 435h0\"></path>\n<path d=\"M1924 435h0\"></path>\n<g class=\"terminal\">\n<path d=\"M346 435h0\"></path>\n<path d=\"M408.5 435h0\"></path>\n<rect x=\"346\" y=\"424\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"377.25\" y=\"439\">\"TAB\"</text>\n</g>\n<path d=\"M408.5 435h10\"></path>\n<path d=\"M418.5 435h10\"></path>\n<g class=\"terminal\">\n<path d=\"M428.5 435h0\"></path>\n<path d=\"M491 435h0\"></path>\n<rect x=\"428.5\" y=\"424\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"459.75\" y=\"439\">!\" (\"</text>\n</g>\n<path d=\"M491 435h10\"></path>\n<path d=\"M501 435h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M511 435h0\"></path>\n<path d=\"M590.5 435h0\"></path>\n<rect x=\"511\" y=\"424\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"550.75\" y=\"439\">Integer</text>\n</a>\n</g>\n<path d=\"M590.5 435h10\"></path>\n<path d=\"M600.5 435h10\"></path>\n<g class=\"terminal\">\n<path d=\"M610.5 435h0\"></path>\n<path d=\"M673 435h0\"></path>\n<rect x=\"610.5\" y=\"424\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"641.75\" y=\"439\">!\") \"</text>\n</g>\n<path d=\"M673 435h10\"></path>\n<g>\n<path d=\"M683 435h0\"></path>\n<path d=\"M836.5 435h0\"></path>\n<path d=\"M683 435h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M703 435h0\"></path>\n<path d=\"M816.5 435h0\"></path>\n<rect x=\"703\" y=\"424\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"759.75\" y=\"439\">InlineField</text>\n</a>\n</g>\n<path d=\"M816.5 435h20\"></path>\n<path d=\"M683 435a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M703 465h0\"></path>\n<path d=\"M816.5 465h0\"></path>\n<rect x=\"703\" y=\"454\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"759.75\" y=\"469\">TextElement</text>\n</a>\n</g>\n<path d=\"M816.5 465a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M836.5 435h10\"></path>\n<g>\n<path d=\"M846.5 435h0\"></path>\n<path d=\"M1123.5 435h0\"></path>\n<g class=\"terminal\">\n<path d=\"M846.5 435h0\"></path>\n<path d=\"M985.5 435h0\"></path>\n<rect x=\"846.5\" y=\"424\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"916\" y=\"439\">\"USER-COMMAND\"</text>\n</g>\n<path d=\"M985.5 435h10\"></path>\n<g>\n<path d=\"M995.5 435h0\"></path>\n<path d=\"M1123.5 435h0\"></path>\n<path d=\"M995.5 435h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1015.5 435h0\"></path>\n<path d=\"M1078 435h25.5\"></path>\n<rect x=\"1015.5\" y=\"424\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1046.75\" y=\"439\">Field</text>\n</a>\n</g>\n<path d=\"M1103.5 435h20\"></path>\n<path d=\"M995.5 435a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1015.5 465h0\"></path>\n<path d=\"M1103.5 465h0\"></path>\n<rect x=\"1015.5\" y=\"454\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"1059.5\" y=\"469\">Constant</text>\n</a>\n</g>\n<path d=\"M1103.5 465a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1123.5 435h10\"></path>\n<g>\n<path d=\"M1133.5 435h0\"></path>\n<path d=\"M1696.5 435h0\"></path>\n<path d=\"M1133.5 435a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1153.5 407h523\"></path>\n</g>\n<path d=\"M1676.5 407a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1133.5 435h20\"></path>\n<g>\n<path d=\"M1153.5 435h0\"></path>\n<path d=\"M1676.5 435h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1153.5 435h0\"></path>\n<path d=\"M1250 435h0\"></path>\n<rect x=\"1153.5\" y=\"424\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1201.75\" y=\"439\">\"DEFAULT\"</text>\n</g>\n<path d=\"M1250 435h10\"></path>\n<g>\n<path d=\"M1260 435h0\"></path>\n<path d=\"M1479 435h0\"></path>\n<path d=\"M1260 435a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1280 415h179\"></path>\n</g>\n<path d=\"M1459 415a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1260 435h20\"></path>\n<g>\n<path d=\"M1280 435h0\"></path>\n<path d=\"M1459 435h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1280 435h0\"></path>\n<path d=\"M1376.5 435h0\"></path>\n<rect x=\"1280\" y=\"424\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1328.25\" y=\"439\">\"PROGRAM\"</text>\n</g>\n<path d=\"M1376.5 435h10\"></path>\n<path d=\"M1386.5 435h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1396.5 435h0\"></path>\n<path d=\"M1459 435h0\"></path>\n<rect x=\"1396.5\" y=\"424\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"1427.75\" y=\"439\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1459 435h20\"></path>\n</g>\n<path d=\"M1479 435h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1489 435h0\"></path>\n<path d=\"M1577 435h0\"></path>\n<rect x=\"1489\" y=\"424\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1533\" y=\"439\">\"SCREEN\"</text>\n</g>\n<path d=\"M1577 435h10\"></path>\n<path d=\"M1587 435h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1597 435h0\"></path>\n<path d=\"M1676.5 435h0\"></path>\n<rect x=\"1597\" y=\"424\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"1636.75\" y=\"439\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M1676.5 435h20\"></path>\n</g>\n<g>\n<path d=\"M1696.5 435h0\"></path>\n<path d=\"M1924 435h0\"></path>\n<path d=\"M1696.5 435a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1716.5 415h187.5\"></path>\n</g>\n<path d=\"M1904 415a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1696.5 435h20\"></path>\n<g>\n<path d=\"M1716.5 435h0\"></path>\n<path d=\"M1904 435h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1716.5 435h0\"></path>\n<path d=\"M1821.5 435h0\"></path>\n<rect x=\"1716.5\" y=\"424\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1769\" y=\"439\">\"MODIF ID\"</text>\n</g>\n<path d=\"M1821.5 435h10\"></path>\n<path d=\"M1831.5 435h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1841.5 435h0\"></path>\n<path d=\"M1904 435h0\"></path>\n<rect x=\"1841.5\" y=\"424\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Modif\"><text x=\"1872.75\" y=\"439\">Modif</text>\n</a>\n</g>\n</g>\n<path d=\"M1904 435h20\"></path>\n</g>\n</g>\n<path d=\"M1924 435a10 10 0 0 0 10 -10v-375a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v452a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 512h0\"></path>\n<path d=\"M942 512h982\"></path>\n<g class=\"terminal\">\n<path d=\"M346 512h0\"></path>\n<path d=\"M425.5 512h0\"></path>\n<rect x=\"346\" y=\"501\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"385.75\" y=\"516\">\"ULINE\"</text>\n</g>\n<path d=\"M425.5 512h10\"></path>\n<g>\n<path d=\"M435.5 512h0\"></path>\n<path d=\"M942 512h0\"></path>\n<path d=\"M435.5 512a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M455.5 484h466.5\"></path>\n</g>\n<path d=\"M922 484a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M435.5 512h20\"></path>\n<g>\n<path d=\"M455.5 512h0\"></path>\n<path d=\"M922 512h0\"></path>\n<g>\n<path d=\"M455.5 512h0\"></path>\n<path d=\"M617.5 512h0\"></path>\n<path d=\"M455.5 512a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M475.5 492h122\"></path>\n</g>\n<path d=\"M597.5 492a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M455.5 512h20\"></path>\n<g class=\"terminal\">\n<path d=\"M475.5 512h0\"></path>\n<path d=\"M597.5 512h0\"></path>\n<rect x=\"475.5\" y=\"501\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"536.5\" y=\"516\">^\\/?&#91;\\d\\w&#93;+$</text>\n</g>\n<path d=\"M597.5 512h20\"></path>\n</g>\n<g>\n<path d=\"M617.5 512h0\"></path>\n<path d=\"M720 512h0\"></path>\n<path d=\"M617.5 512h20\"></path>\n<g class=\"terminal\">\n<path d=\"M637.5 512h0\"></path>\n<path d=\"M691.5 512h8.5\"></path>\n<rect x=\"637.5\" y=\"501\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"664.5\" y=\"516\">!\"(\"</text>\n</g>\n<path d=\"M700 512h20\"></path>\n<path d=\"M617.5 512a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M637.5 542h0\"></path>\n<path d=\"M700 542h0\"></path>\n<rect x=\"637.5\" y=\"531\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"668.75\" y=\"546\">!\" (\"</text>\n</g>\n<path d=\"M700 542a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M720 512h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M730 512h0\"></path>\n<path d=\"M809.5 512h0\"></path>\n<rect x=\"730\" y=\"501\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"769.75\" y=\"516\">Integer</text>\n</a>\n</g>\n<path d=\"M809.5 512h10\"></path>\n<g>\n<path d=\"M819.5 512h0\"></path>\n<path d=\"M922 512h0\"></path>\n<path d=\"M819.5 512h20\"></path>\n<g class=\"terminal\">\n<path d=\"M839.5 512h0\"></path>\n<path d=\"M902 512h0\"></path>\n<rect x=\"839.5\" y=\"501\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"870.75\" y=\"516\">!\") \"</text>\n</g>\n<path d=\"M902 512h20\"></path>\n<path d=\"M819.5 512a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M839.5 542h0\"></path>\n<path d=\"M893.5 542h8.5\"></path>\n<rect x=\"839.5\" y=\"531\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"866.5\" y=\"546\">!\")\"</text>\n</g>\n<path d=\"M902 542a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M922 512h20\"></path>\n</g>\n</g>\n<path d=\"M1924 512a10 10 0 0 0 10 -10v-452a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v521a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 581h0\"></path>\n<path d=\"M1252.5 581h671.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 581h0\"></path>\n<path d=\"M502 581h0\"></path>\n<rect x=\"346\" y=\"570\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"424\" y=\"585\">\"BEGIN OF BLOCK\"</text>\n</g>\n<path d=\"M502 581h10\"></path>\n<path d=\"M512 581h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 581h0\"></path>\n<path d=\"M618.5 581h0\"></path>\n<rect x=\"522\" y=\"570\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/BlockName\"><text x=\"570.25\" y=\"585\">BlockName</text>\n</a>\n</g>\n<path d=\"M618.5 581h10\"></path>\n<g>\n<path d=\"M628.5 581h0\"></path>\n<path d=\"M790.5 581h0\"></path>\n<path d=\"M628.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M648.5 561h122\"></path>\n</g>\n<path d=\"M770.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M628.5 581h20\"></path>\n<g class=\"terminal\">\n<path d=\"M648.5 581h0\"></path>\n<path d=\"M770.5 581h0\"></path>\n<rect x=\"648.5\" y=\"570\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"709.5\" y=\"585\">\"WITH FRAME\"</text>\n</g>\n<path d=\"M770.5 581h20\"></path>\n</g>\n<g>\n<path d=\"M790.5 581h0\"></path>\n<path d=\"M1073.5 581h0\"></path>\n<path d=\"M790.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M810.5 561h243\"></path>\n</g>\n<path d=\"M1053.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M790.5 581h20\"></path>\n<g>\n<path d=\"M810.5 581h0\"></path>\n<path d=\"M1053.5 581h0\"></path>\n<g class=\"terminal\">\n<path d=\"M810.5 581h0\"></path>\n<path d=\"M890 581h0\"></path>\n<rect x=\"810.5\" y=\"570\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"850.25\" y=\"585\">\"TITLE\"</text>\n</g>\n<path d=\"M890 581h10\"></path>\n<g>\n<path d=\"M900 581h0\"></path>\n<path d=\"M1053.5 581h0\"></path>\n<path d=\"M900 581h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M920 581h0\"></path>\n<path d=\"M1033.5 581h0\"></path>\n<rect x=\"920\" y=\"570\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"976.75\" y=\"585\">InlineField</text>\n</a>\n</g>\n<path d=\"M1033.5 581h20\"></path>\n<path d=\"M900 581a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M920 611h0\"></path>\n<path d=\"M1033.5 611h0\"></path>\n<rect x=\"920\" y=\"600\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"976.75\" y=\"615\">TextElement</text>\n</a>\n</g>\n<path d=\"M1033.5 611a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1053.5 581h20\"></path>\n</g>\n<g>\n<path d=\"M1073.5 581h0\"></path>\n<path d=\"M1252.5 581h0\"></path>\n<path d=\"M1073.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1093.5 561h139\"></path>\n</g>\n<path d=\"M1232.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1073.5 581h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1093.5 581h0\"></path>\n<path d=\"M1232.5 581h0\"></path>\n<rect x=\"1093.5\" y=\"570\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1163\" y=\"585\">\"NO INTERVALS\"</text>\n</g>\n<path d=\"M1232.5 581h20\"></path>\n</g>\n</g>\n<path d=\"M1924 581a10 10 0 0 0 10 -10v-521a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v590a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 650h0\"></path>\n<path d=\"M1165.5 650h758.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 650h0\"></path>\n<path d=\"M561.5 650h0\"></path>\n<rect x=\"346\" y=\"639\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"453.75\" y=\"654\">\"BEGIN OF TABBED BLOCK\"</text>\n</g>\n<path d=\"M561.5 650h10\"></path>\n<path d=\"M571.5 650h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M581.5 650h0\"></path>\n<path d=\"M695 650h0\"></path>\n<rect x=\"581.5\" y=\"639\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"638.25\" y=\"654\">InlineField</text>\n</a>\n</g>\n<path d=\"M695 650h10\"></path>\n<path d=\"M705 650h10\"></path>\n<g class=\"terminal\">\n<path d=\"M715 650h0\"></path>\n<path d=\"M777.5 650h0\"></path>\n<rect x=\"715\" y=\"639\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"746.25\" y=\"654\">\"FOR\"</text>\n</g>\n<path d=\"M777.5 650h10\"></path>\n<path d=\"M787.5 650h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M797.5 650h0\"></path>\n<path d=\"M877 650h0\"></path>\n<rect x=\"797.5\" y=\"639\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"837.25\" y=\"654\">Integer</text>\n</a>\n</g>\n<path d=\"M877 650h10\"></path>\n<path d=\"M887 650h10\"></path>\n<g class=\"terminal\">\n<path d=\"M897 650h0\"></path>\n<path d=\"M976.5 650h0\"></path>\n<rect x=\"897\" y=\"639\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"936.75\" y=\"654\">\"LINES\"</text>\n</g>\n<path d=\"M976.5 650h10\"></path>\n<g>\n<path d=\"M986.5 650h0\"></path>\n<path d=\"M1165.5 650h0\"></path>\n<path d=\"M986.5 650a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1006.5 630h139\"></path>\n</g>\n<path d=\"M1145.5 630a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M986.5 650h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1006.5 650h0\"></path>\n<path d=\"M1145.5 650h0\"></path>\n<rect x=\"1006.5\" y=\"639\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1076\" y=\"654\">\"NO INTERVALS\"</text>\n</g>\n<path d=\"M1145.5 650h20\"></path>\n</g>\n</g>\n<path d=\"M1924 650a10 10 0 0 0 10 -10v-590a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v620a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 680h0\"></path>\n<path d=\"M601.5 680h1322.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 680h0\"></path>\n<path d=\"M485 680h0\"></path>\n<rect x=\"346\" y=\"669\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"415.5\" y=\"684\">\"END OF BLOCK\"</text>\n</g>\n<path d=\"M485 680h10\"></path>\n<path d=\"M495 680h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M505 680h0\"></path>\n<path d=\"M601.5 680h0\"></path>\n<rect x=\"505\" y=\"669\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/BlockName\"><text x=\"553.25\" y=\"684\">BlockName</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 680a10 10 0 0 0 10 -10v-620a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v650a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M346 710h0\"></path>\n<path d=\"M493.5 710h1430.5\"></path>\n<rect x=\"346\" y=\"699\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"419.75\" y=\"714\">\"BEGIN OF LINE\"</text>\n</g>\n<path d=\"M1924 710a10 10 0 0 0 10 -10v-650a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v680a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M346 740h0\"></path>\n<path d=\"M476.5 740h1447.5\"></path>\n<rect x=\"346\" y=\"729\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"411.25\" y=\"744\">\"END OF LINE\"</text>\n</g>\n<path d=\"M1924 740a10 10 0 0 0 10 -10v-680a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v710a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 770h0\"></path>\n<path d=\"M618.5 770h1305.5\"></path>\n<g class=\"terminal\">\n<path d=\"M346 770h0\"></path>\n<path d=\"M536 770h0\"></path>\n<rect x=\"346\" y=\"759\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"441\" y=\"774\">\"INCLUDE PARAMETERS\"</text>\n</g>\n<path d=\"M536 770h10\"></path>\n<path d=\"M546 770h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M556 770h0\"></path>\n<path d=\"M618.5 770h0\"></path>\n<rect x=\"556\" y=\"759\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"587.25\" y=\"774\">Field</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 770a10 10 0 0 0 10 -10v-710a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v749a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 809h0\"></path>\n<path d=\"M973 809h951\"></path>\n<g class=\"terminal\">\n<path d=\"M346 809h0\"></path>\n<path d=\"M510.5 809h0\"></path>\n<rect x=\"346\" y=\"798\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"428.25\" y=\"813\">\"BEGIN OF SCREEN\"</text>\n</g>\n<path d=\"M510.5 809h10\"></path>\n<path d=\"M520.5 809h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M530.5 809h0\"></path>\n<path d=\"M610 809h0\"></path>\n<rect x=\"530.5\" y=\"798\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"570.25\" y=\"813\">Integer</text>\n</a>\n</g>\n<path d=\"M610 809h10\"></path>\n<g>\n<path d=\"M620 809h0\"></path>\n<path d=\"M973 809h0\"></path>\n<path d=\"M620 809a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M640 789h313\"></path>\n</g>\n<path d=\"M953 789a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M620 809h20\"></path>\n<g>\n<path d=\"M640 809h0\"></path>\n<path d=\"M953 809h0\"></path>\n<path d=\"M670 809h10\"></path>\n<g>\n<path d=\"M680 809h0\"></path>\n<path d=\"M897.5 809h25.5\"></path>\n<g class=\"terminal\">\n<path d=\"M680 809h0\"></path>\n<path d=\"M734 809h0\"></path>\n<rect x=\"680\" y=\"798\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"707\" y=\"813\">\"AS\"</text>\n</g>\n<path d=\"M734 809h10\"></path>\n<g>\n<path d=\"M744 809h0\"></path>\n<path d=\"M897.5 809h0\"></path>\n<path d=\"M744 809h20\"></path>\n<g class=\"terminal\">\n<path d=\"M764 809h0\"></path>\n<path d=\"M852 809h25.5\"></path>\n<rect x=\"764\" y=\"798\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"808\" y=\"813\">\"WINDOW\"</text>\n</g>\n<path d=\"M877.5 809h20\"></path>\n<path d=\"M744 809a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M764 839h0\"></path>\n<path d=\"M877.5 839h0\"></path>\n<rect x=\"764\" y=\"828\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"820.75\" y=\"843\">\"SUBSCREEN\"</text>\n</g>\n<path d=\"M877.5 839a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M923 809h10\"></path>\n<path d=\"M670 809v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M680 869h0\"></path>\n<path d=\"M923 869h0\"></path>\n<g class=\"terminal\">\n<path d=\"M680 869h0\"></path>\n<path d=\"M759.5 869h0\"></path>\n<rect x=\"680\" y=\"858\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"719.75\" y=\"873\">\"TITLE\"</text>\n</g>\n<path d=\"M759.5 869h10\"></path>\n<g>\n<path d=\"M769.5 869h0\"></path>\n<path d=\"M923 869h0\"></path>\n<path d=\"M769.5 869h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M789.5 869h0\"></path>\n<path d=\"M903 869h0\"></path>\n<rect x=\"789.5\" y=\"858\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/InlineField\"><text x=\"846.25\" y=\"873\">InlineField</text>\n</a>\n</g>\n<path d=\"M903 869h20\"></path>\n<path d=\"M769.5 869a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M789.5 899h0\"></path>\n<path d=\"M903 899h0\"></path>\n<rect x=\"789.5\" y=\"888\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TextElement\"><text x=\"846.25\" y=\"903\">TextElement</text>\n</a>\n</g>\n<path d=\"M903 899a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M923 869a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M670 809v110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M680 929h0\"></path>\n<path d=\"M819 929h104\"></path>\n<rect x=\"680\" y=\"918\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"749.5\" y=\"933\">\"NO INTERVALS\"</text>\n</g>\n<path d=\"M923 929a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M670 809v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M680 959h0\"></path>\n<path d=\"M918.5 959h4.5\"></path>\n<g class=\"terminal\">\n<path d=\"M680 959h0\"></path>\n<path d=\"M827.5 959h0\"></path>\n<rect x=\"680\" y=\"948\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"753.75\" y=\"963\">\"NESTING LEVEL\"</text>\n</g>\n<path d=\"M827.5 959h10\"></path>\n<path d=\"M837.5 959h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M847.5 959h0\"></path>\n<path d=\"M918.5 959h0\"></path>\n<rect x=\"847.5\" y=\"948\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"883\" y=\"963\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M923 959a10 10 0 0 0 10 -10v-140\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 670 799 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"655\" y=\"813\" class=\"diagram-text\">1+</text>\n<path d=\"M 933 799 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 940 807 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M953 809h20\"></path>\n</g>\n</g>\n<path d=\"M1924 809a10 10 0 0 0 10 -10v-749a10 10 0 0 1 10 -10\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v929a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 989h0\"></path>\n<path d=\"M593 989h1331\"></path>\n<g class=\"terminal\">\n<path d=\"M346 989h0\"></path>\n<path d=\"M493.5 989h0\"></path>\n<rect x=\"346\" y=\"978\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"419.75\" y=\"993\">\"END OF SCREEN\"</text>\n</g>\n<path d=\"M493.5 989h10\"></path>\n<path d=\"M503.5 989h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M513.5 989h0\"></path>\n<path d=\"M593 989h0\"></path>\n<rect x=\"513.5\" y=\"978\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"553.25\" y=\"993\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M1924 989a10 10 0 0 0 10 -10v-929a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1944 40h10\"></path>\n<path d=\"M 1954 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "selection_screen.ts"
+    },
+    {
+      "name": "SetBit",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SET BIT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"647.5\" height=\"71\" viewBox=\"0 0 647.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M597.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"44\">\"SET BIT\"</text>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<path d=\"M156.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 40h0\"></path>\n<path d=\"M237.5 40h0\"></path>\n<rect x=\"166.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"202\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M237.5 40h10\"></path>\n<path d=\"M247.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M257.5 40h0\"></path>\n<path d=\"M311.5 40h0\"></path>\n<rect x=\"257.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.5\" y=\"44\">\"OF\"</text>\n</g>\n<path d=\"M311.5 40h10\"></path>\n<path d=\"M321.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M331.5 40h0\"></path>\n<path d=\"M402.5 40h0\"></path>\n<rect x=\"331.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"367\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M402.5 40h10\"></path>\n<g>\n<path d=\"M412.5 40h0\"></path>\n<path d=\"M597.5 40h0\"></path>\n<path d=\"M412.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M432.5 20h145\"></path>\n</g>\n<path d=\"M577.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M412.5 40h20\"></path>\n<g>\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M577.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M486.5 40h0\"></path>\n<rect x=\"432.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"459.5\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M486.5 40h10\"></path>\n<path d=\"M496.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M506.5 40h0\"></path>\n<path d=\"M577.5 40h0\"></path>\n<rect x=\"506.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"542\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M577.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M597.5 40h10\"></path>\n<path d=\"M 607.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_bit.ts"
+    },
+    {
+      "name": "SetBlank",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET BLANK LINES\"'),Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"470\" height=\"92\" viewBox=\"0 0 470 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M420 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M420 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"SET BLANK LINES\"</text>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<g>\n<path d=\"M317.5 31h0\"></path>\n<path d=\"M420 31h0\"></path>\n<path d=\"M317.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M337.5 31h0\"></path>\n<path d=\"M391.5 31h8.5\"></path>\n<rect x=\"337.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.5\" y=\"35\">\"ON\"</text>\n</g>\n<path d=\"M400 31h20\"></path>\n<path d=\"M317.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M337.5 61h0\"></path>\n<path d=\"M400 61h0\"></path>\n<rect x=\"337.5\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.75\" y=\"65\">\"OFF\"</text>\n</g>\n<path d=\"M400 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M420 31h10\"></path>\n<path d=\"M 430 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_blank.ts"
+    },
+    {
+      "name": "SetCountry",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET COUNTRY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"414.5\" height=\"62\" viewBox=\"0 0 414.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"SET COUNTRY\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<rect x=\"293.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M364.5 31h10\"></path>\n<path d=\"M 374.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_country.ts"
+    },
+    {
+      "name": "SetCursor",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET CURSOR\"'),Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"614\" height=\"152\" viewBox=\"0 0 614 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M564 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M564 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"35\">\"SET CURSOR\"</text>\n</g>\n<path d=\"M265 31h10\"></path>\n<g>\n<path d=\"M275 31h0\"></path>\n<path d=\"M564 31h0\"></path>\n<path d=\"M275 31h20\"></path>\n<g>\n<path d=\"M295 31h0\"></path>\n<path d=\"M544 31h0\"></path>\n<path d=\"M325 31h10\"></path>\n<g>\n<path d=\"M335 31h0\"></path>\n<path d=\"M505.5 31h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M335 31h0\"></path>\n<path d=\"M414.5 31h0\"></path>\n<rect x=\"335\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"35\">\"FIELD\"</text>\n</g>\n<path d=\"M414.5 31h10\"></path>\n<path d=\"M424.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M434.5 31h0\"></path>\n<path d=\"M505.5 31h0\"></path>\n<rect x=\"434.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"470\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M514 31h10\"></path>\n<path d=\"M325 31v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M335 61h0\"></path>\n<path d=\"M514 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M335 61h0\"></path>\n<path d=\"M423 61h0\"></path>\n<rect x=\"335\" y=\"50\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379\" y=\"65\">\"OFFSET\"</text>\n</g>\n<path d=\"M423 61h10\"></path>\n<path d=\"M433 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M443 61h0\"></path>\n<path d=\"M514 61h0\"></path>\n<rect x=\"443\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"478.5\" y=\"65\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M514 61a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M325 31v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M335 91h0\"></path>\n<path d=\"M497 91h17\"></path>\n<g class=\"terminal\">\n<path d=\"M335 91h0\"></path>\n<path d=\"M406 91h0\"></path>\n<rect x=\"335\" y=\"80\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"370.5\" y=\"95\">\"LINE\"</text>\n</g>\n<path d=\"M406 91h10\"></path>\n<path d=\"M416 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M426 91h0\"></path>\n<path d=\"M497 91h0\"></path>\n<rect x=\"426\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"461.5\" y=\"95\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M514 91a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 325 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"310\" y=\"35\" class=\"diagram-text\">1+</text>\n<path d=\"M 524 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 531 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M544 31h20\"></path>\n<path d=\"M275 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M295 121h0\"></path>\n<path d=\"M457 121h87\"></path>\n<g class=\"non-terminal\">\n<path d=\"M295 121h0\"></path>\n<path d=\"M366 121h0\"></path>\n<rect x=\"295\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"330.5\" y=\"125\">Source</text>\n</a>\n</g>\n<path d=\"M366 121h10\"></path>\n<path d=\"M376 121h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M386 121h0\"></path>\n<path d=\"M457 121h0\"></path>\n<rect x=\"386\" y=\"110\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"421.5\" y=\"125\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M544 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M564 31h10\"></path>\n<path d=\"M 574 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_cursor.ts"
+    },
+    {
+      "name": "SetDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"POSITION\"'),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"END OF FILE\"'))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"720\" height=\"92\" viewBox=\"0 0 720 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M670 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M670 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"SET DATASET\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<path d=\"M283.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M293.5 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<rect x=\"293.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"329\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M364.5 31h10\"></path>\n<path d=\"M374.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 31h0\"></path>\n<path d=\"M489.5 31h0\"></path>\n<rect x=\"384.5\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"437\" y=\"35\">\"POSITION\"</text>\n</g>\n<path d=\"M489.5 31h10\"></path>\n<g>\n<path d=\"M499.5 31h0\"></path>\n<path d=\"M670 31h0\"></path>\n<path d=\"M499.5 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M519.5 31h0\"></path>\n<path d=\"M590.5 31h59.5\"></path>\n<rect x=\"519.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"555\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M650 31h20\"></path>\n<path d=\"M499.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M519.5 61h0\"></path>\n<path d=\"M650 61h0\"></path>\n<rect x=\"519.5\" y=\"50\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"584.75\" y=\"65\">\"END OF FILE\"</text>\n</g>\n<path d=\"M650 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M670 31h10\"></path>\n<path d=\"M 680 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_dataset.ts"
+    },
+    {
+      "name": "SetExtendedCheck",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET EXTENDED CHECK\"'),Railroad.Choice(0, Railroad.Terminal('\"OFF\"'),Railroad.Terminal('\"ON\"'))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"495.5\" height=\"92\" viewBox=\"0 0 495.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M445.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M445.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M333 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"238\" y=\"35\">\"SET EXTENDED CHECK\"</text>\n</g>\n<path d=\"M333 31h10\"></path>\n<g>\n<path d=\"M343 31h0\"></path>\n<path d=\"M445.5 31h0\"></path>\n<path d=\"M343 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M363 31h0\"></path>\n<path d=\"M425.5 31h0\"></path>\n<rect x=\"363\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"394.25\" y=\"35\">\"OFF\"</text>\n</g>\n<path d=\"M425.5 31h20\"></path>\n<path d=\"M343 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M363 61h0\"></path>\n<path d=\"M417 61h8.5\"></path>\n<rect x=\"363\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"390\" y=\"65\">\"ON\"</text>\n</g>\n<path d=\"M425.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M445.5 31h10\"></path>\n<path d=\"M 455.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition",
+        "structure/Normal"
+      ],
+      "filename": "set_extended_check.ts"
+    },
+    {
+      "name": "SetHandler",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SET HANDLER\"'),Railroad.OneOrMore(Railroad.NonTerminal('MethodSource', {href: '#/expression/MethodSource'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FOR\"'),Railroad.Choice(0, Railroad.Terminal('\"ALL INSTANCES\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ACTIVATION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/MethodSource",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"955.5\" height=\"101\" viewBox=\"0 0 955.5 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M905.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"SET HANDLER\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<path d=\"M190.5 40h10\"></path>\n<g>\n<path d=\"M200.5 40h0\"></path>\n<path d=\"M342.5 40h0\"></path>\n<path d=\"M200.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M332.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/MethodSource\"><text x=\"271.5\" y=\"44\">MethodSource</text>\n</a>\n</g>\n<path d=\"M332.5 40h10\"></path>\n<path d=\"M210.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M210.5 60h122\"></path>\n</g>\n<path d=\"M332.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M342.5 40h10\"></path>\n<g>\n<path d=\"M352.5 40h0\"></path>\n<path d=\"M652.5 40h0\"></path>\n<path d=\"M352.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M372.5 20h260\"></path>\n</g>\n<path d=\"M632.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M352.5 40h20\"></path>\n<g>\n<path d=\"M372.5 40h0\"></path>\n<path d=\"M632.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M372.5 40h0\"></path>\n<path d=\"M435 40h0\"></path>\n<rect x=\"372.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"403.75\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M435 40h10\"></path>\n<g>\n<path d=\"M445 40h0\"></path>\n<path d=\"M632.5 40h0\"></path>\n<path d=\"M445 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M465 40h0\"></path>\n<path d=\"M612.5 40h0\"></path>\n<rect x=\"465\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"538.75\" y=\"44\">\"ALL INSTANCES\"</text>\n</g>\n<path d=\"M612.5 40h20\"></path>\n<path d=\"M445 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M465 70h0\"></path>\n<path d=\"M536 70h76.5\"></path>\n<rect x=\"465\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"500.5\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M612.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M632.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M652.5 40h0\"></path>\n<path d=\"M905.5 40h0\"></path>\n<path d=\"M652.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M672.5 20h213\"></path>\n</g>\n<path d=\"M885.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M652.5 40h20\"></path>\n<g>\n<path d=\"M672.5 40h0\"></path>\n<path d=\"M885.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M672.5 40h0\"></path>\n<path d=\"M794.5 40h0\"></path>\n<rect x=\"672.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"733.5\" y=\"44\">\"ACTIVATION\"</text>\n</g>\n<path d=\"M794.5 40h10\"></path>\n<path d=\"M804.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M814.5 40h0\"></path>\n<path d=\"M885.5 40h0\"></path>\n<rect x=\"814.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"850\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M885.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M905.5 40h10\"></path>\n<path d=\"M 915.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_handler.ts"
+    },
+    {
+      "name": "SetLanguage",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"423\" height=\"62\" viewBox=\"0 0 423 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M373 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M373 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M282 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"35\">\"SET LANGUAGE\"</text>\n</g>\n<path d=\"M282 31h10\"></path>\n<path d=\"M292 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 31h0\"></path>\n<path d=\"M373 31h0\"></path>\n<rect x=\"302\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"337.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M373 31h10\"></path>\n<path d=\"M 383 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_language.ts"
+    },
+    {
+      "name": "SetLeft",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET LEFT SCROLL-BOUNDARY\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"COLUMN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"663\" height=\"71\" viewBox=\"0 0 663 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M613 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M613 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M384 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"263.5\" y=\"44\">\"SET LEFT SCROLL-BOUNDARY\"</text>\n</g>\n<path d=\"M384 40h10\"></path>\n<g>\n<path d=\"M394 40h0\"></path>\n<path d=\"M613 40h0\"></path>\n<path d=\"M394 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M414 20h179\"></path>\n</g>\n<path d=\"M593 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M394 40h20\"></path>\n<g>\n<path d=\"M414 40h0\"></path>\n<path d=\"M593 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M414 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<rect x=\"414\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"458\" y=\"44\">\"COLUMN\"</text>\n</g>\n<path d=\"M502 40h10\"></path>\n<path d=\"M512 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522 40h0\"></path>\n<path d=\"M593 40h0\"></path>\n<rect x=\"522\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"557.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M593 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M613 40h10\"></path>\n<path d=\"M 623 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_left.ts"
+    },
+    {
+      "name": "SetLocale",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET LOCALE LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"COUNTRY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"MODIFIER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"956\" height=\"71\" viewBox=\"0 0 956 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M906 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M906 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M341.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"242.25\" y=\"44\">\"SET LOCALE LANGUAGE\"</text>\n</g>\n<path d=\"M341.5 40h10\"></path>\n<path d=\"M351.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M361.5 40h0\"></path>\n<path d=\"M432.5 40h0\"></path>\n<rect x=\"361.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"397\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M432.5 40h10\"></path>\n<g>\n<path d=\"M442.5 40h0\"></path>\n<path d=\"M670 40h0\"></path>\n<path d=\"M442.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M462.5 20h187.5\"></path>\n</g>\n<path d=\"M650 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M442.5 40h20\"></path>\n<g>\n<path d=\"M462.5 40h0\"></path>\n<path d=\"M650 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M462.5 40h0\"></path>\n<path d=\"M559 40h0\"></path>\n<rect x=\"462.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.75\" y=\"44\">\"COUNTRY\"</text>\n</g>\n<path d=\"M559 40h10\"></path>\n<path d=\"M569 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M579 40h0\"></path>\n<path d=\"M650 40h0\"></path>\n<rect x=\"579\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"614.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M650 40h20\"></path>\n</g>\n<g>\n<path d=\"M670 40h0\"></path>\n<path d=\"M906 40h0\"></path>\n<path d=\"M670 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M690 20h196\"></path>\n</g>\n<path d=\"M886 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M670 40h20\"></path>\n<g>\n<path d=\"M690 40h0\"></path>\n<path d=\"M886 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M690 40h0\"></path>\n<path d=\"M795 40h0\"></path>\n<rect x=\"690\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"742.5\" y=\"44\">\"MODIFIER\"</text>\n</g>\n<path d=\"M795 40h10\"></path>\n<path d=\"M805 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M815 40h0\"></path>\n<path d=\"M886 40h0\"></path>\n<rect x=\"815\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"850.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M886 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M906 40h10\"></path>\n<path d=\"M 916 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_locale.ts"
+    },
+    {
+      "name": "SetLocks",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v754\", {}), Railroad.Sequence(Railroad.Terminal('\"SET LOCKS OF\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"ENTITY\"'),Railroad.NonTerminal('SimpleName', {href: '#/expression/SimpleName'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FAILED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"REPORTED\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/SimpleName",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1252\" height=\"62\" viewBox=\"0 0 1252 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1202 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v754</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M1202 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M247 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"177.5\" y=\"35\">\"SET LOCKS OF\"</text>\n</g>\n<path d=\"M247 31h10\"></path>\n<path d=\"M257 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M267 31h0\"></path>\n<path d=\"M372 31h0\"></path>\n<rect x=\"267\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"319.5\" y=\"35\">SimpleName</text>\n</a>\n</g>\n<path d=\"M372 31h10\"></path>\n<path d=\"M382 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M392 31h0\"></path>\n<path d=\"M480 31h0\"></path>\n<rect x=\"392\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"436\" y=\"35\">\"ENTITY\"</text>\n</g>\n<path d=\"M480 31h10\"></path>\n<path d=\"M490 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M500 31h0\"></path>\n<path d=\"M605 31h0\"></path>\n<rect x=\"500\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SimpleName\"><text x=\"552.5\" y=\"35\">SimpleName</text>\n</a>\n</g>\n<path d=\"M605 31h10\"></path>\n<path d=\"M615 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M625 31h0\"></path>\n<path d=\"M696 31h0\"></path>\n<rect x=\"625\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"660.5\" y=\"35\">\"FROM\"</text>\n</g>\n<path d=\"M696 31h10\"></path>\n<path d=\"M706 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M716 31h0\"></path>\n<path d=\"M787 31h0\"></path>\n<rect x=\"716\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"751.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M787 31h10\"></path>\n<path d=\"M797 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M807 31h0\"></path>\n<path d=\"M895 31h0\"></path>\n<rect x=\"807\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"851\" y=\"35\">\"FAILED\"</text>\n</g>\n<path d=\"M895 31h10\"></path>\n<path d=\"M905 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M915 31h0\"></path>\n<path d=\"M986 31h0\"></path>\n<rect x=\"915\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"950.5\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M986 31h10\"></path>\n<path d=\"M996 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1006 31h0\"></path>\n<path d=\"M1111 31h0\"></path>\n<rect x=\"1006\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1058.5\" y=\"35\">\"REPORTED\"</text>\n</g>\n<path d=\"M1111 31h10\"></path>\n<path d=\"M1121 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1131 31h0\"></path>\n<path d=\"M1202 31h0\"></path>\n<rect x=\"1131\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1166.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M1202 31h10\"></path>\n<path d=\"M 1212 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_locks.ts"
+    },
+    {
+      "name": "SetMargin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET MARGIN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"527\" height=\"71\" viewBox=\"0 0 527 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M265 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"44\">\"SET MARGIN\"</text>\n</g>\n<path d=\"M265 40h10\"></path>\n<path d=\"M275 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M285 40h0\"></path>\n<path d=\"M356 40h0\"></path>\n<rect x=\"285\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"320.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M356 40h10\"></path>\n<g>\n<path d=\"M366 40h0\"></path>\n<path d=\"M477 40h0\"></path>\n<path d=\"M366 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M386 20h71\"></path>\n</g>\n<path d=\"M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M366 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M386 40h0\"></path>\n<path d=\"M457 40h0\"></path>\n<rect x=\"386\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"421.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M457 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M477 40h10\"></path>\n<path d=\"M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_margin.ts"
+    },
+    {
+      "name": "SetPFStatus",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET PF-STATUS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"OF PROGRAM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"IMMEDIATELY\"'),Railroad.Sequence(Railroad.Terminal('\"EXCLUDING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"764.5\" height=\"131\" viewBox=\"0 0 764.5 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M714.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M714.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.75\" y=\"44\">\"SET PF-STATUS\"</text>\n</g>\n<path d=\"M290.5 40h10\"></path>\n<path d=\"M300.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M381.5 40h0\"></path>\n<rect x=\"310.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"346\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M381.5 40h10\"></path>\n<g>\n<path d=\"M391.5 40h0\"></path>\n<path d=\"M714.5 40h0\"></path>\n<path d=\"M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M411.5 20h283\"></path>\n</g>\n<path d=\"M694.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M391.5 40h20\"></path>\n<g>\n<path d=\"M411.5 40h0\"></path>\n<path d=\"M694.5 40h0\"></path>\n<path d=\"M441.5 40h10\"></path>\n<g>\n<path d=\"M451.5 40h0\"></path>\n<path d=\"M664.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M451.5 40h0\"></path>\n<path d=\"M573.5 40h0\"></path>\n<rect x=\"451.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"512.5\" y=\"44\">\"OF PROGRAM\"</text>\n</g>\n<path d=\"M573.5 40h10\"></path>\n<path d=\"M583.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M593.5 40h0\"></path>\n<path d=\"M664.5 40h0\"></path>\n<rect x=\"593.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"629\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 40h10\"></path>\n<path d=\"M441.5 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M451.5 70h0\"></path>\n<path d=\"M582 70h82.5\"></path>\n<rect x=\"451.5\" y=\"59\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.75\" y=\"74\">\"IMMEDIATELY\"</text>\n</g>\n<path d=\"M664.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M441.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M451.5 100h0\"></path>\n<path d=\"M656 100h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M451.5 100h0\"></path>\n<path d=\"M565 100h0\"></path>\n<rect x=\"451.5\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"508.25\" y=\"104\">\"EXCLUDING\"</text>\n</g>\n<path d=\"M565 100h10\"></path>\n<path d=\"M575 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M585 100h0\"></path>\n<path d=\"M656 100h0\"></path>\n<rect x=\"585\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"620.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M664.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 441.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"426.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 674.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 681.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M694.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M714.5 40h10\"></path>\n<path d=\"M 724.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_pf_status.ts"
+    },
+    {
+      "name": "SetParameter",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET PARAMETER ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FIELD\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"647.5\" height=\"62\" viewBox=\"0 0 647.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"SET PARAMETER ID\"</text>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M326 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<rect x=\"336\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M407 31h10\"></path>\n<path d=\"M417 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M427 31h0\"></path>\n<path d=\"M506.5 31h0\"></path>\n<rect x=\"427\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"466.75\" y=\"35\">\"FIELD\"</text>\n</g>\n<path d=\"M506.5 31h10\"></path>\n<path d=\"M516.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M526.5 31h0\"></path>\n<path d=\"M597.5 31h0\"></path>\n<rect x=\"526.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"562\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M597.5 31h10\"></path>\n<path d=\"M 607.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_parameter.ts"
+    },
+    {
+      "name": "SetProperty",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET PROPERTY OF\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Choice(0, Railroad.NonTerminal('Constant', {href: '#/expression/Constant'}),Railroad.NonTerminal('Field', {href: '#/expression/Field'})),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"NO FLUSH\"')),Railroad.Optional(Railroad.NonTerminal('OLEExporting', {href: '#/expression/OLEExporting'}))))).toString();",
+      "using": [
+        "expression/Constant",
+        "expression/Field",
+        "expression/OLEExporting",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1050\" height=\"101\" viewBox=\"0 0 1050 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1000 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1000 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"44\">\"SET PROPERTY OF\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M398.5 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"363\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M398.5 40h10\"></path>\n<g>\n<path d=\"M408.5 40h0\"></path>\n<path d=\"M536.5 40h0\"></path>\n<path d=\"M408.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M428.5 40h0\"></path>\n<path d=\"M516.5 40h0\"></path>\n<rect x=\"428.5\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Constant\"><text x=\"472.5\" y=\"44\">Constant</text>\n</a>\n</g>\n<path d=\"M516.5 40h20\"></path>\n<path d=\"M408.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M428.5 70h0\"></path>\n<path d=\"M491 70h25.5\"></path>\n<rect x=\"428.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"459.75\" y=\"74\">Field</text>\n</a>\n</g>\n<path d=\"M516.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M536.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M546.5 40h0\"></path>\n<path d=\"M592 40h0\"></path>\n<rect x=\"546.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"569.25\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M592 40h10\"></path>\n<path d=\"M602 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M612 40h0\"></path>\n<path d=\"M683 40h0\"></path>\n<rect x=\"612\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"647.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M683 40h10\"></path>\n<g>\n<path d=\"M693 40h0\"></path>\n<path d=\"M838 40h0\"></path>\n<path d=\"M693 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M713 20h105\"></path>\n</g>\n<path d=\"M818 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M693 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M713 40h0\"></path>\n<path d=\"M818 40h0\"></path>\n<rect x=\"713\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"765.5\" y=\"44\">\"NO FLUSH\"</text>\n</g>\n<path d=\"M818 40h20\"></path>\n</g>\n<g>\n<path d=\"M838 40h0\"></path>\n<path d=\"M1000 40h0\"></path>\n<path d=\"M838 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M858 20h122\"></path>\n</g>\n<path d=\"M980 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M838 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M858 40h0\"></path>\n<path d=\"M980 40h0\"></path>\n<rect x=\"858\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/OLEExporting\"><text x=\"919\" y=\"44\">OLEExporting</text>\n</a>\n</g>\n<path d=\"M980 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1000 40h10\"></path>\n<path d=\"M 1010 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_property.ts"
+    },
+    {
+      "name": "SetRunTime",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET RUN TIME\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"CLOCK RESOLUTION\"'),Railroad.Choice(0, Railroad.Terminal('\"LOW\"'),Railroad.Terminal('\"HIGH\"'))),Railroad.Sequence(Railroad.Terminal('\"ANALYZER\"'),Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"'))))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"676\" height=\"152\" viewBox=\"0 0 676 152\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M626 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M626 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M282 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"35\">\"SET RUN TIME\"</text>\n</g>\n<path d=\"M282 31h10\"></path>\n<g>\n<path d=\"M292 31h0\"></path>\n<path d=\"M626 31h0\"></path>\n<path d=\"M292 31h20\"></path>\n<g>\n<path d=\"M312 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M312 31h0\"></path>\n<path d=\"M485 31h0\"></path>\n<rect x=\"312\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"398.5\" y=\"35\">\"CLOCK RESOLUTION\"</text>\n</g>\n<path d=\"M485 31h10\"></path>\n<g>\n<path d=\"M495 31h0\"></path>\n<path d=\"M606 31h0\"></path>\n<path d=\"M495 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M515 31h0\"></path>\n<path d=\"M577.5 31h8.5\"></path>\n<rect x=\"515\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"546.25\" y=\"35\">\"LOW\"</text>\n</g>\n<path d=\"M586 31h20\"></path>\n<path d=\"M495 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M515 61h0\"></path>\n<path d=\"M586 61h0\"></path>\n<rect x=\"515\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"550.5\" y=\"65\">\"HIGH\"</text>\n</g>\n<path d=\"M586 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M606 31h20\"></path>\n<path d=\"M292 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M312 91h0\"></path>\n<path d=\"M529.5 91h76.5\"></path>\n<g class=\"terminal\">\n<path d=\"M312 91h0\"></path>\n<path d=\"M417 91h0\"></path>\n<rect x=\"312\" y=\"80\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"364.5\" y=\"95\">\"ANALYZER\"</text>\n</g>\n<path d=\"M417 91h10\"></path>\n<g>\n<path d=\"M427 91h0\"></path>\n<path d=\"M529.5 91h0\"></path>\n<path d=\"M427 91h20\"></path>\n<g class=\"terminal\">\n<path d=\"M447 91h0\"></path>\n<path d=\"M501 91h8.5\"></path>\n<rect x=\"447\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"474\" y=\"95\">\"ON\"</text>\n</g>\n<path d=\"M509.5 91h20\"></path>\n<path d=\"M427 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M447 121h0\"></path>\n<path d=\"M509.5 121h0\"></path>\n<rect x=\"447\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"478.25\" y=\"125\">\"OFF\"</text>\n</g>\n<path d=\"M509.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M606 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M626 31h10\"></path>\n<path d=\"M 636 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_run_time.ts"
+    },
+    {
+      "name": "SetScreen",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"406\" height=\"62\" viewBox=\"0 0 406 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M356 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M356 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"35\">\"SET SCREEN\"</text>\n</g>\n<path d=\"M265 31h10\"></path>\n<path d=\"M275 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M285 31h0\"></path>\n<path d=\"M356 31h0\"></path>\n<rect x=\"285\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"320.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M356 31h10\"></path>\n<path d=\"M 366 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_screen.ts"
+    },
+    {
+      "name": "SetTitlebar",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET TITLEBAR\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OF PROGRAM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.OneOrMore(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"908\" height=\"80\" viewBox=\"0 0 908 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M858 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M858 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M282 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"212.5\" y=\"44\">\"SET TITLEBAR\"</text>\n</g>\n<path d=\"M282 40h10\"></path>\n<path d=\"M292 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M302 40h0\"></path>\n<path d=\"M373 40h0\"></path>\n<rect x=\"302\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"337.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M373 40h10\"></path>\n<g>\n<path d=\"M383 40h0\"></path>\n<path d=\"M636 40h0\"></path>\n<path d=\"M383 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M403 20h213\"></path>\n</g>\n<path d=\"M616 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M383 40h20\"></path>\n<g>\n<path d=\"M403 40h0\"></path>\n<path d=\"M616 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M403 40h0\"></path>\n<path d=\"M525 40h0\"></path>\n<rect x=\"403\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"464\" y=\"44\">\"OF PROGRAM\"</text>\n</g>\n<path d=\"M525 40h10\"></path>\n<path d=\"M535 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M545 40h0\"></path>\n<path d=\"M616 40h0\"></path>\n<rect x=\"545\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"580.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M616 40h20\"></path>\n</g>\n<g>\n<path d=\"M636 40h0\"></path>\n<path d=\"M858 40h0\"></path>\n<path d=\"M636 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M656 20h182\"></path>\n</g>\n<path d=\"M838 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M636 40h20\"></path>\n<g>\n<path d=\"M656 40h0\"></path>\n<path d=\"M838 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M656 40h0\"></path>\n<path d=\"M727 40h0\"></path>\n<rect x=\"656\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"691.5\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M727 40h10\"></path>\n<path d=\"M737 40h10\"></path>\n<g>\n<path d=\"M747 40h0\"></path>\n<path d=\"M838 40h0\"></path>\n<path d=\"M747 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M757 40h0\"></path>\n<path d=\"M828 40h0\"></path>\n<rect x=\"757\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"792.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M828 40h10\"></path>\n<path d=\"M757 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M757 60h71\"></path>\n</g>\n<path d=\"M828 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M838 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M858 40h10\"></path>\n<path d=\"M 868 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_titlebar.ts"
+    },
+    {
+      "name": "SetUpdateTask",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"SET UPDATE TASK LOCAL\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"408.5\" height=\"62\" viewBox=\"0 0 408.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M358.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M358.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.75\" y=\"35\">\"SET UPDATE TASK LOCAL\"</text>\n</g>\n</g>\n<path d=\"M358.5 31h10\"></path>\n<path d=\"M 368.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_update_task.ts"
+    },
+    {
+      "name": "SetUserCommand",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SET USER-COMMAND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"457\" height=\"62\" viewBox=\"0 0 457 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"SET USER-COMMAND\"</text>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M326 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<rect x=\"336\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M407 31h10\"></path>\n<path d=\"M 417 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "set_user_command.ts"
+    },
+    {
+      "name": "Shift",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SHIFT\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"DELETING\"'),Railroad.Choice(0, Railroad.Terminal('\"LEADING\"'),Railroad.Terminal('\"TRAILING\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"UP TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"CHARACTER\"'),Railroad.Terminal('\"BYTE\"')),Railroad.Terminal('\"MODE\"')),Railroad.Choice(0, Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"RIGHT\"')),Railroad.Sequence(Railroad.Terminal('\"BY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Terminal('\"PLACES\"'))),Railroad.Terminal('\"CIRCULAR\"'))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"731.5\" height=\"320\" viewBox=\"0 0 731.5 320\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M681.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"SHIFT\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"185\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M220.5 40h10\"></path>\n<g>\n<path d=\"M230.5 40h0\"></path>\n<path d=\"M681.5 40h0\"></path>\n<path d=\"M230.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M250.5 20h411\"></path>\n</g>\n<path d=\"M661.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M230.5 40h20\"></path>\n<g>\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M661.5 40h0\"></path>\n<path d=\"M280.5 40h10\"></path>\n<g>\n<path d=\"M290.5 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 40h0\"></path>\n<path d=\"M395.5 40h0\"></path>\n<rect x=\"290.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"343\" y=\"44\">\"DELETING\"</text>\n</g>\n<path d=\"M395.5 40h10\"></path>\n<g>\n<path d=\"M405.5 40h0\"></path>\n<path d=\"M550.5 40h0\"></path>\n<path d=\"M405.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M425.5 40h0\"></path>\n<path d=\"M522 40h8.5\"></path>\n<rect x=\"425.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"473.75\" y=\"44\">\"LEADING\"</text>\n</g>\n<path d=\"M530.5 40h20\"></path>\n<path d=\"M405.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M425.5 70h0\"></path>\n<path d=\"M530.5 70h0\"></path>\n<rect x=\"425.5\" y=\"59\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"478\" y=\"74\">\"TRAILING\"</text>\n</g>\n<path d=\"M530.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M550.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M631.5 40h0\"></path>\n<rect x=\"560.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"596\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M631.5 40h10\"></path>\n<path d=\"M280.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M290.5 100h0\"></path>\n<path d=\"M461 100h170.5\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 100h0\"></path>\n<path d=\"M370 100h0\"></path>\n<rect x=\"290.5\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.25\" y=\"104\">\"UP TO\"</text>\n</g>\n<path d=\"M370 100h10\"></path>\n<path d=\"M380 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M390 100h0\"></path>\n<path d=\"M461 100h0\"></path>\n<rect x=\"390\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"425.5\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M631.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M280.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M290.5 130h0\"></path>\n<path d=\"M589 130h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 130h0\"></path>\n<path d=\"M344.5 130h0\"></path>\n<rect x=\"290.5\" y=\"119\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"134\">\"IN\"</text>\n</g>\n<path d=\"M344.5 130h10\"></path>\n<g>\n<path d=\"M354.5 130h0\"></path>\n<path d=\"M508 130h0\"></path>\n<path d=\"M354.5 130h20\"></path>\n<g class=\"terminal\">\n<path d=\"M374.5 130h0\"></path>\n<path d=\"M488 130h0\"></path>\n<rect x=\"374.5\" y=\"119\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"431.25\" y=\"134\">\"CHARACTER\"</text>\n</g>\n<path d=\"M488 130h20\"></path>\n<path d=\"M354.5 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M374.5 160h0\"></path>\n<path d=\"M445.5 160h42.5\"></path>\n<rect x=\"374.5\" y=\"149\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"410\" y=\"164\">\"BYTE\"</text>\n</g>\n<path d=\"M488 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M508 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M518 130h0\"></path>\n<path d=\"M589 130h0\"></path>\n<rect x=\"518\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"553.5\" y=\"134\">\"MODE\"</text>\n</g>\n</g>\n<path d=\"M631.5 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M280.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M290.5 190h0\"></path>\n<path d=\"M410 190h221.5\"></path>\n<path d=\"M290.5 190h20\"></path>\n<g class=\"terminal\">\n<path d=\"M310.5 190h0\"></path>\n<path d=\"M381.5 190h8.5\"></path>\n<rect x=\"310.5\" y=\"179\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"346\" y=\"194\">\"LEFT\"</text>\n</g>\n<path d=\"M390 190h20\"></path>\n<path d=\"M290.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M310.5 220h0\"></path>\n<path d=\"M390 220h0\"></path>\n<rect x=\"310.5\" y=\"209\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"350.25\" y=\"224\">\"RIGHT\"</text>\n</g>\n<path d=\"M390 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M631.5 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M280.5 40v209a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M290.5 259h0\"></path>\n<path d=\"M573.5 259h58\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 259h0\"></path>\n<path d=\"M344.5 259h0\"></path>\n<rect x=\"290.5\" y=\"248\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.5\" y=\"263\">\"BY\"</text>\n</g>\n<path d=\"M344.5 259h10\"></path>\n<path d=\"M354.5 259h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M364.5 259h0\"></path>\n<path d=\"M435.5 259h0\"></path>\n<rect x=\"364.5\" y=\"248\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"400\" y=\"263\">Source</text>\n</a>\n</g>\n<path d=\"M435.5 259h10\"></path>\n<g>\n<path d=\"M445.5 259h0\"></path>\n<path d=\"M573.5 259h0\"></path>\n<path d=\"M445.5 259a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M465.5 239h88\"></path>\n</g>\n<path d=\"M553.5 239a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M445.5 259h20\"></path>\n<g class=\"terminal\">\n<path d=\"M465.5 259h0\"></path>\n<path d=\"M553.5 259h0\"></path>\n<rect x=\"465.5\" y=\"248\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"509.5\" y=\"263\">\"PLACES\"</text>\n</g>\n<path d=\"M553.5 259h20\"></path>\n</g>\n</g>\n<path d=\"M631.5 259a10 10 0 0 0 10 -10v-209\"></path>\n<path d=\"M280.5 40v239a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M290.5 289h0\"></path>\n<path d=\"M395.5 289h236\"></path>\n<rect x=\"290.5\" y=\"278\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"343\" y=\"293\">\"CIRCULAR\"</text>\n</g>\n<path d=\"M631.5 289a10 10 0 0 0 10 -10v-239\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 280.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"265.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 641.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 648.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M661.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M681.5 40h10\"></path>\n<path d=\"M 691.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "shift.ts"
+    },
+    {
+      "name": "Skip",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SKIP\"'),Railroad.Optional(Railroad.Terminal('\"TO LINE\"')),Railroad.Optional(Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"521.5\" height=\"71\" viewBox=\"0 0 521.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M471.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M471.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M214 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"44\">\"SKIP\"</text>\n</g>\n<path d=\"M214 40h10\"></path>\n<g>\n<path d=\"M224 40h0\"></path>\n<path d=\"M360.5 40h0\"></path>\n<path d=\"M224 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M244 20h96.5\"></path>\n</g>\n<path d=\"M340.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M224 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M244 40h0\"></path>\n<path d=\"M340.5 40h0\"></path>\n<rect x=\"244\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"292.25\" y=\"44\">\"TO LINE\"</text>\n</g>\n<path d=\"M340.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M360.5 40h0\"></path>\n<path d=\"M471.5 40h0\"></path>\n<path d=\"M360.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M380.5 20h71\"></path>\n</g>\n<path d=\"M451.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M360.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M380.5 40h0\"></path>\n<path d=\"M451.5 40h0\"></path>\n<rect x=\"380.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"416\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M451.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M471.5 40h10\"></path>\n<path d=\"M 481.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "skip.ts"
+    },
+    {
+      "name": "Sort",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SORT\"'),Railroad.Choice(0, Railroad.Terminal('\"AS TEXT\"'),Railroad.Sequence(Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Choice(0, Railroad.Terminal('\"ASCENDING\"'),Railroad.Terminal('\"DESCENDING\"')),Railroad.Sequence(Railroad.Terminal('\"BY\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('ComponentChain', {href: '#/expression/ComponentChain'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'})),Railroad.Optional(Railroad.Terminal('\"AS TEXT\"')),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ASCENDING\"'),Railroad.Terminal('\"DESCENDING\"'))),Railroad.Optional(Railroad.Terminal('\"AS TEXT\"'))))),Railroad.Terminal('\"STABLE\"'),Railroad.Terminal('\"AS TEXT\"'))))))).toString();",
+      "using": [
+        "expression/ComponentChain",
+        "expression/Dynamic",
+        "expression/SourceFieldSymbol",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1185.5\" height=\"298\" viewBox=\"0 0 1185.5 298\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1135.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M121 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"35\">\"SORT\"</text>\n</g>\n<path d=\"M121 31h10\"></path>\n<g>\n<path d=\"M131 31h0\"></path>\n<path d=\"M1135.5 31h0\"></path>\n<path d=\"M131 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M151 31h0\"></path>\n<path d=\"M247.5 31h868\"></path>\n<rect x=\"151\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"199.25\" y=\"35\">\"AS TEXT\"</text>\n</g>\n<path d=\"M1115.5 31h20\"></path>\n<path d=\"M131 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M151 70h0\"></path>\n<path d=\"M1115.5 70h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 70h0\"></path>\n<path d=\"M222 70h0\"></path>\n<rect x=\"151\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"186.5\" y=\"74\">Target</text>\n</a>\n</g>\n<path d=\"M222 70h10\"></path>\n<g>\n<path d=\"M232 70h0\"></path>\n<path d=\"M1115.5 70h0\"></path>\n<path d=\"M232 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M252 50h843.5\"></path>\n</g>\n<path d=\"M1095.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M232 70h20\"></path>\n<g>\n<path d=\"M252 70h0\"></path>\n<path d=\"M1095.5 70h0\"></path>\n<path d=\"M282 70h10\"></path>\n<g>\n<path d=\"M292 70h0\"></path>\n<path d=\"M454 70h611.5\"></path>\n<path d=\"M292 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M312 70h0\"></path>\n<path d=\"M425.5 70h8.5\"></path>\n<rect x=\"312\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.75\" y=\"74\">\"ASCENDING\"</text>\n</g>\n<path d=\"M434 70h20\"></path>\n<path d=\"M292 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M312 100h0\"></path>\n<path d=\"M434 100h0\"></path>\n<rect x=\"312\" y=\"89\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373\" y=\"104\">\"DESCENDING\"</text>\n</g>\n<path d=\"M434 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1065.5 70h10\"></path>\n<path d=\"M282 70v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M292 139h0\"></path>\n<path d=\"M1065.5 139h0\"></path>\n<g class=\"terminal\">\n<path d=\"M292 139h0\"></path>\n<path d=\"M346 139h0\"></path>\n<rect x=\"292\" y=\"128\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"319\" y=\"143\">\"BY\"</text>\n</g>\n<path d=\"M346 139h10\"></path>\n<path d=\"M356 139h10\"></path>\n<g>\n<path d=\"M366 139h0\"></path>\n<path d=\"M1065.5 139h0\"></path>\n<path d=\"M366 139h10\"></path>\n<g>\n<path d=\"M376 139h0\"></path>\n<path d=\"M1055.5 139h0\"></path>\n<g>\n<path d=\"M376 139h0\"></path>\n<path d=\"M580.5 139h0\"></path>\n<path d=\"M376 139h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M396 139h0\"></path>\n<path d=\"M535 139h25.5\"></path>\n<rect x=\"396\" y=\"128\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ComponentChain\"><text x=\"465.5\" y=\"143\">ComponentChain</text>\n</a>\n</g>\n<path d=\"M560.5 139h20\"></path>\n<path d=\"M376 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M396 169h0\"></path>\n<path d=\"M475.5 169h85\"></path>\n<rect x=\"396\" y=\"158\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"435.75\" y=\"173\">Dynamic</text>\n</a>\n</g>\n<path d=\"M560.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M376 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M396 199h0\"></path>\n<path d=\"M560.5 199h0\"></path>\n<rect x=\"396\" y=\"188\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"478.25\" y=\"203\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M560.5 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M580.5 139h0\"></path>\n<path d=\"M717 139h0\"></path>\n<path d=\"M580.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M600.5 119h96.5\"></path>\n</g>\n<path d=\"M697 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M580.5 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M600.5 139h0\"></path>\n<path d=\"M697 139h0\"></path>\n<rect x=\"600.5\" y=\"128\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"648.75\" y=\"143\">\"AS TEXT\"</text>\n</g>\n<path d=\"M697 139h20\"></path>\n</g>\n<g>\n<path d=\"M717 139h0\"></path>\n<path d=\"M919 139h0\"></path>\n<path d=\"M717 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M737 119h162\"></path>\n</g>\n<path d=\"M899 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M717 139h20\"></path>\n<g>\n<path d=\"M737 139h0\"></path>\n<path d=\"M899 139h0\"></path>\n<path d=\"M737 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M757 139h0\"></path>\n<path d=\"M870.5 139h8.5\"></path>\n<rect x=\"757\" y=\"128\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"813.75\" y=\"143\">\"ASCENDING\"</text>\n</g>\n<path d=\"M879 139h20\"></path>\n<path d=\"M737 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M757 169h0\"></path>\n<path d=\"M879 169h0\"></path>\n<rect x=\"757\" y=\"158\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"818\" y=\"173\">\"DESCENDING\"</text>\n</g>\n<path d=\"M879 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M899 139h20\"></path>\n</g>\n<g>\n<path d=\"M919 139h0\"></path>\n<path d=\"M1055.5 139h0\"></path>\n<path d=\"M919 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M939 119h96.5\"></path>\n</g>\n<path d=\"M1035.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M919 139h20\"></path>\n<g class=\"terminal\">\n<path d=\"M939 139h0\"></path>\n<path d=\"M1035.5 139h0\"></path>\n<rect x=\"939\" y=\"128\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"987.25\" y=\"143\">\"AS TEXT\"</text>\n</g>\n<path d=\"M1035.5 139h20\"></path>\n</g>\n</g>\n<path d=\"M1055.5 139h10\"></path>\n<path d=\"M376 139a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M376 218h679.5\"></path>\n</g>\n<path d=\"M1055.5 218a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M1065.5 139a10 10 0 0 0 10 -10v-59\"></path>\n<path d=\"M282 70v157a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M292 237h0\"></path>\n<path d=\"M380 237h685.5\"></path>\n<rect x=\"292\" y=\"226\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"336\" y=\"241\">\"STABLE\"</text>\n</g>\n<path d=\"M1065.5 237a10 10 0 0 0 10 -10v-157\"></path>\n<path d=\"M282 70v187a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M292 267h0\"></path>\n<path d=\"M388.5 267h677\"></path>\n<rect x=\"292\" y=\"256\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"340.25\" y=\"271\">\"AS TEXT\"</text>\n</g>\n<path d=\"M1065.5 267a10 10 0 0 0 10 -10v-187\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 282 60 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"267\" y=\"74\" class=\"diagram-text\">1+</text>\n<path d=\"M 1075.5 60 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1082.5 68 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1095.5 70h20\"></path>\n</g>\n</g>\n<path d=\"M1115.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1135.5 31h10\"></path>\n<path d=\"M 1145.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "sort.ts"
+    },
+    {
+      "name": "SortDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SORT\"'),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BY\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.NonTerminal('SourceFieldSymbol', {href: '#/expression/SourceFieldSymbol'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"ASCENDING\"'),Railroad.Terminal('\"DESCENDING\"')))))))))).toString();",
+      "using": [
+        "expression/Dynamic",
+        "expression/FieldSub",
+        "expression/SourceFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"814.5\" height=\"147\" viewBox=\"0 0 814.5 147\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M764.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M764.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M214 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"52\">\"SORT\"</text>\n</g>\n<path d=\"M214 48h10\"></path>\n<g>\n<path d=\"M224 48h0\"></path>\n<path d=\"M764.5 48h0\"></path>\n<path d=\"M224 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M244 20h500.5\"></path>\n</g>\n<path d=\"M744.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M224 48h20\"></path>\n<g>\n<path d=\"M244 48h0\"></path>\n<path d=\"M744.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M244 48h0\"></path>\n<path d=\"M298 48h0\"></path>\n<rect x=\"244\" y=\"37\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"271\" y=\"52\">\"BY\"</text>\n</g>\n<path d=\"M298 48h10\"></path>\n<path d=\"M308 48h10\"></path>\n<g>\n<path d=\"M318 48h0\"></path>\n<path d=\"M744.5 48h0\"></path>\n<path d=\"M318 48h10\"></path>\n<g>\n<path d=\"M328 48h0\"></path>\n<path d=\"M734.5 48h0\"></path>\n<g>\n<path d=\"M328 48h0\"></path>\n<path d=\"M532.5 48h0\"></path>\n<path d=\"M328 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348 48h0\"></path>\n<path d=\"M436 48h76.5\"></path>\n<rect x=\"348\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"392\" y=\"52\">FieldSub</text>\n</a>\n</g>\n<path d=\"M512.5 48h20\"></path>\n<path d=\"M328 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348 78h0\"></path>\n<path d=\"M512.5 78h0\"></path>\n<rect x=\"348\" y=\"67\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SourceFieldSymbol\"><text x=\"430.25\" y=\"82\">SourceFieldSymbol</text>\n</a>\n</g>\n<path d=\"M512.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M328 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M348 108h0\"></path>\n<path d=\"M427.5 108h85\"></path>\n<rect x=\"348\" y=\"97\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"387.75\" y=\"112\">Dynamic</text>\n</a>\n</g>\n<path d=\"M512.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M532.5 48h0\"></path>\n<path d=\"M734.5 48h0\"></path>\n<path d=\"M532.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M552.5 28h162\"></path>\n</g>\n<path d=\"M714.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M532.5 48h20\"></path>\n<g>\n<path d=\"M552.5 48h0\"></path>\n<path d=\"M714.5 48h0\"></path>\n<path d=\"M552.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M572.5 48h0\"></path>\n<path d=\"M686 48h8.5\"></path>\n<rect x=\"572.5\" y=\"37\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"629.25\" y=\"52\">\"ASCENDING\"</text>\n</g>\n<path d=\"M694.5 48h20\"></path>\n<path d=\"M552.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M572.5 78h0\"></path>\n<path d=\"M694.5 78h0\"></path>\n<rect x=\"572.5\" y=\"67\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633.5\" y=\"82\">\"DESCENDING\"</text>\n</g>\n<path d=\"M694.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M714.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M734.5 48h10\"></path>\n<path d=\"M328 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M328 127h406.5\"></path>\n</g>\n<path d=\"M734.5 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M744.5 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M764.5 48h10\"></path>\n<path d=\"M 774.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "sort_dataset.ts"
+    },
+    {
+      "name": "Split",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SPLIT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"INTO\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"CHARACTER\"'),Railroad.Terminal('\"BYTE\"')),Railroad.Terminal('\"MODE\"')))),Railroad.Sequence(Railroad.OneOrMore(Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"IN\"'),Railroad.Choice(0, Railroad.Terminal('\"CHARACTER\"'),Railroad.Terminal('\"BYTE\"')),Railroad.Terminal('\"MODE\"'))))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1095.5\" height=\"170\" viewBox=\"0 0 1095.5 170\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1045.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"SPLIT\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"185\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M220.5 40h10\"></path>\n<path d=\"M230.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M294.5 40h0\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"267.5\" y=\"44\">\"AT\"</text>\n</g>\n<path d=\"M294.5 40h10\"></path>\n<path d=\"M304.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M314.5 40h0\"></path>\n<path d=\"M385.5 40h0\"></path>\n<rect x=\"314.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"350\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M385.5 40h10\"></path>\n<path d=\"M395.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M405.5 40h0\"></path>\n<path d=\"M476.5 40h0\"></path>\n<rect x=\"405.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"441\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M476.5 40h10\"></path>\n<g>\n<path d=\"M486.5 40h0\"></path>\n<path d=\"M1045.5 40h0\"></path>\n<path d=\"M486.5 40h20\"></path>\n<g>\n<path d=\"M506.5 40h0\"></path>\n<path d=\"M1025.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M506.5 40h0\"></path>\n<path d=\"M586 40h0\"></path>\n<rect x=\"506.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"546.25\" y=\"44\">\"TABLE\"</text>\n</g>\n<path d=\"M586 40h10\"></path>\n<path d=\"M596 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M606 40h0\"></path>\n<path d=\"M677 40h0\"></path>\n<rect x=\"606\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"641.5\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M677 40h10\"></path>\n<g>\n<path d=\"M687 40h0\"></path>\n<path d=\"M1025.5 40h0\"></path>\n<path d=\"M687 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M707 20h298.5\"></path>\n</g>\n<path d=\"M1005.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M687 40h20\"></path>\n<g>\n<path d=\"M707 40h0\"></path>\n<path d=\"M1005.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M707 40h0\"></path>\n<path d=\"M761 40h0\"></path>\n<rect x=\"707\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"734\" y=\"44\">\"IN\"</text>\n</g>\n<path d=\"M761 40h10\"></path>\n<g>\n<path d=\"M771 40h0\"></path>\n<path d=\"M924.5 40h0\"></path>\n<path d=\"M771 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M791 40h0\"></path>\n<path d=\"M904.5 40h0\"></path>\n<rect x=\"791\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"847.75\" y=\"44\">\"CHARACTER\"</text>\n</g>\n<path d=\"M904.5 40h20\"></path>\n<path d=\"M771 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M791 70h0\"></path>\n<path d=\"M862 70h42.5\"></path>\n<rect x=\"791\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"826.5\" y=\"74\">\"BYTE\"</text>\n</g>\n<path d=\"M904.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M924.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M934.5 40h0\"></path>\n<path d=\"M1005.5 40h0\"></path>\n<rect x=\"934.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"970\" y=\"44\">\"MODE\"</text>\n</g>\n</g>\n<path d=\"M1005.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1025.5 40h20\"></path>\n<path d=\"M486.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M506.5 109h0\"></path>\n<path d=\"M946 109h79.5\"></path>\n<g>\n<path d=\"M506.5 109h0\"></path>\n<path d=\"M597.5 109h0\"></path>\n<path d=\"M506.5 109h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M516.5 109h0\"></path>\n<path d=\"M587.5 109h0\"></path>\n<rect x=\"516.5\" y=\"98\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"552\" y=\"113\">Target</text>\n</a>\n</g>\n<path d=\"M587.5 109h10\"></path>\n<path d=\"M516.5 109a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M516.5 129h71\"></path>\n</g>\n<path d=\"M587.5 129a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M597.5 109h10\"></path>\n<g>\n<path d=\"M607.5 109h0\"></path>\n<path d=\"M946 109h0\"></path>\n<path d=\"M607.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M627.5 89h298.5\"></path>\n</g>\n<path d=\"M926 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M607.5 109h20\"></path>\n<g>\n<path d=\"M627.5 109h0\"></path>\n<path d=\"M926 109h0\"></path>\n<g class=\"terminal\">\n<path d=\"M627.5 109h0\"></path>\n<path d=\"M681.5 109h0\"></path>\n<rect x=\"627.5\" y=\"98\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"654.5\" y=\"113\">\"IN\"</text>\n</g>\n<path d=\"M681.5 109h10\"></path>\n<g>\n<path d=\"M691.5 109h0\"></path>\n<path d=\"M845 109h0\"></path>\n<path d=\"M691.5 109h20\"></path>\n<g class=\"terminal\">\n<path d=\"M711.5 109h0\"></path>\n<path d=\"M825 109h0\"></path>\n<rect x=\"711.5\" y=\"98\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"768.25\" y=\"113\">\"CHARACTER\"</text>\n</g>\n<path d=\"M825 109h20\"></path>\n<path d=\"M691.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M711.5 139h0\"></path>\n<path d=\"M782.5 139h42.5\"></path>\n<rect x=\"711.5\" y=\"128\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"747\" y=\"143\">\"BYTE\"</text>\n</g>\n<path d=\"M825 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M845 109h10\"></path>\n<g class=\"terminal\">\n<path d=\"M855 109h0\"></path>\n<path d=\"M926 109h0\"></path>\n<rect x=\"855\" y=\"98\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"890.5\" y=\"113\">\"MODE\"</text>\n</g>\n</g>\n<path d=\"M926 109h20\"></path>\n</g>\n</g>\n<path d=\"M1025.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1045.5 40h10\"></path>\n<path d=\"M 1055.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "split.ts"
+    },
+    {
+      "name": "StartOfSelection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"START-OF-SELECTION\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"383\" height=\"62\" viewBox=\"0 0 383 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M333 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M333 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"238\" y=\"35\">\"START-OF-SELECTION\"</text>\n</g>\n</g>\n<path d=\"M333 31h10\"></path>\n<path d=\"M 343 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "start_of_selection.ts"
+    },
+    {
+      "name": "Static",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STATIC\"'),Railroad.Terminal('\"STATICS\"')),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('ConstantFieldLength', {href: '#/expression/ConstantFieldLength'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('Type', {href: '#/expression/Type'}),Railroad.NonTerminal('Value', {href: '#/expression/Value'}),Railroad.NonTerminal('Length', {href: '#/expression/Length'}),Railroad.NonTerminal('Decimals', {href: '#/expression/Decimals'})))),Railroad.NonTerminal('TypeTable', {href: '#/expression/TypeTable'})))).toString();",
+      "using": [
+        "expression/ConstantFieldLength",
+        "expression/Decimals",
+        "expression/DefinitionName",
+        "expression/Length",
+        "expression/Type",
+        "expression/TypeTable",
+        "expression/Value"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"855\" height=\"191\" viewBox=\"0 0 855 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M805 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h8.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"44\">\"STATIC\"</text>\n</g>\n<path d=\"M166.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M166.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"118.25\" y=\"74\">\"STATICS\"</text>\n</g>\n<path d=\"M166.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M186.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M196.5 40h0\"></path>\n<path d=\"M335.5 40h0\"></path>\n<rect x=\"196.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"266\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M335.5 40h10\"></path>\n<g>\n<path d=\"M345.5 40h0\"></path>\n<path d=\"M805 40h0\"></path>\n<path d=\"M345.5 40h20\"></path>\n<g>\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M785 40h0\"></path>\n<g>\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M587 40h0\"></path>\n<path d=\"M365.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M385.5 20h181.5\"></path>\n</g>\n<path d=\"M567 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M365.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M385.5 40h0\"></path>\n<path d=\"M567 40h0\"></path>\n<rect x=\"385.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantFieldLength\"><text x=\"476.25\" y=\"44\">ConstantFieldLength</text>\n</a>\n</g>\n<path d=\"M567 40h20\"></path>\n</g>\n<g>\n<path d=\"M587 40h0\"></path>\n<path d=\"M785 40h0\"></path>\n<path d=\"M587 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M607 20h158\"></path>\n</g>\n<path d=\"M765 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M587 40h20\"></path>\n<g>\n<path d=\"M607 40h0\"></path>\n<path d=\"M765 40h0\"></path>\n<path d=\"M637 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647 40h0\"></path>\n<path d=\"M701 40h34\"></path>\n<rect x=\"647\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Type\"><text x=\"674\" y=\"44\">Type</text>\n</a>\n</g>\n<path d=\"M735 40h10\"></path>\n<path d=\"M637 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647 70h0\"></path>\n<path d=\"M709.5 70h25.5\"></path>\n<rect x=\"647\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Value\"><text x=\"678.25\" y=\"74\">Value</text>\n</a>\n</g>\n<path d=\"M735 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M637 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647 100h0\"></path>\n<path d=\"M718 100h17\"></path>\n<rect x=\"647\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Length\"><text x=\"682.5\" y=\"104\">Length</text>\n</a>\n</g>\n<path d=\"M735 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M637 40v80a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647 130h0\"></path>\n<path d=\"M735 130h0\"></path>\n<rect x=\"647\" y=\"119\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Decimals\"><text x=\"691\" y=\"134\">Decimals</text>\n</a>\n</g>\n<path d=\"M735 130a10 10 0 0 0 10 -10v-80\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 637 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"622\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 745 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 752 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M765 40h20\"></path>\n</g>\n</g>\n<path d=\"M785 40h20\"></path>\n<path d=\"M345.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M365.5 160h0\"></path>\n<path d=\"M462 160h323\"></path>\n<rect x=\"365.5\" y=\"149\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTable\"><text x=\"413.75\" y=\"164\">TypeTable</text>\n</a>\n</g>\n<path d=\"M785 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M805 40h10\"></path>\n<path d=\"M 815 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal",
+        "structure/Statics"
+      ],
+      "filename": "static.ts"
+    },
+    {
+      "name": "StaticBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STATIC\"'),Railroad.Terminal('\"STATICS\"')),Railroad.Terminal('\"BEGIN OF\"'),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"OCCURS\"'),Railroad.NonTerminal('Integer', {href: '#/expression/Integer'}))))).toString();",
+      "using": [
+        "expression/DefinitionName",
+        "expression/Integer"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"748\" height=\"101\" viewBox=\"0 0 748 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M698 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h8.5\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"44\">\"STATIC\"</text>\n</g>\n<path d=\"M166.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M166.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"118.25\" y=\"74\">\"STATICS\"</text>\n</g>\n<path d=\"M166.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M186.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 40h0\"></path>\n<path d=\"M301.5 40h0\"></path>\n<rect x=\"196.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249\" y=\"44\">\"BEGIN OF\"</text>\n</g>\n<path d=\"M301.5 40h10\"></path>\n<path d=\"M311.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M460.5 40h0\"></path>\n<rect x=\"321.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"391\" y=\"44\">DefinitionName</text>\n</a>\n</g>\n<path d=\"M460.5 40h10\"></path>\n<g>\n<path d=\"M470.5 40h0\"></path>\n<path d=\"M698 40h0\"></path>\n<path d=\"M470.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M490.5 20h187.5\"></path>\n</g>\n<path d=\"M678 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M470.5 40h20\"></path>\n<g>\n<path d=\"M490.5 40h0\"></path>\n<path d=\"M678 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M490.5 40h0\"></path>\n<path d=\"M578.5 40h0\"></path>\n<rect x=\"490.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"534.5\" y=\"44\">\"OCCURS\"</text>\n</g>\n<path d=\"M578.5 40h10\"></path>\n<path d=\"M588.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M598.5 40h0\"></path>\n<path d=\"M678 40h0\"></path>\n<rect x=\"598.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Integer\"><text x=\"638.25\" y=\"44\">Integer</text>\n</a>\n</g>\n</g>\n<path d=\"M678 40h20\"></path>\n</g>\n</g>\n<path d=\"M698 40h10\"></path>\n<path d=\"M 708 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Statics"
+      ],
+      "filename": "static_begin.ts"
+    },
+    {
+      "name": "StaticEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"STATIC\"'),Railroad.Terminal('\"STATICS\"')),Railroad.Terminal('\"END OF\"'),Railroad.NonTerminal('DefinitionName', {href: '#/expression/DefinitionName'}))).toString();",
+      "using": [
+        "expression/DefinitionName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"493.5\" height=\"92\" viewBox=\"0 0 493.5 92\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M443.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M186.5 31h0\"></path>\n<path d=\"M50 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 31h0\"></path>\n<path d=\"M158 31h8.5\"></path>\n<rect x=\"70\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"114\" y=\"35\">\"STATIC\"</text>\n</g>\n<path d=\"M166.5 31h20\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 61h0\"></path>\n<path d=\"M166.5 61h0\"></path>\n<rect x=\"70\" y=\"50\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"118.25\" y=\"65\">\"STATICS\"</text>\n</g>\n<path d=\"M166.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M186.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M196.5 31h0\"></path>\n<path d=\"M284.5 31h0\"></path>\n<rect x=\"196.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"240.5\" y=\"35\">\"END OF\"</text>\n</g>\n<path d=\"M284.5 31h10\"></path>\n<path d=\"M294.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M304.5 31h0\"></path>\n<path d=\"M443.5 31h0\"></path>\n<rect x=\"304.5\" y=\"20\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DefinitionName\"><text x=\"374\" y=\"35\">DefinitionName</text>\n</a>\n</g>\n</g>\n<path d=\"M443.5 31h10\"></path>\n<path d=\"M 453.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Statics"
+      ],
+      "filename": "static_end.ts"
+    },
+    {
+      "name": "Stop",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"STOP\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"264\" height=\"62\" viewBox=\"0 0 264 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M214 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.5\" y=\"35\">\"STOP\"</text>\n</g>\n</g>\n<path d=\"M214 31h10\"></path>\n<path d=\"M 224 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "stop.ts"
+    },
+    {
+      "name": "Submit",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SUBMIT\"'),Railroad.Choice(0, Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Terminal('\"EQ\"'),Railroad.Terminal('\"IN\"'),Railroad.Terminal('\"NE\"'),Railroad.Terminal('\"CP\"'),Railroad.Terminal('\"GE\"'),Railroad.Terminal('\"LE\"'),Railroad.Terminal('\"INCL\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"BETWEEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"SIGN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))),Railroad.Sequence(Railroad.Terminal('\"WITH SELECTION-TABLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"SPOOL PARAMETERS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE-SIZE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LINE-COUNT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ARCHIVE PARAMETERS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING SELECTION-SET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING SELECTION-SETS OF PROGRAM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"KEEP IN SPOOL\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"SAP COVER PAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"IMMEDIATELY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LAYOUT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DESTINATION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"LANGUAGE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"WITH FREE SELECTIONS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"NEW LIST IDENTIFICATION\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"USING SELECTION-SCREEN\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"TO SAP-SPOOL\"'),Railroad.Terminal('\"WITHOUT SPOOL DYNPRO\"'),Railroad.Terminal('\"VIA SELECTION-SCREEN\"'),Railroad.Terminal('\"EXPORTING LIST TO MEMORY\"'),Railroad.NonTerminal('AndReturn', {href: '#/expression/AndReturn'}),Railroad.Sequence(Railroad.Terminal('\"VIA JOB\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"NUMBER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))))).toString();",
+      "using": [
+        "expression/AndReturn",
+        "expression/Dynamic",
+        "expression/FieldSub",
+        "expression/NamespaceSimpleName",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1434.5\" height=\"1017\" viewBox=\"0 0 1434.5 1017\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1384.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M123 48h0\"></path>\n<text x=\"86.5\" y=\"53\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 48h10\"></path>\n<path d=\"M133 48h10\"></path>\n<g>\n<path d=\"M143 48h0\"></path>\n<path d=\"M1384.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 48h0\"></path>\n<path d=\"M231 48h0\"></path>\n<rect x=\"143\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"52\">\"SUBMIT\"</text>\n</g>\n<path d=\"M231 48h10\"></path>\n<g>\n<path d=\"M241 48h0\"></path>\n<path d=\"M462.5 48h0\"></path>\n<path d=\"M241 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 48h0\"></path>\n<path d=\"M442.5 48h0\"></path>\n<rect x=\"261\" y=\"37\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"351.75\" y=\"52\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M442.5 48h20\"></path>\n<path d=\"M241 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 78h0\"></path>\n<path d=\"M340.5 78h102\"></path>\n<rect x=\"261\" y=\"67\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"300.75\" y=\"82\">Dynamic</text>\n</a>\n</g>\n<path d=\"M442.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M462.5 48h0\"></path>\n<path d=\"M1384.5 48h0\"></path>\n<path d=\"M462.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M482.5 20h882\"></path>\n</g>\n<path d=\"M1364.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M462.5 48h20\"></path>\n<g>\n<path d=\"M482.5 48h0\"></path>\n<path d=\"M1364.5 48h0\"></path>\n<path d=\"M512.5 48h10\"></path>\n<g>\n<path d=\"M522.5 48h0\"></path>\n<path d=\"M1334.5 48h0\"></path>\n<path d=\"M522.5 48h10\"></path>\n<g>\n<path d=\"M532.5 48h0\"></path>\n<path d=\"M1324.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M532.5 48h0\"></path>\n<path d=\"M603.5 48h0\"></path>\n<rect x=\"532.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"568\" y=\"52\">\"WITH\"</text>\n</g>\n<path d=\"M603.5 48h10\"></path>\n<path d=\"M613.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M623.5 48h0\"></path>\n<path d=\"M711.5 48h0\"></path>\n<rect x=\"623.5\" y=\"37\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"667.5\" y=\"52\">FieldSub</text>\n</a>\n</g>\n<path d=\"M711.5 48h10\"></path>\n<g>\n<path d=\"M721.5 48h0\"></path>\n<path d=\"M1122.5 48h0\"></path>\n<path d=\"M721.5 48h20\"></path>\n<g>\n<path d=\"M741.5 48h0\"></path>\n<path d=\"M933.5 48h169\"></path>\n<g>\n<path d=\"M741.5 48h0\"></path>\n<path d=\"M852.5 48h0\"></path>\n<path d=\"M741.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 48h0\"></path>\n<path d=\"M807 48h25.5\"></path>\n<rect x=\"761.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"784.25\" y=\"52\">\"=\"</text>\n</g>\n<path d=\"M832.5 48h20\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 78h0\"></path>\n<path d=\"M815.5 78h17\"></path>\n<rect x=\"761.5\" y=\"67\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"82\">\"EQ\"</text>\n</g>\n<path d=\"M832.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 108h0\"></path>\n<path d=\"M815.5 108h17\"></path>\n<rect x=\"761.5\" y=\"97\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"112\">\"IN\"</text>\n</g>\n<path d=\"M832.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 138h0\"></path>\n<path d=\"M815.5 138h17\"></path>\n<rect x=\"761.5\" y=\"127\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"142\">\"NE\"</text>\n</g>\n<path d=\"M832.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 168h0\"></path>\n<path d=\"M815.5 168h17\"></path>\n<rect x=\"761.5\" y=\"157\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"172\">\"CP\"</text>\n</g>\n<path d=\"M832.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 198h0\"></path>\n<path d=\"M815.5 198h17\"></path>\n<rect x=\"761.5\" y=\"187\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"202\">\"GE\"</text>\n</g>\n<path d=\"M832.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 228h0\"></path>\n<path d=\"M815.5 228h17\"></path>\n<rect x=\"761.5\" y=\"217\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.5\" y=\"232\">\"LE\"</text>\n</g>\n<path d=\"M832.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M741.5 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M761.5 258h0\"></path>\n<path d=\"M832.5 258h0\"></path>\n<rect x=\"761.5\" y=\"247\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"797\" y=\"262\">\"INCL\"</text>\n</g>\n<path d=\"M832.5 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M852.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M862.5 48h0\"></path>\n<path d=\"M933.5 48h0\"></path>\n<rect x=\"862.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"898\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1102.5 48h20\"></path>\n<path d=\"M721.5 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M741.5 288h0\"></path>\n<path d=\"M1102.5 288h0\"></path>\n<g class=\"terminal\">\n<path d=\"M741.5 288h0\"></path>\n<path d=\"M838 288h0\"></path>\n<rect x=\"741.5\" y=\"277\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"789.75\" y=\"292\">\"BETWEEN\"</text>\n</g>\n<path d=\"M838 288h10\"></path>\n<path d=\"M848 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M858 288h0\"></path>\n<path d=\"M929 288h0\"></path>\n<rect x=\"858\" y=\"277\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"893.5\" y=\"292\">Source</text>\n</a>\n</g>\n<path d=\"M929 288h10\"></path>\n<path d=\"M939 288h10\"></path>\n<g class=\"terminal\">\n<path d=\"M949 288h0\"></path>\n<path d=\"M1011.5 288h0\"></path>\n<rect x=\"949\" y=\"277\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"980.25\" y=\"292\">\"AND\"</text>\n</g>\n<path d=\"M1011.5 288h10\"></path>\n<path d=\"M1021.5 288h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1031.5 288h0\"></path>\n<path d=\"M1102.5 288h0\"></path>\n<rect x=\"1031.5\" y=\"277\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1067\" y=\"292\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1102.5 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1122.5 48h0\"></path>\n<path d=\"M1324.5 48h0\"></path>\n<path d=\"M1122.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1142.5 28h162\"></path>\n</g>\n<path d=\"M1304.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1122.5 48h20\"></path>\n<g>\n<path d=\"M1142.5 48h0\"></path>\n<path d=\"M1304.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1142.5 48h0\"></path>\n<path d=\"M1213.5 48h0\"></path>\n<rect x=\"1142.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1178\" y=\"52\">\"SIGN\"</text>\n</g>\n<path d=\"M1213.5 48h10\"></path>\n<path d=\"M1223.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1233.5 48h0\"></path>\n<path d=\"M1304.5 48h0\"></path>\n<rect x=\"1233.5\" y=\"37\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"1269\" y=\"52\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1304.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1324.5 48h10\"></path>\n<path d=\"M532.5 48a10 10 0 0 0 -10 10v239a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M532.5 307h792\"></path>\n</g>\n<path d=\"M1324.5 307a10 10 0 0 0 10 -10v-239a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1334.5 48h10\"></path>\n<path d=\"M512.5 48v268a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 326h0\"></path>\n<path d=\"M820.5 326h514\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 326h0\"></path>\n<path d=\"M729.5 326h0\"></path>\n<rect x=\"522.5\" y=\"315\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626\" y=\"330\">\"WITH SELECTION-TABLE\"</text>\n</g>\n<path d=\"M729.5 326h10\"></path>\n<path d=\"M739.5 326h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M749.5 326h0\"></path>\n<path d=\"M820.5 326h0\"></path>\n<rect x=\"749.5\" y=\"315\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"785\" y=\"330\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 326a10 10 0 0 0 10 -10v-268\"></path>\n<path d=\"M512.5 48v298a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 356h0\"></path>\n<path d=\"M786.5 356h548\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 356h0\"></path>\n<path d=\"M695.5 356h0\"></path>\n<rect x=\"522.5\" y=\"345\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"609\" y=\"360\">\"SPOOL PARAMETERS\"</text>\n</g>\n<path d=\"M695.5 356h10\"></path>\n<path d=\"M705.5 356h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M715.5 356h0\"></path>\n<path d=\"M786.5 356h0\"></path>\n<rect x=\"715.5\" y=\"345\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"751\" y=\"360\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 356a10 10 0 0 0 10 -10v-298\"></path>\n<path d=\"M512.5 48v328a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 386h0\"></path>\n<path d=\"M727 386h607.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 386h0\"></path>\n<path d=\"M636 386h0\"></path>\n<rect x=\"522.5\" y=\"375\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"579.25\" y=\"390\">\"LINE-SIZE\"</text>\n</g>\n<path d=\"M636 386h10\"></path>\n<path d=\"M646 386h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M656 386h0\"></path>\n<path d=\"M727 386h0\"></path>\n<rect x=\"656\" y=\"375\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"691.5\" y=\"390\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 386a10 10 0 0 0 10 -10v-328\"></path>\n<path d=\"M512.5 48v358a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 416h0\"></path>\n<path d=\"M735.5 416h599\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 416h0\"></path>\n<path d=\"M644.5 416h0\"></path>\n<rect x=\"522.5\" y=\"405\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"583.5\" y=\"420\">\"LINE-COUNT\"</text>\n</g>\n<path d=\"M644.5 416h10\"></path>\n<path d=\"M654.5 416h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M664.5 416h0\"></path>\n<path d=\"M735.5 416h0\"></path>\n<rect x=\"664.5\" y=\"405\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"700\" y=\"420\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 416a10 10 0 0 0 10 -10v-358\"></path>\n<path d=\"M512.5 48v388a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 446h0\"></path>\n<path d=\"M803.5 446h531\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 446h0\"></path>\n<path d=\"M712.5 446h0\"></path>\n<rect x=\"522.5\" y=\"435\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"617.5\" y=\"450\">\"ARCHIVE PARAMETERS\"</text>\n</g>\n<path d=\"M712.5 446h10\"></path>\n<path d=\"M722.5 446h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M732.5 446h0\"></path>\n<path d=\"M803.5 446h0\"></path>\n<rect x=\"732.5\" y=\"435\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"768\" y=\"450\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 446a10 10 0 0 0 10 -10v-388\"></path>\n<path d=\"M512.5 48v418a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 476h0\"></path>\n<path d=\"M684.5 476h650\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 476h0\"></path>\n<path d=\"M593.5 476h0\"></path>\n<rect x=\"522.5\" y=\"465\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"558\" y=\"480\">\"USER\"</text>\n</g>\n<path d=\"M593.5 476h10\"></path>\n<path d=\"M603.5 476h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M613.5 476h0\"></path>\n<path d=\"M684.5 476h0\"></path>\n<rect x=\"613.5\" y=\"465\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"649\" y=\"480\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 476a10 10 0 0 0 10 -10v-418\"></path>\n<path d=\"M512.5 48v448a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 506h0\"></path>\n<path d=\"M812 506h522.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 506h0\"></path>\n<path d=\"M721 506h0\"></path>\n<rect x=\"522.5\" y=\"495\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"621.75\" y=\"510\">\"USING SELECTION-SET\"</text>\n</g>\n<path d=\"M721 506h10\"></path>\n<path d=\"M731 506h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M741 506h0\"></path>\n<path d=\"M812 506h0\"></path>\n<rect x=\"741\" y=\"495\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"776.5\" y=\"510\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 506a10 10 0 0 0 10 -10v-448\"></path>\n<path d=\"M512.5 48v478a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 536h0\"></path>\n<path d=\"M914 536h420.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 536h0\"></path>\n<path d=\"M823 536h0\"></path>\n<rect x=\"522.5\" y=\"525\" width=\"300.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"672.75\" y=\"540\">\"USING SELECTION-SETS OF PROGRAM\"</text>\n</g>\n<path d=\"M823 536h10\"></path>\n<path d=\"M833 536h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M843 536h0\"></path>\n<path d=\"M914 536h0\"></path>\n<rect x=\"843\" y=\"525\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"878.5\" y=\"540\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 536a10 10 0 0 0 10 -10v-478\"></path>\n<path d=\"M512.5 48v508a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 566h0\"></path>\n<path d=\"M761 566h573.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 566h0\"></path>\n<path d=\"M670 566h0\"></path>\n<rect x=\"522.5\" y=\"555\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.25\" y=\"570\">\"KEEP IN SPOOL\"</text>\n</g>\n<path d=\"M670 566h10\"></path>\n<path d=\"M680 566h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M690 566h0\"></path>\n<path d=\"M761 566h0\"></path>\n<rect x=\"690\" y=\"555\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"725.5\" y=\"570\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 566a10 10 0 0 0 10 -10v-508\"></path>\n<path d=\"M512.5 48v538a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 596h0\"></path>\n<path d=\"M769.5 596h565\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 596h0\"></path>\n<path d=\"M678.5 596h0\"></path>\n<rect x=\"522.5\" y=\"585\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"600.5\" y=\"600\">\"SAP COVER PAGE\"</text>\n</g>\n<path d=\"M678.5 596h10\"></path>\n<path d=\"M688.5 596h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M698.5 596h0\"></path>\n<path d=\"M769.5 596h0\"></path>\n<rect x=\"698.5\" y=\"585\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"734\" y=\"600\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 596a10 10 0 0 0 10 -10v-538\"></path>\n<path d=\"M512.5 48v568a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 626h0\"></path>\n<path d=\"M744 626h590.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 626h0\"></path>\n<path d=\"M653 626h0\"></path>\n<rect x=\"522.5\" y=\"615\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587.75\" y=\"630\">\"IMMEDIATELY\"</text>\n</g>\n<path d=\"M653 626h10\"></path>\n<path d=\"M663 626h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M673 626h0\"></path>\n<path d=\"M744 626h0\"></path>\n<rect x=\"673\" y=\"615\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"708.5\" y=\"630\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 626a10 10 0 0 0 10 -10v-568\"></path>\n<path d=\"M512.5 48v598a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 656h0\"></path>\n<path d=\"M701.5 656h633\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 656h0\"></path>\n<path d=\"M610.5 656h0\"></path>\n<rect x=\"522.5\" y=\"645\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"566.5\" y=\"660\">\"LAYOUT\"</text>\n</g>\n<path d=\"M610.5 656h10\"></path>\n<path d=\"M620.5 656h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M630.5 656h0\"></path>\n<path d=\"M701.5 656h0\"></path>\n<rect x=\"630.5\" y=\"645\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"666\" y=\"660\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 656a10 10 0 0 0 10 -10v-598\"></path>\n<path d=\"M512.5 48v628a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 686h0\"></path>\n<path d=\"M744 686h590.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 686h0\"></path>\n<path d=\"M653 686h0\"></path>\n<rect x=\"522.5\" y=\"675\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"587.75\" y=\"690\">\"DESTINATION\"</text>\n</g>\n<path d=\"M653 686h10\"></path>\n<path d=\"M663 686h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M673 686h0\"></path>\n<path d=\"M744 686h0\"></path>\n<rect x=\"673\" y=\"675\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"708.5\" y=\"690\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 686a10 10 0 0 0 10 -10v-628\"></path>\n<path d=\"M512.5 48v658a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 716h0\"></path>\n<path d=\"M718.5 716h616\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 716h0\"></path>\n<path d=\"M627.5 716h0\"></path>\n<rect x=\"522.5\" y=\"705\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"575\" y=\"720\">\"LANGUAGE\"</text>\n</g>\n<path d=\"M627.5 716h10\"></path>\n<path d=\"M637.5 716h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M647.5 716h0\"></path>\n<path d=\"M718.5 716h0\"></path>\n<rect x=\"647.5\" y=\"705\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"683\" y=\"720\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 716a10 10 0 0 0 10 -10v-658\"></path>\n<path d=\"M512.5 48v688a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 746h0\"></path>\n<path d=\"M820.5 746h514\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 746h0\"></path>\n<path d=\"M729.5 746h0\"></path>\n<rect x=\"522.5\" y=\"735\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626\" y=\"750\">\"WITH FREE SELECTIONS\"</text>\n</g>\n<path d=\"M729.5 746h10\"></path>\n<path d=\"M739.5 746h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M749.5 746h0\"></path>\n<path d=\"M820.5 746h0\"></path>\n<rect x=\"749.5\" y=\"735\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"785\" y=\"750\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 746a10 10 0 0 0 10 -10v-688\"></path>\n<path d=\"M512.5 48v718a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 776h0\"></path>\n<path d=\"M846 776h488.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 776h0\"></path>\n<path d=\"M755 776h0\"></path>\n<rect x=\"522.5\" y=\"765\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"638.75\" y=\"780\">\"NEW LIST IDENTIFICATION\"</text>\n</g>\n<path d=\"M755 776h10\"></path>\n<path d=\"M765 776h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M775 776h0\"></path>\n<path d=\"M846 776h0\"></path>\n<rect x=\"775\" y=\"765\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"810.5\" y=\"780\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 776a10 10 0 0 0 10 -10v-718\"></path>\n<path d=\"M512.5 48v748a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 806h0\"></path>\n<path d=\"M837.5 806h497\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 806h0\"></path>\n<path d=\"M746.5 806h0\"></path>\n<rect x=\"522.5\" y=\"795\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"634.5\" y=\"810\">\"USING SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M746.5 806h10\"></path>\n<path d=\"M756.5 806h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M766.5 806h0\"></path>\n<path d=\"M837.5 806h0\"></path>\n<rect x=\"766.5\" y=\"795\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"802\" y=\"810\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 806a10 10 0 0 0 10 -10v-748\"></path>\n<path d=\"M512.5 48v778a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 836h0\"></path>\n<path d=\"M661.5 836h673\"></path>\n<rect x=\"522.5\" y=\"825\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"592\" y=\"840\">\"TO SAP-SPOOL\"</text>\n</g>\n<path d=\"M1334.5 836a10 10 0 0 0 10 -10v-778\"></path>\n<path d=\"M512.5 48v808a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 866h0\"></path>\n<path d=\"M729.5 866h605\"></path>\n<rect x=\"522.5\" y=\"855\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626\" y=\"870\">\"WITHOUT SPOOL DYNPRO\"</text>\n</g>\n<path d=\"M1334.5 866a10 10 0 0 0 10 -10v-808\"></path>\n<path d=\"M512.5 48v838a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 896h0\"></path>\n<path d=\"M729.5 896h605\"></path>\n<rect x=\"522.5\" y=\"885\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626\" y=\"900\">\"VIA SELECTION-SCREEN\"</text>\n</g>\n<path d=\"M1334.5 896a10 10 0 0 0 10 -10v-838\"></path>\n<path d=\"M512.5 48v868a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 926h0\"></path>\n<path d=\"M763.5 926h571\"></path>\n<rect x=\"522.5\" y=\"915\" width=\"241\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"643\" y=\"930\">\"EXPORTING LIST TO MEMORY\"</text>\n</g>\n<path d=\"M1334.5 926a10 10 0 0 0 10 -10v-868\"></path>\n<path d=\"M512.5 48v898a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M522.5 956h0\"></path>\n<path d=\"M619 956h715.5\"></path>\n<rect x=\"522.5\" y=\"945\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/AndReturn\"><text x=\"570.75\" y=\"960\">AndReturn</text>\n</a>\n</g>\n<path d=\"M1334.5 956a10 10 0 0 0 10 -10v-898\"></path>\n<path d=\"M512.5 48v928a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M522.5 986h0\"></path>\n<path d=\"M909 986h425.5\"></path>\n<g class=\"terminal\">\n<path d=\"M522.5 986h0\"></path>\n<path d=\"M619 986h0\"></path>\n<rect x=\"522.5\" y=\"975\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"570.75\" y=\"990\">\"VIA JOB\"</text>\n</g>\n<path d=\"M619 986h10\"></path>\n<path d=\"M629 986h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M639 986h0\"></path>\n<path d=\"M710 986h0\"></path>\n<rect x=\"639\" y=\"975\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"674.5\" y=\"990\">Source</text>\n</a>\n</g>\n<path d=\"M710 986h10\"></path>\n<path d=\"M720 986h10\"></path>\n<g class=\"terminal\">\n<path d=\"M730 986h0\"></path>\n<path d=\"M818 986h0\"></path>\n<rect x=\"730\" y=\"975\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"774\" y=\"990\">\"NUMBER\"</text>\n</g>\n<path d=\"M818 986h10\"></path>\n<path d=\"M828 986h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M838 986h0\"></path>\n<path d=\"M909 986h0\"></path>\n<rect x=\"838\" y=\"975\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"873.5\" y=\"990\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1334.5 986a10 10 0 0 0 10 -10v-928\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 512.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"497.5\" y=\"52\" class=\"diagram-text\">1+</text>\n<path d=\"M 1344.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1351.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1364.5 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1384.5 48h10\"></path>\n<path d=\"M 1394.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "submit.ts"
+    },
+    {
+      "name": "Subtract",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"SUBTRACT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"478\" height=\"62\" viewBox=\"0 0 478 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M428 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"SUBTRACT\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"210.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M337 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"301.5\" y=\"35\">\"FROM\"</text>\n</g>\n<path d=\"M337 31h10\"></path>\n<path d=\"M347 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M357 31h0\"></path>\n<path d=\"M428 31h0\"></path>\n<rect x=\"357\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"392.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M428 31h10\"></path>\n<path d=\"M 438 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "subtract.ts"
+    },
+    {
+      "name": "SubtractCorresponding",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SUBTRACT-CORRESPONDING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"690\" height=\"62\" viewBox=\"0 0 690 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M367 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"255\" y=\"35\">\"SUBTRACT-CORRESPONDING\"</text>\n</g>\n<path d=\"M367 31h10\"></path>\n<path d=\"M377 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M387 31h0\"></path>\n<path d=\"M458 31h0\"></path>\n<rect x=\"387\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"422.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M458 31h10\"></path>\n<path d=\"M468 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M478 31h0\"></path>\n<path d=\"M549 31h0\"></path>\n<rect x=\"478\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"513.5\" y=\"35\">\"FROM\"</text>\n</g>\n<path d=\"M549 31h10\"></path>\n<path d=\"M559 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M569 31h0\"></path>\n<path d=\"M640 31h0\"></path>\n<rect x=\"569\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"604.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M640 31h10\"></path>\n<path d=\"M 650 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "subtract_corresponding.ts"
+    },
+    {
+      "name": "Sum",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"SUM\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"255.5\" height=\"62\" viewBox=\"0 0 255.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M205.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M205.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"174.25\" y=\"35\">\"SUM\"</text>\n</g>\n</g>\n<path d=\"M205.5 31h10\"></path>\n<path d=\"M 215.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "sum.ts"
+    },
+    {
+      "name": "Summary",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"SUMMARY\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"289.5\" height=\"62\" viewBox=\"0 0 289.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M239.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"191.25\" y=\"35\">\"SUMMARY\"</text>\n</g>\n</g>\n<path d=\"M239.5 31h10\"></path>\n<path d=\"M 249.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "summary.ts"
+    },
+    {
+      "name": "Supply",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SUPPLY\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('Field', {href: '#/expression/Field'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Terminal('\"TO CONTEXT\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Field",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"764.5\" height=\"71\" viewBox=\"0 0 764.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M714.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M714.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"SUPPLY\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g>\n<path d=\"M251 31h0\"></path>\n<path d=\"M490 31h0\"></path>\n<path d=\"M251 31h10\"></path>\n<g>\n<path d=\"M261 31h0\"></path>\n<path d=\"M480 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M261 31h0\"></path>\n<path d=\"M323.5 31h0\"></path>\n<rect x=\"261\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"292.25\" y=\"35\">Field</text>\n</a>\n</g>\n<path d=\"M323.5 31h10\"></path>\n<path d=\"M333.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M343.5 31h0\"></path>\n<path d=\"M389 31h0\"></path>\n<rect x=\"343.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"366.25\" y=\"35\">\"=\"</text>\n</g>\n<path d=\"M389 31h10\"></path>\n<path d=\"M399 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409 31h0\"></path>\n<path d=\"M480 31h0\"></path>\n<rect x=\"409\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"444.5\" y=\"35\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M480 31h10\"></path>\n<path d=\"M261 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M261 51h219\"></path>\n</g>\n<path d=\"M480 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M490 31h10\"></path>\n<path d=\"M500 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M510 31h0\"></path>\n<path d=\"M632 31h0\"></path>\n<rect x=\"510\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"571\" y=\"35\">\"TO CONTEXT\"</text>\n</g>\n<path d=\"M632 31h10\"></path>\n<path d=\"M642 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M652 31h0\"></path>\n<path d=\"M714.5 31h0\"></path>\n<rect x=\"652\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"683.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M714.5 31h10\"></path>\n<path d=\"M 724.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "supply.ts"
+    },
+    {
+      "name": "SuppressDialog",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"SUPPRESS DIALOG\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"357.5\" height=\"62\" viewBox=\"0 0 357.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M307.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"225.25\" y=\"35\">\"SUPPRESS DIALOG\"</text>\n</g>\n</g>\n<path d=\"M307.5 31h10\"></path>\n<path d=\"M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "suppress_dialog.ts"
+    },
+    {
+      "name": "SyntaxCheck",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SYNTAX-CHECK FOR\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"PROGRAM\"')),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"WORD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"PROGRAM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"REPLACING\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"DIRECTORY ENTRY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FRAME ENTRY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"TRACE-TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"SHORTDUMP-ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"FILTER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"ID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))),Railroad.Sequence(Railroad.Terminal('\"DYNPRO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"MESSAGE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"LINE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"WORD\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"OFFSET\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"MESSAGE-ID\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"TRACE-TABLE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1179.5\" height=\"650\" viewBox=\"0 0 1179.5 650\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1129.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M1129.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M316 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"44\">\"SYNTAX-CHECK FOR\"</text>\n</g>\n<path d=\"M316 40h10\"></path>\n<g>\n<path d=\"M326 40h0\"></path>\n<path d=\"M1129.5 40h0\"></path>\n<path d=\"M326 40h20\"></path>\n<g>\n<path d=\"M346 40h0\"></path>\n<path d=\"M1009 40h100.5\"></path>\n<g>\n<path d=\"M346 40h0\"></path>\n<path d=\"M482.5 40h0\"></path>\n<path d=\"M346 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M366 20h96.5\"></path>\n</g>\n<path d=\"M462.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M346 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M366 40h0\"></path>\n<path d=\"M462.5 40h0\"></path>\n<rect x=\"366\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"414.25\" y=\"44\">\"PROGRAM\"</text>\n</g>\n<path d=\"M462.5 40h20\"></path>\n</g>\n<path d=\"M482.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M492.5 40h0\"></path>\n<path d=\"M563.5 40h0\"></path>\n<rect x=\"492.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"528\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M563.5 40h10\"></path>\n<path d=\"M573.5 40h10\"></path>\n<g>\n<path d=\"M583.5 40h0\"></path>\n<path d=\"M1009 40h0\"></path>\n<path d=\"M613.5 40h10\"></path>\n<g>\n<path d=\"M623.5 40h0\"></path>\n<path d=\"M811 40h168\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 40h0\"></path>\n<path d=\"M720 40h0\"></path>\n<rect x=\"623.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671.75\" y=\"44\">\"MESSAGE\"</text>\n</g>\n<path d=\"M720 40h10\"></path>\n<path d=\"M730 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M740 40h0\"></path>\n<path d=\"M811 40h0\"></path>\n<rect x=\"740\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"775.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 40h10\"></path>\n<path d=\"M613.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 70h0\"></path>\n<path d=\"M785.5 70h193.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 70h0\"></path>\n<path d=\"M694.5 70h0\"></path>\n<rect x=\"623.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"659\" y=\"74\">\"LINE\"</text>\n</g>\n<path d=\"M694.5 70h10\"></path>\n<path d=\"M704.5 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M714.5 70h0\"></path>\n<path d=\"M785.5 70h0\"></path>\n<rect x=\"714.5\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"750\" y=\"74\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M613.5 40v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 100h0\"></path>\n<path d=\"M785.5 100h193.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 100h0\"></path>\n<path d=\"M694.5 100h0\"></path>\n<rect x=\"623.5\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"659\" y=\"104\">\"WORD\"</text>\n</g>\n<path d=\"M694.5 100h10\"></path>\n<path d=\"M704.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M714.5 100h0\"></path>\n<path d=\"M785.5 100h0\"></path>\n<rect x=\"714.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"750\" y=\"104\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 100a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M613.5 40v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 130h0\"></path>\n<path d=\"M802.5 130h176.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 130h0\"></path>\n<path d=\"M711.5 130h0\"></path>\n<rect x=\"623.5\" y=\"119\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"667.5\" y=\"134\">\"OFFSET\"</text>\n</g>\n<path d=\"M711.5 130h10\"></path>\n<path d=\"M721.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M731.5 130h0\"></path>\n<path d=\"M802.5 130h0\"></path>\n<rect x=\"731.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"767\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 130a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M613.5 40v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 160h0\"></path>\n<path d=\"M811 160h168\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 160h0\"></path>\n<path d=\"M720 160h0\"></path>\n<rect x=\"623.5\" y=\"149\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671.75\" y=\"164\">\"PROGRAM\"</text>\n</g>\n<path d=\"M720 160h10\"></path>\n<path d=\"M730 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M740 160h0\"></path>\n<path d=\"M811 160h0\"></path>\n<rect x=\"740\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"775.5\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M979 160a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M613.5 40v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 190h0\"></path>\n<path d=\"M828 190h151\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 190h0\"></path>\n<path d=\"M737 190h0\"></path>\n<rect x=\"623.5\" y=\"179\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"680.25\" y=\"194\">\"REPLACING\"</text>\n</g>\n<path d=\"M737 190h10\"></path>\n<path d=\"M747 190h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M757 190h0\"></path>\n<path d=\"M828 190h0\"></path>\n<rect x=\"757\" y=\"179\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"792.5\" y=\"194\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 190a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M613.5 40v170a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 220h0\"></path>\n<path d=\"M879 220h100\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 220h0\"></path>\n<path d=\"M788 220h0\"></path>\n<rect x=\"623.5\" y=\"209\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"705.75\" y=\"224\">\"DIRECTORY ENTRY\"</text>\n</g>\n<path d=\"M788 220h10\"></path>\n<path d=\"M798 220h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M808 220h0\"></path>\n<path d=\"M879 220h0\"></path>\n<rect x=\"808\" y=\"209\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"843.5\" y=\"224\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M979 220a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M613.5 40v200a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 250h0\"></path>\n<path d=\"M845 250h134\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 250h0\"></path>\n<path d=\"M754 250h0\"></path>\n<rect x=\"623.5\" y=\"239\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"688.75\" y=\"254\">\"FRAME ENTRY\"</text>\n</g>\n<path d=\"M754 250h10\"></path>\n<path d=\"M764 250h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M774 250h0\"></path>\n<path d=\"M845 250h0\"></path>\n<rect x=\"774\" y=\"239\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"809.5\" y=\"254\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 250a10 10 0 0 0 10 -10v-200\"></path>\n<path d=\"M613.5 40v230a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 280h0\"></path>\n<path d=\"M811 280h168\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 280h0\"></path>\n<path d=\"M720 280h0\"></path>\n<rect x=\"623.5\" y=\"269\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"671.75\" y=\"284\">\"INCLUDE\"</text>\n</g>\n<path d=\"M720 280h10\"></path>\n<path d=\"M730 280h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M740 280h0\"></path>\n<path d=\"M811 280h0\"></path>\n<rect x=\"740\" y=\"269\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"775.5\" y=\"284\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 280a10 10 0 0 0 10 -10v-230\"></path>\n<path d=\"M613.5 40v260a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 310h0\"></path>\n<path d=\"M836.5 310h142.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 310h0\"></path>\n<path d=\"M745.5 310h0\"></path>\n<rect x=\"623.5\" y=\"299\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684.5\" y=\"314\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M745.5 310h10\"></path>\n<path d=\"M755.5 310h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M765.5 310h0\"></path>\n<path d=\"M836.5 310h0\"></path>\n<rect x=\"765.5\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"801\" y=\"314\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 310a10 10 0 0 0 10 -10v-260\"></path>\n<path d=\"M613.5 40v290a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 340h0\"></path>\n<path d=\"M845 340h134\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 340h0\"></path>\n<path d=\"M754 340h0\"></path>\n<rect x=\"623.5\" y=\"329\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"688.75\" y=\"344\">\"TRACE-TABLE\"</text>\n</g>\n<path d=\"M754 340h10\"></path>\n<path d=\"M764 340h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M774 340h0\"></path>\n<path d=\"M845 340h0\"></path>\n<rect x=\"774\" y=\"329\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"809.5\" y=\"344\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M979 340a10 10 0 0 0 10 -10v-290\"></path>\n<path d=\"M613.5 40v320a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 370h0\"></path>\n<path d=\"M853.5 370h125.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 370h0\"></path>\n<path d=\"M762.5 370h0\"></path>\n<rect x=\"623.5\" y=\"359\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"693\" y=\"374\">\"SHORTDUMP-ID\"</text>\n</g>\n<path d=\"M762.5 370h10\"></path>\n<path d=\"M772.5 370h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M782.5 370h0\"></path>\n<path d=\"M853.5 370h0\"></path>\n<rect x=\"782.5\" y=\"359\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"818\" y=\"374\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M979 370a10 10 0 0 0 10 -10v-320\"></path>\n<path d=\"M613.5 40v350a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 400h0\"></path>\n<path d=\"M802.5 400h176.5\"></path>\n<g class=\"terminal\">\n<path d=\"M623.5 400h0\"></path>\n<path d=\"M711.5 400h0\"></path>\n<rect x=\"623.5\" y=\"389\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"667.5\" y=\"404\">\"FILTER\"</text>\n</g>\n<path d=\"M711.5 400h10\"></path>\n<path d=\"M721.5 400h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M731.5 400h0\"></path>\n<path d=\"M802.5 400h0\"></path>\n<rect x=\"731.5\" y=\"389\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"767\" y=\"404\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M979 400a10 10 0 0 0 10 -10v-350\"></path>\n<path d=\"M613.5 40v380a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M623.5 430h0\"></path>\n<path d=\"M979 430h0\"></path>\n<path d=\"M623.5 430h10\"></path>\n<g>\n<path d=\"M633.5 430h0\"></path>\n<path d=\"M969 430h0\"></path>\n<g class=\"terminal\">\n<path d=\"M633.5 430h0\"></path>\n<path d=\"M687.5 430h0\"></path>\n<rect x=\"633.5\" y=\"419\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"660.5\" y=\"434\">\"ID\"</text>\n</g>\n<path d=\"M687.5 430h10\"></path>\n<path d=\"M697.5 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M707.5 430h0\"></path>\n<path d=\"M778.5 430h0\"></path>\n<rect x=\"707.5\" y=\"419\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"743\" y=\"434\">Source</text>\n</a>\n</g>\n<path d=\"M778.5 430h10\"></path>\n<path d=\"M788.5 430h10\"></path>\n<g class=\"terminal\">\n<path d=\"M798.5 430h0\"></path>\n<path d=\"M878 430h0\"></path>\n<rect x=\"798.5\" y=\"419\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"838.25\" y=\"434\">\"TABLE\"</text>\n</g>\n<path d=\"M878 430h10\"></path>\n<path d=\"M888 430h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M898 430h0\"></path>\n<path d=\"M969 430h0\"></path>\n<rect x=\"898\" y=\"419\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"933.5\" y=\"434\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M969 430h10\"></path>\n<path d=\"M633.5 430a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M633.5 450h335.5\"></path>\n</g>\n<path d=\"M969 450a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M979 430a10 10 0 0 0 10 -10v-380\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 613.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"598.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 989 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 996 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1109.5 40h20\"></path>\n<path d=\"M326 40a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M346 469h0\"></path>\n<path d=\"M1109.5 469h0\"></path>\n<g class=\"terminal\">\n<path d=\"M346 469h0\"></path>\n<path d=\"M434 469h0\"></path>\n<rect x=\"346\" y=\"458\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"390\" y=\"473\">\"DYNPRO\"</text>\n</g>\n<path d=\"M434 469h10\"></path>\n<path d=\"M444 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M454 469h0\"></path>\n<path d=\"M525 469h0\"></path>\n<rect x=\"454\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"489.5\" y=\"473\">Source</text>\n</a>\n</g>\n<path d=\"M525 469h10\"></path>\n<path d=\"M535 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M545 469h0\"></path>\n<path d=\"M616 469h0\"></path>\n<rect x=\"545\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"580.5\" y=\"473\">Source</text>\n</a>\n</g>\n<path d=\"M616 469h10\"></path>\n<path d=\"M626 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M636 469h0\"></path>\n<path d=\"M707 469h0\"></path>\n<rect x=\"636\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"671.5\" y=\"473\">Source</text>\n</a>\n</g>\n<path d=\"M707 469h10\"></path>\n<path d=\"M717 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M727 469h0\"></path>\n<path d=\"M798 469h0\"></path>\n<rect x=\"727\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"762.5\" y=\"473\">Source</text>\n</a>\n</g>\n<path d=\"M798 469h10\"></path>\n<path d=\"M808 469h10\"></path>\n<g>\n<path d=\"M818 469h0\"></path>\n<path d=\"M1109.5 469h0\"></path>\n<path d=\"M848 469h10\"></path>\n<g>\n<path d=\"M858 469h0\"></path>\n<path d=\"M1045.5 469h34\"></path>\n<g class=\"terminal\">\n<path d=\"M858 469h0\"></path>\n<path d=\"M954.5 469h0\"></path>\n<rect x=\"858\" y=\"458\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"906.25\" y=\"473\">\"MESSAGE\"</text>\n</g>\n<path d=\"M954.5 469h10\"></path>\n<path d=\"M964.5 469h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M974.5 469h0\"></path>\n<path d=\"M1045.5 469h0\"></path>\n<rect x=\"974.5\" y=\"458\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1010\" y=\"473\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 469h10\"></path>\n<path d=\"M848 469v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 499h0\"></path>\n<path d=\"M1020 499h59.5\"></path>\n<g class=\"terminal\">\n<path d=\"M858 499h0\"></path>\n<path d=\"M929 499h0\"></path>\n<rect x=\"858\" y=\"488\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"893.5\" y=\"503\">\"LINE\"</text>\n</g>\n<path d=\"M929 499h10\"></path>\n<path d=\"M939 499h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M949 499h0\"></path>\n<path d=\"M1020 499h0\"></path>\n<rect x=\"949\" y=\"488\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"984.5\" y=\"503\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 499a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M848 469v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 529h0\"></path>\n<path d=\"M1020 529h59.5\"></path>\n<g class=\"terminal\">\n<path d=\"M858 529h0\"></path>\n<path d=\"M929 529h0\"></path>\n<rect x=\"858\" y=\"518\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"893.5\" y=\"533\">\"WORD\"</text>\n</g>\n<path d=\"M929 529h10\"></path>\n<path d=\"M939 529h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M949 529h0\"></path>\n<path d=\"M1020 529h0\"></path>\n<rect x=\"949\" y=\"518\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"984.5\" y=\"533\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 529a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M848 469v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 559h0\"></path>\n<path d=\"M1037 559h42.5\"></path>\n<g class=\"terminal\">\n<path d=\"M858 559h0\"></path>\n<path d=\"M946 559h0\"></path>\n<rect x=\"858\" y=\"548\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"902\" y=\"563\">\"OFFSET\"</text>\n</g>\n<path d=\"M946 559h10\"></path>\n<path d=\"M956 559h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M966 559h0\"></path>\n<path d=\"M1037 559h0\"></path>\n<rect x=\"966\" y=\"548\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1001.5\" y=\"563\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 559a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M848 469v110a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 589h0\"></path>\n<path d=\"M1071 589h8.5\"></path>\n<g class=\"terminal\">\n<path d=\"M858 589h0\"></path>\n<path d=\"M980 589h0\"></path>\n<rect x=\"858\" y=\"578\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"919\" y=\"593\">\"MESSAGE-ID\"</text>\n</g>\n<path d=\"M980 589h10\"></path>\n<path d=\"M990 589h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1000 589h0\"></path>\n<path d=\"M1071 589h0\"></path>\n<rect x=\"1000\" y=\"578\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1035.5\" y=\"593\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 589a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M848 469v140a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M858 619h0\"></path>\n<path d=\"M1079.5 619h0\"></path>\n<g class=\"terminal\">\n<path d=\"M858 619h0\"></path>\n<path d=\"M988.5 619h0\"></path>\n<rect x=\"858\" y=\"608\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"923.25\" y=\"623\">\"TRACE-TABLE\"</text>\n</g>\n<path d=\"M988.5 619h10\"></path>\n<path d=\"M998.5 619h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1008.5 619h0\"></path>\n<path d=\"M1079.5 619h0\"></path>\n<rect x=\"1008.5\" y=\"608\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"1044\" y=\"623\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1079.5 619a10 10 0 0 0 10 -10v-140\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 848 459 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"833\" y=\"473\" class=\"diagram-text\">1+</text>\n<path d=\"M 1089.5 459 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1096.5 467 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1109.5 469a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1129.5 40h10\"></path>\n<path d=\"M 1139.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "syntax_check.ts"
+    },
+    {
+      "name": "SystemCall",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"SYSTEM-CALL\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"OBJMGR CLONE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal(\"^.+$\"),Railroad.Terminal('\"DID\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"PARAMETERS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.OneOrMore(Railroad.Terminal(\"^.+$\")))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1016\" height=\"131\" viewBox=\"0 0 1016 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M966 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M966 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M273.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"35\">\"SYSTEM-CALL\"</text>\n</g>\n<path d=\"M273.5 31h10\"></path>\n<g>\n<path d=\"M283.5 31h0\"></path>\n<path d=\"M966 31h0\"></path>\n<path d=\"M283.5 31h20\"></path>\n<g>\n<path d=\"M303.5 31h0\"></path>\n<path d=\"M698.5 31h247.5\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 31h0\"></path>\n<path d=\"M442.5 31h0\"></path>\n<rect x=\"303.5\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"373\" y=\"35\">\"OBJMGR CLONE\"</text>\n</g>\n<path d=\"M442.5 31h10\"></path>\n<path d=\"M452.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M462.5 31h0\"></path>\n<path d=\"M533.5 31h0\"></path>\n<rect x=\"462.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"498\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M533.5 31h10\"></path>\n<path d=\"M543.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M553.5 31h0\"></path>\n<path d=\"M607.5 31h0\"></path>\n<rect x=\"553.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"580.5\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M607.5 31h10\"></path>\n<path d=\"M617.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M627.5 31h0\"></path>\n<path d=\"M698.5 31h0\"></path>\n<rect x=\"627.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"663\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M946 31h20\"></path>\n<path d=\"M283.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303.5 61h0\"></path>\n<path d=\"M946 61h0\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 61h0\"></path>\n<path d=\"M357.5 61h0\"></path>\n<rect x=\"303.5\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"330.5\" y=\"65\">^.+$</text>\n</g>\n<path d=\"M357.5 61h10\"></path>\n<path d=\"M367.5 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M377.5 61h0\"></path>\n<path d=\"M440 61h0\"></path>\n<rect x=\"377.5\" y=\"50\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"408.75\" y=\"65\">\"DID\"</text>\n</g>\n<path d=\"M440 61h10\"></path>\n<path d=\"M450 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M460 61h0\"></path>\n<path d=\"M531 61h0\"></path>\n<rect x=\"460\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"495.5\" y=\"65\">Source</text>\n</a>\n</g>\n<path d=\"M531 61h10\"></path>\n<path d=\"M541 61h10\"></path>\n<g class=\"terminal\">\n<path d=\"M551 61h0\"></path>\n<path d=\"M673 61h0\"></path>\n<rect x=\"551\" y=\"50\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"612\" y=\"65\">\"PARAMETERS\"</text>\n</g>\n<path d=\"M673 61h10\"></path>\n<path d=\"M683 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M693 61h0\"></path>\n<path d=\"M764 61h0\"></path>\n<rect x=\"693\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"728.5\" y=\"65\">Source</text>\n</a>\n</g>\n<path d=\"M764 61h10\"></path>\n<path d=\"M774 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M784 61h0\"></path>\n<path d=\"M855 61h0\"></path>\n<rect x=\"784\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"819.5\" y=\"65\">Source</text>\n</a>\n</g>\n<path d=\"M855 61h10\"></path>\n<path d=\"M865 61h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M875 61h0\"></path>\n<path d=\"M946 61h0\"></path>\n<rect x=\"875\" y=\"50\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"910.5\" y=\"65\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M946 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303.5 91h0\"></path>\n<path d=\"M377.5 91h568.5\"></path>\n<path d=\"M303.5 91h10\"></path>\n<g class=\"terminal\">\n<path d=\"M313.5 91h0\"></path>\n<path d=\"M367.5 91h0\"></path>\n<rect x=\"313.5\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"340.5\" y=\"95\">^.+$</text>\n</g>\n<path d=\"M367.5 91h10\"></path>\n<path d=\"M313.5 91a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M313.5 111h54\"></path>\n</g>\n<path d=\"M367.5 111a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M946 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M966 31h10\"></path>\n<path d=\"M 976 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "system_call.ts"
+    },
+    {
+      "name": "Tables",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TABLES\"'),Railroad.NonTerminal('Field', {href: '#/expression/Field'})))).toString();",
+      "using": [
+        "expression/Field"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"363.5\" height=\"62\" viewBox=\"0 0 363.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M313.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M313.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"TABLES\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 31h0\"></path>\n<path d=\"M313.5 31h0\"></path>\n<rect x=\"251\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Field\"><text x=\"282.25\" y=\"35\">Field</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M313.5 31h10\"></path>\n<path d=\"M 323.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "tables.ts"
+    },
+    {
+      "name": "TestInjection",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"TEST-INJECTION\"'),Railroad.NonTerminal('TestSeamName', {href: '#/expression/TestSeamName'}))).toString();",
+      "using": [
+        "expression/TestSeamName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"398\" height=\"62\" viewBox=\"0 0 398 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M348 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M206 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"128\" y=\"35\">\"TEST-INJECTION\"</text>\n</g>\n<path d=\"M206 31h10\"></path>\n<path d=\"M216 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226 31h0\"></path>\n<path d=\"M348 31h0\"></path>\n<rect x=\"226\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TestSeamName\"><text x=\"287\" y=\"35\">TestSeamName</text>\n</a>\n</g>\n</g>\n<path d=\"M348 31h10\"></path>\n<path d=\"M 358 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TestInjection"
+      ],
+      "filename": "test_injection.ts"
+    },
+    {
+      "name": "TestSeam",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v750\", {}), Railroad.Sequence(Railroad.Terminal('\"TEST-SEAM\"'),Railroad.NonTerminal('TestSeamName', {href: '#/expression/TestSeamName'})))).toString();",
+      "using": [
+        "expression/TestSeamName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"413.5\" height=\"62\" viewBox=\"0 0 413.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M363.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v750</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M363.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M221.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"164.75\" y=\"35\">\"TEST-SEAM\"</text>\n</g>\n<path d=\"M221.5 31h10\"></path>\n<path d=\"M231.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M241.5 31h0\"></path>\n<path d=\"M363.5 31h0\"></path>\n<rect x=\"241.5\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TestSeamName\"><text x=\"302.5\" y=\"35\">TestSeamName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M363.5 31h10\"></path>\n<path d=\"M 373.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TestSeam"
+      ],
+      "filename": "test_seam.ts"
+    },
+    {
+      "name": "TopOfPage",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TOP-OF-PAGE\"'),Railroad.Optional(Railroad.Terminal('\"DURING LINE-SELECTION\"'))))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"589\" height=\"71\" viewBox=\"0 0 589 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M539 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M539 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M273.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"208.25\" y=\"44\">\"TOP-OF-PAGE\"</text>\n</g>\n<path d=\"M273.5 40h10\"></path>\n<g>\n<path d=\"M283.5 40h0\"></path>\n<path d=\"M539 40h0\"></path>\n<path d=\"M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M303.5 20h215.5\"></path>\n</g>\n<path d=\"M519 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M283.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M303.5 40h0\"></path>\n<path d=\"M519 40h0\"></path>\n<rect x=\"303.5\" y=\"29\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"411.25\" y=\"44\">\"DURING LINE-SELECTION\"</text>\n</g>\n<path d=\"M519 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M539 40h10\"></path>\n<path d=\"M 549 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "top_of_page.ts"
+    },
+    {
+      "name": "Transfer",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TRANSFER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"LENGTH\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))),Railroad.Optional(Railroad.Terminal('\"NO END OF LINE\"'))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"979\" height=\"71\" viewBox=\"0 0 979 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M929 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M929 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M248 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"195.5\" y=\"44\">\"TRANSFER\"</text>\n</g>\n<path d=\"M248 40h10\"></path>\n<path d=\"M258 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M268 40h0\"></path>\n<path d=\"M339 40h0\"></path>\n<rect x=\"268\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"303.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M339 40h10\"></path>\n<path d=\"M349 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M359 40h0\"></path>\n<path d=\"M413 40h0\"></path>\n<rect x=\"359\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"386\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M413 40h10\"></path>\n<path d=\"M423 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M433 40h0\"></path>\n<path d=\"M504 40h0\"></path>\n<rect x=\"433\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"468.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M504 40h10\"></path>\n<g>\n<path d=\"M514 40h0\"></path>\n<path d=\"M733 40h0\"></path>\n<path d=\"M514 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M534 20h179\"></path>\n</g>\n<path d=\"M713 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M514 40h20\"></path>\n<g>\n<path d=\"M534 40h0\"></path>\n<path d=\"M713 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M534 40h0\"></path>\n<path d=\"M622 40h0\"></path>\n<rect x=\"534\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"578\" y=\"44\">\"LENGTH\"</text>\n</g>\n<path d=\"M622 40h10\"></path>\n<path d=\"M632 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642 40h0\"></path>\n<path d=\"M713 40h0\"></path>\n<rect x=\"642\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"677.5\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M713 40h20\"></path>\n</g>\n<g>\n<path d=\"M733 40h0\"></path>\n<path d=\"M929 40h0\"></path>\n<path d=\"M733 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M753 20h156\"></path>\n</g>\n<path d=\"M909 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M733 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M753 40h0\"></path>\n<path d=\"M909 40h0\"></path>\n<rect x=\"753\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"831\" y=\"44\">\"NO END OF LINE\"</text>\n</g>\n<path d=\"M909 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M929 40h10\"></path>\n<path d=\"M 939 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "transfer.ts"
+    },
+    {
+      "name": "Translate",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"TRANSLATE\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.Choice(0, Railroad.Terminal('\"UPPER\"'),Railroad.Terminal('\"LOWER\"')),Railroad.Terminal('\"CASE\"')),Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"619\" height=\"122\" viewBox=\"0 0 619 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M569 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M163.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"106.75\" y=\"35\">\"TRANSLATE\"</text>\n</g>\n<path d=\"M163.5 31h10\"></path>\n<path d=\"M173.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M183.5 31h0\"></path>\n<path d=\"M254.5 31h0\"></path>\n<rect x=\"183.5\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"219\" y=\"35\">Target</text>\n</a>\n</g>\n<path d=\"M254.5 31h10\"></path>\n<g>\n<path d=\"M264.5 31h0\"></path>\n<path d=\"M569 31h0\"></path>\n<path d=\"M264.5 31h20\"></path>\n<g>\n<path d=\"M284.5 31h0\"></path>\n<path d=\"M549 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M284.5 31h0\"></path>\n<path d=\"M338.5 31h0\"></path>\n<rect x=\"284.5\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"311.5\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M338.5 31h10\"></path>\n<g>\n<path d=\"M348.5 31h0\"></path>\n<path d=\"M468 31h0\"></path>\n<path d=\"M348.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 31h0\"></path>\n<path d=\"M448 31h0\"></path>\n<rect x=\"368.5\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"408.25\" y=\"35\">\"UPPER\"</text>\n</g>\n<path d=\"M448 31h20\"></path>\n<path d=\"M348.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 61h0\"></path>\n<path d=\"M448 61h0\"></path>\n<rect x=\"368.5\" y=\"50\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"408.25\" y=\"65\">\"LOWER\"</text>\n</g>\n<path d=\"M448 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M468 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M478 31h0\"></path>\n<path d=\"M549 31h0\"></path>\n<rect x=\"478\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"513.5\" y=\"35\">\"CASE\"</text>\n</g>\n</g>\n<path d=\"M549 31h20\"></path>\n<path d=\"M264.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M284.5 91h0\"></path>\n<path d=\"M455 91h94\"></path>\n<g class=\"terminal\">\n<path d=\"M284.5 91h0\"></path>\n<path d=\"M364 91h0\"></path>\n<rect x=\"284.5\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"324.25\" y=\"95\">\"USING\"</text>\n</g>\n<path d=\"M364 91h10\"></path>\n<path d=\"M374 91h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M384 91h0\"></path>\n<path d=\"M455 91h0\"></path>\n<rect x=\"384\" y=\"80\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"419.5\" y=\"95\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M549 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M569 31h10\"></path>\n<path d=\"M 579 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "translate.ts"
+    },
+    {
+      "name": "TruncateDataset",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TRUNCATE DATASET\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"AT CURRENT POSITION\"')))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"675.5\" height=\"62\" viewBox=\"0 0 675.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M625.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M625.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M316 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"229.5\" y=\"35\">\"TRUNCATE DATASET\"</text>\n</g>\n<path d=\"M316 31h10\"></path>\n<path d=\"M326 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 31h0\"></path>\n<path d=\"M407 31h0\"></path>\n<rect x=\"336\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"371.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M407 31h10\"></path>\n<path d=\"M417 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M427 31h0\"></path>\n<path d=\"M625.5 31h0\"></path>\n<rect x=\"427\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"526.25\" y=\"35\">\"AT CURRENT POSITION\"</text>\n</g>\n</g>\n</g>\n<path d=\"M625.5 31h10\"></path>\n<path d=\"M 635.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "truncate_dataset.ts"
+    },
+    {
+      "name": "Try",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"TRY\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">\"TRY\"</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Try"
+      ],
+      "filename": "try.ts"
+    },
+    {
+      "name": "Type",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Sequence(Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.NonTerminal('ConstantFieldLength', {href: '#/expression/ConstantFieldLength'})),Railroad.Optional(Railroad.Choice(0, Railroad.MultipleChoice(0, 'any',Railroad.NonTerminal('Type', {href: '#/expression/Type'}),Railroad.NonTerminal('Decimals', {href: '#/expression/Decimals'}),Railroad.NonTerminal('Length', {href: '#/expression/Length'})),Railroad.NonTerminal('TypeTable', {href: '#/expression/TypeTable'}),Railroad.NonTerminal('TypeStructure', {href: '#/expression/TypeStructure'})))),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"v702\", {}), Railroad.Terminal('\"BOXED\"'))))).toString();",
+      "using": [
+        "expression/ConstantFieldLength",
+        "expression/Decimals",
+        "expression/Length",
+        "expression/NamespaceSimpleName",
+        "expression/Type",
+        "expression/TypeStructure",
+        "expression/TypeTable"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1038\" height=\"191\" viewBox=\"0 0 1038 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M988 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"TYPES\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g>\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M800.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M331 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"240.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M331 40h10\"></path>\n<g>\n<path d=\"M341 40h0\"></path>\n<path d=\"M562.5 40h0\"></path>\n<path d=\"M341 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M361 20h181.5\"></path>\n</g>\n<path d=\"M542.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M341 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M361 40h0\"></path>\n<path d=\"M542.5 40h0\"></path>\n<rect x=\"361\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ConstantFieldLength\"><text x=\"451.75\" y=\"44\">ConstantFieldLength</text>\n</a>\n</g>\n<path d=\"M542.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M562.5 40h0\"></path>\n<path d=\"M800.5 40h0\"></path>\n<path d=\"M562.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M582.5 20h198\"></path>\n</g>\n<path d=\"M780.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M562.5 40h20\"></path>\n<g>\n<path d=\"M582.5 40h0\"></path>\n<path d=\"M780.5 40h0\"></path>\n<path d=\"M582.5 40h20\"></path>\n<g>\n<path d=\"M602.5 40h0\"></path>\n<path d=\"M760.5 40h0\"></path>\n<path d=\"M632.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642.5 40h0\"></path>\n<path d=\"M696.5 40h34\"></path>\n<rect x=\"642.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Type\"><text x=\"669.5\" y=\"44\">Type</text>\n</a>\n</g>\n<path d=\"M730.5 40h10\"></path>\n<path d=\"M632.5 40v20a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642.5 70h0\"></path>\n<path d=\"M730.5 70h0\"></path>\n<rect x=\"642.5\" y=\"59\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Decimals\"><text x=\"686.5\" y=\"74\">Decimals</text>\n</a>\n</g>\n<path d=\"M730.5 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M632.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M642.5 100h0\"></path>\n<path d=\"M713.5 100h17\"></path>\n<rect x=\"642.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Length\"><text x=\"678\" y=\"104\">Length</text>\n</a>\n</g>\n<path d=\"M730.5 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 632.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"617.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 740.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 747.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M760.5 40h20\"></path>\n<path d=\"M582.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M602.5 130h0\"></path>\n<path d=\"M699 130h61.5\"></path>\n<rect x=\"602.5\" y=\"119\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeTable\"><text x=\"650.75\" y=\"134\">TypeTable</text>\n</a>\n</g>\n<path d=\"M760.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M582.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M602.5 160h0\"></path>\n<path d=\"M733 160h27.5\"></path>\n<rect x=\"602.5\" y=\"149\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeStructure\"><text x=\"667.75\" y=\"164\">TypeStructure</text>\n</a>\n</g>\n<path d=\"M760.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M780.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M800.5 40h10\"></path>\n<g>\n<path d=\"M810.5 40h0\"></path>\n<path d=\"M988 40h0\"></path>\n<path d=\"M810.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M830.5 20h137.5\"></path>\n</g>\n<path d=\"M968 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M810.5 40h20\"></path>\n<g>\n<path d=\"M830.5 40h0\"></path>\n<path d=\"M968 40h0\"></path>\n<g>\n<path d=\"M830.5 40h0\"></path>\n<path d=\"M868.5 40h0\"></path>\n<text x=\"849.5\" y=\"45\" class=\"comment\">v702</text>\n</g>\n<path d=\"M868.5 40h10\"></path>\n<path d=\"M878.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M888.5 40h0\"></path>\n<path d=\"M968 40h0\"></path>\n<rect x=\"888.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"928.25\" y=\"44\">\"BOXED\"</text>\n</g>\n</g>\n<path d=\"M968 40h20\"></path>\n</g>\n</g>\n<path d=\"M988 40h10\"></path>\n<path d=\"M 998 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents",
+        "structure/TypeEnum",
+        "structure/TypeMesh",
+        "structure/Types"
+      ],
+      "filename": "type.ts"
+    },
+    {
+      "name": "TypeBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"BEGIN OF\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Terminal('\"%_FINAL\"'))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"745.5\" height=\"71\" viewBox=\"0 0 745.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M695.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"TYPES\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M254.5 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"202\" y=\"44\">\"BEGIN OF\"</text>\n</g>\n<path d=\"M254.5 40h10\"></path>\n<path d=\"M264.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M274.5 40h0\"></path>\n<path d=\"M456 40h0\"></path>\n<rect x=\"274.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"365.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M456 40h10\"></path>\n<g>\n<path d=\"M466 40h0\"></path>\n<path d=\"M695.5 40h0\"></path>\n<path d=\"M466 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M486 20h189.5\"></path>\n</g>\n<path d=\"M675.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M466 40h20\"></path>\n<g>\n<path d=\"M486 40h0\"></path>\n<path d=\"M675.5 40h0\"></path>\n<g>\n<path d=\"M486 40h0\"></path>\n<path d=\"M559 40h0\"></path>\n<text x=\"522.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M559 40h10\"></path>\n<path d=\"M569 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M579 40h0\"></path>\n<path d=\"M675.5 40h0\"></path>\n<rect x=\"579\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"627.25\" y=\"44\">\"%&#95;FINAL\"</text>\n</g>\n</g>\n<path d=\"M675.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M695.5 40h10\"></path>\n<path d=\"M 705.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Types"
+      ],
+      "filename": "type_begin.ts"
+    },
+    {
+      "name": "TypeEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"END OF\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"489\" height=\"62\" viewBox=\"0 0 489 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M439 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"TYPES\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M237.5 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"193.5\" y=\"35\">\"END OF\"</text>\n</g>\n<path d=\"M237.5 31h10\"></path>\n<path d=\"M247.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M257.5 31h0\"></path>\n<path d=\"M439 31h0\"></path>\n<rect x=\"257.5\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"348.25\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M439 31h10\"></path>\n<path d=\"M 449 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Types"
+      ],
+      "filename": "type_end.ts"
+    },
+    {
+      "name": "TypeEnum",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.NonTerminal('Value', {href: '#/expression/Value'})))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/Value"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"521.5\" height=\"62\" viewBox=\"0 0 521.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M471.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M471.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M187.5 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"147.75\" y=\"35\">\"TYPES\"</text>\n</g>\n<path d=\"M187.5 31h10\"></path>\n<path d=\"M197.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M207.5 31h0\"></path>\n<path d=\"M389 31h0\"></path>\n<rect x=\"207.5\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"298.25\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M389 31h10\"></path>\n<path d=\"M399 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M409 31h0\"></path>\n<path d=\"M471.5 31h0\"></path>\n<rect x=\"409\" y=\"20\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Value\"><text x=\"440.25\" y=\"35\">Value</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M471.5 31h10\"></path>\n<path d=\"M 481.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeEnum"
+      ],
+      "filename": "type_enum.ts"
+    },
+    {
+      "name": "TypeEnumBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"BEGIN OF\"'),Railroad.Sequence(Railroad.Terminal('\"ENUM\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"STRUCTURE\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"BASE TYPE\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1375\" height=\"71\" viewBox=\"0 0 1375 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1325 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M1325 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M187.5 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"147.75\" y=\"44\">\"TYPES\"</text>\n</g>\n<path d=\"M187.5 40h10\"></path>\n<path d=\"M197.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M207.5 40h0\"></path>\n<path d=\"M312.5 40h0\"></path>\n<rect x=\"207.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"260\" y=\"44\">\"BEGIN OF\"</text>\n</g>\n<path d=\"M312.5 40h10\"></path>\n<path d=\"M322.5 40h10\"></path>\n<g>\n<path d=\"M332.5 40h0\"></path>\n<path d=\"M1325 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M332.5 40h0\"></path>\n<path d=\"M403.5 40h0\"></path>\n<rect x=\"332.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368\" y=\"44\">\"ENUM\"</text>\n</g>\n<path d=\"M403.5 40h10\"></path>\n<path d=\"M413.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M423.5 40h0\"></path>\n<path d=\"M605 40h0\"></path>\n<rect x=\"423.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"514.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M605 40h10\"></path>\n<g>\n<path d=\"M615 40h0\"></path>\n<path d=\"M970 40h0\"></path>\n<path d=\"M615 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M635 20h315\"></path>\n</g>\n<path d=\"M950 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M615 40h20\"></path>\n<g>\n<path d=\"M635 40h0\"></path>\n<path d=\"M950 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M635 40h0\"></path>\n<path d=\"M748.5 40h0\"></path>\n<rect x=\"635\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"691.75\" y=\"44\">\"STRUCTURE\"</text>\n</g>\n<path d=\"M748.5 40h10\"></path>\n<path d=\"M758.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768.5 40h0\"></path>\n<path d=\"M950 40h0\"></path>\n<rect x=\"768.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"859.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M950 40h20\"></path>\n</g>\n<g>\n<path d=\"M970 40h0\"></path>\n<path d=\"M1325 40h0\"></path>\n<path d=\"M970 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M990 20h315\"></path>\n</g>\n<path d=\"M1305 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M970 40h20\"></path>\n<g>\n<path d=\"M990 40h0\"></path>\n<path d=\"M1305 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M990 40h0\"></path>\n<path d=\"M1103.5 40h0\"></path>\n<rect x=\"990\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1046.75\" y=\"44\">\"BASE TYPE\"</text>\n</g>\n<path d=\"M1103.5 40h10\"></path>\n<path d=\"M1113.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1123.5 40h0\"></path>\n<path d=\"M1305 40h0\"></path>\n<rect x=\"1123.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1214.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M1305 40h20\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M1325 40h10\"></path>\n<path d=\"M 1335 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeEnum"
+      ],
+      "filename": "type_enum_begin.ts"
+    },
+    {
+      "name": "TypeEnumEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"END OF\"'),Railroad.Terminal('\"ENUM\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"STRUCTURE\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1003\" height=\"71\" viewBox=\"0 0 1003 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M953 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M953 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M187.5 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"147.75\" y=\"44\">\"TYPES\"</text>\n</g>\n<path d=\"M187.5 40h10\"></path>\n<path d=\"M197.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M207.5 40h0\"></path>\n<path d=\"M295.5 40h0\"></path>\n<rect x=\"207.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"251.5\" y=\"44\">\"END OF\"</text>\n</g>\n<path d=\"M295.5 40h10\"></path>\n<path d=\"M305.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M315.5 40h0\"></path>\n<path d=\"M386.5 40h0\"></path>\n<rect x=\"315.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"351\" y=\"44\">\"ENUM\"</text>\n</g>\n<path d=\"M386.5 40h10\"></path>\n<path d=\"M396.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M406.5 40h0\"></path>\n<path d=\"M588 40h0\"></path>\n<rect x=\"406.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"497.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M588 40h10\"></path>\n<g>\n<path d=\"M598 40h0\"></path>\n<path d=\"M953 40h0\"></path>\n<path d=\"M598 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M618 20h315\"></path>\n</g>\n<path d=\"M933 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M598 40h20\"></path>\n<g>\n<path d=\"M618 40h0\"></path>\n<path d=\"M933 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M618 40h0\"></path>\n<path d=\"M731.5 40h0\"></path>\n<rect x=\"618\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"674.75\" y=\"44\">\"STRUCTURE\"</text>\n</g>\n<path d=\"M731.5 40h10\"></path>\n<path d=\"M741.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751.5 40h0\"></path>\n<path d=\"M933 40h0\"></path>\n<rect x=\"751.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"842.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M933 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M953 40h10\"></path>\n<path d=\"M 963 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeEnum"
+      ],
+      "filename": "type_enum_end.ts"
+    },
+    {
+      "name": "TypeMesh",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"TYPE\"'),Railroad.Optional(Railroad.Terminal('\"REF TO\"')),Railroad.NonTerminal('TypeName', {href: '#/expression/TypeName'}),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"ASSOCIATION\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"ON\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"AND\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}),Railroad.Terminal('\"=\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'}))))))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"USING KEY\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})))))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName",
+        "expression/TypeName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2942\" height=\"96\" viewBox=\"0 0 2942 96\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2892 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M88 40h0\"></path>\n<text x=\"69\" y=\"45\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 40h10\"></path>\n<path d=\"M98 40h10\"></path>\n<g>\n<path d=\"M108 40h0\"></path>\n<path d=\"M2892 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 40h0\"></path>\n<path d=\"M187.5 40h0\"></path>\n<rect x=\"108\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"147.75\" y=\"44\">\"TYPES\"</text>\n</g>\n<path d=\"M187.5 40h10\"></path>\n<path d=\"M197.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M207.5 40h0\"></path>\n<path d=\"M389 40h0\"></path>\n<rect x=\"207.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"298.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M389 40h10\"></path>\n<path d=\"M399 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M409 40h0\"></path>\n<path d=\"M480 40h0\"></path>\n<rect x=\"409\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"444.5\" y=\"44\">\"TYPE\"</text>\n</g>\n<path d=\"M480 40h10\"></path>\n<g>\n<path d=\"M490 40h0\"></path>\n<path d=\"M618 40h0\"></path>\n<path d=\"M490 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M510 20h88\"></path>\n</g>\n<path d=\"M598 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M490 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M510 40h0\"></path>\n<path d=\"M598 40h0\"></path>\n<rect x=\"510\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"554\" y=\"44\">\"REF TO\"</text>\n</g>\n<path d=\"M598 40h20\"></path>\n</g>\n<path d=\"M618 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M628 40h0\"></path>\n<path d=\"M716 40h0\"></path>\n<rect x=\"628\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TypeName\"><text x=\"672\" y=\"44\">TypeName</text>\n</a>\n</g>\n<path d=\"M716 40h10\"></path>\n<path d=\"M726 40h10\"></path>\n<g>\n<path d=\"M736 40h0\"></path>\n<path d=\"M2527 40h0\"></path>\n<path d=\"M736 40h10\"></path>\n<g>\n<path d=\"M746 40h0\"></path>\n<path d=\"M2517 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M746 40h0\"></path>\n<path d=\"M876.5 40h0\"></path>\n<rect x=\"746\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"811.25\" y=\"44\">\"ASSOCIATION\"</text>\n</g>\n<path d=\"M876.5 40h10\"></path>\n<path d=\"M886.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M896.5 40h0\"></path>\n<path d=\"M1078 40h0\"></path>\n<rect x=\"896.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"987.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1078 40h10\"></path>\n<path d=\"M1088 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1098 40h0\"></path>\n<path d=\"M1152 40h0\"></path>\n<rect x=\"1098\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1125\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M1152 40h10\"></path>\n<path d=\"M1162 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1172 40h0\"></path>\n<path d=\"M1353.5 40h0\"></path>\n<rect x=\"1172\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1262.75\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1353.5 40h10\"></path>\n<path d=\"M1363.5 40h10\"></path>\n<g>\n<path d=\"M1373.5 40h0\"></path>\n<path d=\"M2517 40h0\"></path>\n<path d=\"M1373.5 40h10\"></path>\n<g>\n<path d=\"M1383.5 40h0\"></path>\n<path d=\"M2507 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1383.5 40h0\"></path>\n<path d=\"M1437.5 40h0\"></path>\n<rect x=\"1383.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1410.5\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M1437.5 40h10\"></path>\n<path d=\"M1447.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1457.5 40h0\"></path>\n<path d=\"M1639 40h0\"></path>\n<rect x=\"1457.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1548.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1639 40h10\"></path>\n<path d=\"M1649 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1659 40h0\"></path>\n<path d=\"M1704.5 40h0\"></path>\n<rect x=\"1659\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1681.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M1704.5 40h10\"></path>\n<path d=\"M1714.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1724.5 40h0\"></path>\n<path d=\"M1906 40h0\"></path>\n<rect x=\"1724.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"1815.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M1906 40h10\"></path>\n<g>\n<path d=\"M1916 40h0\"></path>\n<path d=\"M2507 40h0\"></path>\n<path d=\"M1916 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1936 20h551\"></path>\n</g>\n<path d=\"M2487 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1916 40h20\"></path>\n<g>\n<path d=\"M1936 40h0\"></path>\n<path d=\"M2487 40h0\"></path>\n<path d=\"M1936 40h10\"></path>\n<g>\n<path d=\"M1946 40h0\"></path>\n<path d=\"M2477 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1946 40h0\"></path>\n<path d=\"M2008.5 40h0\"></path>\n<rect x=\"1946\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1977.25\" y=\"44\">\"AND\"</text>\n</g>\n<path d=\"M2008.5 40h10\"></path>\n<path d=\"M2018.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2028.5 40h0\"></path>\n<path d=\"M2210 40h0\"></path>\n<rect x=\"2028.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"2119.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n<path d=\"M2210 40h10\"></path>\n<path d=\"M2220 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2230 40h0\"></path>\n<path d=\"M2275.5 40h0\"></path>\n<rect x=\"2230\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2252.75\" y=\"44\">\"=\"</text>\n</g>\n<path d=\"M2275.5 40h10\"></path>\n<path d=\"M2285.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2295.5 40h0\"></path>\n<path d=\"M2477 40h0\"></path>\n<rect x=\"2295.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"2386.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M2477 40h10\"></path>\n<path d=\"M1946 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1946 60h531\"></path>\n</g>\n<path d=\"M2477 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2487 40h20\"></path>\n</g>\n</g>\n<path d=\"M2507 40h10\"></path>\n<path d=\"M1383.5 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1383.5 68h1123.5\"></path>\n</g>\n<path d=\"M2507 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10\"></path>\n</g>\n</g>\n<path d=\"M2517 40h10\"></path>\n<path d=\"M746 40a10 10 0 0 0 -10 10v16a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M746 76h1771\"></path>\n</g>\n<path d=\"M2517 76a10 10 0 0 0 10 -10v-16a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2527 40h10\"></path>\n<g>\n<path d=\"M2537 40h0\"></path>\n<path d=\"M2892 40h0\"></path>\n<path d=\"M2537 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2557 20h315\"></path>\n</g>\n<path d=\"M2872 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2537 40h20\"></path>\n<g>\n<path d=\"M2557 40h0\"></path>\n<path d=\"M2872 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2557 40h0\"></path>\n<path d=\"M2670.5 40h0\"></path>\n<rect x=\"2557\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2613.75\" y=\"44\">\"USING KEY\"</text>\n</g>\n<path d=\"M2670.5 40h10\"></path>\n<path d=\"M2680.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2690.5 40h0\"></path>\n<path d=\"M2872 40h0\"></path>\n<rect x=\"2690.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"2781.25\" y=\"44\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n<path d=\"M2872 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M2892 40h10\"></path>\n<path d=\"M 2902 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeMesh"
+      ],
+      "filename": "type_mesh.ts"
+    },
+    {
+      "name": "TypeMeshBegin",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"BEGIN OF MESH\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"634.5\" height=\"62\" viewBox=\"0 0 634.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M584.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M116 31h0\"></path>\n<text x=\"83\" y=\"36\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M116 31h10\"></path>\n<path d=\"M126 31h10\"></path>\n<g>\n<path d=\"M136 31h0\"></path>\n<path d=\"M584.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 31h0\"></path>\n<path d=\"M215.5 31h0\"></path>\n<rect x=\"136\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"175.75\" y=\"35\">\"TYPES\"</text>\n</g>\n<path d=\"M215.5 31h10\"></path>\n<path d=\"M225.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M235.5 31h0\"></path>\n<path d=\"M383 31h0\"></path>\n<rect x=\"235.5\" y=\"20\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"309.25\" y=\"35\">\"BEGIN OF MESH\"</text>\n</g>\n<path d=\"M383 31h10\"></path>\n<path d=\"M393 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M403 31h0\"></path>\n<path d=\"M584.5 31h0\"></path>\n<rect x=\"403\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"493.75\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M584.5 31h10\"></path>\n<path d=\"M 594.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeMesh"
+      ],
+      "filename": "type_mesh_begin.ts"
+    },
+    {
+      "name": "TypeMeshEnd",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v740sp05\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPES\"'),Railroad.Terminal('\"END OF MESH\"'),Railroad.NonTerminal('NamespaceSimpleName', {href: '#/expression/NamespaceSimpleName'})))).toString();",
+      "using": [
+        "expression/NamespaceSimpleName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"617.5\" height=\"62\" viewBox=\"0 0 617.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M567.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M116 31h0\"></path>\n<text x=\"83\" y=\"36\" class=\"comment\">v740sp05</text>\n</g>\n<path d=\"M116 31h10\"></path>\n<path d=\"M126 31h10\"></path>\n<g>\n<path d=\"M136 31h0\"></path>\n<path d=\"M567.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M136 31h0\"></path>\n<path d=\"M215.5 31h0\"></path>\n<rect x=\"136\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"175.75\" y=\"35\">\"TYPES\"</text>\n</g>\n<path d=\"M215.5 31h10\"></path>\n<path d=\"M225.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M235.5 31h0\"></path>\n<path d=\"M366 31h0\"></path>\n<rect x=\"235.5\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.75\" y=\"35\">\"END OF MESH\"</text>\n</g>\n<path d=\"M366 31h10\"></path>\n<path d=\"M376 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M386 31h0\"></path>\n<path d=\"M567.5 31h0\"></path>\n<rect x=\"386\" y=\"20\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/NamespaceSimpleName\"><text x=\"476.75\" y=\"35\">NamespaceSimpleName</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M567.5 31h10\"></path>\n<path d=\"M 577.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/TypeMesh"
+      ],
+      "filename": "type_mesh_end.ts"
+    },
+    {
+      "name": "TypePool",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPE-POOL\"'),Railroad.Terminal(\"^\\\\w+$\")))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"389\" height=\"62\" viewBox=\"0 0 389 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M256.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"199.75\" y=\"35\">\"TYPE-POOL\"</text>\n</g>\n<path d=\"M256.5 31h10\"></path>\n<path d=\"M266.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M276.5 31h0\"></path>\n<path d=\"M339 31h0\"></path>\n<rect x=\"276.5\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"307.75\" y=\"35\">^\\w+$</text>\n</g>\n</g>\n</g>\n<path d=\"M339 31h10\"></path>\n<path d=\"M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "type_pool.ts"
+    },
+    {
+      "name": "TypePools",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"TYPE-POOLS\"'),Railroad.Terminal(\"^\\\\w+$\")))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"397.5\" height=\"62\" viewBox=\"0 0 397.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M265 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"204\" y=\"35\">\"TYPE-POOLS\"</text>\n</g>\n<path d=\"M265 31h10\"></path>\n<path d=\"M275 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M285 31h0\"></path>\n<path d=\"M347.5 31h0\"></path>\n<rect x=\"285\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"316.25\" y=\"35\">^\\w+$</text>\n</g>\n</g>\n</g>\n<path d=\"M347.5 31h10\"></path>\n<path d=\"M 357.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any",
+        "structure/ClassDefinition",
+        "structure/ClassGlobal",
+        "structure/Data",
+        "structure/InterfaceGlobal",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "type_pools.ts"
+    },
+    {
+      "name": "Uline",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"ULINE\"'),Railroad.Optional(Railroad.NonTerminal('WriteOffsetLength', {href: '#/expression/WriteOffsetLength'})),Railroad.Optional(Railroad.Terminal('\"NO-GAP\"'))))).toString();",
+      "using": [
+        "expression/WriteOffsetLength"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"615\" height=\"71\" viewBox=\"0 0 615 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M565 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M565 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M222.5 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"44\">\"ULINE\"</text>\n</g>\n<path d=\"M222.5 40h10\"></path>\n<g>\n<path d=\"M232.5 40h0\"></path>\n<path d=\"M437 40h0\"></path>\n<path d=\"M232.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M252.5 20h164.5\"></path>\n</g>\n<path d=\"M417 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M232.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252.5 40h0\"></path>\n<path d=\"M417 40h0\"></path>\n<rect x=\"252.5\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/WriteOffsetLength\"><text x=\"334.75\" y=\"44\">WriteOffsetLength</text>\n</a>\n</g>\n<path d=\"M417 40h20\"></path>\n</g>\n<g>\n<path d=\"M437 40h0\"></path>\n<path d=\"M565 40h0\"></path>\n<path d=\"M437 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M457 20h88\"></path>\n</g>\n<path d=\"M545 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M437 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M457 40h0\"></path>\n<path d=\"M545 40h0\"></path>\n<rect x=\"457\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"501\" y=\"44\">\"NO-GAP\"</text>\n</g>\n<path d=\"M545 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M565 40h10\"></path>\n<path d=\"M 575 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "uline.ts"
+    },
+    {
+      "name": "Unassign",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"UNASSIGN\"'),Railroad.NonTerminal('TargetFieldSymbol', {href: '#/expression/TargetFieldSymbol'}))).toString();",
+      "using": [
+        "expression/TargetFieldSymbol"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"389.5\" height=\"62\" viewBox=\"0 0 389.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M339.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M155 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"35\">\"UNASSIGN\"</text>\n</g>\n<path d=\"M155 31h10\"></path>\n<path d=\"M165 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 31h0\"></path>\n<path d=\"M339.5 31h0\"></path>\n<rect x=\"175\" y=\"20\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/TargetFieldSymbol\"><text x=\"257.25\" y=\"35\">TargetFieldSymbol</text>\n</a>\n</g>\n</g>\n<path d=\"M339.5 31h10\"></path>\n<path d=\"M 349.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "unassign.ts"
+    },
+    {
+      "name": "Unpack",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"UNPACK\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})))).toString();",
+      "using": [
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"537\" height=\"62\" viewBox=\"0 0 537 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M487 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M487 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M231 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"187\" y=\"35\">\"UNPACK\"</text>\n</g>\n<path d=\"M231 31h10\"></path>\n<path d=\"M241 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M251 31h0\"></path>\n<path d=\"M322 31h0\"></path>\n<rect x=\"251\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"286.5\" y=\"35\">Source</text>\n</a>\n</g>\n<path d=\"M322 31h10\"></path>\n<path d=\"M332 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M342 31h0\"></path>\n<path d=\"M396 31h0\"></path>\n<rect x=\"342\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"369\" y=\"35\">\"TO\"</text>\n</g>\n<path d=\"M396 31h10\"></path>\n<path d=\"M406 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M416 31h0\"></path>\n<path d=\"M487 31h0\"></path>\n<rect x=\"416\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"451.5\" y=\"35\">Target</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M487 31h10\"></path>\n<path d=\"M 497 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "unpack.ts"
+    },
+    {
+      "name": "UpdateDatabase",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"UPDATE\"'),Railroad.NonTerminal('DatabaseTable', {href: '#/expression/DatabaseTable'}),Railroad.Optional(Railroad.NonTerminal('SQLClient', {href: '#/expression/SQLClient'})),Railroad.Optional(Railroad.NonTerminal('DatabaseConnection', {href: '#/expression/DatabaseConnection'})),Railroad.Optional(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"FROM\"'),Railroad.Optional(Railroad.Terminal('\"TABLE\"')),Railroad.NonTerminal('SQLSource', {href: '#/expression/SQLSource'})),Railroad.Sequence(Railroad.Terminal('\"SET\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('SQLFieldAndValue', {href: '#/expression/SQLFieldAndValue'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\",\"')),Railroad.NonTerminal('SQLFieldAndValue', {href: '#/expression/SQLFieldAndValue'})))),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('SQLCond', {href: '#/expression/SQLCond'})))))))).toString();",
+      "using": [
+        "expression/DatabaseConnection",
+        "expression/DatabaseTable",
+        "expression/Dynamic",
+        "expression/SQLClient",
+        "expression/SQLCond",
+        "expression/SQLFieldAndValue",
+        "expression/SQLSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1587\" height=\"165\" viewBox=\"0 0 1587 165\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1537 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M138 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"52\">\"UPDATE\"</text>\n</g>\n<path d=\"M138 48h10\"></path>\n<path d=\"M148 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 48h0\"></path>\n<path d=\"M288.5 48h0\"></path>\n<rect x=\"158\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseTable\"><text x=\"223.25\" y=\"52\">DatabaseTable</text>\n</a>\n</g>\n<path d=\"M288.5 48h10\"></path>\n<g>\n<path d=\"M298.5 48h0\"></path>\n<path d=\"M435 48h0\"></path>\n<path d=\"M298.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M318.5 28h96.5\"></path>\n</g>\n<path d=\"M415 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M298.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M318.5 48h0\"></path>\n<path d=\"M415 48h0\"></path>\n<rect x=\"318.5\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLClient\"><text x=\"366.75\" y=\"52\">SQLClient</text>\n</a>\n</g>\n<path d=\"M415 48h20\"></path>\n</g>\n<g>\n<path d=\"M435 48h0\"></path>\n<path d=\"M648 48h0\"></path>\n<path d=\"M435 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M455 28h173\"></path>\n</g>\n<path d=\"M628 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M435 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M455 48h0\"></path>\n<path d=\"M628 48h0\"></path>\n<rect x=\"455\" y=\"37\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/DatabaseConnection\"><text x=\"541.5\" y=\"52\">DatabaseConnection</text>\n</a>\n</g>\n<path d=\"M628 48h20\"></path>\n</g>\n<g>\n<path d=\"M648 48h0\"></path>\n<path d=\"M1537 48h0\"></path>\n<path d=\"M648 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M668 20h849\"></path>\n</g>\n<path d=\"M1517 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M648 48h20\"></path>\n<g>\n<path d=\"M668 48h0\"></path>\n<path d=\"M1517 48h0\"></path>\n<path d=\"M668 48h20\"></path>\n<g>\n<path d=\"M688 48h0\"></path>\n<path d=\"M995 48h502\"></path>\n<g class=\"terminal\">\n<path d=\"M688 48h0\"></path>\n<path d=\"M759 48h0\"></path>\n<rect x=\"688\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"723.5\" y=\"52\">\"FROM\"</text>\n</g>\n<path d=\"M759 48h10\"></path>\n<g>\n<path d=\"M769 48h0\"></path>\n<path d=\"M888.5 48h0\"></path>\n<path d=\"M769 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M789 28h79.5\"></path>\n</g>\n<path d=\"M868.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M769 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M789 48h0\"></path>\n<path d=\"M868.5 48h0\"></path>\n<rect x=\"789\" y=\"37\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"828.75\" y=\"52\">\"TABLE\"</text>\n</g>\n<path d=\"M868.5 48h20\"></path>\n</g>\n<path d=\"M888.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M898.5 48h0\"></path>\n<path d=\"M995 48h0\"></path>\n<rect x=\"898.5\" y=\"37\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLSource\"><text x=\"946.75\" y=\"52\">SQLSource</text>\n</a>\n</g>\n</g>\n<path d=\"M1497 48h20\"></path>\n<path d=\"M668 48a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M688 95h0\"></path>\n<path d=\"M1497 95h0\"></path>\n<g class=\"terminal\">\n<path d=\"M688 95h0\"></path>\n<path d=\"M750.5 95h0\"></path>\n<rect x=\"688\" y=\"84\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"719.25\" y=\"99\">\"SET\"</text>\n</g>\n<path d=\"M750.5 95h10\"></path>\n<g>\n<path d=\"M760.5 95h0\"></path>\n<path d=\"M1278 95h0\"></path>\n<path d=\"M760.5 95h20\"></path>\n<g>\n<path d=\"M780.5 95h0\"></path>\n<path d=\"M1258 95h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M780.5 95h0\"></path>\n<path d=\"M936.5 95h0\"></path>\n<rect x=\"780.5\" y=\"84\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldAndValue\"><text x=\"858.5\" y=\"99\">SQLFieldAndValue</text>\n</a>\n</g>\n<path d=\"M936.5 95h10\"></path>\n<g>\n<path d=\"M946.5 95h0\"></path>\n<path d=\"M1258 95h0\"></path>\n<path d=\"M946.5 95a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M966.5 67h271.5\"></path>\n</g>\n<path d=\"M1238 67a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M946.5 95h20\"></path>\n<g>\n<path d=\"M966.5 95h0\"></path>\n<path d=\"M1238 95h0\"></path>\n<path d=\"M966.5 95h10\"></path>\n<g>\n<path d=\"M976.5 95h0\"></path>\n<path d=\"M1228 95h0\"></path>\n<g>\n<path d=\"M976.5 95h0\"></path>\n<path d=\"M1062 95h0\"></path>\n<path d=\"M976.5 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M996.5 75h45.5\"></path>\n</g>\n<path d=\"M1042 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M976.5 95h20\"></path>\n<g class=\"terminal\">\n<path d=\"M996.5 95h0\"></path>\n<path d=\"M1042 95h0\"></path>\n<rect x=\"996.5\" y=\"84\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1019.25\" y=\"99\">\",\"</text>\n</g>\n<path d=\"M1042 95h20\"></path>\n</g>\n<path d=\"M1062 95h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1072 95h0\"></path>\n<path d=\"M1228 95h0\"></path>\n<rect x=\"1072\" y=\"84\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLFieldAndValue\"><text x=\"1150\" y=\"99\">SQLFieldAndValue</text>\n</a>\n</g>\n</g>\n<path d=\"M1228 95h10\"></path>\n<path d=\"M976.5 95a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M976.5 115h251.5\"></path>\n</g>\n<path d=\"M1228 115a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1238 95h20\"></path>\n</g>\n</g>\n<path d=\"M1258 95h20\"></path>\n<path d=\"M760.5 95a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M780.5 134h0\"></path>\n<path d=\"M860 134h398\"></path>\n<rect x=\"780.5\" y=\"123\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"820.25\" y=\"138\">Dynamic</text>\n</a>\n</g>\n<path d=\"M1258 134a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1278 95h0\"></path>\n<path d=\"M1497 95h0\"></path>\n<path d=\"M1278 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1298 75h179\"></path>\n</g>\n<path d=\"M1477 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1278 95h20\"></path>\n<g>\n<path d=\"M1298 95h0\"></path>\n<path d=\"M1477 95h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1298 95h0\"></path>\n<path d=\"M1377.5 95h0\"></path>\n<rect x=\"1298\" y=\"84\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1337.75\" y=\"99\">\"WHERE\"</text>\n</g>\n<path d=\"M1377.5 95h10\"></path>\n<path d=\"M1387.5 95h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1397.5 95h0\"></path>\n<path d=\"M1477 95h0\"></path>\n<rect x=\"1397.5\" y=\"84\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SQLCond\"><text x=\"1437.25\" y=\"99\">SQLCond</text>\n</a>\n</g>\n</g>\n<path d=\"M1477 95h20\"></path>\n</g>\n</g>\n<path d=\"M1497 95a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1517 48h20\"></path>\n</g>\n</g>\n<path d=\"M1537 48h10\"></path>\n<path d=\"M 1547 48 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "update_database.ts"
+    },
+    {
+      "name": "Wait",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"WAIT\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"FOR\"'),Railroad.MultipleChoice(0, 'any',Railroad.Terminal('\"MESSAGING CHANNELS\"'),Railroad.Sequence(Railroad.Comment(\"v750 or open-abap\", {}), Railroad.Terminal('\"PUSH CHANNELS\"')),Railroad.Terminal('\"ASYNCHRONOUS TASKS\"')))),Railroad.Terminal('\"UNTIL\"'),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"UP TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"SECONDS\"')))),Railroad.Sequence(Railroad.Terminal('\"UP TO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"SECONDS\"'))))).toString();",
+      "using": [
+        "expression/Cond",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1210.5\" height=\"161\" viewBox=\"0 0 1210.5 161\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1160.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"WAIT\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M1160.5 40h0\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M1140.5 40h0\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M640 40h0\"></path>\n<path d=\"M151 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M171 20h449\"></path>\n</g>\n<path d=\"M620 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M151 40h20\"></path>\n<g>\n<path d=\"M171 40h0\"></path>\n<path d=\"M620 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M171 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<rect x=\"171\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"202.25\" y=\"44\">\"FOR\"</text>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<path d=\"M243.5 40h10\"></path>\n<g>\n<path d=\"M253.5 40h0\"></path>\n<path d=\"M620 40h0\"></path>\n<path d=\"M283.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M293.5 40h0\"></path>\n<path d=\"M483.5 40h106.5\"></path>\n<rect x=\"293.5\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.5\" y=\"44\">\"MESSAGING CHANNELS\"</text>\n</g>\n<path d=\"M590 40h10\"></path>\n<path d=\"M283.5 40v20a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M293.5 70h0\"></path>\n<path d=\"M590 70h0\"></path>\n<g>\n<path d=\"M293.5 70h0\"></path>\n<path d=\"M422.5 70h0\"></path>\n<text x=\"358\" y=\"75\" class=\"comment\">v750 or open-abap</text>\n</g>\n<path d=\"M422.5 70h10\"></path>\n<path d=\"M432.5 70h10\"></path>\n<g class=\"terminal\">\n<path d=\"M442.5 70h0\"></path>\n<path d=\"M590 70h0\"></path>\n<rect x=\"442.5\" y=\"59\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"516.25\" y=\"74\">\"PUSH CHANNELS\"</text>\n</g>\n</g>\n<path d=\"M590 70a10 10 0 0 0 10 -10v-20\"></path>\n<path d=\"M283.5 40v50a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M293.5 100h0\"></path>\n<path d=\"M483.5 100h106.5\"></path>\n<rect x=\"293.5\" y=\"89\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"388.5\" y=\"104\">\"ASYNCHRONOUS TASKS\"</text>\n</g>\n<path d=\"M590 100a10 10 0 0 0 10 -10v-50\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 283.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"268.5\" y=\"44\" class=\"diagram-text\">1+</text>\n<path d=\"M 600 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 607 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n</g>\n<path d=\"M620 40h20\"></path>\n</g>\n<path d=\"M640 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M650 40h0\"></path>\n<path d=\"M729.5 40h0\"></path>\n<rect x=\"650\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689.75\" y=\"44\">\"UNTIL\"</text>\n</g>\n<path d=\"M729.5 40h10\"></path>\n<path d=\"M739.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M749.5 40h0\"></path>\n<path d=\"M803.5 40h0\"></path>\n<rect x=\"749.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"776.5\" y=\"44\">Cond</text>\n</a>\n</g>\n<path d=\"M803.5 40h10\"></path>\n<g>\n<path d=\"M813.5 40h0\"></path>\n<path d=\"M1140.5 40h0\"></path>\n<path d=\"M813.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M833.5 20h287\"></path>\n</g>\n<path d=\"M1120.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M813.5 40h20\"></path>\n<g>\n<path d=\"M833.5 40h0\"></path>\n<path d=\"M1120.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M833.5 40h0\"></path>\n<path d=\"M913 40h0\"></path>\n<rect x=\"833.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"873.25\" y=\"44\">\"UP TO\"</text>\n</g>\n<path d=\"M913 40h10\"></path>\n<path d=\"M923 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M933 40h0\"></path>\n<path d=\"M1004 40h0\"></path>\n<rect x=\"933\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"968.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M1004 40h10\"></path>\n<path d=\"M1014 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1024 40h0\"></path>\n<path d=\"M1120.5 40h0\"></path>\n<rect x=\"1024\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1072.25\" y=\"44\">\"SECONDS\"</text>\n</g>\n</g>\n<path d=\"M1120.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1140.5 40h20\"></path>\n<path d=\"M131 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M151 130h0\"></path>\n<path d=\"M438 130h702.5\"></path>\n<g class=\"terminal\">\n<path d=\"M151 130h0\"></path>\n<path d=\"M230.5 130h0\"></path>\n<rect x=\"151\" y=\"119\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"190.75\" y=\"134\">\"UP TO\"</text>\n</g>\n<path d=\"M230.5 130h10\"></path>\n<path d=\"M240.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M250.5 130h0\"></path>\n<path d=\"M321.5 130h0\"></path>\n<rect x=\"250.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"286\" y=\"134\">Source</text>\n</a>\n</g>\n<path d=\"M321.5 130h10\"></path>\n<path d=\"M331.5 130h10\"></path>\n<g class=\"terminal\">\n<path d=\"M341.5 130h0\"></path>\n<path d=\"M438 130h0\"></path>\n<rect x=\"341.5\" y=\"119\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"389.75\" y=\"134\">\"SECONDS\"</text>\n</g>\n</g>\n<path d=\"M1140.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1160.5 40h10\"></path>\n<path d=\"M 1170.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "wait.ts"
+    },
+    {
+      "name": "When",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.Sequence(Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.ZeroOrMore(Railroad.NonTerminal('Or', {href: '#/expression/Or'}))))).toString();",
+      "using": [
+        "expression/Or",
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"369\" height=\"80\" viewBox=\"0 0 369 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"WHEN\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M212 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"176.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M212 40h10\"></path>\n<g>\n<path d=\"M222 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<path d=\"M222 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M242 20h57\"></path>\n</g>\n<path d=\"M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M222 40h20\"></path>\n<g>\n<path d=\"M242 40h0\"></path>\n<path d=\"M299 40h0\"></path>\n<path d=\"M242 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<rect x=\"252\" y=\"29\" width=\"37\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Or\"><text x=\"270.5\" y=\"44\">Or</text>\n</a>\n</g>\n<path d=\"M289 40h10\"></path>\n<path d=\"M252 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M252 60h37\"></path>\n</g>\n<path d=\"M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M299 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M319 40h10\"></path>\n<path d=\"M 329 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/When"
+      ],
+      "filename": "when.ts"
+    },
+    {
+      "name": "WhenOthers",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Terminal('\"WHEN OTHERS\"')).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"230.5\" height=\"62\" viewBox=\"0 0 230.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M180.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"35\">\"WHEN OTHERS\"</text>\n</g>\n<path d=\"M180.5 31h10\"></path>\n<path d=\"M 190.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/When",
+        "structure/WhenType"
+      ],
+      "filename": "when_others.ts"
+    },
+    {
+      "name": "WhenType",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v750 or open-abap\", {}), Railroad.Sequence(Railroad.Terminal('\"WHEN TYPE\"'),Railroad.Sequence(Railroad.NonTerminal('ClassName', {href: '#/expression/ClassName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"INTO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}))))))).toString();",
+      "using": [
+        "expression/ClassName",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"691\" height=\"71\" viewBox=\"0 0 691 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M641 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M179 40h0\"></path>\n<text x=\"114.5\" y=\"45\" class=\"comment\">v750 or open-abap</text>\n</g>\n<path d=\"M179 40h10\"></path>\n<path d=\"M189 40h10\"></path>\n<g>\n<path d=\"M199 40h0\"></path>\n<path d=\"M641 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M199 40h0\"></path>\n<path d=\"M312.5 40h0\"></path>\n<rect x=\"199\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"255.75\" y=\"44\">\"WHEN TYPE\"</text>\n</g>\n<path d=\"M312.5 40h10\"></path>\n<path d=\"M322.5 40h10\"></path>\n<g>\n<path d=\"M332.5 40h0\"></path>\n<path d=\"M641 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M332.5 40h0\"></path>\n<path d=\"M429 40h0\"></path>\n<rect x=\"332.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/ClassName\"><text x=\"380.75\" y=\"44\">ClassName</text>\n</a>\n</g>\n<path d=\"M429 40h10\"></path>\n<g>\n<path d=\"M439 40h0\"></path>\n<path d=\"M641 40h0\"></path>\n<path d=\"M439 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M459 20h162\"></path>\n</g>\n<path d=\"M621 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M439 40h20\"></path>\n<g>\n<path d=\"M459 40h0\"></path>\n<path d=\"M621 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M459 40h0\"></path>\n<path d=\"M530 40h0\"></path>\n<rect x=\"459\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"494.5\" y=\"44\">\"INTO\"</text>\n</g>\n<path d=\"M530 40h10\"></path>\n<path d=\"M540 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M550 40h0\"></path>\n<path d=\"M621 40h0\"></path>\n<rect x=\"550\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"585.5\" y=\"44\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M621 40h20\"></path>\n</g>\n</g>\n</g>\n</g>\n<path d=\"M641 40h10\"></path>\n<path d=\"M 651 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/WhenType"
+      ],
+      "filename": "when_type.ts"
+    },
+    {
+      "name": "While",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('\"WHILE\"'),Railroad.NonTerminal('Cond', {href: '#/expression/Cond'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"VARY\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'}),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Terminal('\"NEXT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}))))).toString();",
+      "using": [
+        "expression/Cond",
+        "expression/Source",
+        "expression/Target"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"829.5\" height=\"71\" viewBox=\"0 0 829.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M779.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"44\">\"WHILE\"</text>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<path d=\"M139.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 40h0\"></path>\n<path d=\"M203.5 40h0\"></path>\n<rect x=\"149.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Cond\"><text x=\"176.5\" y=\"44\">Cond</text>\n</a>\n</g>\n<path d=\"M203.5 40h10\"></path>\n<g>\n<path d=\"M213.5 40h0\"></path>\n<path d=\"M779.5 40h0\"></path>\n<path d=\"M213.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M233.5 20h526\"></path>\n</g>\n<path d=\"M759.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M213.5 40h20\"></path>\n<g>\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M759.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M304.5 40h0\"></path>\n<rect x=\"233.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"269\" y=\"44\">\"VARY\"</text>\n</g>\n<path d=\"M304.5 40h10\"></path>\n<path d=\"M314.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M324.5 40h0\"></path>\n<path d=\"M395.5 40h0\"></path>\n<rect x=\"324.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"360\" y=\"44\">Target</text>\n</a>\n</g>\n<path d=\"M395.5 40h10\"></path>\n<path d=\"M405.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M415.5 40h0\"></path>\n<path d=\"M486.5 40h0\"></path>\n<rect x=\"415.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"451\" y=\"44\">\"FROM\"</text>\n</g>\n<path d=\"M486.5 40h10\"></path>\n<path d=\"M496.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M506.5 40h0\"></path>\n<path d=\"M577.5 40h0\"></path>\n<rect x=\"506.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"542\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M577.5 40h10\"></path>\n<path d=\"M587.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M597.5 40h0\"></path>\n<path d=\"M668.5 40h0\"></path>\n<rect x=\"597.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"633\" y=\"44\">\"NEXT\"</text>\n</g>\n<path d=\"M668.5 40h10\"></path>\n<path d=\"M678.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M688.5 40h0\"></path>\n<path d=\"M759.5 40h0\"></path>\n<rect x=\"688.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"724\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M759.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M779.5 40h10\"></path>\n<path d=\"M 789.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/While"
+      ],
+      "filename": "while.ts"
+    },
+    {
+      "name": "Window",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"WINDOW STARTING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ENDING AT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))))).toString();",
+      "using": [
+        "expression/Source"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"910.5\" height=\"71\" viewBox=\"0 0 910.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M860.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M123 40h0\"></path>\n<text x=\"86.5\" y=\"45\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 40h10\"></path>\n<path d=\"M133 40h10\"></path>\n<g>\n<path d=\"M143 40h0\"></path>\n<path d=\"M860.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 40h0\"></path>\n<path d=\"M333 40h0\"></path>\n<rect x=\"143\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"238\" y=\"44\">\"WINDOW STARTING AT\"</text>\n</g>\n<path d=\"M333 40h10\"></path>\n<path d=\"M343 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353 40h0\"></path>\n<path d=\"M424 40h0\"></path>\n<rect x=\"353\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"388.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M424 40h10\"></path>\n<path d=\"M434 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M444 40h0\"></path>\n<path d=\"M515 40h0\"></path>\n<rect x=\"444\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"479.5\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M515 40h10\"></path>\n<g>\n<path d=\"M525 40h0\"></path>\n<path d=\"M860.5 40h0\"></path>\n<path d=\"M525 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M545 20h295.5\"></path>\n</g>\n<path d=\"M840.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M525 40h20\"></path>\n<g>\n<path d=\"M545 40h0\"></path>\n<path d=\"M840.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M545 40h0\"></path>\n<path d=\"M658.5 40h0\"></path>\n<rect x=\"545\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"601.75\" y=\"44\">\"ENDING AT\"</text>\n</g>\n<path d=\"M658.5 40h10\"></path>\n<path d=\"M668.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M678.5 40h0\"></path>\n<path d=\"M749.5 40h0\"></path>\n<rect x=\"678.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"714\" y=\"44\">Source</text>\n</a>\n</g>\n<path d=\"M749.5 40h10\"></path>\n<path d=\"M759.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M769.5 40h0\"></path>\n<path d=\"M840.5 40h0\"></path>\n<rect x=\"769.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"805\" y=\"44\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M840.5 40h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M860.5 40h10\"></path>\n<path d=\"M 870.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "window.ts"
+    },
+    {
+      "name": "With",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('WithName', {href: '#/expression/WithName'}),Railroad.Terminal('\"AS\"'),Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SelectLoop', {href: '#/expression/SelectLoop'}),Railroad.Terminal('!\" ) \"'))),Railroad.NonTerminal('Select', {href: '#/expression/Select'})))).toString();",
+      "using": [
+        "expression/Select",
+        "expression/SelectLoop",
+        "expression/WithName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"829\" height=\"71\" viewBox=\"0 0 829 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M779 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M779 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M179 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"143.5\" y=\"35\">\"WITH\"</text>\n</g>\n<path d=\"M179 31h10\"></path>\n<path d=\"M189 31h10\"></path>\n<g>\n<path d=\"M199 31h0\"></path>\n<path d=\"M688 31h0\"></path>\n<path d=\"M199 31h10\"></path>\n<g>\n<path d=\"M209 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M209 31h0\"></path>\n<path d=\"M297 31h0\"></path>\n<rect x=\"209\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/WithName\"><text x=\"253\" y=\"35\">WithName</text>\n</a>\n</g>\n<path d=\"M297 31h10\"></path>\n<path d=\"M307 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M317 31h0\"></path>\n<path d=\"M371 31h0\"></path>\n<rect x=\"317\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344\" y=\"35\">\"AS\"</text>\n</g>\n<path d=\"M371 31h10\"></path>\n<path d=\"M381 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M391 31h0\"></path>\n<path d=\"M462 31h0\"></path>\n<rect x=\"391\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"426.5\" y=\"35\">!\" ( \"</text>\n</g>\n<path d=\"M462 31h10\"></path>\n<path d=\"M472 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M482 31h0\"></path>\n<path d=\"M587 31h0\"></path>\n<rect x=\"482\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SelectLoop\"><text x=\"534.5\" y=\"35\">SelectLoop</text>\n</a>\n</g>\n<path d=\"M587 31h10\"></path>\n<path d=\"M597 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M607 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<rect x=\"607\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"642.5\" y=\"35\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M678 31h10\"></path>\n<path d=\"M209 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M209 51h469\"></path>\n</g>\n<path d=\"M678 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M688 31h10\"></path>\n<path d=\"M698 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M708 31h0\"></path>\n<path d=\"M779 31h0\"></path>\n<rect x=\"708\" y=\"20\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Select\"><text x=\"743.5\" y=\"35\">Select</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M779 31h10\"></path>\n<path d=\"M 789 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "with.ts"
+    },
+    {
+      "name": "WithLoop",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"v751\", {}), Railroad.Sequence(Railroad.Terminal('\"WITH\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('WithName', {href: '#/expression/WithName'}),Railroad.Terminal('\"AS\"'),Railroad.Terminal('!\" ( \"'),Railroad.NonTerminal('SelectLoop', {href: '#/expression/SelectLoop'}),Railroad.Terminal('!\" ) \"'))),Railroad.NonTerminal('SelectLoop', {href: '#/expression/SelectLoop'})))).toString();",
+      "using": [
+        "expression/SelectLoop",
+        "expression/WithName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"863\" height=\"71\" viewBox=\"0 0 863 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M813 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M88 31h0\"></path>\n<text x=\"69\" y=\"36\" class=\"comment\">v751</text>\n</g>\n<path d=\"M88 31h10\"></path>\n<path d=\"M98 31h10\"></path>\n<g>\n<path d=\"M108 31h0\"></path>\n<path d=\"M813 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M108 31h0\"></path>\n<path d=\"M179 31h0\"></path>\n<rect x=\"108\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"143.5\" y=\"35\">\"WITH\"</text>\n</g>\n<path d=\"M179 31h10\"></path>\n<path d=\"M189 31h10\"></path>\n<g>\n<path d=\"M199 31h0\"></path>\n<path d=\"M688 31h0\"></path>\n<path d=\"M199 31h10\"></path>\n<g>\n<path d=\"M209 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M209 31h0\"></path>\n<path d=\"M297 31h0\"></path>\n<rect x=\"209\" y=\"20\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/WithName\"><text x=\"253\" y=\"35\">WithName</text>\n</a>\n</g>\n<path d=\"M297 31h10\"></path>\n<path d=\"M307 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M317 31h0\"></path>\n<path d=\"M371 31h0\"></path>\n<rect x=\"317\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344\" y=\"35\">\"AS\"</text>\n</g>\n<path d=\"M371 31h10\"></path>\n<path d=\"M381 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M391 31h0\"></path>\n<path d=\"M462 31h0\"></path>\n<rect x=\"391\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"426.5\" y=\"35\">!\" ( \"</text>\n</g>\n<path d=\"M462 31h10\"></path>\n<path d=\"M472 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M482 31h0\"></path>\n<path d=\"M587 31h0\"></path>\n<rect x=\"482\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SelectLoop\"><text x=\"534.5\" y=\"35\">SelectLoop</text>\n</a>\n</g>\n<path d=\"M587 31h10\"></path>\n<path d=\"M597 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M607 31h0\"></path>\n<path d=\"M678 31h0\"></path>\n<rect x=\"607\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"642.5\" y=\"35\">!\" ) \"</text>\n</g>\n</g>\n<path d=\"M678 31h10\"></path>\n<path d=\"M209 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M209 51h469\"></path>\n</g>\n<path d=\"M678 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M688 31h10\"></path>\n<path d=\"M698 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M708 31h0\"></path>\n<path d=\"M813 31h0\"></path>\n<rect x=\"708\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/SelectLoop\"><text x=\"760.5\" y=\"35\">SelectLoop</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M813 31h10\"></path>\n<path d=\"M 823 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/With"
+      ],
+      "filename": "with_loop.ts"
+    },
+    {
+      "name": "Write",
+      "type": "statement",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Comment(\"not Cloud\", {}), Railroad.Sequence(Railroad.Terminal('\"WRITE\"'),Railroad.Choice(0, Railroad.Terminal('\"AT /\"'),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('WriteOffsetLength', {href: '#/expression/WriteOffsetLength'})),Railroad.Choice(0, Railroad.NonTerminal('Source', {href: '#/expression/Source'}),Railroad.NonTerminal('Dynamic', {href: '#/expression/Dynamic'}),Railroad.Terminal('\"/\"')),Railroad.Optional(Railroad.MultipleChoice(0, 'any',Railroad.Sequence(Railroad.Terminal('\"USING\"'),Railroad.Choice(0, Railroad.Terminal('\"NO EDIT MASK\"'),Railroad.Sequence(Railroad.Terminal('\"EDIT MASK\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})))),Railroad.Sequence(Railroad.Terminal('\"TO\"'),Railroad.NonTerminal('Target', {href: '#/expression/Target'})),Railroad.Sequence(Railroad.Terminal('\"EXPONENT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"NO-GROUPING\"'),Railroad.Terminal('\"NO-ZERO\"'),Railroad.Terminal('\"CENTERED\"'),Railroad.Sequence(Railroad.Terminal('\"INPUT\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')),Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))),Railroad.Terminal('\"NO-GAP\"'),Railroad.Terminal('\"LEFT-JUSTIFIED\"'),Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.Choice(0, Railroad.Terminal('\"LINE\"'),Railroad.Terminal('\"ICON\"'),Railroad.Terminal('\"CHECKBOX\"'),Railroad.Terminal('\"SYMBOL\"'))),Railroad.Sequence(Railroad.Terminal('\"FRAMES\"'),Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')),Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'})))),Railroad.Sequence(Railroad.Terminal('\"HOTSPOT\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')),Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))),Railroad.Terminal('\"RIGHT-JUSTIFIED\"'),Railroad.Sequence(Railroad.Terminal('\"TIME ZONE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"UNDER\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"STYLE\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"ROUND\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"QUICKINFO\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"ENVIRONMENT TIME FORMAT\"'),Railroad.Choice(0, Railroad.Terminal('\"DD/MM/YY\"'),Railroad.Terminal('\"MM/DD/YY\"'),Railroad.Terminal('\"DD/MM/YYYY\"'),Railroad.Terminal('\"MM/DD/YYYY\"'),Railroad.Terminal('\"DDMMYY\"'),Railroad.Terminal('\"MMDDYY\"'),Railroad.Terminal('\"YYMMDD\"')),Railroad.Sequence(Railroad.Terminal('\"UNIT\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INTENSIFIED\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')),Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))),Railroad.Sequence(Railroad.Terminal('\"INDEX\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"DECIMALS\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Sequence(Railroad.Terminal('\"INVERSE\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Choice(0, Railroad.Terminal('\"ON\"'),Railroad.Terminal('\"OFF\"')),Railroad.Sequence(Railroad.Terminal('\"=\"'),Railroad.NonTerminal('FieldSub', {href: '#/expression/FieldSub'}))))),Railroad.NonTerminal('Color', {href: '#/expression/Color'}),Railroad.Sequence(Railroad.Terminal('\"CURRENCY\"'),Railroad.NonTerminal('Source', {href: '#/expression/Source'})),Railroad.Terminal('\"NO-SIGN\"')))))))).toString();",
+      "using": [
+        "expression/Color",
+        "expression/Dynamic",
+        "expression/FieldSub",
+        "expression/Source",
+        "expression/Target",
+        "expression/WriteOffsetLength"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1130.5\" height=\"1547\" viewBox=\"0 0 1130.5 1547\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M1080.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M123 31h0\"></path>\n<text x=\"86.5\" y=\"36\" class=\"comment\">not Cloud</text>\n</g>\n<path d=\"M123 31h10\"></path>\n<path d=\"M133 31h10\"></path>\n<g>\n<path d=\"M143 31h0\"></path>\n<path d=\"M1080.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M143 31h0\"></path>\n<path d=\"M222.5 31h0\"></path>\n<rect x=\"143\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.75\" y=\"35\">\"WRITE\"</text>\n</g>\n<path d=\"M222.5 31h10\"></path>\n<g>\n<path d=\"M232.5 31h0\"></path>\n<path d=\"M1080.5 31h0\"></path>\n<path d=\"M232.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M252.5 31h0\"></path>\n<path d=\"M323.5 31h737\"></path>\n<rect x=\"252.5\" y=\"20\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"288\" y=\"35\">\"AT /\"</text>\n</g>\n<path d=\"M1060.5 31h20\"></path>\n<path d=\"M232.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M252.5 70h0\"></path>\n<path d=\"M1060.5 70h0\"></path>\n<g>\n<path d=\"M252.5 70h0\"></path>\n<path d=\"M457 70h0\"></path>\n<path d=\"M252.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M272.5 50h164.5\"></path>\n</g>\n<path d=\"M437 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M252.5 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M272.5 70h0\"></path>\n<path d=\"M437 70h0\"></path>\n<rect x=\"272.5\" y=\"59\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/WriteOffsetLength\"><text x=\"354.75\" y=\"74\">WriteOffsetLength</text>\n</a>\n</g>\n<path d=\"M437 70h20\"></path>\n</g>\n<g>\n<path d=\"M457 70h0\"></path>\n<path d=\"M576.5 70h0\"></path>\n<path d=\"M457 70h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M477 70h0\"></path>\n<path d=\"M548 70h8.5\"></path>\n<rect x=\"477\" y=\"59\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"512.5\" y=\"74\">Source</text>\n</a>\n</g>\n<path d=\"M556.5 70h20\"></path>\n<path d=\"M457 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M477 100h0\"></path>\n<path d=\"M556.5 100h0\"></path>\n<rect x=\"477\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Dynamic\"><text x=\"516.75\" y=\"104\">Dynamic</text>\n</a>\n</g>\n<path d=\"M556.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M457 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M477 130h0\"></path>\n<path d=\"M522.5 130h34\"></path>\n<rect x=\"477\" y=\"119\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"499.75\" y=\"134\">\"/\"</text>\n</g>\n<path d=\"M556.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M576.5 70h0\"></path>\n<path d=\"M1060.5 70h0\"></path>\n<path d=\"M576.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M596.5 50h444\"></path>\n</g>\n<path d=\"M1040.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M576.5 70h20\"></path>\n<g>\n<path d=\"M596.5 70h0\"></path>\n<path d=\"M1040.5 70h0\"></path>\n<path d=\"M626.5 70h10\"></path>\n<g>\n<path d=\"M636.5 70h0\"></path>\n<path d=\"M970.5 70h40\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 70h0\"></path>\n<path d=\"M716 70h0\"></path>\n<rect x=\"636.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"74\">\"USING\"</text>\n</g>\n<path d=\"M716 70h10\"></path>\n<g>\n<path d=\"M726 70h0\"></path>\n<path d=\"M970.5 70h0\"></path>\n<path d=\"M726 70h20\"></path>\n<g class=\"terminal\">\n<path d=\"M746 70h0\"></path>\n<path d=\"M885 70h65.5\"></path>\n<rect x=\"746\" y=\"59\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"815.5\" y=\"74\">\"NO EDIT MASK\"</text>\n</g>\n<path d=\"M950.5 70h20\"></path>\n<path d=\"M726 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M746 100h0\"></path>\n<path d=\"M950.5 100h0\"></path>\n<g class=\"terminal\">\n<path d=\"M746 100h0\"></path>\n<path d=\"M859.5 100h0\"></path>\n<rect x=\"746\" y=\"89\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"802.75\" y=\"104\">\"EDIT MASK\"</text>\n</g>\n<path d=\"M859.5 100h10\"></path>\n<path d=\"M869.5 100h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M879.5 100h0\"></path>\n<path d=\"M950.5 100h0\"></path>\n<rect x=\"879.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"915\" y=\"104\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M950.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1010.5 70h10\"></path>\n<path d=\"M626.5 70v50a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 130h0\"></path>\n<path d=\"M781.5 130h229\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 130h0\"></path>\n<path d=\"M690.5 130h0\"></path>\n<rect x=\"636.5\" y=\"119\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"663.5\" y=\"134\">\"TO\"</text>\n</g>\n<path d=\"M690.5 130h10\"></path>\n<path d=\"M700.5 130h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M710.5 130h0\"></path>\n<path d=\"M781.5 130h0\"></path>\n<rect x=\"710.5\" y=\"119\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Target\"><text x=\"746\" y=\"134\">Target</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 130a10 10 0 0 0 10 -10v-50\"></path>\n<path d=\"M626.5 70v80a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 160h0\"></path>\n<path d=\"M832.5 160h178\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 160h0\"></path>\n<path d=\"M741.5 160h0\"></path>\n<rect x=\"636.5\" y=\"149\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"164\">\"EXPONENT\"</text>\n</g>\n<path d=\"M741.5 160h10\"></path>\n<path d=\"M751.5 160h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M761.5 160h0\"></path>\n<path d=\"M832.5 160h0\"></path>\n<rect x=\"761.5\" y=\"149\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"797\" y=\"164\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 160a10 10 0 0 0 10 -10v-80\"></path>\n<path d=\"M626.5 70v110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 190h0\"></path>\n<path d=\"M767 190h243.5\"></path>\n<rect x=\"636.5\" y=\"179\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.75\" y=\"194\">\"NO-GROUPING\"</text>\n</g>\n<path d=\"M1010.5 190a10 10 0 0 0 10 -10v-110\"></path>\n<path d=\"M626.5 70v140a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 220h0\"></path>\n<path d=\"M733 220h277.5\"></path>\n<rect x=\"636.5\" y=\"209\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684.75\" y=\"224\">\"NO-ZERO\"</text>\n</g>\n<path d=\"M1010.5 220a10 10 0 0 0 10 -10v-140\"></path>\n<path d=\"M626.5 70v170a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 250h0\"></path>\n<path d=\"M741.5 250h269\"></path>\n<rect x=\"636.5\" y=\"239\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"254\">\"CENTERED\"</text>\n</g>\n<path d=\"M1010.5 250a10 10 0 0 0 10 -10v-170\"></path>\n<path d=\"M626.5 70v209a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 289h0\"></path>\n<path d=\"M959.5 289h51\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 289h0\"></path>\n<path d=\"M716 289h0\"></path>\n<rect x=\"636.5\" y=\"278\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"293\">\"INPUT\"</text>\n</g>\n<path d=\"M716 289h10\"></path>\n<g>\n<path d=\"M726 289h0\"></path>\n<path d=\"M959.5 289h0\"></path>\n<path d=\"M726 289a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M746 269h193.5\"></path>\n</g>\n<path d=\"M939.5 269a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M726 289h20\"></path>\n<g>\n<path d=\"M746 289h0\"></path>\n<path d=\"M939.5 289h0\"></path>\n<path d=\"M746 289h20\"></path>\n<g>\n<path d=\"M766 289h0\"></path>\n<path d=\"M868.5 289h51\"></path>\n<path d=\"M766 289h20\"></path>\n<g class=\"terminal\">\n<path d=\"M786 289h0\"></path>\n<path d=\"M840 289h8.5\"></path>\n<rect x=\"786\" y=\"278\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"813\" y=\"293\">\"ON\"</text>\n</g>\n<path d=\"M848.5 289h20\"></path>\n<path d=\"M766 289a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M786 319h0\"></path>\n<path d=\"M848.5 319h0\"></path>\n<rect x=\"786\" y=\"308\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"817.25\" y=\"323\">\"OFF\"</text>\n</g>\n<path d=\"M848.5 319a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M919.5 289h20\"></path>\n<path d=\"M746 289a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M766 349h0\"></path>\n<path d=\"M919.5 349h0\"></path>\n<g class=\"terminal\">\n<path d=\"M766 349h0\"></path>\n<path d=\"M811.5 349h0\"></path>\n<rect x=\"766\" y=\"338\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"788.75\" y=\"353\">\"=\"</text>\n</g>\n<path d=\"M811.5 349h10\"></path>\n<path d=\"M821.5 349h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M831.5 349h0\"></path>\n<path d=\"M919.5 349h0\"></path>\n<rect x=\"831.5\" y=\"338\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"875.5\" y=\"353\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M919.5 349a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M939.5 289h20\"></path>\n</g>\n</g>\n<path d=\"M1010.5 289a10 10 0 0 0 10 -10v-209\"></path>\n<path d=\"M626.5 70v299a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 379h0\"></path>\n<path d=\"M724.5 379h286\"></path>\n<rect x=\"636.5\" y=\"368\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"680.5\" y=\"383\">\"NO-GAP\"</text>\n</g>\n<path d=\"M1010.5 379a10 10 0 0 0 10 -10v-299\"></path>\n<path d=\"M626.5 70v329a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 409h0\"></path>\n<path d=\"M792.5 409h218\"></path>\n<rect x=\"636.5\" y=\"398\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"714.5\" y=\"413\">\"LEFT-JUSTIFIED\"</text>\n</g>\n<path d=\"M1010.5 409a10 10 0 0 0 10 -10v-329\"></path>\n<path d=\"M626.5 70v359a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 439h0\"></path>\n<path d=\"M845.5 439h165\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 439h0\"></path>\n<path d=\"M690.5 439h0\"></path>\n<rect x=\"636.5\" y=\"428\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"663.5\" y=\"443\">\"AS\"</text>\n</g>\n<path d=\"M690.5 439h10\"></path>\n<g>\n<path d=\"M700.5 439h0\"></path>\n<path d=\"M845.5 439h0\"></path>\n<path d=\"M700.5 439h20\"></path>\n<g class=\"terminal\">\n<path d=\"M720.5 439h0\"></path>\n<path d=\"M791.5 439h34\"></path>\n<rect x=\"720.5\" y=\"428\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"756\" y=\"443\">\"LINE\"</text>\n</g>\n<path d=\"M825.5 439h20\"></path>\n<path d=\"M700.5 439a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M720.5 469h0\"></path>\n<path d=\"M791.5 469h34\"></path>\n<rect x=\"720.5\" y=\"458\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"756\" y=\"473\">\"ICON\"</text>\n</g>\n<path d=\"M825.5 469a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M700.5 439a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M720.5 499h0\"></path>\n<path d=\"M825.5 499h0\"></path>\n<rect x=\"720.5\" y=\"488\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"773\" y=\"503\">\"CHECKBOX\"</text>\n</g>\n<path d=\"M825.5 499a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M700.5 439a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M720.5 529h0\"></path>\n<path d=\"M808.5 529h17\"></path>\n<rect x=\"720.5\" y=\"518\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"764.5\" y=\"533\">\"SYMBOL\"</text>\n</g>\n<path d=\"M825.5 529a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1010.5 439a10 10 0 0 0 10 -10v-359\"></path>\n<path d=\"M626.5 70v479a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 559h0\"></path>\n<path d=\"M928 559h82.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 559h0\"></path>\n<path d=\"M724.5 559h0\"></path>\n<rect x=\"636.5\" y=\"548\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"680.5\" y=\"563\">\"FRAMES\"</text>\n</g>\n<path d=\"M724.5 559h10\"></path>\n<g>\n<path d=\"M734.5 559h0\"></path>\n<path d=\"M928 559h0\"></path>\n<path d=\"M734.5 559h20\"></path>\n<g>\n<path d=\"M754.5 559h0\"></path>\n<path d=\"M857 559h51\"></path>\n<path d=\"M754.5 559h20\"></path>\n<g class=\"terminal\">\n<path d=\"M774.5 559h0\"></path>\n<path d=\"M828.5 559h8.5\"></path>\n<rect x=\"774.5\" y=\"548\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"801.5\" y=\"563\">\"ON\"</text>\n</g>\n<path d=\"M837 559h20\"></path>\n<path d=\"M754.5 559a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M774.5 589h0\"></path>\n<path d=\"M837 589h0\"></path>\n<rect x=\"774.5\" y=\"578\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"805.75\" y=\"593\">\"OFF\"</text>\n</g>\n<path d=\"M837 589a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M908 559h20\"></path>\n<path d=\"M734.5 559a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M754.5 619h0\"></path>\n<path d=\"M908 619h0\"></path>\n<g class=\"terminal\">\n<path d=\"M754.5 619h0\"></path>\n<path d=\"M800 619h0\"></path>\n<rect x=\"754.5\" y=\"608\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"777.25\" y=\"623\">\"=\"</text>\n</g>\n<path d=\"M800 619h10\"></path>\n<path d=\"M810 619h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M820 619h0\"></path>\n<path d=\"M908 619h0\"></path>\n<rect x=\"820\" y=\"608\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"864\" y=\"623\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M908 619a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1010.5 559a10 10 0 0 0 10 -10v-479\"></path>\n<path d=\"M626.5 70v578a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 658h0\"></path>\n<path d=\"M976.5 658h34\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 658h0\"></path>\n<path d=\"M733 658h0\"></path>\n<rect x=\"636.5\" y=\"647\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684.75\" y=\"662\">\"HOTSPOT\"</text>\n</g>\n<path d=\"M733 658h10\"></path>\n<g>\n<path d=\"M743 658h0\"></path>\n<path d=\"M976.5 658h0\"></path>\n<path d=\"M743 658a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M763 638h193.5\"></path>\n</g>\n<path d=\"M956.5 638a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M743 658h20\"></path>\n<g>\n<path d=\"M763 658h0\"></path>\n<path d=\"M956.5 658h0\"></path>\n<path d=\"M763 658h20\"></path>\n<g>\n<path d=\"M783 658h0\"></path>\n<path d=\"M885.5 658h51\"></path>\n<path d=\"M783 658h20\"></path>\n<g class=\"terminal\">\n<path d=\"M803 658h0\"></path>\n<path d=\"M857 658h8.5\"></path>\n<rect x=\"803\" y=\"647\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"830\" y=\"662\">\"ON\"</text>\n</g>\n<path d=\"M865.5 658h20\"></path>\n<path d=\"M783 658a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M803 688h0\"></path>\n<path d=\"M865.5 688h0\"></path>\n<rect x=\"803\" y=\"677\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"834.25\" y=\"692\">\"OFF\"</text>\n</g>\n<path d=\"M865.5 688a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M936.5 658h20\"></path>\n<path d=\"M763 658a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M783 718h0\"></path>\n<path d=\"M936.5 718h0\"></path>\n<g class=\"terminal\">\n<path d=\"M783 718h0\"></path>\n<path d=\"M828.5 718h0\"></path>\n<rect x=\"783\" y=\"707\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"805.75\" y=\"722\">\"=\"</text>\n</g>\n<path d=\"M828.5 718h10\"></path>\n<path d=\"M838.5 718h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M848.5 718h0\"></path>\n<path d=\"M936.5 718h0\"></path>\n<rect x=\"848.5\" y=\"707\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"892.5\" y=\"722\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M936.5 718a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M956.5 658h20\"></path>\n</g>\n</g>\n<path d=\"M1010.5 658a10 10 0 0 0 10 -10v-578\"></path>\n<path d=\"M626.5 70v668a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 748h0\"></path>\n<path d=\"M801 748h209.5\"></path>\n<rect x=\"636.5\" y=\"737\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"718.75\" y=\"752\">\"RIGHT-JUSTIFIED\"</text>\n</g>\n<path d=\"M1010.5 748a10 10 0 0 0 10 -10v-668\"></path>\n<path d=\"M626.5 70v698a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 778h0\"></path>\n<path d=\"M841 778h169.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 778h0\"></path>\n<path d=\"M750 778h0\"></path>\n<rect x=\"636.5\" y=\"767\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"693.25\" y=\"782\">\"TIME ZONE\"</text>\n</g>\n<path d=\"M750 778h10\"></path>\n<path d=\"M760 778h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M770 778h0\"></path>\n<path d=\"M841 778h0\"></path>\n<rect x=\"770\" y=\"767\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"805.5\" y=\"782\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 778a10 10 0 0 0 10 -10v-698\"></path>\n<path d=\"M626.5 70v728a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 808h0\"></path>\n<path d=\"M807 808h203.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 808h0\"></path>\n<path d=\"M716 808h0\"></path>\n<rect x=\"636.5\" y=\"797\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"812\">\"UNDER\"</text>\n</g>\n<path d=\"M716 808h10\"></path>\n<path d=\"M726 808h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M736 808h0\"></path>\n<path d=\"M807 808h0\"></path>\n<rect x=\"736\" y=\"797\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"771.5\" y=\"812\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 808a10 10 0 0 0 10 -10v-728\"></path>\n<path d=\"M626.5 70v758a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 838h0\"></path>\n<path d=\"M807 838h203.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 838h0\"></path>\n<path d=\"M716 838h0\"></path>\n<rect x=\"636.5\" y=\"827\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"842\">\"STYLE\"</text>\n</g>\n<path d=\"M716 838h10\"></path>\n<path d=\"M726 838h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M736 838h0\"></path>\n<path d=\"M807 838h0\"></path>\n<rect x=\"736\" y=\"827\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"771.5\" y=\"842\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 838a10 10 0 0 0 10 -10v-758\"></path>\n<path d=\"M626.5 70v788a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 868h0\"></path>\n<path d=\"M807 868h203.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 868h0\"></path>\n<path d=\"M716 868h0\"></path>\n<rect x=\"636.5\" y=\"857\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"872\">\"ROUND\"</text>\n</g>\n<path d=\"M716 868h10\"></path>\n<path d=\"M726 868h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M736 868h0\"></path>\n<path d=\"M807 868h0\"></path>\n<rect x=\"736\" y=\"857\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"771.5\" y=\"872\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 868a10 10 0 0 0 10 -10v-788\"></path>\n<path d=\"M626.5 70v818a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 898h0\"></path>\n<path d=\"M841 898h169.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 898h0\"></path>\n<path d=\"M750 898h0\"></path>\n<rect x=\"636.5\" y=\"887\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"693.25\" y=\"902\">\"QUICKINFO\"</text>\n</g>\n<path d=\"M750 898h10\"></path>\n<path d=\"M760 898h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M770 898h0\"></path>\n<path d=\"M841 898h0\"></path>\n<rect x=\"770\" y=\"887\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"805.5\" y=\"902\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 898a10 10 0 0 0 10 -10v-818\"></path>\n<path d=\"M626.5 70v848a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 928h0\"></path>\n<path d=\"M869 928h141.5\"></path>\n<rect x=\"636.5\" y=\"917\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"752.75\" y=\"932\">\"ENVIRONMENT TIME FORMAT\"</text>\n</g>\n<path d=\"M1010.5 928a10 10 0 0 0 10 -10v-848\"></path>\n<path d=\"M626.5 70v878a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 958h0\"></path>\n<path d=\"M798.5 958h212\"></path>\n<path d=\"M636.5 958h20\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 958h0\"></path>\n<path d=\"M761.5 958h17\"></path>\n<rect x=\"656.5\" y=\"947\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"709\" y=\"962\">\"DD/MM/YY\"</text>\n</g>\n<path d=\"M778.5 958h20\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 988h0\"></path>\n<path d=\"M761.5 988h17\"></path>\n<rect x=\"656.5\" y=\"977\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"709\" y=\"992\">\"MM/DD/YY\"</text>\n</g>\n<path d=\"M778.5 988a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 1018h0\"></path>\n<path d=\"M778.5 1018h0\"></path>\n<rect x=\"656.5\" y=\"1007\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"717.5\" y=\"1022\">\"DD/MM/YYYY\"</text>\n</g>\n<path d=\"M778.5 1018a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 1048h0\"></path>\n<path d=\"M778.5 1048h0\"></path>\n<rect x=\"656.5\" y=\"1037\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"717.5\" y=\"1052\">\"MM/DD/YYYY\"</text>\n</g>\n<path d=\"M778.5 1048a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 1078h0\"></path>\n<path d=\"M744.5 1078h34\"></path>\n<rect x=\"656.5\" y=\"1067\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"700.5\" y=\"1082\">\"DDMMYY\"</text>\n</g>\n<path d=\"M778.5 1078a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 1108h0\"></path>\n<path d=\"M744.5 1108h34\"></path>\n<rect x=\"656.5\" y=\"1097\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"700.5\" y=\"1112\">\"MMDDYY\"</text>\n</g>\n<path d=\"M778.5 1108a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M636.5 958a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M656.5 1138h0\"></path>\n<path d=\"M744.5 1138h34\"></path>\n<rect x=\"656.5\" y=\"1127\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"700.5\" y=\"1142\">\"YYMMDD\"</text>\n</g>\n<path d=\"M778.5 1138a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1010.5 958a10 10 0 0 0 10 -10v-878\"></path>\n<path d=\"M626.5 70v1088a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1168h0\"></path>\n<path d=\"M798.5 1168h212\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1168h0\"></path>\n<path d=\"M707.5 1168h0\"></path>\n<rect x=\"636.5\" y=\"1157\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"672\" y=\"1172\">\"UNIT\"</text>\n</g>\n<path d=\"M707.5 1168h10\"></path>\n<path d=\"M717.5 1168h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M727.5 1168h0\"></path>\n<path d=\"M798.5 1168h0\"></path>\n<rect x=\"727.5\" y=\"1157\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"763\" y=\"1172\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 1168a10 10 0 0 0 10 -10v-1088\"></path>\n<path d=\"M626.5 70v1127a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1207h0\"></path>\n<path d=\"M1010.5 1207h0\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1207h0\"></path>\n<path d=\"M767 1207h0\"></path>\n<rect x=\"636.5\" y=\"1196\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"701.75\" y=\"1211\">\"INTENSIFIED\"</text>\n</g>\n<path d=\"M767 1207h10\"></path>\n<g>\n<path d=\"M777 1207h0\"></path>\n<path d=\"M1010.5 1207h0\"></path>\n<path d=\"M777 1207a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M797 1187h193.5\"></path>\n</g>\n<path d=\"M990.5 1187a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M777 1207h20\"></path>\n<g>\n<path d=\"M797 1207h0\"></path>\n<path d=\"M990.5 1207h0\"></path>\n<path d=\"M797 1207h20\"></path>\n<g>\n<path d=\"M817 1207h0\"></path>\n<path d=\"M919.5 1207h51\"></path>\n<path d=\"M817 1207h20\"></path>\n<g class=\"terminal\">\n<path d=\"M837 1207h0\"></path>\n<path d=\"M891 1207h8.5\"></path>\n<rect x=\"837\" y=\"1196\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"864\" y=\"1211\">\"ON\"</text>\n</g>\n<path d=\"M899.5 1207h20\"></path>\n<path d=\"M817 1207a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M837 1237h0\"></path>\n<path d=\"M899.5 1237h0\"></path>\n<rect x=\"837\" y=\"1226\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"868.25\" y=\"1241\">\"OFF\"</text>\n</g>\n<path d=\"M899.5 1237a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M970.5 1207h20\"></path>\n<path d=\"M797 1207a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M817 1267h0\"></path>\n<path d=\"M970.5 1267h0\"></path>\n<g class=\"terminal\">\n<path d=\"M817 1267h0\"></path>\n<path d=\"M862.5 1267h0\"></path>\n<rect x=\"817\" y=\"1256\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"839.75\" y=\"1271\">\"=\"</text>\n</g>\n<path d=\"M862.5 1267h10\"></path>\n<path d=\"M872.5 1267h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M882.5 1267h0\"></path>\n<path d=\"M970.5 1267h0\"></path>\n<rect x=\"882.5\" y=\"1256\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"926.5\" y=\"1271\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M970.5 1267a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M990.5 1207h20\"></path>\n</g>\n</g>\n<path d=\"M1010.5 1207a10 10 0 0 0 10 -10v-1127\"></path>\n<path d=\"M626.5 70v1217a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1297h0\"></path>\n<path d=\"M807 1297h203.5\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1297h0\"></path>\n<path d=\"M716 1297h0\"></path>\n<rect x=\"636.5\" y=\"1286\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"676.25\" y=\"1301\">\"INDEX\"</text>\n</g>\n<path d=\"M716 1297h10\"></path>\n<path d=\"M726 1297h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M736 1297h0\"></path>\n<path d=\"M807 1297h0\"></path>\n<rect x=\"736\" y=\"1286\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"771.5\" y=\"1301\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 1297a10 10 0 0 0 10 -10v-1217\"></path>\n<path d=\"M626.5 70v1247a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1327h0\"></path>\n<path d=\"M832.5 1327h178\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1327h0\"></path>\n<path d=\"M741.5 1327h0\"></path>\n<rect x=\"636.5\" y=\"1316\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"1331\">\"DECIMALS\"</text>\n</g>\n<path d=\"M741.5 1327h10\"></path>\n<path d=\"M751.5 1327h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M761.5 1327h0\"></path>\n<path d=\"M832.5 1327h0\"></path>\n<rect x=\"761.5\" y=\"1316\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"797\" y=\"1331\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 1327a10 10 0 0 0 10 -10v-1247\"></path>\n<path d=\"M626.5 70v1286a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1366h0\"></path>\n<path d=\"M976.5 1366h34\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1366h0\"></path>\n<path d=\"M733 1366h0\"></path>\n<rect x=\"636.5\" y=\"1355\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684.75\" y=\"1370\">\"INVERSE\"</text>\n</g>\n<path d=\"M733 1366h10\"></path>\n<g>\n<path d=\"M743 1366h0\"></path>\n<path d=\"M976.5 1366h0\"></path>\n<path d=\"M743 1366a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M763 1346h193.5\"></path>\n</g>\n<path d=\"M956.5 1346a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M743 1366h20\"></path>\n<g>\n<path d=\"M763 1366h0\"></path>\n<path d=\"M956.5 1366h0\"></path>\n<path d=\"M763 1366h20\"></path>\n<g>\n<path d=\"M783 1366h0\"></path>\n<path d=\"M885.5 1366h51\"></path>\n<path d=\"M783 1366h20\"></path>\n<g class=\"terminal\">\n<path d=\"M803 1366h0\"></path>\n<path d=\"M857 1366h8.5\"></path>\n<rect x=\"803\" y=\"1355\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"830\" y=\"1370\">\"ON\"</text>\n</g>\n<path d=\"M865.5 1366h20\"></path>\n<path d=\"M783 1366a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M803 1396h0\"></path>\n<path d=\"M865.5 1396h0\"></path>\n<rect x=\"803\" y=\"1385\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"834.25\" y=\"1400\">\"OFF\"</text>\n</g>\n<path d=\"M865.5 1396a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M936.5 1366h20\"></path>\n<path d=\"M763 1366a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M783 1426h0\"></path>\n<path d=\"M936.5 1426h0\"></path>\n<g class=\"terminal\">\n<path d=\"M783 1426h0\"></path>\n<path d=\"M828.5 1426h0\"></path>\n<rect x=\"783\" y=\"1415\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"805.75\" y=\"1430\">\"=\"</text>\n</g>\n<path d=\"M828.5 1426h10\"></path>\n<path d=\"M838.5 1426h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M848.5 1426h0\"></path>\n<path d=\"M936.5 1426h0\"></path>\n<rect x=\"848.5\" y=\"1415\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/FieldSub\"><text x=\"892.5\" y=\"1430\">FieldSub</text>\n</a>\n</g>\n</g>\n<path d=\"M936.5 1426a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M956.5 1366h20\"></path>\n</g>\n</g>\n<path d=\"M1010.5 1366a10 10 0 0 0 10 -10v-1286\"></path>\n<path d=\"M626.5 70v1376a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M636.5 1456h0\"></path>\n<path d=\"M699 1456h311.5\"></path>\n<rect x=\"636.5\" y=\"1445\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Color\"><text x=\"667.75\" y=\"1460\">Color</text>\n</a>\n</g>\n<path d=\"M1010.5 1456a10 10 0 0 0 10 -10v-1376\"></path>\n<path d=\"M626.5 70v1406a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M636.5 1486h0\"></path>\n<path d=\"M832.5 1486h178\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1486h0\"></path>\n<path d=\"M741.5 1486h0\"></path>\n<rect x=\"636.5\" y=\"1475\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"689\" y=\"1490\">\"CURRENCY\"</text>\n</g>\n<path d=\"M741.5 1486h10\"></path>\n<path d=\"M751.5 1486h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M761.5 1486h0\"></path>\n<path d=\"M832.5 1486h0\"></path>\n<rect x=\"761.5\" y=\"1475\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/expression/Source\"><text x=\"797\" y=\"1490\">Source</text>\n</a>\n</g>\n</g>\n<path d=\"M1010.5 1486a10 10 0 0 0 10 -10v-1406\"></path>\n<path d=\"M626.5 70v1436a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M636.5 1516h0\"></path>\n<path d=\"M733 1516h277.5\"></path>\n<rect x=\"636.5\" y=\"1505\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"684.75\" y=\"1520\">\"NO-SIGN\"</text>\n</g>\n<path d=\"M1010.5 1516a10 10 0 0 0 10 -10v-1436\"></path>\n<g class=\"diagram-text\">\n<title>take one or more branches, once each, in any order</title>\n<path d=\"M 626.5 60 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z\" class=\"diagram-text\"></path>\n<text x=\"611.5\" y=\"74\" class=\"diagram-text\">1+</text>\n<path d=\"M 1020.5 60 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z\" class=\"diagram-text\"></path>\n<path d=\"M 1027.5 68 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2\" style=\"stroke-width: 1.75\"></path>\n</g>\n</g>\n<path d=\"M1040.5 70h20\"></path>\n</g>\n</g>\n<path d=\"M1060.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1080.5 31h10\"></path>\n<path d=\"M 1090.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "write.ts"
+    }
+  ],
+  "structures": [
+    {
+      "name": "Any",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('ClassLocalFriends', {href: '#/statement/ClassLocalFriends'}),Railroad.Terminal('ClassDeferred', {href: '#/statement/ClassDeferred'}),Railroad.Terminal('Report', {href: '#/statement/Report'}),Railroad.Terminal('Program', {href: '#/statement/Program'}),Railroad.Terminal('Parameter', {href: '#/statement/Parameter'}),Railroad.Terminal('CheckSelectOptions', {href: '#/statement/CheckSelectOptions'}),Railroad.Terminal('Get', {href: '#/statement/Get'}),Railroad.Terminal('Initialization', {href: '#/statement/Initialization'}),Railroad.Terminal('InterfaceDeferred', {href: '#/statement/InterfaceDeferred'}),Railroad.Terminal('SelectionScreen', {href: '#/statement/SelectionScreen'}),Railroad.Terminal('SelectOption', {href: '#/statement/SelectOption'}),Railroad.Terminal('AtSelectionScreen', {href: '#/statement/AtSelectionScreen'}),Railroad.Terminal('AtLineSelection', {href: '#/statement/AtLineSelection'}),Railroad.Terminal('AtUserCommand', {href: '#/statement/AtUserCommand'}),Railroad.Terminal('StartOfSelection', {href: '#/statement/StartOfSelection'}),Railroad.Terminal('EndOfSelection', {href: '#/statement/EndOfSelection'}),Railroad.Terminal('LoadOfProgram', {href: '#/statement/LoadOfProgram'}),Railroad.Terminal('TopOfPage', {href: '#/statement/TopOfPage'}),Railroad.Terminal('EndOfPage', {href: '#/statement/EndOfPage'}),Railroad.Terminal('Controls', {href: '#/statement/Controls'}),Railroad.Terminal('TypePools', {href: '#/statement/TypePools'}),Railroad.Terminal('TypePool', {href: '#/statement/TypePool'}),Railroad.Terminal('FunctionPool', {href: '#/statement/FunctionPool'}),Railroad.NonTerminal('Normal', {href: '#/structure/Normal'}),Railroad.NonTerminal('Form', {href: '#/structure/Form'}),Railroad.NonTerminal('Module', {href: '#/structure/Module'}),Railroad.NonTerminal('FunctionModule', {href: '#/structure/FunctionModule'}),Railroad.NonTerminal('Interface', {href: '#/structure/Interface'}),Railroad.NonTerminal('ClassDefinition', {href: '#/structure/ClassDefinition'}),Railroad.NonTerminal('ClassImplementation', {href: '#/structure/ClassImplementation'})))).toString();",
+      "using": [
+        "statement/AtLineSelection",
+        "statement/AtSelectionScreen",
+        "statement/AtUserCommand",
+        "statement/CheckSelectOptions",
+        "statement/ClassDeferred",
+        "statement/ClassLocalFriends",
+        "statement/Controls",
+        "statement/EndOfPage",
+        "statement/EndOfSelection",
+        "statement/FunctionPool",
+        "statement/Get",
+        "statement/Initialization",
+        "statement/InterfaceDeferred",
+        "statement/LoadOfProgram",
+        "statement/Parameter",
+        "statement/Program",
+        "statement/Report",
+        "statement/SelectOption",
+        "statement/SelectionScreen",
+        "statement/StartOfSelection",
+        "statement/TopOfPage",
+        "statement/TypePool",
+        "statement/TypePools",
+        "structure/ClassDefinition",
+        "structure/ClassImplementation",
+        "structure/Form",
+        "structure/FunctionModule",
+        "structure/Interface",
+        "structure/Module",
+        "structure/Normal"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"361.5\" height=\"949\" viewBox=\"0 0 361.5 949\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h241.5\"></path>\n</g>\n<path d=\"M301.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M301.5 40h0\"></path>\n<path d=\"M60 40h10\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M291.5 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M254.5 40h17\"></path>\n<rect x=\"90\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassLocalFriends\"><text x=\"172.25\" y=\"44\">ClassLocalFriends</text>\n</a>\n</g>\n<path d=\"M271.5 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M220.5 70h51\"></path>\n<rect x=\"90\" y=\"59\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDeferred\"><text x=\"155.25\" y=\"74\">ClassDeferred</text>\n</a>\n</g>\n<path d=\"M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 100h0\"></path>\n<path d=\"M161 100h110.5\"></path>\n<rect x=\"90\" y=\"89\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Report\"><text x=\"125.5\" y=\"104\">Report</text>\n</a>\n</g>\n<path d=\"M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 130h0\"></path>\n<path d=\"M169.5 130h102\"></path>\n<rect x=\"90\" y=\"119\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Program\"><text x=\"129.75\" y=\"134\">Program</text>\n</a>\n</g>\n<path d=\"M271.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 160h0\"></path>\n<path d=\"M186.5 160h85\"></path>\n<rect x=\"90\" y=\"149\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Parameter\"><text x=\"138.25\" y=\"164\">Parameter</text>\n</a>\n</g>\n<path d=\"M271.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 190h0\"></path>\n<path d=\"M263 190h8.5\"></path>\n<rect x=\"90\" y=\"179\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CheckSelectOptions\"><text x=\"176.5\" y=\"194\">CheckSelectOptions</text>\n</a>\n</g>\n<path d=\"M271.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 220h0\"></path>\n<path d=\"M135.5 220h136\"></path>\n<rect x=\"90\" y=\"209\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Get\"><text x=\"112.75\" y=\"224\">Get</text>\n</a>\n</g>\n<path d=\"M271.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 250h0\"></path>\n<path d=\"M229 250h42.5\"></path>\n<rect x=\"90\" y=\"239\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Initialization\"><text x=\"159.5\" y=\"254\">Initialization</text>\n</a>\n</g>\n<path d=\"M271.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 280h0\"></path>\n<path d=\"M254.5 280h17\"></path>\n<rect x=\"90\" y=\"269\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InterfaceDeferred\"><text x=\"172.25\" y=\"284\">InterfaceDeferred</text>\n</a>\n</g>\n<path d=\"M271.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 310h0\"></path>\n<path d=\"M237.5 310h34\"></path>\n<rect x=\"90\" y=\"299\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SelectionScreen\"><text x=\"163.75\" y=\"314\">SelectionScreen</text>\n</a>\n</g>\n<path d=\"M271.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 340h0\"></path>\n<path d=\"M212 340h59.5\"></path>\n<rect x=\"90\" y=\"329\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SelectOption\"><text x=\"151\" y=\"344\">SelectOption</text>\n</a>\n</g>\n<path d=\"M271.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 370h0\"></path>\n<path d=\"M254.5 370h17\"></path>\n<rect x=\"90\" y=\"359\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AtSelectionScreen\"><text x=\"172.25\" y=\"374\">AtSelectionScreen</text>\n</a>\n</g>\n<path d=\"M271.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 400h0\"></path>\n<path d=\"M237.5 400h34\"></path>\n<rect x=\"90\" y=\"389\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AtLineSelection\"><text x=\"163.75\" y=\"404\">AtLineSelection</text>\n</a>\n</g>\n<path d=\"M271.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 430h0\"></path>\n<path d=\"M220.5 430h51\"></path>\n<rect x=\"90\" y=\"419\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AtUserCommand\"><text x=\"155.25\" y=\"434\">AtUserCommand</text>\n</a>\n</g>\n<path d=\"M271.5 430a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 460h0\"></path>\n<path d=\"M246 460h25.5\"></path>\n<rect x=\"90\" y=\"449\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/StartOfSelection\"><text x=\"168\" y=\"464\">StartOfSelection</text>\n</a>\n</g>\n<path d=\"M271.5 460a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 490h0\"></path>\n<path d=\"M229 490h42.5\"></path>\n<rect x=\"90\" y=\"479\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndOfSelection\"><text x=\"159.5\" y=\"494\">EndOfSelection</text>\n</a>\n</g>\n<path d=\"M271.5 490a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 520h0\"></path>\n<path d=\"M220.5 520h51\"></path>\n<rect x=\"90\" y=\"509\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/LoadOfProgram\"><text x=\"155.25\" y=\"524\">LoadOfProgram</text>\n</a>\n</g>\n<path d=\"M271.5 520a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 550h0\"></path>\n<path d=\"M186.5 550h85\"></path>\n<rect x=\"90\" y=\"539\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TopOfPage\"><text x=\"138.25\" y=\"554\">TopOfPage</text>\n</a>\n</g>\n<path d=\"M271.5 550a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 580h0\"></path>\n<path d=\"M186.5 580h85\"></path>\n<rect x=\"90\" y=\"569\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndOfPage\"><text x=\"138.25\" y=\"584\">EndOfPage</text>\n</a>\n</g>\n<path d=\"M271.5 580a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 610h0\"></path>\n<path d=\"M178 610h93.5\"></path>\n<rect x=\"90\" y=\"599\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Controls\"><text x=\"134\" y=\"614\">Controls</text>\n</a>\n</g>\n<path d=\"M271.5 610a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 640h0\"></path>\n<path d=\"M186.5 640h85\"></path>\n<rect x=\"90\" y=\"629\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"138.25\" y=\"644\">TypePools</text>\n</a>\n</g>\n<path d=\"M271.5 640a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 670h0\"></path>\n<path d=\"M178 670h93.5\"></path>\n<rect x=\"90\" y=\"659\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePool\"><text x=\"134\" y=\"674\">TypePool</text>\n</a>\n</g>\n<path d=\"M271.5 670a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 700h0\"></path>\n<path d=\"M212 700h59.5\"></path>\n<rect x=\"90\" y=\"689\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FunctionPool\"><text x=\"151\" y=\"704\">FunctionPool</text>\n</a>\n</g>\n<path d=\"M271.5 700a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 730h0\"></path>\n<path d=\"M161 730h110.5\"></path>\n<rect x=\"90\" y=\"719\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Normal\"><text x=\"125.5\" y=\"734\">Normal</text>\n</a>\n</g>\n<path d=\"M271.5 730a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 760h0\"></path>\n<path d=\"M144 760h127.5\"></path>\n<rect x=\"90\" y=\"749\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Form\"><text x=\"117\" y=\"764\">Form</text>\n</a>\n</g>\n<path d=\"M271.5 760a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 790h0\"></path>\n<path d=\"M161 790h110.5\"></path>\n<rect x=\"90\" y=\"779\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Module\"><text x=\"125.5\" y=\"794\">Module</text>\n</a>\n</g>\n<path d=\"M271.5 790a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 820h0\"></path>\n<path d=\"M229 820h42.5\"></path>\n<rect x=\"90\" y=\"809\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/FunctionModule\"><text x=\"159.5\" y=\"824\">FunctionModule</text>\n</a>\n</g>\n<path d=\"M271.5 820a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 850h0\"></path>\n<path d=\"M186.5 850h85\"></path>\n<rect x=\"90\" y=\"839\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Interface\"><text x=\"138.25\" y=\"854\">Interface</text>\n</a>\n</g>\n<path d=\"M271.5 850a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 880h0\"></path>\n<path d=\"M237.5 880h34\"></path>\n<rect x=\"90\" y=\"869\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassDefinition\"><text x=\"163.75\" y=\"884\">ClassDefinition</text>\n</a>\n</g>\n<path d=\"M271.5 880a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 910h0\"></path>\n<path d=\"M271.5 910h0\"></path>\n<rect x=\"90\" y=\"899\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassImplementation\"><text x=\"180.75\" y=\"914\">ClassImplementation</text>\n</a>\n</g>\n<path d=\"M271.5 910a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M291.5 40h10\"></path>\n<path d=\"M70 40a10 10 0 0 0 -10 10v869a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 929h221.5\"></path>\n</g>\n<path d=\"M291.5 929a10 10 0 0 0 10 -10v-869a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M301.5 40h20\"></path>\n</g>\n<path d=\"M 321.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "any.ts"
+    },
+    {
+      "name": "At",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('At', {href: '#/statement/At'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndAt', {href: '#/statement/EndAt'}))).toString();",
+      "using": [
+        "statement/At",
+        "statement/EndAt",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"313.5\" height=\"71\" viewBox=\"0 0 313.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M87 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"37\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/At\"><text x=\"68.5\" y=\"44\">At</text>\n</a>\n</g>\n<path d=\"M87 40h10\"></path>\n<g>\n<path d=\"M97 40h0\"></path>\n<path d=\"M191 40h0\"></path>\n<path d=\"M97 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M117 20h54\"></path>\n</g>\n<path d=\"M171 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M97 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M117 40h0\"></path>\n<path d=\"M171 40h0\"></path>\n<rect x=\"117\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"144\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M171 40h20\"></path>\n</g>\n<path d=\"M191 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<rect x=\"201\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndAt\"><text x=\"232.25\" y=\"44\">EndAt</text>\n</a>\n</g>\n</g>\n<path d=\"M263.5 40h10\"></path>\n<path d=\"M 273.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "at.ts"
+    },
+    {
+      "name": "AtFirst",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('AtFirst', {href: '#/statement/AtFirst'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndAt', {href: '#/statement/EndAt'}))).toString();",
+      "using": [
+        "statement/AtFirst",
+        "statement/EndAt",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"356\" height=\"71\" viewBox=\"0 0 356 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M306 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AtFirst\"><text x=\"89.75\" y=\"44\">AtFirst</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h54\"></path>\n</g>\n<path d=\"M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M213.5 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"186.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M213.5 40h20\"></path>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 40h0\"></path>\n<path d=\"M306 40h0\"></path>\n<rect x=\"243.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndAt\"><text x=\"274.75\" y=\"44\">EndAt</text>\n</a>\n</g>\n</g>\n<path d=\"M306 40h10\"></path>\n<path d=\"M 316 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "at_first.ts"
+    },
+    {
+      "name": "AtLast",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('AtLast', {href: '#/statement/AtLast'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndAt', {href: '#/statement/EndAt'}))).toString();",
+      "using": [
+        "statement/AtLast",
+        "statement/EndAt",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"347.5\" height=\"71\" viewBox=\"0 0 347.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M297.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AtLast\"><text x=\"85.5\" y=\"44\">AtLast</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M225 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h54\"></path>\n</g>\n<path d=\"M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M205 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"178\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M205 40h20\"></path>\n</g>\n<path d=\"M225 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 40h0\"></path>\n<path d=\"M297.5 40h0\"></path>\n<rect x=\"235\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndAt\"><text x=\"266.25\" y=\"44\">EndAt</text>\n</a>\n</g>\n</g>\n<path d=\"M297.5 40h10\"></path>\n<path d=\"M 307.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "at_last.ts"
+    },
+    {
+      "name": "Body",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.ZeroOrMore(Railroad.NonTerminal('Normal', {href: '#/structure/Normal'}))).toString();",
+      "using": [
+        "structure/Normal"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"211\" height=\"80\" viewBox=\"0 0 211 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M171 40h0\"></path>\n<path d=\"M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h91\"></path>\n</g>\n<path d=\"M151 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M151 40h0\"></path>\n<path d=\"M60 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M141 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Normal\"><text x=\"105.5\" y=\"44\">Normal</text>\n</a>\n</g>\n<path d=\"M141 40h10\"></path>\n<path d=\"M70 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 60h71\"></path>\n</g>\n<path d=\"M141 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M151 40h20\"></path>\n</g>\n<path d=\"M 171 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/At",
+        "structure/AtFirst",
+        "structure/AtLast",
+        "structure/Catch",
+        "structure/CatchSystemExceptions",
+        "structure/Cleanup",
+        "structure/Do",
+        "structure/Else",
+        "structure/ElseIf",
+        "structure/Enhancement",
+        "structure/EnhancementSection",
+        "structure/Form",
+        "structure/FunctionModule",
+        "structure/If",
+        "structure/Loop",
+        "structure/LoopAtScreen",
+        "structure/Method",
+        "structure/Module",
+        "structure/OnChange",
+        "structure/Provide",
+        "structure/Select",
+        "structure/TestInjection",
+        "structure/TestSeam",
+        "structure/Try",
+        "structure/When",
+        "structure/WhenType",
+        "structure/While",
+        "structure/With"
+      ],
+      "filename": "body.ts"
+    },
+    {
+      "name": "Case",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Case', {href: '#/statement/Case'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('When', {href: '#/structure/When'}),Railroad.Terminal('MacroCall', {href: '#/statement/MacroCall'}),Railroad.Terminal('Include', {href: '#/statement/Include'}))),Railroad.Terminal('EndCase', {href: '#/statement/EndCase'}))).toString();",
+      "using": [
+        "statement/Case",
+        "statement/EndCase",
+        "statement/Include",
+        "statement/MacroCall",
+        "structure/When"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"450\" height=\"139\" viewBox=\"0 0 450 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M400 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Case\"><text x=\"77\" y=\"44\">Case</text>\n</a>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M310.5 40h0\"></path>\n<path d=\"M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M134 20h156.5\"></path>\n</g>\n<path d=\"M290.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M114 40h20\"></path>\n<g>\n<path d=\"M134 40h0\"></path>\n<path d=\"M290.5 40h0\"></path>\n<path d=\"M134 40h10\"></path>\n<g>\n<path d=\"M144 40h0\"></path>\n<path d=\"M280.5 40h0\"></path>\n<path d=\"M144 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M164 40h0\"></path>\n<path d=\"M218 40h42.5\"></path>\n<rect x=\"164\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/When\"><text x=\"191\" y=\"44\">When</text>\n</a>\n</g>\n<path d=\"M260.5 40h20\"></path>\n<path d=\"M144 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M164 70h0\"></path>\n<path d=\"M260.5 70h0\"></path>\n<rect x=\"164\" y=\"59\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MacroCall\"><text x=\"212.25\" y=\"74\">MacroCall</text>\n</a>\n</g>\n<path d=\"M260.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M144 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M164 100h0\"></path>\n<path d=\"M243.5 100h17\"></path>\n<rect x=\"164\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"203.75\" y=\"104\">Include</text>\n</a>\n</g>\n<path d=\"M260.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M280.5 40h10\"></path>\n<path d=\"M144 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M144 119h136.5\"></path>\n</g>\n<path d=\"M280.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M290.5 40h20\"></path>\n</g>\n<path d=\"M310.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M320.5 40h0\"></path>\n<path d=\"M400 40h0\"></path>\n<rect x=\"320.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndCase\"><text x=\"360.25\" y=\"44\">EndCase</text>\n</a>\n</g>\n</g>\n<path d=\"M400 40h10\"></path>\n<path d=\"M 410 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "case.ts"
+    },
+    {
+      "name": "CaseType",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('CaseType', {href: '#/statement/CaseType'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('WhenType', {href: '#/structure/WhenType'}),Railroad.Terminal('Data', {href: '#/statement/Data'}))),Railroad.Terminal('EndCase', {href: '#/statement/EndCase'}))).toString();",
+      "using": [
+        "statement/CaseType",
+        "statement/Data",
+        "statement/EndCase",
+        "structure/WhenType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"475.5\" height=\"109\" viewBox=\"0 0 475.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M425.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CaseType\"><text x=\"94\" y=\"44\">CaseType</text>\n</a>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M336 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h148\"></path>\n</g>\n<path d=\"M316 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g>\n<path d=\"M168 40h0\"></path>\n<path d=\"M316 40h0\"></path>\n<path d=\"M168 40h10\"></path>\n<g>\n<path d=\"M178 40h0\"></path>\n<path d=\"M306 40h0\"></path>\n<path d=\"M178 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M198 40h0\"></path>\n<path d=\"M286 40h0\"></path>\n<rect x=\"198\" y=\"29\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/WhenType\"><text x=\"242\" y=\"44\">WhenType</text>\n</a>\n</g>\n<path d=\"M286 40h20\"></path>\n<path d=\"M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M198 70h0\"></path>\n<path d=\"M252 70h34\"></path>\n<rect x=\"198\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Data\"><text x=\"225\" y=\"74\">Data</text>\n</a>\n</g>\n<path d=\"M286 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M306 40h10\"></path>\n<path d=\"M178 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M178 89h128\"></path>\n</g>\n<path d=\"M306 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M316 40h20\"></path>\n</g>\n<path d=\"M336 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M346 40h0\"></path>\n<path d=\"M425.5 40h0\"></path>\n<rect x=\"346\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndCase\"><text x=\"385.75\" y=\"44\">EndCase</text>\n</a>\n</g>\n</g>\n<path d=\"M425.5 40h10\"></path>\n<path d=\"M 435.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "case_type.ts"
+    },
+    {
+      "name": "Catch",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Catch', {href: '#/statement/Catch'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/Catch",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"266.5\" height=\"71\" viewBox=\"0 0 266.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M112.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Catch\"><text x=\"81.25\" y=\"44\">Catch</text>\n</a>\n</g>\n<path d=\"M112.5 40h10\"></path>\n<g>\n<path d=\"M122.5 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M142.5 20h54\"></path>\n</g>\n<path d=\"M196.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M122.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M142.5 40h0\"></path>\n<path d=\"M196.5 40h0\"></path>\n<rect x=\"142.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"169.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M196.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M216.5 40h10\"></path>\n<path d=\"M 226.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Try"
+      ],
+      "filename": "catch.ts"
+    },
+    {
+      "name": "CatchSystemExceptions",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('CatchSystemExceptions', {href: '#/statement/CatchSystemExceptions'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndCatch', {href: '#/statement/EndCatch'}))).toString();",
+      "using": [
+        "statement/CatchSystemExceptions",
+        "statement/EndCatch",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"500.5\" height=\"71\" viewBox=\"0 0 500.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M248.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CatchSystemExceptions\"><text x=\"149.25\" y=\"44\">CatchSystemExceptions</text>\n</a>\n</g>\n<path d=\"M248.5 40h10\"></path>\n<g>\n<path d=\"M258.5 40h0\"></path>\n<path d=\"M352.5 40h0\"></path>\n<path d=\"M258.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M278.5 20h54\"></path>\n</g>\n<path d=\"M332.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M258.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M278.5 40h0\"></path>\n<path d=\"M332.5 40h0\"></path>\n<rect x=\"278.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"305.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M332.5 40h20\"></path>\n</g>\n<path d=\"M352.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<rect x=\"362.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndCatch\"><text x=\"406.5\" y=\"44\">EndCatch</text>\n</a>\n</g>\n</g>\n<path d=\"M450.5 40h10\"></path>\n<path d=\"M 460.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "catch_system_exceptions.ts"
+    },
+    {
+      "name": "ClassData",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ClassDataBegin', {href: '#/statement/ClassDataBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('ClassData', {href: '#/statement/ClassData'}),Railroad.NonTerminal('ClassData', {href: '#/structure/ClassData'}))),Railroad.Terminal('ClassDataEnd', {href: '#/statement/ClassDataEnd'}))).toString();",
+      "using": [
+        "statement/ClassData",
+        "statement/ClassDataBegin",
+        "statement/ClassDataEnd",
+        "structure/ClassData"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"577.5\" height=\"109\" viewBox=\"0 0 577.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M527.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M189 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDataBegin\"><text x=\"119.5\" y=\"44\">ClassDataBegin</text>\n</a>\n</g>\n<path d=\"M189 40h10\"></path>\n<g>\n<path d=\"M199 40h0\"></path>\n<path d=\"M395.5 40h0\"></path>\n<path d=\"M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M219 20h156.5\"></path>\n</g>\n<path d=\"M375.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M199 40h20\"></path>\n<g>\n<path d=\"M219 40h0\"></path>\n<path d=\"M375.5 40h0\"></path>\n<path d=\"M219 40h10\"></path>\n<g>\n<path d=\"M229 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M229 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M249 40h0\"></path>\n<path d=\"M345.5 40h0\"></path>\n<rect x=\"249\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassData\"><text x=\"297.25\" y=\"44\">ClassData</text>\n</a>\n</g>\n<path d=\"M345.5 40h20\"></path>\n<path d=\"M229 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M249 70h0\"></path>\n<path d=\"M345.5 70h0\"></path>\n<rect x=\"249\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassData\"><text x=\"297.25\" y=\"74\">ClassData</text>\n</a>\n</g>\n<path d=\"M345.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M365.5 40h10\"></path>\n<path d=\"M229 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M229 89h136.5\"></path>\n</g>\n<path d=\"M365.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M375.5 40h20\"></path>\n</g>\n<path d=\"M395.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M405.5 40h0\"></path>\n<path d=\"M527.5 40h0\"></path>\n<rect x=\"405.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDataEnd\"><text x=\"466.5\" y=\"44\">ClassDataEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M527.5 40h10\"></path>\n<path d=\"M 537.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassData",
+        "structure/SectionContents"
+      ],
+      "filename": "class_data.ts"
+    },
+    {
+      "name": "ClassDefinition",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ClassDefinition', {href: '#/statement/ClassDefinition'}),Railroad.Sequence(Railroad.Optional(Railroad.Terminal('SetExtendedCheck', {href: '#/statement/SetExtendedCheck'})),Railroad.ZeroOrMore(Railroad.Terminal('TypePools', {href: '#/statement/TypePools'})),Railroad.Optional(Railroad.NonTerminal('PublicSection', {href: '#/structure/PublicSection'})),Railroad.Optional(Railroad.NonTerminal('ProtectedSection', {href: '#/structure/ProtectedSection'})),Railroad.Optional(Railroad.NonTerminal('PrivateSection', {href: '#/structure/PrivateSection'})),Railroad.Optional(Railroad.Terminal('SetExtendedCheck', {href: '#/statement/SetExtendedCheck'}))),Railroad.Terminal('EndClass', {href: '#/statement/EndClass'}))).toString();",
+      "using": [
+        "statement/ClassDefinition",
+        "statement/EndClass",
+        "statement/SetExtendedCheck",
+        "statement/TypePools",
+        "structure/PrivateSection",
+        "structure/ProtectedSection",
+        "structure/PublicSection"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1469.5\" height=\"80\" viewBox=\"0 0 1469.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1419.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M197.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDefinition\"><text x=\"123.75\" y=\"44\">ClassDefinition</text>\n</a>\n</g>\n<path d=\"M197.5 40h10\"></path>\n<path d=\"M207.5 40h10\"></path>\n<g>\n<path d=\"M217.5 40h0\"></path>\n<path d=\"M1311.5 40h0\"></path>\n<g>\n<path d=\"M217.5 40h0\"></path>\n<path d=\"M413.5 40h0\"></path>\n<path d=\"M217.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M237.5 20h156\"></path>\n</g>\n<path d=\"M393.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M217.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M237.5 40h0\"></path>\n<path d=\"M393.5 40h0\"></path>\n<rect x=\"237.5\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetExtendedCheck\"><text x=\"315.5\" y=\"44\">SetExtendedCheck</text>\n</a>\n</g>\n<path d=\"M393.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M413.5 40h0\"></path>\n<path d=\"M570 40h0\"></path>\n<path d=\"M413.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M433.5 20h116.5\"></path>\n</g>\n<path d=\"M550 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M413.5 40h20\"></path>\n<g>\n<path d=\"M433.5 40h0\"></path>\n<path d=\"M550 40h0\"></path>\n<path d=\"M433.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M443.5 40h0\"></path>\n<path d=\"M540 40h0\"></path>\n<rect x=\"443.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"491.75\" y=\"44\">TypePools</text>\n</a>\n</g>\n<path d=\"M540 40h10\"></path>\n<path d=\"M443.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M443.5 60h96.5\"></path>\n</g>\n<path d=\"M540 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M550 40h20\"></path>\n</g>\n<g>\n<path d=\"M570 40h0\"></path>\n<path d=\"M740.5 40h0\"></path>\n<path d=\"M570 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M590 20h130.5\"></path>\n</g>\n<path d=\"M720.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M570 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590 40h0\"></path>\n<path d=\"M720.5 40h0\"></path>\n<rect x=\"590\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/PublicSection\"><text x=\"655.25\" y=\"44\">PublicSection</text>\n</a>\n</g>\n<path d=\"M720.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M740.5 40h0\"></path>\n<path d=\"M936.5 40h0\"></path>\n<path d=\"M740.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M760.5 20h156\"></path>\n</g>\n<path d=\"M916.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M740.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M760.5 40h0\"></path>\n<path d=\"M916.5 40h0\"></path>\n<rect x=\"760.5\" y=\"29\" width=\"156\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ProtectedSection\"><text x=\"838.5\" y=\"44\">ProtectedSection</text>\n</a>\n</g>\n<path d=\"M916.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M936.5 40h0\"></path>\n<path d=\"M1115.5 40h0\"></path>\n<path d=\"M936.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M956.5 20h139\"></path>\n</g>\n<path d=\"M1095.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M936.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M956.5 40h0\"></path>\n<path d=\"M1095.5 40h0\"></path>\n<rect x=\"956.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/PrivateSection\"><text x=\"1026\" y=\"44\">PrivateSection</text>\n</a>\n</g>\n<path d=\"M1095.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1115.5 40h0\"></path>\n<path d=\"M1311.5 40h0\"></path>\n<path d=\"M1115.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1135.5 20h156\"></path>\n</g>\n<path d=\"M1291.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1115.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1135.5 40h0\"></path>\n<path d=\"M1291.5 40h0\"></path>\n<rect x=\"1135.5\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetExtendedCheck\"><text x=\"1213.5\" y=\"44\">SetExtendedCheck</text>\n</a>\n</g>\n<path d=\"M1291.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1311.5 40h10\"></path>\n<path d=\"M1321.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1331.5 40h0\"></path>\n<path d=\"M1419.5 40h0\"></path>\n<rect x=\"1331.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndClass\"><text x=\"1375.5\" y=\"44\">EndClass</text>\n</a>\n</g>\n</g>\n<path d=\"M1419.5 40h10\"></path>\n<path d=\"M 1429.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any",
+        "structure/ClassGlobal"
+      ],
+      "filename": "class_definition.ts"
+    },
+    {
+      "name": "ClassGlobal",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Terminal('TypePools', {href: '#/statement/TypePools'})),Railroad.NonTerminal('ClassDefinition', {href: '#/structure/ClassDefinition'}),Railroad.NonTerminal('ClassImplementation', {href: '#/structure/ClassImplementation'}))).toString();",
+      "using": [
+        "statement/TypePools",
+        "structure/ClassDefinition",
+        "structure/ClassImplementation"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"615.5\" height=\"80\" viewBox=\"0 0 615.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M565.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h116.5\"></path>\n</g>\n<path d=\"M186.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M176.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"128.25\" y=\"44\">TypePools</text>\n</a>\n</g>\n<path d=\"M176.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h96.5\"></path>\n</g>\n<path d=\"M176.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M186.5 40h20\"></path>\n</g>\n<path d=\"M206.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M364 40h0\"></path>\n<rect x=\"216.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassDefinition\"><text x=\"290.25\" y=\"44\">ClassDefinition</text>\n</a>\n</g>\n<path d=\"M364 40h10\"></path>\n<path d=\"M374 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M384 40h0\"></path>\n<path d=\"M565.5 40h0\"></path>\n<rect x=\"384\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassImplementation\"><text x=\"474.75\" y=\"44\">ClassImplementation</text>\n</a>\n</g>\n</g>\n<path d=\"M565.5 40h10\"></path>\n<path d=\"M 575.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "class_global.ts"
+    },
+    {
+      "name": "ClassImplementation",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ClassImplementation', {href: '#/statement/ClassImplementation'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.NonTerminal('Define', {href: '#/structure/Define'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.NonTerminal('Method', {href: '#/structure/Method'}))),Railroad.Terminal('EndClass', {href: '#/statement/EndClass'}))).toString();",
+      "using": [
+        "statement/ClassImplementation",
+        "statement/EndClass",
+        "statement/Include",
+        "structure/Define",
+        "structure/Method"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"569\" height=\"139\" viewBox=\"0 0 569 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M519 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M231.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassImplementation\"><text x=\"140.75\" y=\"44\">ClassImplementation</text>\n</a>\n</g>\n<path d=\"M231.5 40h10\"></path>\n<g>\n<path d=\"M241.5 40h0\"></path>\n<path d=\"M421 40h0\"></path>\n<path d=\"M241.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M261.5 20h139.5\"></path>\n</g>\n<path d=\"M401 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M241.5 40h20\"></path>\n<g>\n<path d=\"M261.5 40h0\"></path>\n<path d=\"M401 40h0\"></path>\n<path d=\"M261.5 40h10\"></path>\n<g>\n<path d=\"M271.5 40h0\"></path>\n<path d=\"M391 40h0\"></path>\n<path d=\"M271.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291.5 40h0\"></path>\n<path d=\"M362.5 40h8.5\"></path>\n<rect x=\"291.5\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Define\"><text x=\"327\" y=\"44\">Define</text>\n</a>\n</g>\n<path d=\"M371 40h20\"></path>\n<path d=\"M271.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M291.5 70h0\"></path>\n<path d=\"M371 70h0\"></path>\n<rect x=\"291.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"331.25\" y=\"74\">Include</text>\n</a>\n</g>\n<path d=\"M371 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M271.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M291.5 100h0\"></path>\n<path d=\"M362.5 100h8.5\"></path>\n<rect x=\"291.5\" y=\"89\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Method\"><text x=\"327\" y=\"104\">Method</text>\n</a>\n</g>\n<path d=\"M371 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M391 40h10\"></path>\n<path d=\"M271.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M271.5 119h119.5\"></path>\n</g>\n<path d=\"M391 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M401 40h20\"></path>\n</g>\n<path d=\"M421 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M431 40h0\"></path>\n<path d=\"M519 40h0\"></path>\n<rect x=\"431\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndClass\"><text x=\"475\" y=\"44\">EndClass</text>\n</a>\n</g>\n</g>\n<path d=\"M519 40h10\"></path>\n<path d=\"M 529 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any",
+        "structure/ClassGlobal"
+      ],
+      "filename": "class_implementation.ts"
+    },
+    {
+      "name": "Cleanup",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Cleanup', {href: '#/statement/Cleanup'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/Cleanup",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"283.5\" height=\"71\" viewBox=\"0 0 283.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Cleanup\"><text x=\"89.75\" y=\"44\">Cleanup</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h54\"></path>\n</g>\n<path d=\"M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M213.5 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"186.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M213.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<path d=\"M 243.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Try"
+      ],
+      "filename": "cleanup.ts"
+    },
+    {
+      "name": "Constants",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ConstantBegin', {href: '#/statement/ConstantBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('Constant', {href: '#/statement/Constant'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.NonTerminal('Constants', {href: '#/structure/Constants'}))),Railroad.Terminal('ConstantEnd', {href: '#/statement/ConstantEnd'}))).toString();",
+      "using": [
+        "statement/Constant",
+        "statement/ConstantBegin",
+        "statement/ConstantEnd",
+        "statement/Include",
+        "structure/Constants"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"560.5\" height=\"139\" viewBox=\"0 0 560.5 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M510.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ConstantBegin\"><text x=\"115.25\" y=\"44\">ConstantBegin</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M387 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h156.5\"></path>\n</g>\n<path d=\"M367 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M367 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M357 40h0\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M328.5 40h8.5\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Constant\"><text x=\"284.5\" y=\"44\">Constant</text>\n</a>\n</g>\n<path d=\"M337 40h20\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 70h0\"></path>\n<path d=\"M320 70h17\"></path>\n<rect x=\"240.5\" y=\"59\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"280.25\" y=\"74\">Include</text>\n</a>\n</g>\n<path d=\"M337 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M240.5 100h0\"></path>\n<path d=\"M337 100h0\"></path>\n<rect x=\"240.5\" y=\"89\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Constants\"><text x=\"288.75\" y=\"104\">Constants</text>\n</a>\n</g>\n<path d=\"M337 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M357 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 119h136.5\"></path>\n</g>\n<path d=\"M357 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M367 40h20\"></path>\n</g>\n<path d=\"M387 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M397 40h0\"></path>\n<path d=\"M510.5 40h0\"></path>\n<rect x=\"397\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ConstantEnd\"><text x=\"453.75\" y=\"44\">ConstantEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M510.5 40h10\"></path>\n<path d=\"M 520.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Constants",
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "constants.ts"
+    },
+    {
+      "name": "Data",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('DataBegin', {href: '#/statement/DataBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('Data', {href: '#/statement/Data'}),Railroad.NonTerminal('Data', {href: '#/structure/Data'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.Terminal('Ranges', {href: '#/statement/Ranges'}),Railroad.Terminal('Constant', {href: '#/statement/Constant'}),Railroad.NonTerminal('Constants', {href: '#/structure/Constants'}),Railroad.Terminal('Type', {href: '#/statement/Type'}),Railroad.NonTerminal('Types', {href: '#/structure/Types'}),Railroad.NonTerminal('Enhancement', {href: '#/structure/Enhancement'}),Railroad.NonTerminal('Define', {href: '#/structure/Define'}),Railroad.Terminal('IncludeType', {href: '#/statement/IncludeType'}),Railroad.Terminal('TypePools', {href: '#/statement/TypePools'}),Railroad.Terminal('EnhancementPoint', {href: '#/statement/EnhancementPoint'}))),Railroad.Terminal('DataEnd', {href: '#/statement/DataEnd'}))).toString();",
+      "using": [
+        "statement/Constant",
+        "statement/Data",
+        "statement/DataBegin",
+        "statement/DataEnd",
+        "statement/EnhancementPoint",
+        "statement/Include",
+        "statement/IncludeType",
+        "statement/Ranges",
+        "statement/Type",
+        "statement/TypePools",
+        "structure/Constants",
+        "structure/Data",
+        "structure/Define",
+        "structure/Enhancement",
+        "structure/Types"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"552\" height=\"439\" viewBox=\"0 0 552 439\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DataBegin\"><text x=\"98.25\" y=\"44\">DataBegin</text>\n</a>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M412.5 40h0\"></path>\n<path d=\"M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M176.5 20h216\"></path>\n</g>\n<path d=\"M392.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g>\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M392.5 40h0\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M382.5 40h0\"></path>\n<path d=\"M186.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M260.5 40h102\"></path>\n<rect x=\"206.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Data\"><text x=\"233.5\" y=\"44\">Data</text>\n</a>\n</g>\n<path d=\"M362.5 40h20\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 70h0\"></path>\n<path d=\"M260.5 70h102\"></path>\n<rect x=\"206.5\" y=\"59\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Data\"><text x=\"233.5\" y=\"74\">Data</text>\n</a>\n</g>\n<path d=\"M362.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 100h0\"></path>\n<path d=\"M286 100h76.5\"></path>\n<rect x=\"206.5\" y=\"89\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"246.25\" y=\"104\">Include</text>\n</a>\n</g>\n<path d=\"M362.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 130h0\"></path>\n<path d=\"M277.5 130h85\"></path>\n<rect x=\"206.5\" y=\"119\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Ranges\"><text x=\"242\" y=\"134\">Ranges</text>\n</a>\n</g>\n<path d=\"M362.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 160h0\"></path>\n<path d=\"M294.5 160h68\"></path>\n<rect x=\"206.5\" y=\"149\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Constant\"><text x=\"250.5\" y=\"164\">Constant</text>\n</a>\n</g>\n<path d=\"M362.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 190h0\"></path>\n<path d=\"M303 190h59.5\"></path>\n<rect x=\"206.5\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Constants\"><text x=\"254.75\" y=\"194\">Constants</text>\n</a>\n</g>\n<path d=\"M362.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 220h0\"></path>\n<path d=\"M260.5 220h102\"></path>\n<rect x=\"206.5\" y=\"209\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"233.5\" y=\"224\">Type</text>\n</a>\n</g>\n<path d=\"M362.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 250h0\"></path>\n<path d=\"M269 250h93.5\"></path>\n<rect x=\"206.5\" y=\"239\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Types\"><text x=\"237.75\" y=\"254\">Types</text>\n</a>\n</g>\n<path d=\"M362.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 280h0\"></path>\n<path d=\"M320 280h42.5\"></path>\n<rect x=\"206.5\" y=\"269\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Enhancement\"><text x=\"263.25\" y=\"284\">Enhancement</text>\n</a>\n</g>\n<path d=\"M362.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 310h0\"></path>\n<path d=\"M277.5 310h85\"></path>\n<rect x=\"206.5\" y=\"299\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Define\"><text x=\"242\" y=\"314\">Define</text>\n</a>\n</g>\n<path d=\"M362.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 340h0\"></path>\n<path d=\"M320 340h42.5\"></path>\n<rect x=\"206.5\" y=\"329\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/IncludeType\"><text x=\"263.25\" y=\"344\">IncludeType</text>\n</a>\n</g>\n<path d=\"M362.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 370h0\"></path>\n<path d=\"M303 370h59.5\"></path>\n<rect x=\"206.5\" y=\"359\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"254.75\" y=\"374\">TypePools</text>\n</a>\n</g>\n<path d=\"M362.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 400h0\"></path>\n<path d=\"M362.5 400h0\"></path>\n<rect x=\"206.5\" y=\"389\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EnhancementPoint\"><text x=\"284.5\" y=\"404\">EnhancementPoint</text>\n</a>\n</g>\n<path d=\"M362.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M382.5 40h10\"></path>\n<path d=\"M186.5 40a10 10 0 0 0 -10 10v359a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M186.5 419h196\"></path>\n</g>\n<path d=\"M382.5 419a10 10 0 0 0 10 -10v-359a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M392.5 40h20\"></path>\n</g>\n<path d=\"M412.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M422.5 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<rect x=\"422.5\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DataEnd\"><text x=\"462.25\" y=\"44\">DataEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M502 40h10\"></path>\n<path d=\"M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "data.ts"
+    },
+    {
+      "name": "Define",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Define', {href: '#/statement/Define'}),Railroad.ZeroOrMore(Railroad.Terminal('MacroContent', {href: '#/statement/MacroContent'})),Railroad.Terminal('EndOfDefinition', {href: '#/statement/EndOfDefinition'}))).toString();",
+      "using": [
+        "statement/Define",
+        "statement/EndOfDefinition",
+        "statement/MacroContent"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"520.5\" height=\"80\" viewBox=\"0 0 520.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M470.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Define\"><text x=\"85.5\" y=\"44\">Define</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M313 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h142\"></path>\n</g>\n<path d=\"M293 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<path d=\"M151 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M161 40h0\"></path>\n<path d=\"M283 40h0\"></path>\n<rect x=\"161\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MacroContent\"><text x=\"222\" y=\"44\">MacroContent</text>\n</a>\n</g>\n<path d=\"M283 40h10\"></path>\n<path d=\"M161 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 60h122\"></path>\n</g>\n<path d=\"M283 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M293 40h20\"></path>\n</g>\n<path d=\"M313 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M323 40h0\"></path>\n<path d=\"M470.5 40h0\"></path>\n<rect x=\"323\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndOfDefinition\"><text x=\"396.75\" y=\"44\">EndOfDefinition</text>\n</a>\n</g>\n</g>\n<path d=\"M470.5 40h10\"></path>\n<path d=\"M 480.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassImplementation",
+        "structure/Data",
+        "structure/Normal"
+      ],
+      "filename": "define.ts"
+    },
+    {
+      "name": "Do",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Do', {href: '#/statement/Do'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndDo', {href: '#/statement/EndDo'}))).toString();",
+      "using": [
+        "statement/Do",
+        "statement/EndDo",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"313.5\" height=\"71\" viewBox=\"0 0 313.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M87 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"37\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Do\"><text x=\"68.5\" y=\"44\">Do</text>\n</a>\n</g>\n<path d=\"M87 40h10\"></path>\n<g>\n<path d=\"M97 40h0\"></path>\n<path d=\"M191 40h0\"></path>\n<path d=\"M97 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M117 20h54\"></path>\n</g>\n<path d=\"M171 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M97 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M117 40h0\"></path>\n<path d=\"M171 40h0\"></path>\n<rect x=\"117\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"144\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M171 40h20\"></path>\n</g>\n<path d=\"M191 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M201 40h0\"></path>\n<path d=\"M263.5 40h0\"></path>\n<rect x=\"201\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndDo\"><text x=\"232.25\" y=\"44\">EndDo</text>\n</a>\n</g>\n</g>\n<path d=\"M263.5 40h10\"></path>\n<path d=\"M 273.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "do.ts"
+    },
+    {
+      "name": "Else",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Else', {href: '#/statement/Else'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/Else",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"258\" height=\"71\" viewBox=\"0 0 258 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M208 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Else\"><text x=\"77\" y=\"44\">Else</text>\n</a>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M208 40h0\"></path>\n<path d=\"M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M134 20h54\"></path>\n</g>\n<path d=\"M188 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M114 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 40h0\"></path>\n<path d=\"M188 40h0\"></path>\n<rect x=\"134\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"161\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M188 40h20\"></path>\n</g>\n</g>\n<path d=\"M208 40h10\"></path>\n<path d=\"M 218 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/If"
+      ],
+      "filename": "else.ts"
+    },
+    {
+      "name": "ElseIf",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ElseIf', {href: '#/statement/ElseIf'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/ElseIf",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"275\" height=\"71\" viewBox=\"0 0 275 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M225 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ElseIf\"><text x=\"85.5\" y=\"44\">ElseIf</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M225 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h54\"></path>\n</g>\n<path d=\"M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M205 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"178\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M205 40h20\"></path>\n</g>\n</g>\n<path d=\"M225 40h10\"></path>\n<path d=\"M 235 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/If"
+      ],
+      "filename": "else_if.ts"
+    },
+    {
+      "name": "Enhancement",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Enhancement', {href: '#/statement/Enhancement'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndEnhancement', {href: '#/statement/EndEnhancement'}))).toString();",
+      "using": [
+        "statement/EndEnhancement",
+        "statement/Enhancement",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"466.5\" height=\"71\" viewBox=\"0 0 466.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M416.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Enhancement\"><text x=\"106.75\" y=\"44\">Enhancement</text>\n</a>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<g>\n<path d=\"M173.5 40h0\"></path>\n<path d=\"M267.5 40h0\"></path>\n<path d=\"M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M193.5 20h54\"></path>\n</g>\n<path d=\"M247.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M173.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M193.5 40h0\"></path>\n<path d=\"M247.5 40h0\"></path>\n<rect x=\"193.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"220.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M247.5 40h20\"></path>\n</g>\n<path d=\"M267.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M277.5 40h0\"></path>\n<path d=\"M416.5 40h0\"></path>\n<rect x=\"277.5\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndEnhancement\"><text x=\"347\" y=\"44\">EndEnhancement</text>\n</a>\n</g>\n</g>\n<path d=\"M416.5 40h10\"></path>\n<path d=\"M 426.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal"
+      ],
+      "filename": "enhancement.ts"
+    },
+    {
+      "name": "EnhancementSection",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('EnhancementSection', {href: '#/statement/EnhancementSection'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndEnhancementSection', {href: '#/statement/EndEnhancementSection'}))).toString();",
+      "using": [
+        "statement/EndEnhancementSection",
+        "statement/EnhancementSection",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"585.5\" height=\"71\" viewBox=\"0 0 585.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M535.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M223 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EnhancementSection\"><text x=\"136.5\" y=\"44\">EnhancementSection</text>\n</a>\n</g>\n<path d=\"M223 40h10\"></path>\n<g>\n<path d=\"M233 40h0\"></path>\n<path d=\"M327 40h0\"></path>\n<path d=\"M233 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M253 20h54\"></path>\n</g>\n<path d=\"M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M233 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M253 40h0\"></path>\n<path d=\"M307 40h0\"></path>\n<rect x=\"253\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"280\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M307 40h20\"></path>\n</g>\n<path d=\"M327 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M337 40h0\"></path>\n<path d=\"M535.5 40h0\"></path>\n<rect x=\"337\" y=\"29\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndEnhancementSection\"><text x=\"436.25\" y=\"44\">EndEnhancementSection</text>\n</a>\n</g>\n</g>\n<path d=\"M535.5 40h10\"></path>\n<path d=\"M 545.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "enhancement_section.ts"
+    },
+    {
+      "name": "ExecSQL",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('ExecSQL', {href: '#/statement/ExecSQL'}),Railroad.ZeroOrMore(Railroad.Terminal('NativeSQL', {href: '#/statement/NativeSQL'})),Railroad.Terminal('EndExec', {href: '#/statement/EndExec'}))).toString();",
+      "using": [
+        "statement/EndExec",
+        "statement/ExecSQL",
+        "statement/NativeSQL"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"435.5\" height=\"80\" viewBox=\"0 0 435.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M385.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ExecSQL\"><text x=\"89.75\" y=\"44\">ExecSQL</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M296 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h116.5\"></path>\n</g>\n<path d=\"M276 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g>\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M276 40h0\"></path>\n<path d=\"M159.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M266 40h0\"></path>\n<rect x=\"169.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/NativeSQL\"><text x=\"217.75\" y=\"44\">NativeSQL</text>\n</a>\n</g>\n<path d=\"M266 40h10\"></path>\n<path d=\"M169.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M169.5 60h96.5\"></path>\n</g>\n<path d=\"M266 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M276 40h20\"></path>\n</g>\n<path d=\"M296 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M306 40h0\"></path>\n<path d=\"M385.5 40h0\"></path>\n<rect x=\"306\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndExec\"><text x=\"345.75\" y=\"44\">EndExec</text>\n</a>\n</g>\n</g>\n<path d=\"M385.5 40h10\"></path>\n<path d=\"M 395.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "exec_sq_l.ts"
+    },
+    {
+      "name": "Form",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Form', {href: '#/statement/Form'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndForm', {href: '#/statement/EndForm'}))).toString();",
+      "using": [
+        "statement/EndForm",
+        "statement/Form",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"347.5\" height=\"71\" viewBox=\"0 0 347.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M297.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Form\"><text x=\"77\" y=\"44\">Form</text>\n</a>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M208 40h0\"></path>\n<path d=\"M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M134 20h54\"></path>\n</g>\n<path d=\"M188 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M114 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M134 40h0\"></path>\n<path d=\"M188 40h0\"></path>\n<rect x=\"134\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"161\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M188 40h20\"></path>\n</g>\n<path d=\"M208 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 40h0\"></path>\n<path d=\"M297.5 40h0\"></path>\n<rect x=\"218\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndForm\"><text x=\"257.75\" y=\"44\">EndForm</text>\n</a>\n</g>\n</g>\n<path d=\"M297.5 40h10\"></path>\n<path d=\"M 307.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "form.ts"
+    },
+    {
+      "name": "FunctionModule",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('FunctionModule', {href: '#/statement/FunctionModule'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndFunction', {href: '#/statement/EndFunction'}))).toString();",
+      "using": [
+        "statement/EndFunction",
+        "statement/FunctionModule",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"466.5\" height=\"71\" viewBox=\"0 0 466.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M416.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M189 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FunctionModule\"><text x=\"119.5\" y=\"44\">FunctionModule</text>\n</a>\n</g>\n<path d=\"M189 40h10\"></path>\n<g>\n<path d=\"M199 40h0\"></path>\n<path d=\"M293 40h0\"></path>\n<path d=\"M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M219 20h54\"></path>\n</g>\n<path d=\"M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M199 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M219 40h0\"></path>\n<path d=\"M273 40h0\"></path>\n<rect x=\"219\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"246\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M273 40h20\"></path>\n</g>\n<path d=\"M293 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 40h0\"></path>\n<path d=\"M416.5 40h0\"></path>\n<rect x=\"303\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndFunction\"><text x=\"359.75\" y=\"44\">EndFunction</text>\n</a>\n</g>\n</g>\n<path d=\"M416.5 40h10\"></path>\n<path d=\"M 426.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "function_module.ts"
+    },
+    {
+      "name": "If",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('If', {href: '#/statement/If'}),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.ZeroOrMore(Railroad.NonTerminal('ElseIf', {href: '#/structure/ElseIf'})),Railroad.Optional(Railroad.NonTerminal('Else', {href: '#/structure/Else'}))),Railroad.Terminal('EndIf', {href: '#/statement/EndIf'}))).toString();",
+      "using": [
+        "statement/EndIf",
+        "statement/If",
+        "structure/Body",
+        "structure/Else",
+        "structure/ElseIf"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"558.5\" height=\"80\" viewBox=\"0 0 558.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M508.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M87 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"37\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/If\"><text x=\"68.5\" y=\"44\">If</text>\n</a>\n</g>\n<path d=\"M87 40h10\"></path>\n<path d=\"M97 40h10\"></path>\n<g>\n<path d=\"M107 40h0\"></path>\n<path d=\"M426 40h0\"></path>\n<g>\n<path d=\"M107 40h0\"></path>\n<path d=\"M201 40h0\"></path>\n<path d=\"M107 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M127 20h54\"></path>\n</g>\n<path d=\"M181 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M107 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M127 40h0\"></path>\n<path d=\"M181 40h0\"></path>\n<rect x=\"127\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"154\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M181 40h20\"></path>\n</g>\n<g>\n<path d=\"M201 40h0\"></path>\n<path d=\"M332 40h0\"></path>\n<path d=\"M201 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M221 20h91\"></path>\n</g>\n<path d=\"M312 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M201 40h20\"></path>\n<g>\n<path d=\"M221 40h0\"></path>\n<path d=\"M312 40h0\"></path>\n<path d=\"M221 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M231 40h0\"></path>\n<path d=\"M302 40h0\"></path>\n<rect x=\"231\" y=\"29\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ElseIf\"><text x=\"266.5\" y=\"44\">ElseIf</text>\n</a>\n</g>\n<path d=\"M302 40h10\"></path>\n<path d=\"M231 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M231 60h71\"></path>\n</g>\n<path d=\"M302 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M312 40h20\"></path>\n</g>\n<g>\n<path d=\"M332 40h0\"></path>\n<path d=\"M426 40h0\"></path>\n<path d=\"M332 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M352 20h54\"></path>\n</g>\n<path d=\"M406 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M332 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M352 40h0\"></path>\n<path d=\"M406 40h0\"></path>\n<rect x=\"352\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Else\"><text x=\"379\" y=\"44\">Else</text>\n</a>\n</g>\n<path d=\"M406 40h20\"></path>\n</g>\n</g>\n<path d=\"M426 40h10\"></path>\n<path d=\"M436 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M446 40h0\"></path>\n<path d=\"M508.5 40h0\"></path>\n<rect x=\"446\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndIf\"><text x=\"477.25\" y=\"44\">EndIf</text>\n</a>\n</g>\n</g>\n<path d=\"M508.5 40h10\"></path>\n<path d=\"M 518.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "if.ts"
+    },
+    {
+      "name": "Interface",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Interface', {href: '#/statement/Interface'}),Railroad.ZeroOrMore(Railroad.NonTerminal('SectionContents', {href: '#/structure/SectionContents'})),Railroad.Terminal('EndInterface', {href: '#/statement/EndInterface'}))).toString();",
+      "using": [
+        "statement/EndInterface",
+        "statement/Interface",
+        "structure/SectionContents"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"546\" height=\"80\" viewBox=\"0 0 546 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M496 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Interface\"><text x=\"98.25\" y=\"44\">Interface</text>\n</a>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M364 40h0\"></path>\n<path d=\"M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M176.5 20h167.5\"></path>\n</g>\n<path d=\"M344 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g>\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M344 40h0\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M334 40h0\"></path>\n<rect x=\"186.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/SectionContents\"><text x=\"260.25\" y=\"44\">SectionContents</text>\n</a>\n</g>\n<path d=\"M334 40h10\"></path>\n<path d=\"M186.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M186.5 60h147.5\"></path>\n</g>\n<path d=\"M334 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M344 40h20\"></path>\n</g>\n<path d=\"M364 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M374 40h0\"></path>\n<path d=\"M496 40h0\"></path>\n<rect x=\"374\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndInterface\"><text x=\"435\" y=\"44\">EndInterface</text>\n</a>\n</g>\n</g>\n<path d=\"M496 40h10\"></path>\n<path d=\"M 506 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any",
+        "structure/InterfaceGlobal"
+      ],
+      "filename": "interface.ts"
+    },
+    {
+      "name": "InterfaceGlobal",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Terminal('TypePools', {href: '#/statement/TypePools'})),Railroad.ZeroOrMore(Railroad.Terminal('InterfaceLoad', {href: '#/statement/InterfaceLoad'})),Railroad.NonTerminal('Interface', {href: '#/structure/Interface'}))).toString();",
+      "using": [
+        "statement/InterfaceLoad",
+        "statement/TypePools",
+        "structure/Interface"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"553.5\" height=\"80\" viewBox=\"0 0 553.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M503.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h116.5\"></path>\n</g>\n<path d=\"M186.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M176.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"128.25\" y=\"44\">TypePools</text>\n</a>\n</g>\n<path d=\"M176.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h96.5\"></path>\n</g>\n<path d=\"M176.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M186.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M397 40h0\"></path>\n<path d=\"M206.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M226.5 20h150.5\"></path>\n</g>\n<path d=\"M377 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M206.5 40h20\"></path>\n<g>\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M377 40h0\"></path>\n<path d=\"M226.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M236.5 40h0\"></path>\n<path d=\"M367 40h0\"></path>\n<rect x=\"236.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InterfaceLoad\"><text x=\"301.75\" y=\"44\">InterfaceLoad</text>\n</a>\n</g>\n<path d=\"M367 40h10\"></path>\n<path d=\"M236.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M236.5 60h130.5\"></path>\n</g>\n<path d=\"M367 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M377 40h20\"></path>\n</g>\n<path d=\"M397 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M407 40h0\"></path>\n<path d=\"M503.5 40h0\"></path>\n<rect x=\"407\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Interface\"><text x=\"455.25\" y=\"44\">Interface</text>\n</a>\n</g>\n</g>\n<path d=\"M503.5 40h10\"></path>\n<path d=\"M 513.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "interface_global.ts"
+    },
+    {
+      "name": "Loop",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Loop', {href: '#/statement/Loop'}),Railroad.ZeroOrMore(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndLoop', {href: '#/statement/EndLoop'}))).toString();",
+      "using": [
+        "statement/EndLoop",
+        "statement/Loop",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"367.5\" height=\"80\" viewBox=\"0 0 367.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M317.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M104 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Loop\"><text x=\"77\" y=\"44\">Loop</text>\n</a>\n</g>\n<path d=\"M104 40h10\"></path>\n<g>\n<path d=\"M114 40h0\"></path>\n<path d=\"M228 40h0\"></path>\n<path d=\"M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M134 20h74\"></path>\n</g>\n<path d=\"M208 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M114 40h20\"></path>\n<g>\n<path d=\"M134 40h0\"></path>\n<path d=\"M208 40h0\"></path>\n<path d=\"M134 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M144 40h0\"></path>\n<path d=\"M198 40h0\"></path>\n<rect x=\"144\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"171\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M198 40h10\"></path>\n<path d=\"M144 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M144 60h54\"></path>\n</g>\n<path d=\"M198 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M208 40h20\"></path>\n</g>\n<path d=\"M228 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M238 40h0\"></path>\n<path d=\"M317.5 40h0\"></path>\n<rect x=\"238\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndLoop\"><text x=\"277.75\" y=\"44\">EndLoop</text>\n</a>\n</g>\n</g>\n<path d=\"M317.5 40h10\"></path>\n<path d=\"M 327.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "loop.ts"
+    },
+    {
+      "name": "LoopAtScreen",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('LoopAtScreen', {href: '#/statement/LoopAtScreen'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndLoop', {href: '#/statement/EndLoop'}))).toString();",
+      "using": [
+        "statement/EndLoop",
+        "statement/LoopAtScreen",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"415.5\" height=\"71\" viewBox=\"0 0 415.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M172 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/LoopAtScreen\"><text x=\"111\" y=\"44\">LoopAtScreen</text>\n</a>\n</g>\n<path d=\"M172 40h10\"></path>\n<g>\n<path d=\"M182 40h0\"></path>\n<path d=\"M276 40h0\"></path>\n<path d=\"M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M202 20h54\"></path>\n</g>\n<path d=\"M256 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M182 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M202 40h0\"></path>\n<path d=\"M256 40h0\"></path>\n<rect x=\"202\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"229\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M256 40h20\"></path>\n</g>\n<path d=\"M276 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M286 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<rect x=\"286\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndLoop\"><text x=\"325.75\" y=\"44\">EndLoop</text>\n</a>\n</g>\n</g>\n<path d=\"M365.5 40h10\"></path>\n<path d=\"M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "loop_at_screen.ts"
+    },
+    {
+      "name": "Method",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('MethodImplementation', {href: '#/statement/MethodImplementation'}),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('Body', {href: '#/structure/Body'}),Railroad.ZeroOrMore(Railroad.Terminal('NativeSQL', {href: '#/statement/NativeSQL'})))),Railroad.Terminal('EndMethod', {href: '#/statement/EndMethod'}))).toString();",
+      "using": [
+        "statement/EndMethod",
+        "statement/MethodImplementation",
+        "statement/NativeSQL",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"643\" height=\"119\" viewBox=\"0 0 643 119\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M593 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M240 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MethodImplementation\"><text x=\"145\" y=\"44\">MethodImplementation</text>\n</a>\n</g>\n<path d=\"M240 40h10\"></path>\n<g>\n<path d=\"M250 40h0\"></path>\n<path d=\"M486.5 40h0\"></path>\n<path d=\"M250 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M270 20h196.5\"></path>\n</g>\n<path d=\"M466.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M250 40h20\"></path>\n<g>\n<path d=\"M270 40h0\"></path>\n<path d=\"M466.5 40h0\"></path>\n<path d=\"M270 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M290 40h0\"></path>\n<path d=\"M344 40h102.5\"></path>\n<rect x=\"290\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"317\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M446.5 40h20\"></path>\n<path d=\"M270 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M290 79h0\"></path>\n<path d=\"M446.5 79h0\"></path>\n<path d=\"M290 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M310 59h116.5\"></path>\n</g>\n<path d=\"M426.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M290 79h20\"></path>\n<g>\n<path d=\"M310 79h0\"></path>\n<path d=\"M426.5 79h0\"></path>\n<path d=\"M310 79h10\"></path>\n<g class=\"terminal\">\n<path d=\"M320 79h0\"></path>\n<path d=\"M416.5 79h0\"></path>\n<rect x=\"320\" y=\"68\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/NativeSQL\"><text x=\"368.25\" y=\"83\">NativeSQL</text>\n</a>\n</g>\n<path d=\"M416.5 79h10\"></path>\n<path d=\"M320 79a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320 99h96.5\"></path>\n</g>\n<path d=\"M416.5 99a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M426.5 79h20\"></path>\n</g>\n<path d=\"M446.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M466.5 40h20\"></path>\n</g>\n<path d=\"M486.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M496.5 40h0\"></path>\n<path d=\"M593 40h0\"></path>\n<rect x=\"496.5\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndMethod\"><text x=\"544.75\" y=\"44\">EndMethod</text>\n</a>\n</g>\n</g>\n<path d=\"M593 40h10\"></path>\n<path d=\"M 603 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassImplementation"
+      ],
+      "filename": "method.ts"
+    },
+    {
+      "name": "Module",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Module', {href: '#/statement/Module'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndModule', {href: '#/statement/EndModule'}))).toString();",
+      "using": [
+        "statement/EndModule",
+        "statement/Module",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"381.5\" height=\"71\" viewBox=\"0 0 381.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Module\"><text x=\"85.5\" y=\"44\">Module</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M225 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h54\"></path>\n</g>\n<path d=\"M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M205 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"178\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M205 40h20\"></path>\n</g>\n<path d=\"M225 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<rect x=\"235\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndModule\"><text x=\"283.25\" y=\"44\">EndModule</text>\n</a>\n</g>\n</g>\n<path d=\"M331.5 40h10\"></path>\n<path d=\"M 341.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any"
+      ],
+      "filename": "module.ts"
+    },
+    {
+      "name": "Normal",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Choice(0, Railroad.Terminal('Move', {href: '#/statement/Move'}),Railroad.Terminal('Call', {href: '#/statement/Call'}),Railroad.Terminal('Data', {href: '#/statement/Data'}),Railroad.NonTerminal('If', {href: '#/structure/If'}),Railroad.Terminal('Clear', {href: '#/statement/Clear'}),Railroad.Terminal('FieldSymbol', {href: '#/statement/FieldSymbol'}),Railroad.Terminal('CreateObject', {href: '#/statement/CreateObject'}),Railroad.Terminal('CallFunction', {href: '#/statement/CallFunction'}),Railroad.Terminal('MacroCall', {href: '#/statement/MacroCall'}),Railroad.NonTerminal('LoopAtScreen', {href: '#/structure/LoopAtScreen'}),Railroad.NonTerminal('Loop', {href: '#/structure/Loop'}),Railroad.Terminal('Append', {href: '#/statement/Append'}),Railroad.NonTerminal('Try', {href: '#/structure/Try'}),Railroad.NonTerminal('OnChange', {href: '#/structure/OnChange'}),Railroad.Terminal('ReadTable', {href: '#/statement/ReadTable'}),Railroad.Terminal('Assert', {href: '#/statement/Assert'}),Railroad.Terminal('Return', {href: '#/statement/Return'}),Railroad.Terminal('Select', {href: '#/statement/Select'}),Railroad.Terminal('Assign', {href: '#/statement/Assign'}),Railroad.Terminal('InsertInternal', {href: '#/statement/InsertInternal'}),Railroad.Terminal('DeleteInternal', {href: '#/statement/DeleteInternal'}),Railroad.Terminal('Concatenate', {href: '#/statement/Concatenate'}),Railroad.NonTerminal('Case', {href: '#/structure/Case'}),Railroad.NonTerminal('CaseType', {href: '#/structure/CaseType'}),Railroad.NonTerminal('Enhancement', {href: '#/structure/Enhancement'}),Railroad.NonTerminal('EnhancementSection', {href: '#/structure/EnhancementSection'}),Railroad.Terminal('AddCorresponding', {href: '#/statement/AddCorresponding'}),Railroad.Terminal('Add', {href: '#/statement/Add'}),Railroad.Terminal('AssignLocalCopy', {href: '#/statement/AssignLocalCopy'}),Railroad.Terminal('AuthorityCheck', {href: '#/statement/AuthorityCheck'}),Railroad.Terminal('Back', {href: '#/statement/Back'}),Railroad.Terminal('Break', {href: '#/statement/Break'}),Railroad.Terminal('BreakId', {href: '#/statement/BreakId'}),Railroad.Terminal('CallDatabase', {href: '#/statement/CallDatabase'}),Railroad.Terminal('CallDialog', {href: '#/statement/CallDialog'}),Railroad.Terminal('CallKernel', {href: '#/statement/CallKernel'}),Railroad.Terminal('CallOLE', {href: '#/statement/CallOLE'}),Railroad.Terminal('CallScreen', {href: '#/statement/CallScreen'}),Railroad.Terminal('ModifyScreen', {href: '#/statement/ModifyScreen'}),Railroad.Terminal('CallSelectionScreen', {href: '#/statement/CallSelectionScreen'}),Railroad.Terminal('CallTransaction', {href: '#/statement/CallTransaction'}),Railroad.Terminal('CallTransformation', {href: '#/statement/CallTransformation'}),Railroad.Terminal('Check', {href: '#/statement/Check'}),Railroad.Terminal('ClassDefinitionLoad', {href: '#/statement/ClassDefinitionLoad'}),Railroad.Terminal('CloseCursor', {href: '#/statement/CloseCursor'}),Railroad.Terminal('CloseDataset', {href: '#/statement/CloseDataset'}),Railroad.Terminal('Collect', {href: '#/statement/Collect'}),Railroad.Terminal('Commit', {href: '#/statement/Commit'}),Railroad.Terminal('Communication', {href: '#/statement/Communication'}),Railroad.Terminal('Compute', {href: '#/statement/Compute'}),Railroad.Terminal('CallBadi', {href: '#/statement/CallBadi'}),Railroad.Terminal('Condense', {href: '#/statement/Condense'}),Railroad.Terminal('Constant', {href: '#/statement/Constant'}),Railroad.Terminal('Contexts', {href: '#/statement/Contexts'}),Railroad.Terminal('Continue', {href: '#/statement/Continue'}),Railroad.Terminal('ConvertText', {href: '#/statement/ConvertText'}),Railroad.Terminal('Convert', {href: '#/statement/Convert'}),Railroad.Terminal('CreateData', {href: '#/statement/CreateData'}),Railroad.Terminal('CreateOLE', {href: '#/statement/CreateOLE'}),Railroad.Terminal('DeleteCluster', {href: '#/statement/DeleteCluster'}),Railroad.Terminal('DeleteDatabase', {href: '#/statement/DeleteDatabase'}),Railroad.Terminal('DeleteDataset', {href: '#/statement/DeleteDataset'}),Railroad.Terminal('DeleteDynpro', {href: '#/statement/DeleteDynpro'}),Railroad.Terminal('DeleteMemory', {href: '#/statement/DeleteMemory'}),Railroad.Terminal('DeleteReport', {href: '#/statement/DeleteReport'}),Railroad.Terminal('DeleteTextpool', {href: '#/statement/DeleteTextpool'}),Railroad.Terminal('Demand', {href: '#/statement/Demand'}),Railroad.Terminal('Describe', {href: '#/statement/Describe'}),Railroad.Terminal('Detail', {href: '#/statement/Detail'}),Railroad.Terminal('Divide', {href: '#/statement/Divide'}),Railroad.Terminal('EditorCall', {href: '#/statement/EditorCall'}),Railroad.Terminal('EnhancementPoint', {href: '#/statement/EnhancementPoint'}),Railroad.Terminal('Exit', {href: '#/statement/Exit'}),Railroad.Terminal('ExportDynpro', {href: '#/statement/ExportDynpro'}),Railroad.Terminal('Export', {href: '#/statement/Export'}),Railroad.Terminal('Extract', {href: '#/statement/Extract'}),Railroad.Terminal('FetchNextCursor', {href: '#/statement/FetchNextCursor'}),Railroad.Terminal('FieldGroup', {href: '#/statement/FieldGroup'}),Railroad.Terminal('Fields', {href: '#/statement/Fields'}),Railroad.Terminal('Find', {href: '#/statement/Find'}),Railroad.Terminal('Format', {href: '#/statement/Format'}),Railroad.Terminal('FreeMemory', {href: '#/statement/FreeMemory'}),Railroad.Terminal('FreeObject', {href: '#/statement/FreeObject'}),Railroad.Terminal('Free', {href: '#/statement/Free'}),Railroad.Terminal('GenerateDynpro', {href: '#/statement/GenerateDynpro'}),Railroad.Terminal('GenerateReport', {href: '#/statement/GenerateReport'}),Railroad.Terminal('GenerateSubroutine', {href: '#/statement/GenerateSubroutine'}),Railroad.Terminal('GetBadi', {href: '#/statement/GetBadi'}),Railroad.Terminal('GetBit', {href: '#/statement/GetBit'}),Railroad.Terminal('GetCursor', {href: '#/statement/GetCursor'}),Railroad.Terminal('GetDataset', {href: '#/statement/GetDataset'}),Railroad.Terminal('GetLocale', {href: '#/statement/GetLocale'}),Railroad.Terminal('GetParameter', {href: '#/statement/GetParameter'}),Railroad.Terminal('GetPFStatus', {href: '#/statement/GetPFStatus'}),Railroad.Terminal('GetProperty', {href: '#/statement/GetProperty'}),Railroad.Terminal('GetReference', {href: '#/statement/GetReference'}),Railroad.Terminal('GetRunTime', {href: '#/statement/GetRunTime'}),Railroad.Terminal('GetTime', {href: '#/statement/GetTime'}),Railroad.Terminal('Hide', {href: '#/statement/Hide'}),Railroad.Terminal('Nodes', {href: '#/statement/Nodes'}),Railroad.Terminal('ImportDynpro', {href: '#/statement/ImportDynpro'}),Railroad.Terminal('ImportNametab', {href: '#/statement/ImportNametab'}),Railroad.Terminal('MoveCorresponding', {href: '#/statement/MoveCorresponding'}),Railroad.Terminal('Import', {href: '#/statement/Import'}),Railroad.Terminal('Infotypes', {href: '#/statement/Infotypes'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.Terminal('InsertDatabase', {href: '#/statement/InsertDatabase'}),Railroad.Terminal('InsertReport', {href: '#/statement/InsertReport'}),Railroad.Terminal('InsertTextpool', {href: '#/statement/InsertTextpool'}),Railroad.Terminal('InsertFieldGroup', {href: '#/statement/InsertFieldGroup'}),Railroad.Terminal('InterfaceLoad', {href: '#/statement/InterfaceLoad'}),Railroad.Terminal('Leave', {href: '#/statement/Leave'}),Railroad.Terminal('LoadReport', {href: '#/statement/LoadReport'}),Railroad.Terminal('Local', {href: '#/statement/Local'}),Railroad.Terminal('With', {href: '#/statement/With'}),Railroad.Terminal('LogPoint', {href: '#/statement/LogPoint'}),Railroad.Terminal('Message', {href: '#/statement/Message'}),Railroad.Terminal('ModifyLine', {href: '#/statement/ModifyLine'}),Railroad.Terminal('ModifyDatabase', {href: '#/statement/ModifyDatabase'}),Railroad.Terminal('ModifyInternal', {href: '#/statement/ModifyInternal'}),Railroad.Terminal('Multiply', {href: '#/statement/Multiply'}),Railroad.Terminal('NewLine', {href: '#/statement/NewLine'}),Railroad.Terminal('NewPage', {href: '#/statement/NewPage'}),Railroad.Terminal('OpenCursor', {href: '#/statement/OpenCursor'}),Railroad.Terminal('OpenDataset', {href: '#/statement/OpenDataset'}),Railroad.Terminal('Overlay', {href: '#/statement/Overlay'}),Railroad.Terminal('Pack', {href: '#/statement/Pack'}),Railroad.Terminal('Perform', {href: '#/statement/Perform'}),Railroad.Terminal('FormDefinition', {href: '#/statement/FormDefinition'}),Railroad.Terminal('Position', {href: '#/statement/Position'}),Railroad.Terminal('Put', {href: '#/statement/Put'}),Railroad.Terminal('PrintControl', {href: '#/statement/PrintControl'}),Railroad.Terminal('RaiseEvent', {href: '#/statement/RaiseEvent'}),Railroad.Terminal('RaiseEntityEvent', {href: '#/statement/RaiseEntityEvent'}),Railroad.Terminal('Raise', {href: '#/statement/Raise'}),Railroad.Terminal('Ranges', {href: '#/statement/Ranges'}),Railroad.Terminal('ReadDataset', {href: '#/statement/ReadDataset'}),Railroad.Terminal('ReadLine', {href: '#/statement/ReadLine'}),Railroad.Terminal('ReadReport', {href: '#/statement/ReadReport'}),Railroad.Terminal('ReadTextpool', {href: '#/statement/ReadTextpool'}),Railroad.Terminal('Receive', {href: '#/statement/Receive'}),Railroad.Terminal('RefreshControl', {href: '#/statement/RefreshControl'}),Railroad.Terminal('Refresh', {href: '#/statement/Refresh'}),Railroad.Terminal('Reject', {href: '#/statement/Reject'}),Railroad.Terminal('Replace', {href: '#/statement/Replace'}),Railroad.Terminal('Reserve', {href: '#/statement/Reserve'}),Railroad.Terminal('Resume', {href: '#/statement/Resume'}),Railroad.Terminal('Retry', {href: '#/statement/Retry'}),Railroad.Terminal('Rollback', {href: '#/statement/Rollback'}),Railroad.Terminal('Scan', {href: '#/statement/Scan'}),Railroad.Terminal('ScrollList', {href: '#/statement/ScrollList'}),Railroad.Terminal('Search', {href: '#/statement/Search'}),Railroad.Terminal('SetBit', {href: '#/statement/SetBit'}),Railroad.Terminal('SetBlank', {href: '#/statement/SetBlank'}),Railroad.Terminal('SetCountry', {href: '#/statement/SetCountry'}),Railroad.Terminal('SetCursor', {href: '#/statement/SetCursor'}),Railroad.Terminal('SetDataset', {href: '#/statement/SetDataset'}),Railroad.Terminal('SetExtendedCheck', {href: '#/statement/SetExtendedCheck'}),Railroad.Terminal('SetHandler', {href: '#/statement/SetHandler'}),Railroad.Terminal('SetLanguage', {href: '#/statement/SetLanguage'}),Railroad.Terminal('SetLeft', {href: '#/statement/SetLeft'}),Railroad.Terminal('SetLocale', {href: '#/statement/SetLocale'}),Railroad.Terminal('SetMargin', {href: '#/statement/SetMargin'}),Railroad.Terminal('SetParameter', {href: '#/statement/SetParameter'}),Railroad.Terminal('SetPFStatus', {href: '#/statement/SetPFStatus'}),Railroad.Terminal('SetProperty', {href: '#/statement/SetProperty'}),Railroad.Terminal('SetRunTime', {href: '#/statement/SetRunTime'}),Railroad.Terminal('SetScreen', {href: '#/statement/SetScreen'}),Railroad.Terminal('SetTitlebar', {href: '#/statement/SetTitlebar'}),Railroad.Terminal('SetUserCommand', {href: '#/statement/SetUserCommand'}),Railroad.Terminal('SetUpdateTask', {href: '#/statement/SetUpdateTask'}),Railroad.Terminal('Shift', {href: '#/statement/Shift'}),Railroad.Terminal('Skip', {href: '#/statement/Skip'}),Railroad.Terminal('SortDataset', {href: '#/statement/SortDataset'}),Railroad.Terminal('Sort', {href: '#/statement/Sort'}),Railroad.Terminal('Static', {href: '#/statement/Static'}),Railroad.Terminal('Split', {href: '#/statement/Split'}),Railroad.Terminal('Stop', {href: '#/statement/Stop'}),Railroad.Terminal('Submit', {href: '#/statement/Submit'}),Railroad.Terminal('Summary', {href: '#/statement/Summary'}),Railroad.Terminal('SubtractCorresponding', {href: '#/statement/SubtractCorresponding'}),Railroad.Terminal('Subtract', {href: '#/statement/Subtract'}),Railroad.Terminal('SuppressDialog', {href: '#/statement/SuppressDialog'}),Railroad.Terminal('Supply', {href: '#/statement/Supply'}),Railroad.Terminal('Sum', {href: '#/statement/Sum'}),Railroad.Terminal('SyntaxCheck', {href: '#/statement/SyntaxCheck'}),Railroad.Terminal('SystemCall', {href: '#/statement/SystemCall'}),Railroad.Terminal('Tables', {href: '#/statement/Tables'}),Railroad.Terminal('Transfer', {href: '#/statement/Transfer'}),Railroad.Terminal('Translate', {href: '#/statement/Translate'}),Railroad.Terminal('Type', {href: '#/statement/Type'}),Railroad.Terminal('TypePools', {href: '#/statement/TypePools'}),Railroad.Terminal('Uline', {href: '#/statement/Uline'}),Railroad.Terminal('Unassign', {href: '#/statement/Unassign'}),Railroad.Terminal('Unpack', {href: '#/statement/Unpack'}),Railroad.Terminal('UpdateDatabase', {href: '#/statement/UpdateDatabase'}),Railroad.Terminal('Wait', {href: '#/statement/Wait'}),Railroad.Terminal('Window', {href: '#/statement/Window'}),Railroad.Terminal('Write', {href: '#/statement/Write'}),Railroad.Terminal('CommitEntities', {href: '#/statement/CommitEntities'}),Railroad.Terminal('GetPermissions', {href: '#/statement/GetPermissions'}),Railroad.Terminal('SetLocks', {href: '#/statement/SetLocks'}),Railroad.Terminal('ModifyEntities', {href: '#/statement/ModifyEntities'}),Railroad.Terminal('ReadEntities', {href: '#/statement/ReadEntities'}),Railroad.Terminal('RollbackEntities', {href: '#/statement/RollbackEntities'}),Railroad.NonTerminal('Define', {href: '#/structure/Define'}),Railroad.NonTerminal('TestInjection', {href: '#/structure/TestInjection'}),Railroad.NonTerminal('TestSeam', {href: '#/structure/TestSeam'}),Railroad.NonTerminal('TypeMesh', {href: '#/structure/TypeMesh'}),Railroad.NonTerminal('Provide', {href: '#/structure/Provide'}),Railroad.NonTerminal('CatchSystemExceptions', {href: '#/structure/CatchSystemExceptions'}),Railroad.NonTerminal('At', {href: '#/structure/At'}),Railroad.NonTerminal('AtFirst', {href: '#/structure/AtFirst'}),Railroad.NonTerminal('AtLast', {href: '#/structure/AtLast'}),Railroad.NonTerminal('Constants', {href: '#/structure/Constants'}),Railroad.NonTerminal('Types', {href: '#/structure/Types'}),Railroad.NonTerminal('Statics', {href: '#/structure/Statics'}),Railroad.NonTerminal('Select', {href: '#/structure/Select'}),Railroad.NonTerminal('Data', {href: '#/structure/Data'}),Railroad.NonTerminal('TypeEnum', {href: '#/structure/TypeEnum'}),Railroad.NonTerminal('While', {href: '#/structure/While'}),Railroad.NonTerminal('With', {href: '#/structure/With'}),Railroad.NonTerminal('Do', {href: '#/structure/Do'}),Railroad.NonTerminal('ExecSQL', {href: '#/structure/ExecSQL'}))).toString();",
+      "using": [
+        "statement/Add",
+        "statement/AddCorresponding",
+        "statement/Append",
+        "statement/Assert",
+        "statement/Assign",
+        "statement/AssignLocalCopy",
+        "statement/AuthorityCheck",
+        "statement/Back",
+        "statement/Break",
+        "statement/BreakId",
+        "statement/Call",
+        "statement/CallBadi",
+        "statement/CallDatabase",
+        "statement/CallDialog",
+        "statement/CallFunction",
+        "statement/CallKernel",
+        "statement/CallOLE",
+        "statement/CallScreen",
+        "statement/CallSelectionScreen",
+        "statement/CallTransaction",
+        "statement/CallTransformation",
+        "statement/Check",
+        "statement/ClassDefinitionLoad",
+        "statement/Clear",
+        "statement/CloseCursor",
+        "statement/CloseDataset",
+        "statement/Collect",
+        "statement/Commit",
+        "statement/CommitEntities",
+        "statement/Communication",
+        "statement/Compute",
+        "statement/Concatenate",
+        "statement/Condense",
+        "statement/Constant",
+        "statement/Contexts",
+        "statement/Continue",
+        "statement/Convert",
+        "statement/ConvertText",
+        "statement/CreateData",
+        "statement/CreateOLE",
+        "statement/CreateObject",
+        "statement/Data",
+        "statement/DeleteCluster",
+        "statement/DeleteDatabase",
+        "statement/DeleteDataset",
+        "statement/DeleteDynpro",
+        "statement/DeleteInternal",
+        "statement/DeleteMemory",
+        "statement/DeleteReport",
+        "statement/DeleteTextpool",
+        "statement/Demand",
+        "statement/Describe",
+        "statement/Detail",
+        "statement/Divide",
+        "statement/EditorCall",
+        "statement/EnhancementPoint",
+        "statement/Exit",
+        "statement/Export",
+        "statement/ExportDynpro",
+        "statement/Extract",
+        "statement/FetchNextCursor",
+        "statement/FieldGroup",
+        "statement/FieldSymbol",
+        "statement/Fields",
+        "statement/Find",
+        "statement/FormDefinition",
+        "statement/Format",
+        "statement/Free",
+        "statement/FreeMemory",
+        "statement/FreeObject",
+        "statement/GenerateDynpro",
+        "statement/GenerateReport",
+        "statement/GenerateSubroutine",
+        "statement/GetBadi",
+        "statement/GetBit",
+        "statement/GetCursor",
+        "statement/GetDataset",
+        "statement/GetLocale",
+        "statement/GetPFStatus",
+        "statement/GetParameter",
+        "statement/GetPermissions",
+        "statement/GetProperty",
+        "statement/GetReference",
+        "statement/GetRunTime",
+        "statement/GetTime",
+        "statement/Hide",
+        "statement/Import",
+        "statement/ImportDynpro",
+        "statement/ImportNametab",
+        "statement/Include",
+        "statement/Infotypes",
+        "statement/InsertDatabase",
+        "statement/InsertFieldGroup",
+        "statement/InsertInternal",
+        "statement/InsertReport",
+        "statement/InsertTextpool",
+        "statement/InterfaceLoad",
+        "statement/Leave",
+        "statement/LoadReport",
+        "statement/Local",
+        "statement/LogPoint",
+        "statement/MacroCall",
+        "statement/Message",
+        "statement/ModifyDatabase",
+        "statement/ModifyEntities",
+        "statement/ModifyInternal",
+        "statement/ModifyLine",
+        "statement/ModifyScreen",
+        "statement/Move",
+        "statement/MoveCorresponding",
+        "statement/Multiply",
+        "statement/NewLine",
+        "statement/NewPage",
+        "statement/Nodes",
+        "statement/OpenCursor",
+        "statement/OpenDataset",
+        "statement/Overlay",
+        "statement/Pack",
+        "statement/Perform",
+        "statement/Position",
+        "statement/PrintControl",
+        "statement/Put",
+        "statement/Raise",
+        "statement/RaiseEntityEvent",
+        "statement/RaiseEvent",
+        "statement/Ranges",
+        "statement/ReadDataset",
+        "statement/ReadEntities",
+        "statement/ReadLine",
+        "statement/ReadReport",
+        "statement/ReadTable",
+        "statement/ReadTextpool",
+        "statement/Receive",
+        "statement/Refresh",
+        "statement/RefreshControl",
+        "statement/Reject",
+        "statement/Replace",
+        "statement/Reserve",
+        "statement/Resume",
+        "statement/Retry",
+        "statement/Return",
+        "statement/Rollback",
+        "statement/RollbackEntities",
+        "statement/Scan",
+        "statement/ScrollList",
+        "statement/Search",
+        "statement/Select",
+        "statement/SetBit",
+        "statement/SetBlank",
+        "statement/SetCountry",
+        "statement/SetCursor",
+        "statement/SetDataset",
+        "statement/SetExtendedCheck",
+        "statement/SetHandler",
+        "statement/SetLanguage",
+        "statement/SetLeft",
+        "statement/SetLocale",
+        "statement/SetLocks",
+        "statement/SetMargin",
+        "statement/SetPFStatus",
+        "statement/SetParameter",
+        "statement/SetProperty",
+        "statement/SetRunTime",
+        "statement/SetScreen",
+        "statement/SetTitlebar",
+        "statement/SetUpdateTask",
+        "statement/SetUserCommand",
+        "statement/Shift",
+        "statement/Skip",
+        "statement/Sort",
+        "statement/SortDataset",
+        "statement/Split",
+        "statement/Static",
+        "statement/Stop",
+        "statement/Submit",
+        "statement/Subtract",
+        "statement/SubtractCorresponding",
+        "statement/Sum",
+        "statement/Summary",
+        "statement/Supply",
+        "statement/SuppressDialog",
+        "statement/SyntaxCheck",
+        "statement/SystemCall",
+        "statement/Tables",
+        "statement/Transfer",
+        "statement/Translate",
+        "statement/Type",
+        "statement/TypePools",
+        "statement/Uline",
+        "statement/Unassign",
+        "statement/Unpack",
+        "statement/UpdateDatabase",
+        "statement/Wait",
+        "statement/Window",
+        "statement/With",
+        "statement/Write",
+        "structure/At",
+        "structure/AtFirst",
+        "structure/AtLast",
+        "structure/Case",
+        "structure/CaseType",
+        "structure/CatchSystemExceptions",
+        "structure/Constants",
+        "structure/Data",
+        "structure/Define",
+        "structure/Do",
+        "structure/Enhancement",
+        "structure/EnhancementSection",
+        "structure/ExecSQL",
+        "structure/If",
+        "structure/Loop",
+        "structure/LoopAtScreen",
+        "structure/OnChange",
+        "structure/Provide",
+        "structure/Select",
+        "structure/Statics",
+        "structure/TestInjection",
+        "structure/TestSeam",
+        "structure/Try",
+        "structure/TypeEnum",
+        "structure/TypeMesh",
+        "structure/Types",
+        "structure/While",
+        "structure/With"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"318.5\" height=\"6752\" viewBox=\"0 0 318.5 6752\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M278.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M114 31h144.5\"></path>\n<rect x=\"60\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Move\"><text x=\"87\" y=\"35\">Move</text>\n</a>\n</g>\n<path d=\"M258.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M114 61h144.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Call\"><text x=\"87\" y=\"65\">Call</text>\n</a>\n</g>\n<path d=\"M258.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M114 91h144.5\"></path>\n<rect x=\"60\" y=\"80\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Data\"><text x=\"87\" y=\"95\">Data</text>\n</a>\n</g>\n<path d=\"M258.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M97 121h161.5\"></path>\n<rect x=\"60\" y=\"110\" width=\"37\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/If\"><text x=\"78.5\" y=\"125\">If</text>\n</a>\n</g>\n<path d=\"M258.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M122.5 151h136\"></path>\n<rect x=\"60\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Clear\"><text x=\"91.25\" y=\"155\">Clear</text>\n</a>\n</g>\n<path d=\"M258.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 181h0\"></path>\n<path d=\"M173.5 181h85\"></path>\n<rect x=\"60\" y=\"170\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FieldSymbol\"><text x=\"116.75\" y=\"185\">FieldSymbol</text>\n</a>\n</g>\n<path d=\"M258.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 211h0\"></path>\n<path d=\"M182 211h76.5\"></path>\n<rect x=\"60\" y=\"200\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CreateObject\"><text x=\"121\" y=\"215\">CreateObject</text>\n</a>\n</g>\n<path d=\"M258.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 241h0\"></path>\n<path d=\"M182 241h76.5\"></path>\n<rect x=\"60\" y=\"230\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallFunction\"><text x=\"121\" y=\"245\">CallFunction</text>\n</a>\n</g>\n<path d=\"M258.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 271h0\"></path>\n<path d=\"M156.5 271h102\"></path>\n<rect x=\"60\" y=\"260\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MacroCall\"><text x=\"108.25\" y=\"275\">MacroCall</text>\n</a>\n</g>\n<path d=\"M258.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 301h0\"></path>\n<path d=\"M182 301h76.5\"></path>\n<rect x=\"60\" y=\"290\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/LoopAtScreen\"><text x=\"121\" y=\"305\">LoopAtScreen</text>\n</a>\n</g>\n<path d=\"M258.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 331h0\"></path>\n<path d=\"M114 331h144.5\"></path>\n<rect x=\"60\" y=\"320\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Loop\"><text x=\"87\" y=\"335\">Loop</text>\n</a>\n</g>\n<path d=\"M258.5 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 361h0\"></path>\n<path d=\"M131 361h127.5\"></path>\n<rect x=\"60\" y=\"350\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Append\"><text x=\"95.5\" y=\"365\">Append</text>\n</a>\n</g>\n<path d=\"M258.5 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 391h0\"></path>\n<path d=\"M105.5 391h153\"></path>\n<rect x=\"60\" y=\"380\" width=\"45.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Try\"><text x=\"82.75\" y=\"395\">Try</text>\n</a>\n</g>\n<path d=\"M258.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 421h0\"></path>\n<path d=\"M148 421h110.5\"></path>\n<rect x=\"60\" y=\"410\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/OnChange\"><text x=\"104\" y=\"425\">OnChange</text>\n</a>\n</g>\n<path d=\"M258.5 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 451h0\"></path>\n<path d=\"M156.5 451h102\"></path>\n<rect x=\"60\" y=\"440\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadTable\"><text x=\"108.25\" y=\"455\">ReadTable</text>\n</a>\n</g>\n<path d=\"M258.5 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 481h0\"></path>\n<path d=\"M131 481h127.5\"></path>\n<rect x=\"60\" y=\"470\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Assert\"><text x=\"95.5\" y=\"485\">Assert</text>\n</a>\n</g>\n<path d=\"M258.5 481a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 511h0\"></path>\n<path d=\"M131 511h127.5\"></path>\n<rect x=\"60\" y=\"500\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Return\"><text x=\"95.5\" y=\"515\">Return</text>\n</a>\n</g>\n<path d=\"M258.5 511a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 541h0\"></path>\n<path d=\"M131 541h127.5\"></path>\n<rect x=\"60\" y=\"530\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Select\"><text x=\"95.5\" y=\"545\">Select</text>\n</a>\n</g>\n<path d=\"M258.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 571h0\"></path>\n<path d=\"M131 571h127.5\"></path>\n<rect x=\"60\" y=\"560\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Assign\"><text x=\"95.5\" y=\"575\">Assign</text>\n</a>\n</g>\n<path d=\"M258.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 601h0\"></path>\n<path d=\"M199 601h59.5\"></path>\n<rect x=\"60\" y=\"590\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InsertInternal\"><text x=\"129.5\" y=\"605\">InsertInternal</text>\n</a>\n</g>\n<path d=\"M258.5 601a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 631h0\"></path>\n<path d=\"M199 631h59.5\"></path>\n<rect x=\"60\" y=\"620\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteInternal\"><text x=\"129.5\" y=\"635\">DeleteInternal</text>\n</a>\n</g>\n<path d=\"M258.5 631a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 661h0\"></path>\n<path d=\"M173.5 661h85\"></path>\n<rect x=\"60\" y=\"650\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Concatenate\"><text x=\"116.75\" y=\"665\">Concatenate</text>\n</a>\n</g>\n<path d=\"M258.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 691h0\"></path>\n<path d=\"M114 691h144.5\"></path>\n<rect x=\"60\" y=\"680\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Case\"><text x=\"87\" y=\"695\">Case</text>\n</a>\n</g>\n<path d=\"M258.5 691a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 721h0\"></path>\n<path d=\"M148 721h110.5\"></path>\n<rect x=\"60\" y=\"710\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/CaseType\"><text x=\"104\" y=\"725\">CaseType</text>\n</a>\n</g>\n<path d=\"M258.5 721a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 751h0\"></path>\n<path d=\"M173.5 751h85\"></path>\n<rect x=\"60\" y=\"740\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Enhancement\"><text x=\"116.75\" y=\"755\">Enhancement</text>\n</a>\n</g>\n<path d=\"M258.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 781h0\"></path>\n<path d=\"M233 781h25.5\"></path>\n<rect x=\"60\" y=\"770\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/EnhancementSection\"><text x=\"146.5\" y=\"785\">EnhancementSection</text>\n</a>\n</g>\n<path d=\"M258.5 781a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 811h0\"></path>\n<path d=\"M216 811h42.5\"></path>\n<rect x=\"60\" y=\"800\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AddCorresponding\"><text x=\"138\" y=\"815\">AddCorresponding</text>\n</a>\n</g>\n<path d=\"M258.5 811a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 841h0\"></path>\n<path d=\"M105.5 841h153\"></path>\n<rect x=\"60\" y=\"830\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Add\"><text x=\"82.75\" y=\"845\">Add</text>\n</a>\n</g>\n<path d=\"M258.5 841a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 871h0\"></path>\n<path d=\"M207.5 871h51\"></path>\n<rect x=\"60\" y=\"860\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AssignLocalCopy\"><text x=\"133.75\" y=\"875\">AssignLocalCopy</text>\n</a>\n</g>\n<path d=\"M258.5 871a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 901h0\"></path>\n<path d=\"M199 901h59.5\"></path>\n<rect x=\"60\" y=\"890\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/AuthorityCheck\"><text x=\"129.5\" y=\"905\">AuthorityCheck</text>\n</a>\n</g>\n<path d=\"M258.5 901a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v880a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 931h0\"></path>\n<path d=\"M114 931h144.5\"></path>\n<rect x=\"60\" y=\"920\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Back\"><text x=\"87\" y=\"935\">Back</text>\n</a>\n</g>\n<path d=\"M258.5 931a10 10 0 0 0 10 -10v-880a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v910a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 961h0\"></path>\n<path d=\"M122.5 961h136\"></path>\n<rect x=\"60\" y=\"950\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Break\"><text x=\"91.25\" y=\"965\">Break</text>\n</a>\n</g>\n<path d=\"M258.5 961a10 10 0 0 0 10 -10v-910a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v940a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 991h0\"></path>\n<path d=\"M139.5 991h119\"></path>\n<rect x=\"60\" y=\"980\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/BreakId\"><text x=\"99.75\" y=\"995\">BreakId</text>\n</a>\n</g>\n<path d=\"M258.5 991a10 10 0 0 0 10 -10v-940a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v970a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1021h0\"></path>\n<path d=\"M182 1021h76.5\"></path>\n<rect x=\"60\" y=\"1010\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallDatabase\"><text x=\"121\" y=\"1025\">CallDatabase</text>\n</a>\n</g>\n<path d=\"M258.5 1021a10 10 0 0 0 10 -10v-970a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1000a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1051h0\"></path>\n<path d=\"M165 1051h93.5\"></path>\n<rect x=\"60\" y=\"1040\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallDialog\"><text x=\"112.5\" y=\"1055\">CallDialog</text>\n</a>\n</g>\n<path d=\"M258.5 1051a10 10 0 0 0 10 -10v-1000a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1030a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1081h0\"></path>\n<path d=\"M165 1081h93.5\"></path>\n<rect x=\"60\" y=\"1070\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallKernel\"><text x=\"112.5\" y=\"1085\">CallKernel</text>\n</a>\n</g>\n<path d=\"M258.5 1081a10 10 0 0 0 10 -10v-1030a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1060a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1111h0\"></path>\n<path d=\"M139.5 1111h119\"></path>\n<rect x=\"60\" y=\"1100\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallOLE\"><text x=\"99.75\" y=\"1115\">CallOLE</text>\n</a>\n</g>\n<path d=\"M258.5 1111a10 10 0 0 0 10 -10v-1060a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1090a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1141h0\"></path>\n<path d=\"M165 1141h93.5\"></path>\n<rect x=\"60\" y=\"1130\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallScreen\"><text x=\"112.5\" y=\"1145\">CallScreen</text>\n</a>\n</g>\n<path d=\"M258.5 1141a10 10 0 0 0 10 -10v-1090a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1120a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1171h0\"></path>\n<path d=\"M182 1171h76.5\"></path>\n<rect x=\"60\" y=\"1160\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ModifyScreen\"><text x=\"121\" y=\"1175\">ModifyScreen</text>\n</a>\n</g>\n<path d=\"M258.5 1171a10 10 0 0 0 10 -10v-1120a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1150a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1201h0\"></path>\n<path d=\"M241.5 1201h17\"></path>\n<rect x=\"60\" y=\"1190\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallSelectionScreen\"><text x=\"150.75\" y=\"1205\">CallSelectionScreen</text>\n</a>\n</g>\n<path d=\"M258.5 1201a10 10 0 0 0 10 -10v-1150a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1180a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1231h0\"></path>\n<path d=\"M207.5 1231h51\"></path>\n<rect x=\"60\" y=\"1220\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallTransaction\"><text x=\"133.75\" y=\"1235\">CallTransaction</text>\n</a>\n</g>\n<path d=\"M258.5 1231a10 10 0 0 0 10 -10v-1180a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1210a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1261h0\"></path>\n<path d=\"M233 1261h25.5\"></path>\n<rect x=\"60\" y=\"1250\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallTransformation\"><text x=\"146.5\" y=\"1265\">CallTransformation</text>\n</a>\n</g>\n<path d=\"M258.5 1261a10 10 0 0 0 10 -10v-1210a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1240a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1291h0\"></path>\n<path d=\"M122.5 1291h136\"></path>\n<rect x=\"60\" y=\"1280\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Check\"><text x=\"91.25\" y=\"1295\">Check</text>\n</a>\n</g>\n<path d=\"M258.5 1291a10 10 0 0 0 10 -10v-1240a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1270a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1321h0\"></path>\n<path d=\"M241.5 1321h17\"></path>\n<rect x=\"60\" y=\"1310\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDefinitionLoad\"><text x=\"150.75\" y=\"1325\">ClassDefinitionLoad</text>\n</a>\n</g>\n<path d=\"M258.5 1321a10 10 0 0 0 10 -10v-1270a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1300a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1351h0\"></path>\n<path d=\"M173.5 1351h85\"></path>\n<rect x=\"60\" y=\"1340\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CloseCursor\"><text x=\"116.75\" y=\"1355\">CloseCursor</text>\n</a>\n</g>\n<path d=\"M258.5 1351a10 10 0 0 0 10 -10v-1300a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1330a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1381h0\"></path>\n<path d=\"M182 1381h76.5\"></path>\n<rect x=\"60\" y=\"1370\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CloseDataset\"><text x=\"121\" y=\"1385\">CloseDataset</text>\n</a>\n</g>\n<path d=\"M258.5 1381a10 10 0 0 0 10 -10v-1330a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1360a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1411h0\"></path>\n<path d=\"M139.5 1411h119\"></path>\n<rect x=\"60\" y=\"1400\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Collect\"><text x=\"99.75\" y=\"1415\">Collect</text>\n</a>\n</g>\n<path d=\"M258.5 1411a10 10 0 0 0 10 -10v-1360a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1390a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1441h0\"></path>\n<path d=\"M131 1441h127.5\"></path>\n<rect x=\"60\" y=\"1430\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Commit\"><text x=\"95.5\" y=\"1445\">Commit</text>\n</a>\n</g>\n<path d=\"M258.5 1441a10 10 0 0 0 10 -10v-1390a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1420a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1471h0\"></path>\n<path d=\"M190.5 1471h68\"></path>\n<rect x=\"60\" y=\"1460\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Communication\"><text x=\"125.25\" y=\"1475\">Communication</text>\n</a>\n</g>\n<path d=\"M258.5 1471a10 10 0 0 0 10 -10v-1420a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1450a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1501h0\"></path>\n<path d=\"M139.5 1501h119\"></path>\n<rect x=\"60\" y=\"1490\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Compute\"><text x=\"99.75\" y=\"1505\">Compute</text>\n</a>\n</g>\n<path d=\"M258.5 1501a10 10 0 0 0 10 -10v-1450a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1480a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1531h0\"></path>\n<path d=\"M148 1531h110.5\"></path>\n<rect x=\"60\" y=\"1520\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CallBadi\"><text x=\"104\" y=\"1535\">CallBadi</text>\n</a>\n</g>\n<path d=\"M258.5 1531a10 10 0 0 0 10 -10v-1480a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1510a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1561h0\"></path>\n<path d=\"M148 1561h110.5\"></path>\n<rect x=\"60\" y=\"1550\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Condense\"><text x=\"104\" y=\"1565\">Condense</text>\n</a>\n</g>\n<path d=\"M258.5 1561a10 10 0 0 0 10 -10v-1510a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1540a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1591h0\"></path>\n<path d=\"M148 1591h110.5\"></path>\n<rect x=\"60\" y=\"1580\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Constant\"><text x=\"104\" y=\"1595\">Constant</text>\n</a>\n</g>\n<path d=\"M258.5 1591a10 10 0 0 0 10 -10v-1540a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1570a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1621h0\"></path>\n<path d=\"M148 1621h110.5\"></path>\n<rect x=\"60\" y=\"1610\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Contexts\"><text x=\"104\" y=\"1625\">Contexts</text>\n</a>\n</g>\n<path d=\"M258.5 1621a10 10 0 0 0 10 -10v-1570a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1600a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1651h0\"></path>\n<path d=\"M148 1651h110.5\"></path>\n<rect x=\"60\" y=\"1640\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Continue\"><text x=\"104\" y=\"1655\">Continue</text>\n</a>\n</g>\n<path d=\"M258.5 1651a10 10 0 0 0 10 -10v-1600a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1630a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1681h0\"></path>\n<path d=\"M173.5 1681h85\"></path>\n<rect x=\"60\" y=\"1670\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ConvertText\"><text x=\"116.75\" y=\"1685\">ConvertText</text>\n</a>\n</g>\n<path d=\"M258.5 1681a10 10 0 0 0 10 -10v-1630a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1660a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1711h0\"></path>\n<path d=\"M139.5 1711h119\"></path>\n<rect x=\"60\" y=\"1700\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Convert\"><text x=\"99.75\" y=\"1715\">Convert</text>\n</a>\n</g>\n<path d=\"M258.5 1711a10 10 0 0 0 10 -10v-1660a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1690a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1741h0\"></path>\n<path d=\"M165 1741h93.5\"></path>\n<rect x=\"60\" y=\"1730\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CreateData\"><text x=\"112.5\" y=\"1745\">CreateData</text>\n</a>\n</g>\n<path d=\"M258.5 1741a10 10 0 0 0 10 -10v-1690a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1720a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1771h0\"></path>\n<path d=\"M156.5 1771h102\"></path>\n<rect x=\"60\" y=\"1760\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CreateOLE\"><text x=\"108.25\" y=\"1775\">CreateOLE</text>\n</a>\n</g>\n<path d=\"M258.5 1771a10 10 0 0 0 10 -10v-1720a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1750a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1801h0\"></path>\n<path d=\"M190.5 1801h68\"></path>\n<rect x=\"60\" y=\"1790\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteCluster\"><text x=\"125.25\" y=\"1805\">DeleteCluster</text>\n</a>\n</g>\n<path d=\"M258.5 1801a10 10 0 0 0 10 -10v-1750a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1780a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1831h0\"></path>\n<path d=\"M199 1831h59.5\"></path>\n<rect x=\"60\" y=\"1820\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteDatabase\"><text x=\"129.5\" y=\"1835\">DeleteDatabase</text>\n</a>\n</g>\n<path d=\"M258.5 1831a10 10 0 0 0 10 -10v-1780a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1810a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1861h0\"></path>\n<path d=\"M190.5 1861h68\"></path>\n<rect x=\"60\" y=\"1850\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteDataset\"><text x=\"125.25\" y=\"1865\">DeleteDataset</text>\n</a>\n</g>\n<path d=\"M258.5 1861a10 10 0 0 0 10 -10v-1810a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1840a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1891h0\"></path>\n<path d=\"M182 1891h76.5\"></path>\n<rect x=\"60\" y=\"1880\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteDynpro\"><text x=\"121\" y=\"1895\">DeleteDynpro</text>\n</a>\n</g>\n<path d=\"M258.5 1891a10 10 0 0 0 10 -10v-1840a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1870a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1921h0\"></path>\n<path d=\"M182 1921h76.5\"></path>\n<rect x=\"60\" y=\"1910\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteMemory\"><text x=\"121\" y=\"1925\">DeleteMemory</text>\n</a>\n</g>\n<path d=\"M258.5 1921a10 10 0 0 0 10 -10v-1870a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1900a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1951h0\"></path>\n<path d=\"M182 1951h76.5\"></path>\n<rect x=\"60\" y=\"1940\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteReport\"><text x=\"121\" y=\"1955\">DeleteReport</text>\n</a>\n</g>\n<path d=\"M258.5 1951a10 10 0 0 0 10 -10v-1900a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1930a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1981h0\"></path>\n<path d=\"M199 1981h59.5\"></path>\n<rect x=\"60\" y=\"1970\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/DeleteTextpool\"><text x=\"129.5\" y=\"1985\">DeleteTextpool</text>\n</a>\n</g>\n<path d=\"M258.5 1981a10 10 0 0 0 10 -10v-1930a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1960a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2011h0\"></path>\n<path d=\"M131 2011h127.5\"></path>\n<rect x=\"60\" y=\"2000\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Demand\"><text x=\"95.5\" y=\"2015\">Demand</text>\n</a>\n</g>\n<path d=\"M258.5 2011a10 10 0 0 0 10 -10v-1960a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1990a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2041h0\"></path>\n<path d=\"M148 2041h110.5\"></path>\n<rect x=\"60\" y=\"2030\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Describe\"><text x=\"104\" y=\"2045\">Describe</text>\n</a>\n</g>\n<path d=\"M258.5 2041a10 10 0 0 0 10 -10v-1990a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2020a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2071h0\"></path>\n<path d=\"M131 2071h127.5\"></path>\n<rect x=\"60\" y=\"2060\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Detail\"><text x=\"95.5\" y=\"2075\">Detail</text>\n</a>\n</g>\n<path d=\"M258.5 2071a10 10 0 0 0 10 -10v-2020a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2050a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2101h0\"></path>\n<path d=\"M131 2101h127.5\"></path>\n<rect x=\"60\" y=\"2090\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Divide\"><text x=\"95.5\" y=\"2105\">Divide</text>\n</a>\n</g>\n<path d=\"M258.5 2101a10 10 0 0 0 10 -10v-2050a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2080a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2131h0\"></path>\n<path d=\"M165 2131h93.5\"></path>\n<rect x=\"60\" y=\"2120\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EditorCall\"><text x=\"112.5\" y=\"2135\">EditorCall</text>\n</a>\n</g>\n<path d=\"M258.5 2131a10 10 0 0 0 10 -10v-2080a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2161h0\"></path>\n<path d=\"M216 2161h42.5\"></path>\n<rect x=\"60\" y=\"2150\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EnhancementPoint\"><text x=\"138\" y=\"2165\">EnhancementPoint</text>\n</a>\n</g>\n<path d=\"M258.5 2161a10 10 0 0 0 10 -10v-2110a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2140a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2191h0\"></path>\n<path d=\"M114 2191h144.5\"></path>\n<rect x=\"60\" y=\"2180\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Exit\"><text x=\"87\" y=\"2195\">Exit</text>\n</a>\n</g>\n<path d=\"M258.5 2191a10 10 0 0 0 10 -10v-2140a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2170a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2221h0\"></path>\n<path d=\"M182 2221h76.5\"></path>\n<rect x=\"60\" y=\"2210\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ExportDynpro\"><text x=\"121\" y=\"2225\">ExportDynpro</text>\n</a>\n</g>\n<path d=\"M258.5 2221a10 10 0 0 0 10 -10v-2170a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2251h0\"></path>\n<path d=\"M131 2251h127.5\"></path>\n<rect x=\"60\" y=\"2240\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Export\"><text x=\"95.5\" y=\"2255\">Export</text>\n</a>\n</g>\n<path d=\"M258.5 2251a10 10 0 0 0 10 -10v-2200a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2230a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2281h0\"></path>\n<path d=\"M139.5 2281h119\"></path>\n<rect x=\"60\" y=\"2270\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Extract\"><text x=\"99.75\" y=\"2285\">Extract</text>\n</a>\n</g>\n<path d=\"M258.5 2281a10 10 0 0 0 10 -10v-2230a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2260a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2311h0\"></path>\n<path d=\"M207.5 2311h51\"></path>\n<rect x=\"60\" y=\"2300\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FetchNextCursor\"><text x=\"133.75\" y=\"2315\">FetchNextCursor</text>\n</a>\n</g>\n<path d=\"M258.5 2311a10 10 0 0 0 10 -10v-2260a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2290a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2341h0\"></path>\n<path d=\"M165 2341h93.5\"></path>\n<rect x=\"60\" y=\"2330\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FieldGroup\"><text x=\"112.5\" y=\"2345\">FieldGroup</text>\n</a>\n</g>\n<path d=\"M258.5 2341a10 10 0 0 0 10 -10v-2290a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2320a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2371h0\"></path>\n<path d=\"M131 2371h127.5\"></path>\n<rect x=\"60\" y=\"2360\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Fields\"><text x=\"95.5\" y=\"2375\">Fields</text>\n</a>\n</g>\n<path d=\"M258.5 2371a10 10 0 0 0 10 -10v-2320a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2350a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2401h0\"></path>\n<path d=\"M114 2401h144.5\"></path>\n<rect x=\"60\" y=\"2390\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Find\"><text x=\"87\" y=\"2405\">Find</text>\n</a>\n</g>\n<path d=\"M258.5 2401a10 10 0 0 0 10 -10v-2350a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2380a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2431h0\"></path>\n<path d=\"M131 2431h127.5\"></path>\n<rect x=\"60\" y=\"2420\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Format\"><text x=\"95.5\" y=\"2435\">Format</text>\n</a>\n</g>\n<path d=\"M258.5 2431a10 10 0 0 0 10 -10v-2380a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2410a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2461h0\"></path>\n<path d=\"M165 2461h93.5\"></path>\n<rect x=\"60\" y=\"2450\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FreeMemory\"><text x=\"112.5\" y=\"2465\">FreeMemory</text>\n</a>\n</g>\n<path d=\"M258.5 2461a10 10 0 0 0 10 -10v-2410a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2440a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2491h0\"></path>\n<path d=\"M165 2491h93.5\"></path>\n<rect x=\"60\" y=\"2480\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FreeObject\"><text x=\"112.5\" y=\"2495\">FreeObject</text>\n</a>\n</g>\n<path d=\"M258.5 2491a10 10 0 0 0 10 -10v-2440a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2470a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2521h0\"></path>\n<path d=\"M114 2521h144.5\"></path>\n<rect x=\"60\" y=\"2510\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Free\"><text x=\"87\" y=\"2525\">Free</text>\n</a>\n</g>\n<path d=\"M258.5 2521a10 10 0 0 0 10 -10v-2470a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2500a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2551h0\"></path>\n<path d=\"M199 2551h59.5\"></path>\n<rect x=\"60\" y=\"2540\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GenerateDynpro\"><text x=\"129.5\" y=\"2555\">GenerateDynpro</text>\n</a>\n</g>\n<path d=\"M258.5 2551a10 10 0 0 0 10 -10v-2500a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2530a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2581h0\"></path>\n<path d=\"M199 2581h59.5\"></path>\n<rect x=\"60\" y=\"2570\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GenerateReport\"><text x=\"129.5\" y=\"2585\">GenerateReport</text>\n</a>\n</g>\n<path d=\"M258.5 2581a10 10 0 0 0 10 -10v-2530a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2560a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2611h0\"></path>\n<path d=\"M233 2611h25.5\"></path>\n<rect x=\"60\" y=\"2600\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GenerateSubroutine\"><text x=\"146.5\" y=\"2615\">GenerateSubroutine</text>\n</a>\n</g>\n<path d=\"M258.5 2611a10 10 0 0 0 10 -10v-2560a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2590a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2641h0\"></path>\n<path d=\"M139.5 2641h119\"></path>\n<rect x=\"60\" y=\"2630\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetBadi\"><text x=\"99.75\" y=\"2645\">GetBadi</text>\n</a>\n</g>\n<path d=\"M258.5 2641a10 10 0 0 0 10 -10v-2590a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2620a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2671h0\"></path>\n<path d=\"M131 2671h127.5\"></path>\n<rect x=\"60\" y=\"2660\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetBit\"><text x=\"95.5\" y=\"2675\">GetBit</text>\n</a>\n</g>\n<path d=\"M258.5 2671a10 10 0 0 0 10 -10v-2620a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2650a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2701h0\"></path>\n<path d=\"M156.5 2701h102\"></path>\n<rect x=\"60\" y=\"2690\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetCursor\"><text x=\"108.25\" y=\"2705\">GetCursor</text>\n</a>\n</g>\n<path d=\"M258.5 2701a10 10 0 0 0 10 -10v-2650a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2680a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2731h0\"></path>\n<path d=\"M165 2731h93.5\"></path>\n<rect x=\"60\" y=\"2720\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetDataset\"><text x=\"112.5\" y=\"2735\">GetDataset</text>\n</a>\n</g>\n<path d=\"M258.5 2731a10 10 0 0 0 10 -10v-2680a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2710a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2761h0\"></path>\n<path d=\"M156.5 2761h102\"></path>\n<rect x=\"60\" y=\"2750\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetLocale\"><text x=\"108.25\" y=\"2765\">GetLocale</text>\n</a>\n</g>\n<path d=\"M258.5 2761a10 10 0 0 0 10 -10v-2710a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2740a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2791h0\"></path>\n<path d=\"M182 2791h76.5\"></path>\n<rect x=\"60\" y=\"2780\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetParameter\"><text x=\"121\" y=\"2795\">GetParameter</text>\n</a>\n</g>\n<path d=\"M258.5 2791a10 10 0 0 0 10 -10v-2740a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2770a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2821h0\"></path>\n<path d=\"M173.5 2821h85\"></path>\n<rect x=\"60\" y=\"2810\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetPFStatus\"><text x=\"116.75\" y=\"2825\">GetPFStatus</text>\n</a>\n</g>\n<path d=\"M258.5 2821a10 10 0 0 0 10 -10v-2770a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2800a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2851h0\"></path>\n<path d=\"M173.5 2851h85\"></path>\n<rect x=\"60\" y=\"2840\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetProperty\"><text x=\"116.75\" y=\"2855\">GetProperty</text>\n</a>\n</g>\n<path d=\"M258.5 2851a10 10 0 0 0 10 -10v-2800a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2830a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2881h0\"></path>\n<path d=\"M182 2881h76.5\"></path>\n<rect x=\"60\" y=\"2870\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetReference\"><text x=\"121\" y=\"2885\">GetReference</text>\n</a>\n</g>\n<path d=\"M258.5 2881a10 10 0 0 0 10 -10v-2830a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2860a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2911h0\"></path>\n<path d=\"M165 2911h93.5\"></path>\n<rect x=\"60\" y=\"2900\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetRunTime\"><text x=\"112.5\" y=\"2915\">GetRunTime</text>\n</a>\n</g>\n<path d=\"M258.5 2911a10 10 0 0 0 10 -10v-2860a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2890a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2941h0\"></path>\n<path d=\"M139.5 2941h119\"></path>\n<rect x=\"60\" y=\"2930\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetTime\"><text x=\"99.75\" y=\"2945\">GetTime</text>\n</a>\n</g>\n<path d=\"M258.5 2941a10 10 0 0 0 10 -10v-2890a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2920a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2971h0\"></path>\n<path d=\"M114 2971h144.5\"></path>\n<rect x=\"60\" y=\"2960\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Hide\"><text x=\"87\" y=\"2975\">Hide</text>\n</a>\n</g>\n<path d=\"M258.5 2971a10 10 0 0 0 10 -10v-2920a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2950a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3001h0\"></path>\n<path d=\"M122.5 3001h136\"></path>\n<rect x=\"60\" y=\"2990\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Nodes\"><text x=\"91.25\" y=\"3005\">Nodes</text>\n</a>\n</g>\n<path d=\"M258.5 3001a10 10 0 0 0 10 -10v-2950a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2980a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3031h0\"></path>\n<path d=\"M182 3031h76.5\"></path>\n<rect x=\"60\" y=\"3020\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ImportDynpro\"><text x=\"121\" y=\"3035\">ImportDynpro</text>\n</a>\n</g>\n<path d=\"M258.5 3031a10 10 0 0 0 10 -10v-2980a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3010a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3061h0\"></path>\n<path d=\"M190.5 3061h68\"></path>\n<rect x=\"60\" y=\"3050\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ImportNametab\"><text x=\"125.25\" y=\"3065\">ImportNametab</text>\n</a>\n</g>\n<path d=\"M258.5 3061a10 10 0 0 0 10 -10v-3010a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3040a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3091h0\"></path>\n<path d=\"M224.5 3091h34\"></path>\n<rect x=\"60\" y=\"3080\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MoveCorresponding\"><text x=\"142.25\" y=\"3095\">MoveCorresponding</text>\n</a>\n</g>\n<path d=\"M258.5 3091a10 10 0 0 0 10 -10v-3040a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3070a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3121h0\"></path>\n<path d=\"M131 3121h127.5\"></path>\n<rect x=\"60\" y=\"3110\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Import\"><text x=\"95.5\" y=\"3125\">Import</text>\n</a>\n</g>\n<path d=\"M258.5 3121a10 10 0 0 0 10 -10v-3070a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3151h0\"></path>\n<path d=\"M156.5 3151h102\"></path>\n<rect x=\"60\" y=\"3140\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Infotypes\"><text x=\"108.25\" y=\"3155\">Infotypes</text>\n</a>\n</g>\n<path d=\"M258.5 3151a10 10 0 0 0 10 -10v-3100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3181h0\"></path>\n<path d=\"M139.5 3181h119\"></path>\n<rect x=\"60\" y=\"3170\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"99.75\" y=\"3185\">Include</text>\n</a>\n</g>\n<path d=\"M258.5 3181a10 10 0 0 0 10 -10v-3130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3211h0\"></path>\n<path d=\"M199 3211h59.5\"></path>\n<rect x=\"60\" y=\"3200\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InsertDatabase\"><text x=\"129.5\" y=\"3215\">InsertDatabase</text>\n</a>\n</g>\n<path d=\"M258.5 3211a10 10 0 0 0 10 -10v-3160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3241h0\"></path>\n<path d=\"M182 3241h76.5\"></path>\n<rect x=\"60\" y=\"3230\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InsertReport\"><text x=\"121\" y=\"3245\">InsertReport</text>\n</a>\n</g>\n<path d=\"M258.5 3241a10 10 0 0 0 10 -10v-3190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3271h0\"></path>\n<path d=\"M199 3271h59.5\"></path>\n<rect x=\"60\" y=\"3260\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InsertTextpool\"><text x=\"129.5\" y=\"3275\">InsertTextpool</text>\n</a>\n</g>\n<path d=\"M258.5 3271a10 10 0 0 0 10 -10v-3220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3301h0\"></path>\n<path d=\"M216 3301h42.5\"></path>\n<rect x=\"60\" y=\"3290\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InsertFieldGroup\"><text x=\"138\" y=\"3305\">InsertFieldGroup</text>\n</a>\n</g>\n<path d=\"M258.5 3301a10 10 0 0 0 10 -10v-3250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3331h0\"></path>\n<path d=\"M190.5 3331h68\"></path>\n<rect x=\"60\" y=\"3320\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InterfaceLoad\"><text x=\"125.25\" y=\"3335\">InterfaceLoad</text>\n</a>\n</g>\n<path d=\"M258.5 3331a10 10 0 0 0 10 -10v-3280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3310a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3361h0\"></path>\n<path d=\"M122.5 3361h136\"></path>\n<rect x=\"60\" y=\"3350\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Leave\"><text x=\"91.25\" y=\"3365\">Leave</text>\n</a>\n</g>\n<path d=\"M258.5 3361a10 10 0 0 0 10 -10v-3310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3340a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3391h0\"></path>\n<path d=\"M165 3391h93.5\"></path>\n<rect x=\"60\" y=\"3380\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/LoadReport\"><text x=\"112.5\" y=\"3395\">LoadReport</text>\n</a>\n</g>\n<path d=\"M258.5 3391a10 10 0 0 0 10 -10v-3340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3370a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3421h0\"></path>\n<path d=\"M122.5 3421h136\"></path>\n<rect x=\"60\" y=\"3410\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Local\"><text x=\"91.25\" y=\"3425\">Local</text>\n</a>\n</g>\n<path d=\"M258.5 3421a10 10 0 0 0 10 -10v-3370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3400a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3451h0\"></path>\n<path d=\"M114 3451h144.5\"></path>\n<rect x=\"60\" y=\"3440\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/With\"><text x=\"87\" y=\"3455\">With</text>\n</a>\n</g>\n<path d=\"M258.5 3451a10 10 0 0 0 10 -10v-3400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3430a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3481h0\"></path>\n<path d=\"M148 3481h110.5\"></path>\n<rect x=\"60\" y=\"3470\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/LogPoint\"><text x=\"104\" y=\"3485\">LogPoint</text>\n</a>\n</g>\n<path d=\"M258.5 3481a10 10 0 0 0 10 -10v-3430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3460a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3511h0\"></path>\n<path d=\"M139.5 3511h119\"></path>\n<rect x=\"60\" y=\"3500\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Message\"><text x=\"99.75\" y=\"3515\">Message</text>\n</a>\n</g>\n<path d=\"M258.5 3511a10 10 0 0 0 10 -10v-3460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3490a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3541h0\"></path>\n<path d=\"M165 3541h93.5\"></path>\n<rect x=\"60\" y=\"3530\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ModifyLine\"><text x=\"112.5\" y=\"3545\">ModifyLine</text>\n</a>\n</g>\n<path d=\"M258.5 3541a10 10 0 0 0 10 -10v-3490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3520a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3571h0\"></path>\n<path d=\"M199 3571h59.5\"></path>\n<rect x=\"60\" y=\"3560\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ModifyDatabase\"><text x=\"129.5\" y=\"3575\">ModifyDatabase</text>\n</a>\n</g>\n<path d=\"M258.5 3571a10 10 0 0 0 10 -10v-3520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3550a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3601h0\"></path>\n<path d=\"M199 3601h59.5\"></path>\n<rect x=\"60\" y=\"3590\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ModifyInternal\"><text x=\"129.5\" y=\"3605\">ModifyInternal</text>\n</a>\n</g>\n<path d=\"M258.5 3601a10 10 0 0 0 10 -10v-3550a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3580a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3631h0\"></path>\n<path d=\"M148 3631h110.5\"></path>\n<rect x=\"60\" y=\"3620\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Multiply\"><text x=\"104\" y=\"3635\">Multiply</text>\n</a>\n</g>\n<path d=\"M258.5 3631a10 10 0 0 0 10 -10v-3580a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3610a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3661h0\"></path>\n<path d=\"M139.5 3661h119\"></path>\n<rect x=\"60\" y=\"3650\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/NewLine\"><text x=\"99.75\" y=\"3665\">NewLine</text>\n</a>\n</g>\n<path d=\"M258.5 3661a10 10 0 0 0 10 -10v-3610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3640a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3691h0\"></path>\n<path d=\"M139.5 3691h119\"></path>\n<rect x=\"60\" y=\"3680\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/NewPage\"><text x=\"99.75\" y=\"3695\">NewPage</text>\n</a>\n</g>\n<path d=\"M258.5 3691a10 10 0 0 0 10 -10v-3640a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3670a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3721h0\"></path>\n<path d=\"M165 3721h93.5\"></path>\n<rect x=\"60\" y=\"3710\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/OpenCursor\"><text x=\"112.5\" y=\"3725\">OpenCursor</text>\n</a>\n</g>\n<path d=\"M258.5 3721a10 10 0 0 0 10 -10v-3670a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3700a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3751h0\"></path>\n<path d=\"M173.5 3751h85\"></path>\n<rect x=\"60\" y=\"3740\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/OpenDataset\"><text x=\"116.75\" y=\"3755\">OpenDataset</text>\n</a>\n</g>\n<path d=\"M258.5 3751a10 10 0 0 0 10 -10v-3700a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3730a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3781h0\"></path>\n<path d=\"M139.5 3781h119\"></path>\n<rect x=\"60\" y=\"3770\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Overlay\"><text x=\"99.75\" y=\"3785\">Overlay</text>\n</a>\n</g>\n<path d=\"M258.5 3781a10 10 0 0 0 10 -10v-3730a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3760a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3811h0\"></path>\n<path d=\"M114 3811h144.5\"></path>\n<rect x=\"60\" y=\"3800\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Pack\"><text x=\"87\" y=\"3815\">Pack</text>\n</a>\n</g>\n<path d=\"M258.5 3811a10 10 0 0 0 10 -10v-3760a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3790a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3841h0\"></path>\n<path d=\"M139.5 3841h119\"></path>\n<rect x=\"60\" y=\"3830\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Perform\"><text x=\"99.75\" y=\"3845\">Perform</text>\n</a>\n</g>\n<path d=\"M258.5 3841a10 10 0 0 0 10 -10v-3790a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3820a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3871h0\"></path>\n<path d=\"M199 3871h59.5\"></path>\n<rect x=\"60\" y=\"3860\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/FormDefinition\"><text x=\"129.5\" y=\"3875\">FormDefinition</text>\n</a>\n</g>\n<path d=\"M258.5 3871a10 10 0 0 0 10 -10v-3820a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3850a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3901h0\"></path>\n<path d=\"M148 3901h110.5\"></path>\n<rect x=\"60\" y=\"3890\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Position\"><text x=\"104\" y=\"3905\">Position</text>\n</a>\n</g>\n<path d=\"M258.5 3901a10 10 0 0 0 10 -10v-3850a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3880a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3931h0\"></path>\n<path d=\"M105.5 3931h153\"></path>\n<rect x=\"60\" y=\"3920\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Put\"><text x=\"82.75\" y=\"3935\">Put</text>\n</a>\n</g>\n<path d=\"M258.5 3931a10 10 0 0 0 10 -10v-3880a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3910a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3961h0\"></path>\n<path d=\"M182 3961h76.5\"></path>\n<rect x=\"60\" y=\"3950\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/PrintControl\"><text x=\"121\" y=\"3965\">PrintControl</text>\n</a>\n</g>\n<path d=\"M258.5 3961a10 10 0 0 0 10 -10v-3910a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3940a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3991h0\"></path>\n<path d=\"M165 3991h93.5\"></path>\n<rect x=\"60\" y=\"3980\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/RaiseEvent\"><text x=\"112.5\" y=\"3995\">RaiseEvent</text>\n</a>\n</g>\n<path d=\"M258.5 3991a10 10 0 0 0 10 -10v-3940a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3970a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4021h0\"></path>\n<path d=\"M216 4021h42.5\"></path>\n<rect x=\"60\" y=\"4010\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/RaiseEntityEvent\"><text x=\"138\" y=\"4025\">RaiseEntityEvent</text>\n</a>\n</g>\n<path d=\"M258.5 4021a10 10 0 0 0 10 -10v-3970a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4000a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4051h0\"></path>\n<path d=\"M122.5 4051h136\"></path>\n<rect x=\"60\" y=\"4040\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Raise\"><text x=\"91.25\" y=\"4055\">Raise</text>\n</a>\n</g>\n<path d=\"M258.5 4051a10 10 0 0 0 10 -10v-4000a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4030a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4081h0\"></path>\n<path d=\"M131 4081h127.5\"></path>\n<rect x=\"60\" y=\"4070\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Ranges\"><text x=\"95.5\" y=\"4085\">Ranges</text>\n</a>\n</g>\n<path d=\"M258.5 4081a10 10 0 0 0 10 -10v-4030a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4060a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4111h0\"></path>\n<path d=\"M173.5 4111h85\"></path>\n<rect x=\"60\" y=\"4100\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadDataset\"><text x=\"116.75\" y=\"4115\">ReadDataset</text>\n</a>\n</g>\n<path d=\"M258.5 4111a10 10 0 0 0 10 -10v-4060a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4090a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4141h0\"></path>\n<path d=\"M148 4141h110.5\"></path>\n<rect x=\"60\" y=\"4130\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadLine\"><text x=\"104\" y=\"4145\">ReadLine</text>\n</a>\n</g>\n<path d=\"M258.5 4141a10 10 0 0 0 10 -10v-4090a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4120a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4171h0\"></path>\n<path d=\"M165 4171h93.5\"></path>\n<rect x=\"60\" y=\"4160\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadReport\"><text x=\"112.5\" y=\"4175\">ReadReport</text>\n</a>\n</g>\n<path d=\"M258.5 4171a10 10 0 0 0 10 -10v-4120a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4150a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4201h0\"></path>\n<path d=\"M182 4201h76.5\"></path>\n<rect x=\"60\" y=\"4190\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadTextpool\"><text x=\"121\" y=\"4205\">ReadTextpool</text>\n</a>\n</g>\n<path d=\"M258.5 4201a10 10 0 0 0 10 -10v-4150a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4180a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4231h0\"></path>\n<path d=\"M139.5 4231h119\"></path>\n<rect x=\"60\" y=\"4220\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Receive\"><text x=\"99.75\" y=\"4235\">Receive</text>\n</a>\n</g>\n<path d=\"M258.5 4231a10 10 0 0 0 10 -10v-4180a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4210a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4261h0\"></path>\n<path d=\"M199 4261h59.5\"></path>\n<rect x=\"60\" y=\"4250\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/RefreshControl\"><text x=\"129.5\" y=\"4265\">RefreshControl</text>\n</a>\n</g>\n<path d=\"M258.5 4261a10 10 0 0 0 10 -10v-4210a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4240a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4291h0\"></path>\n<path d=\"M139.5 4291h119\"></path>\n<rect x=\"60\" y=\"4280\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Refresh\"><text x=\"99.75\" y=\"4295\">Refresh</text>\n</a>\n</g>\n<path d=\"M258.5 4291a10 10 0 0 0 10 -10v-4240a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4270a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4321h0\"></path>\n<path d=\"M131 4321h127.5\"></path>\n<rect x=\"60\" y=\"4310\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Reject\"><text x=\"95.5\" y=\"4325\">Reject</text>\n</a>\n</g>\n<path d=\"M258.5 4321a10 10 0 0 0 10 -10v-4270a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4300a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4351h0\"></path>\n<path d=\"M139.5 4351h119\"></path>\n<rect x=\"60\" y=\"4340\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Replace\"><text x=\"99.75\" y=\"4355\">Replace</text>\n</a>\n</g>\n<path d=\"M258.5 4351a10 10 0 0 0 10 -10v-4300a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4330a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4381h0\"></path>\n<path d=\"M139.5 4381h119\"></path>\n<rect x=\"60\" y=\"4370\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Reserve\"><text x=\"99.75\" y=\"4385\">Reserve</text>\n</a>\n</g>\n<path d=\"M258.5 4381a10 10 0 0 0 10 -10v-4330a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4360a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4411h0\"></path>\n<path d=\"M131 4411h127.5\"></path>\n<rect x=\"60\" y=\"4400\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Resume\"><text x=\"95.5\" y=\"4415\">Resume</text>\n</a>\n</g>\n<path d=\"M258.5 4411a10 10 0 0 0 10 -10v-4360a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4390a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4441h0\"></path>\n<path d=\"M122.5 4441h136\"></path>\n<rect x=\"60\" y=\"4430\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Retry\"><text x=\"91.25\" y=\"4445\">Retry</text>\n</a>\n</g>\n<path d=\"M258.5 4441a10 10 0 0 0 10 -10v-4390a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4420a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4471h0\"></path>\n<path d=\"M148 4471h110.5\"></path>\n<rect x=\"60\" y=\"4460\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Rollback\"><text x=\"104\" y=\"4475\">Rollback</text>\n</a>\n</g>\n<path d=\"M258.5 4471a10 10 0 0 0 10 -10v-4420a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4450a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4501h0\"></path>\n<path d=\"M114 4501h144.5\"></path>\n<rect x=\"60\" y=\"4490\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Scan\"><text x=\"87\" y=\"4505\">Scan</text>\n</a>\n</g>\n<path d=\"M258.5 4501a10 10 0 0 0 10 -10v-4450a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4480a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4531h0\"></path>\n<path d=\"M165 4531h93.5\"></path>\n<rect x=\"60\" y=\"4520\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ScrollList\"><text x=\"112.5\" y=\"4535\">ScrollList</text>\n</a>\n</g>\n<path d=\"M258.5 4531a10 10 0 0 0 10 -10v-4480a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4510a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4561h0\"></path>\n<path d=\"M131 4561h127.5\"></path>\n<rect x=\"60\" y=\"4550\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Search\"><text x=\"95.5\" y=\"4565\">Search</text>\n</a>\n</g>\n<path d=\"M258.5 4561a10 10 0 0 0 10 -10v-4510a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4540a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4591h0\"></path>\n<path d=\"M131 4591h127.5\"></path>\n<rect x=\"60\" y=\"4580\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetBit\"><text x=\"95.5\" y=\"4595\">SetBit</text>\n</a>\n</g>\n<path d=\"M258.5 4591a10 10 0 0 0 10 -10v-4540a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4570a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4621h0\"></path>\n<path d=\"M148 4621h110.5\"></path>\n<rect x=\"60\" y=\"4610\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetBlank\"><text x=\"104\" y=\"4625\">SetBlank</text>\n</a>\n</g>\n<path d=\"M258.5 4621a10 10 0 0 0 10 -10v-4570a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4600a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4651h0\"></path>\n<path d=\"M165 4651h93.5\"></path>\n<rect x=\"60\" y=\"4640\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetCountry\"><text x=\"112.5\" y=\"4655\">SetCountry</text>\n</a>\n</g>\n<path d=\"M258.5 4651a10 10 0 0 0 10 -10v-4600a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4630a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4681h0\"></path>\n<path d=\"M156.5 4681h102\"></path>\n<rect x=\"60\" y=\"4670\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetCursor\"><text x=\"108.25\" y=\"4685\">SetCursor</text>\n</a>\n</g>\n<path d=\"M258.5 4681a10 10 0 0 0 10 -10v-4630a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4660a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4711h0\"></path>\n<path d=\"M165 4711h93.5\"></path>\n<rect x=\"60\" y=\"4700\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetDataset\"><text x=\"112.5\" y=\"4715\">SetDataset</text>\n</a>\n</g>\n<path d=\"M258.5 4711a10 10 0 0 0 10 -10v-4660a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4690a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4741h0\"></path>\n<path d=\"M216 4741h42.5\"></path>\n<rect x=\"60\" y=\"4730\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetExtendedCheck\"><text x=\"138\" y=\"4745\">SetExtendedCheck</text>\n</a>\n</g>\n<path d=\"M258.5 4741a10 10 0 0 0 10 -10v-4690a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4720a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4771h0\"></path>\n<path d=\"M165 4771h93.5\"></path>\n<rect x=\"60\" y=\"4760\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetHandler\"><text x=\"112.5\" y=\"4775\">SetHandler</text>\n</a>\n</g>\n<path d=\"M258.5 4771a10 10 0 0 0 10 -10v-4720a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4750a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4801h0\"></path>\n<path d=\"M173.5 4801h85\"></path>\n<rect x=\"60\" y=\"4790\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetLanguage\"><text x=\"116.75\" y=\"4805\">SetLanguage</text>\n</a>\n</g>\n<path d=\"M258.5 4801a10 10 0 0 0 10 -10v-4750a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4780a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4831h0\"></path>\n<path d=\"M139.5 4831h119\"></path>\n<rect x=\"60\" y=\"4820\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetLeft\"><text x=\"99.75\" y=\"4835\">SetLeft</text>\n</a>\n</g>\n<path d=\"M258.5 4831a10 10 0 0 0 10 -10v-4780a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4810a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4861h0\"></path>\n<path d=\"M156.5 4861h102\"></path>\n<rect x=\"60\" y=\"4850\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetLocale\"><text x=\"108.25\" y=\"4865\">SetLocale</text>\n</a>\n</g>\n<path d=\"M258.5 4861a10 10 0 0 0 10 -10v-4810a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4840a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4891h0\"></path>\n<path d=\"M156.5 4891h102\"></path>\n<rect x=\"60\" y=\"4880\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetMargin\"><text x=\"108.25\" y=\"4895\">SetMargin</text>\n</a>\n</g>\n<path d=\"M258.5 4891a10 10 0 0 0 10 -10v-4840a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4870a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4921h0\"></path>\n<path d=\"M182 4921h76.5\"></path>\n<rect x=\"60\" y=\"4910\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetParameter\"><text x=\"121\" y=\"4925\">SetParameter</text>\n</a>\n</g>\n<path d=\"M258.5 4921a10 10 0 0 0 10 -10v-4870a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4900a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4951h0\"></path>\n<path d=\"M173.5 4951h85\"></path>\n<rect x=\"60\" y=\"4940\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetPFStatus\"><text x=\"116.75\" y=\"4955\">SetPFStatus</text>\n</a>\n</g>\n<path d=\"M258.5 4951a10 10 0 0 0 10 -10v-4900a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4930a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4981h0\"></path>\n<path d=\"M173.5 4981h85\"></path>\n<rect x=\"60\" y=\"4970\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetProperty\"><text x=\"116.75\" y=\"4985\">SetProperty</text>\n</a>\n</g>\n<path d=\"M258.5 4981a10 10 0 0 0 10 -10v-4930a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4960a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5011h0\"></path>\n<path d=\"M165 5011h93.5\"></path>\n<rect x=\"60\" y=\"5000\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetRunTime\"><text x=\"112.5\" y=\"5015\">SetRunTime</text>\n</a>\n</g>\n<path d=\"M258.5 5011a10 10 0 0 0 10 -10v-4960a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4990a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5041h0\"></path>\n<path d=\"M156.5 5041h102\"></path>\n<rect x=\"60\" y=\"5030\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetScreen\"><text x=\"108.25\" y=\"5045\">SetScreen</text>\n</a>\n</g>\n<path d=\"M258.5 5041a10 10 0 0 0 10 -10v-4990a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5020a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5071h0\"></path>\n<path d=\"M173.5 5071h85\"></path>\n<rect x=\"60\" y=\"5060\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetTitlebar\"><text x=\"116.75\" y=\"5075\">SetTitlebar</text>\n</a>\n</g>\n<path d=\"M258.5 5071a10 10 0 0 0 10 -10v-5020a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5050a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5101h0\"></path>\n<path d=\"M199 5101h59.5\"></path>\n<rect x=\"60\" y=\"5090\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetUserCommand\"><text x=\"129.5\" y=\"5105\">SetUserCommand</text>\n</a>\n</g>\n<path d=\"M258.5 5101a10 10 0 0 0 10 -10v-5050a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5080a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5131h0\"></path>\n<path d=\"M190.5 5131h68\"></path>\n<rect x=\"60\" y=\"5120\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetUpdateTask\"><text x=\"125.25\" y=\"5135\">SetUpdateTask</text>\n</a>\n</g>\n<path d=\"M258.5 5131a10 10 0 0 0 10 -10v-5080a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5110a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5161h0\"></path>\n<path d=\"M122.5 5161h136\"></path>\n<rect x=\"60\" y=\"5150\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Shift\"><text x=\"91.25\" y=\"5165\">Shift</text>\n</a>\n</g>\n<path d=\"M258.5 5161a10 10 0 0 0 10 -10v-5110a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5140a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5191h0\"></path>\n<path d=\"M114 5191h144.5\"></path>\n<rect x=\"60\" y=\"5180\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Skip\"><text x=\"87\" y=\"5195\">Skip</text>\n</a>\n</g>\n<path d=\"M258.5 5191a10 10 0 0 0 10 -10v-5140a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5170a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5221h0\"></path>\n<path d=\"M173.5 5221h85\"></path>\n<rect x=\"60\" y=\"5210\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SortDataset\"><text x=\"116.75\" y=\"5225\">SortDataset</text>\n</a>\n</g>\n<path d=\"M258.5 5221a10 10 0 0 0 10 -10v-5170a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5200a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5251h0\"></path>\n<path d=\"M114 5251h144.5\"></path>\n<rect x=\"60\" y=\"5240\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Sort\"><text x=\"87\" y=\"5255\">Sort</text>\n</a>\n</g>\n<path d=\"M258.5 5251a10 10 0 0 0 10 -10v-5200a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5230a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5281h0\"></path>\n<path d=\"M131 5281h127.5\"></path>\n<rect x=\"60\" y=\"5270\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Static\"><text x=\"95.5\" y=\"5285\">Static</text>\n</a>\n</g>\n<path d=\"M258.5 5281a10 10 0 0 0 10 -10v-5230a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5260a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5311h0\"></path>\n<path d=\"M122.5 5311h136\"></path>\n<rect x=\"60\" y=\"5300\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Split\"><text x=\"91.25\" y=\"5315\">Split</text>\n</a>\n</g>\n<path d=\"M258.5 5311a10 10 0 0 0 10 -10v-5260a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5290a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5341h0\"></path>\n<path d=\"M114 5341h144.5\"></path>\n<rect x=\"60\" y=\"5330\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Stop\"><text x=\"87\" y=\"5345\">Stop</text>\n</a>\n</g>\n<path d=\"M258.5 5341a10 10 0 0 0 10 -10v-5290a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5320a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5371h0\"></path>\n<path d=\"M131 5371h127.5\"></path>\n<rect x=\"60\" y=\"5360\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Submit\"><text x=\"95.5\" y=\"5375\">Submit</text>\n</a>\n</g>\n<path d=\"M258.5 5371a10 10 0 0 0 10 -10v-5320a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5350a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5401h0\"></path>\n<path d=\"M139.5 5401h119\"></path>\n<rect x=\"60\" y=\"5390\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Summary\"><text x=\"99.75\" y=\"5405\">Summary</text>\n</a>\n</g>\n<path d=\"M258.5 5401a10 10 0 0 0 10 -10v-5350a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5380a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5431h0\"></path>\n<path d=\"M258.5 5431h0\"></path>\n<rect x=\"60\" y=\"5420\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SubtractCorresponding\"><text x=\"159.25\" y=\"5435\">SubtractCorresponding</text>\n</a>\n</g>\n<path d=\"M258.5 5431a10 10 0 0 0 10 -10v-5380a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5410a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5461h0\"></path>\n<path d=\"M148 5461h110.5\"></path>\n<rect x=\"60\" y=\"5450\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Subtract\"><text x=\"104\" y=\"5465\">Subtract</text>\n</a>\n</g>\n<path d=\"M258.5 5461a10 10 0 0 0 10 -10v-5410a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5440a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5491h0\"></path>\n<path d=\"M199 5491h59.5\"></path>\n<rect x=\"60\" y=\"5480\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SuppressDialog\"><text x=\"129.5\" y=\"5495\">SuppressDialog</text>\n</a>\n</g>\n<path d=\"M258.5 5491a10 10 0 0 0 10 -10v-5440a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5470a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5521h0\"></path>\n<path d=\"M131 5521h127.5\"></path>\n<rect x=\"60\" y=\"5510\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Supply\"><text x=\"95.5\" y=\"5525\">Supply</text>\n</a>\n</g>\n<path d=\"M258.5 5521a10 10 0 0 0 10 -10v-5470a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5500a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5551h0\"></path>\n<path d=\"M105.5 5551h153\"></path>\n<rect x=\"60\" y=\"5540\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Sum\"><text x=\"82.75\" y=\"5555\">Sum</text>\n</a>\n</g>\n<path d=\"M258.5 5551a10 10 0 0 0 10 -10v-5500a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5530a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5581h0\"></path>\n<path d=\"M173.5 5581h85\"></path>\n<rect x=\"60\" y=\"5570\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SyntaxCheck\"><text x=\"116.75\" y=\"5585\">SyntaxCheck</text>\n</a>\n</g>\n<path d=\"M258.5 5581a10 10 0 0 0 10 -10v-5530a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5560a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5611h0\"></path>\n<path d=\"M165 5611h93.5\"></path>\n<rect x=\"60\" y=\"5600\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SystemCall\"><text x=\"112.5\" y=\"5615\">SystemCall</text>\n</a>\n</g>\n<path d=\"M258.5 5611a10 10 0 0 0 10 -10v-5560a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5590a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5641h0\"></path>\n<path d=\"M131 5641h127.5\"></path>\n<rect x=\"60\" y=\"5630\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Tables\"><text x=\"95.5\" y=\"5645\">Tables</text>\n</a>\n</g>\n<path d=\"M258.5 5641a10 10 0 0 0 10 -10v-5590a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5620a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5671h0\"></path>\n<path d=\"M148 5671h110.5\"></path>\n<rect x=\"60\" y=\"5660\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Transfer\"><text x=\"104\" y=\"5675\">Transfer</text>\n</a>\n</g>\n<path d=\"M258.5 5671a10 10 0 0 0 10 -10v-5620a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5650a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5701h0\"></path>\n<path d=\"M156.5 5701h102\"></path>\n<rect x=\"60\" y=\"5690\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Translate\"><text x=\"108.25\" y=\"5705\">Translate</text>\n</a>\n</g>\n<path d=\"M258.5 5701a10 10 0 0 0 10 -10v-5650a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5680a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5731h0\"></path>\n<path d=\"M114 5731h144.5\"></path>\n<rect x=\"60\" y=\"5720\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"87\" y=\"5735\">Type</text>\n</a>\n</g>\n<path d=\"M258.5 5731a10 10 0 0 0 10 -10v-5680a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5710a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5761h0\"></path>\n<path d=\"M156.5 5761h102\"></path>\n<rect x=\"60\" y=\"5750\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"108.25\" y=\"5765\">TypePools</text>\n</a>\n</g>\n<path d=\"M258.5 5761a10 10 0 0 0 10 -10v-5710a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5740a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5791h0\"></path>\n<path d=\"M122.5 5791h136\"></path>\n<rect x=\"60\" y=\"5780\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Uline\"><text x=\"91.25\" y=\"5795\">Uline</text>\n</a>\n</g>\n<path d=\"M258.5 5791a10 10 0 0 0 10 -10v-5740a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5770a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5821h0\"></path>\n<path d=\"M148 5821h110.5\"></path>\n<rect x=\"60\" y=\"5810\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Unassign\"><text x=\"104\" y=\"5825\">Unassign</text>\n</a>\n</g>\n<path d=\"M258.5 5821a10 10 0 0 0 10 -10v-5770a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5800a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5851h0\"></path>\n<path d=\"M131 5851h127.5\"></path>\n<rect x=\"60\" y=\"5840\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Unpack\"><text x=\"95.5\" y=\"5855\">Unpack</text>\n</a>\n</g>\n<path d=\"M258.5 5851a10 10 0 0 0 10 -10v-5800a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5830a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5881h0\"></path>\n<path d=\"M199 5881h59.5\"></path>\n<rect x=\"60\" y=\"5870\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/UpdateDatabase\"><text x=\"129.5\" y=\"5885\">UpdateDatabase</text>\n</a>\n</g>\n<path d=\"M258.5 5881a10 10 0 0 0 10 -10v-5830a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5860a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5911h0\"></path>\n<path d=\"M114 5911h144.5\"></path>\n<rect x=\"60\" y=\"5900\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Wait\"><text x=\"87\" y=\"5915\">Wait</text>\n</a>\n</g>\n<path d=\"M258.5 5911a10 10 0 0 0 10 -10v-5860a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5890a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5941h0\"></path>\n<path d=\"M131 5941h127.5\"></path>\n<rect x=\"60\" y=\"5930\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Window\"><text x=\"95.5\" y=\"5945\">Window</text>\n</a>\n</g>\n<path d=\"M258.5 5941a10 10 0 0 0 10 -10v-5890a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5920a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5971h0\"></path>\n<path d=\"M122.5 5971h136\"></path>\n<rect x=\"60\" y=\"5960\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Write\"><text x=\"91.25\" y=\"5975\">Write</text>\n</a>\n</g>\n<path d=\"M258.5 5971a10 10 0 0 0 10 -10v-5920a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5950a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6001h0\"></path>\n<path d=\"M199 6001h59.5\"></path>\n<rect x=\"60\" y=\"5990\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/CommitEntities\"><text x=\"129.5\" y=\"6005\">CommitEntities</text>\n</a>\n</g>\n<path d=\"M258.5 6001a10 10 0 0 0 10 -10v-5950a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5980a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6031h0\"></path>\n<path d=\"M199 6031h59.5\"></path>\n<rect x=\"60\" y=\"6020\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/GetPermissions\"><text x=\"129.5\" y=\"6035\">GetPermissions</text>\n</a>\n</g>\n<path d=\"M258.5 6031a10 10 0 0 0 10 -10v-5980a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6010a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6061h0\"></path>\n<path d=\"M148 6061h110.5\"></path>\n<rect x=\"60\" y=\"6050\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SetLocks\"><text x=\"104\" y=\"6065\">SetLocks</text>\n</a>\n</g>\n<path d=\"M258.5 6061a10 10 0 0 0 10 -10v-6010a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6040a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6091h0\"></path>\n<path d=\"M199 6091h59.5\"></path>\n<rect x=\"60\" y=\"6080\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ModifyEntities\"><text x=\"129.5\" y=\"6095\">ModifyEntities</text>\n</a>\n</g>\n<path d=\"M258.5 6091a10 10 0 0 0 10 -10v-6040a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6070a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6121h0\"></path>\n<path d=\"M182 6121h76.5\"></path>\n<rect x=\"60\" y=\"6110\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ReadEntities\"><text x=\"121\" y=\"6125\">ReadEntities</text>\n</a>\n</g>\n<path d=\"M258.5 6121a10 10 0 0 0 10 -10v-6070a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6151h0\"></path>\n<path d=\"M216 6151h42.5\"></path>\n<rect x=\"60\" y=\"6140\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/RollbackEntities\"><text x=\"138\" y=\"6155\">RollbackEntities</text>\n</a>\n</g>\n<path d=\"M258.5 6151a10 10 0 0 0 10 -10v-6100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6181h0\"></path>\n<path d=\"M131 6181h127.5\"></path>\n<rect x=\"60\" y=\"6170\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Define\"><text x=\"95.5\" y=\"6185\">Define</text>\n</a>\n</g>\n<path d=\"M258.5 6181a10 10 0 0 0 10 -10v-6130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6211h0\"></path>\n<path d=\"M190.5 6211h68\"></path>\n<rect x=\"60\" y=\"6200\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TestInjection\"><text x=\"125.25\" y=\"6215\">TestInjection</text>\n</a>\n</g>\n<path d=\"M258.5 6211a10 10 0 0 0 10 -10v-6160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6190a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6241h0\"></path>\n<path d=\"M148 6241h110.5\"></path>\n<rect x=\"60\" y=\"6230\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TestSeam\"><text x=\"104\" y=\"6245\">TestSeam</text>\n</a>\n</g>\n<path d=\"M258.5 6241a10 10 0 0 0 10 -10v-6190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6220a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6271h0\"></path>\n<path d=\"M148 6271h110.5\"></path>\n<rect x=\"60\" y=\"6260\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TypeMesh\"><text x=\"104\" y=\"6275\">TypeMesh</text>\n</a>\n</g>\n<path d=\"M258.5 6271a10 10 0 0 0 10 -10v-6220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6250a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6301h0\"></path>\n<path d=\"M139.5 6301h119\"></path>\n<rect x=\"60\" y=\"6290\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Provide\"><text x=\"99.75\" y=\"6305\">Provide</text>\n</a>\n</g>\n<path d=\"M258.5 6301a10 10 0 0 0 10 -10v-6250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6280a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6331h0\"></path>\n<path d=\"M258.5 6331h0\"></path>\n<rect x=\"60\" y=\"6320\" width=\"198.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/CatchSystemExceptions\"><text x=\"159.25\" y=\"6335\">CatchSystemExceptions</text>\n</a>\n</g>\n<path d=\"M258.5 6331a10 10 0 0 0 10 -10v-6280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6310a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6361h0\"></path>\n<path d=\"M97 6361h161.5\"></path>\n<rect x=\"60\" y=\"6350\" width=\"37\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/At\"><text x=\"78.5\" y=\"6365\">At</text>\n</a>\n</g>\n<path d=\"M258.5 6361a10 10 0 0 0 10 -10v-6310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6340a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6391h0\"></path>\n<path d=\"M139.5 6391h119\"></path>\n<rect x=\"60\" y=\"6380\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/AtFirst\"><text x=\"99.75\" y=\"6395\">AtFirst</text>\n</a>\n</g>\n<path d=\"M258.5 6391a10 10 0 0 0 10 -10v-6340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6370a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6421h0\"></path>\n<path d=\"M131 6421h127.5\"></path>\n<rect x=\"60\" y=\"6410\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/AtLast\"><text x=\"95.5\" y=\"6425\">AtLast</text>\n</a>\n</g>\n<path d=\"M258.5 6421a10 10 0 0 0 10 -10v-6370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6400a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6451h0\"></path>\n<path d=\"M156.5 6451h102\"></path>\n<rect x=\"60\" y=\"6440\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Constants\"><text x=\"108.25\" y=\"6455\">Constants</text>\n</a>\n</g>\n<path d=\"M258.5 6451a10 10 0 0 0 10 -10v-6400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6430a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6481h0\"></path>\n<path d=\"M122.5 6481h136\"></path>\n<rect x=\"60\" y=\"6470\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Types\"><text x=\"91.25\" y=\"6485\">Types</text>\n</a>\n</g>\n<path d=\"M258.5 6481a10 10 0 0 0 10 -10v-6430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6460a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6511h0\"></path>\n<path d=\"M139.5 6511h119\"></path>\n<rect x=\"60\" y=\"6500\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Statics\"><text x=\"99.75\" y=\"6515\">Statics</text>\n</a>\n</g>\n<path d=\"M258.5 6511a10 10 0 0 0 10 -10v-6460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6490a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6541h0\"></path>\n<path d=\"M131 6541h127.5\"></path>\n<rect x=\"60\" y=\"6530\" width=\"71\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Select\"><text x=\"95.5\" y=\"6545\">Select</text>\n</a>\n</g>\n<path d=\"M258.5 6541a10 10 0 0 0 10 -10v-6490a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6520a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6571h0\"></path>\n<path d=\"M114 6571h144.5\"></path>\n<rect x=\"60\" y=\"6560\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Data\"><text x=\"87\" y=\"6575\">Data</text>\n</a>\n</g>\n<path d=\"M258.5 6571a10 10 0 0 0 10 -10v-6520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6550a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6601h0\"></path>\n<path d=\"M148 6601h110.5\"></path>\n<rect x=\"60\" y=\"6590\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TypeEnum\"><text x=\"104\" y=\"6605\">TypeEnum</text>\n</a>\n</g>\n<path d=\"M258.5 6601a10 10 0 0 0 10 -10v-6550a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6580a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6631h0\"></path>\n<path d=\"M122.5 6631h136\"></path>\n<rect x=\"60\" y=\"6620\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/While\"><text x=\"91.25\" y=\"6635\">While</text>\n</a>\n</g>\n<path d=\"M258.5 6631a10 10 0 0 0 10 -10v-6580a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6610a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6661h0\"></path>\n<path d=\"M114 6661h144.5\"></path>\n<rect x=\"60\" y=\"6650\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/With\"><text x=\"87\" y=\"6665\">With</text>\n</a>\n</g>\n<path d=\"M258.5 6661a10 10 0 0 0 10 -10v-6610a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6640a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6691h0\"></path>\n<path d=\"M97 6691h161.5\"></path>\n<rect x=\"60\" y=\"6680\" width=\"37\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Do\"><text x=\"78.5\" y=\"6695\">Do</text>\n</a>\n</g>\n<path d=\"M258.5 6691a10 10 0 0 0 10 -10v-6640a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6670a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 6721h0\"></path>\n<path d=\"M139.5 6721h119\"></path>\n<rect x=\"60\" y=\"6710\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ExecSQL\"><text x=\"99.75\" y=\"6725\">ExecSQL</text>\n</a>\n</g>\n<path d=\"M258.5 6721a10 10 0 0 0 10 -10v-6670a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 278.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Any",
+        "structure/Body"
+      ],
+      "filename": "normal.ts"
+    },
+    {
+      "name": "OnChange",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('OnChange', {href: '#/statement/OnChange'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndOn', {href: '#/statement/EndOn'}))).toString();",
+      "using": [
+        "statement/EndOn",
+        "statement/OnChange",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"364.5\" height=\"71\" viewBox=\"0 0 364.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/OnChange\"><text x=\"94\" y=\"44\">OnChange</text>\n</a>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M242 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h54\"></path>\n</g>\n<path d=\"M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M222 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"195\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M222 40h20\"></path>\n</g>\n<path d=\"M242 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M252 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<rect x=\"252\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndOn\"><text x=\"283.25\" y=\"44\">EndOn</text>\n</a>\n</g>\n</g>\n<path d=\"M314.5 40h10\"></path>\n<path d=\"M 324.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "on_change.ts"
+    },
+    {
+      "name": "PrivateSection",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Private', {href: '#/statement/Private'}),Railroad.Optional(Railroad.NonTerminal('SectionContents', {href: '#/structure/SectionContents'})))).toString();",
+      "using": [
+        "statement/Private",
+        "structure/SectionContents"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"377\" height=\"71\" viewBox=\"0 0 377 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M327 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Private\"><text x=\"89.75\" y=\"44\">Private</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M327 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h147.5\"></path>\n</g>\n<path d=\"M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M307 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/SectionContents\"><text x=\"233.25\" y=\"44\">SectionContents</text>\n</a>\n</g>\n<path d=\"M307 40h20\"></path>\n</g>\n</g>\n<path d=\"M327 40h10\"></path>\n<path d=\"M 337 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition"
+      ],
+      "filename": "private_section.ts"
+    },
+    {
+      "name": "ProtectedSection",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Protected', {href: '#/statement/Protected'}),Railroad.Optional(Railroad.NonTerminal('SectionContents', {href: '#/structure/SectionContents'})))).toString();",
+      "using": [
+        "statement/Protected",
+        "structure/SectionContents"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"394\" height=\"71\" viewBox=\"0 0 394 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M344 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Protected\"><text x=\"98.25\" y=\"44\">Protected</text>\n</a>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M344 40h0\"></path>\n<path d=\"M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M176.5 20h147.5\"></path>\n</g>\n<path d=\"M324 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M324 40h0\"></path>\n<rect x=\"176.5\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/SectionContents\"><text x=\"250.25\" y=\"44\">SectionContents</text>\n</a>\n</g>\n<path d=\"M324 40h20\"></path>\n</g>\n</g>\n<path d=\"M344 40h10\"></path>\n<path d=\"M 354 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition"
+      ],
+      "filename": "protected_section.ts"
+    },
+    {
+      "name": "Provide",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Provide', {href: '#/statement/Provide'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndProvide', {href: '#/statement/EndProvide'}))).toString();",
+      "using": [
+        "statement/EndProvide",
+        "statement/Provide",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"398.5\" height=\"71\" viewBox=\"0 0 398.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M348.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Provide\"><text x=\"89.75\" y=\"44\">Provide</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M233.5 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h54\"></path>\n</g>\n<path d=\"M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M213.5 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"186.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M213.5 40h20\"></path>\n</g>\n<path d=\"M233.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 40h0\"></path>\n<path d=\"M348.5 40h0\"></path>\n<rect x=\"243.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndProvide\"><text x=\"296\" y=\"44\">EndProvide</text>\n</a>\n</g>\n</g>\n<path d=\"M348.5 40h10\"></path>\n<path d=\"M 358.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "provide.ts"
+    },
+    {
+      "name": "PublicSection",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Public', {href: '#/statement/Public'}),Railroad.Optional(Railroad.NonTerminal('SectionContents', {href: '#/structure/SectionContents'})))).toString();",
+      "using": [
+        "statement/Public",
+        "structure/SectionContents"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"368.5\" height=\"71\" viewBox=\"0 0 368.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Public\"><text x=\"85.5\" y=\"44\">Public</text>\n</a>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M318.5 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h147.5\"></path>\n</g>\n<path d=\"M298.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M151 40h0\"></path>\n<path d=\"M298.5 40h0\"></path>\n<rect x=\"151\" y=\"29\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/SectionContents\"><text x=\"224.75\" y=\"44\">SectionContents</text>\n</a>\n</g>\n<path d=\"M298.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M318.5 40h10\"></path>\n<path d=\"M 328.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/ClassDefinition"
+      ],
+      "filename": "public_section.ts"
+    },
+    {
+      "name": "SectionContents",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('MethodDef', {href: '#/statement/MethodDef'}),Railroad.Terminal('InterfaceDef', {href: '#/statement/InterfaceDef'}),Railroad.Terminal('Data', {href: '#/statement/Data'}),Railroad.Terminal('ClassData', {href: '#/statement/ClassData'}),Railroad.Terminal('Events', {href: '#/statement/Events'}),Railroad.Terminal('Constant', {href: '#/statement/Constant'}),Railroad.Terminal('Aliases', {href: '#/statement/Aliases'}),Railroad.Terminal('TypePools', {href: '#/statement/TypePools'}),Railroad.Terminal('InterfaceLoad', {href: '#/statement/InterfaceLoad'}),Railroad.Terminal('ClassDefinitionLoad', {href: '#/statement/ClassDefinitionLoad'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.NonTerminal('Types', {href: '#/structure/Types'}),Railroad.NonTerminal('Constants', {href: '#/structure/Constants'}),Railroad.NonTerminal('TypeEnum', {href: '#/structure/TypeEnum'}),Railroad.NonTerminal('TypeMesh', {href: '#/structure/TypeMesh'}),Railroad.NonTerminal('Data', {href: '#/structure/Data'}),Railroad.NonTerminal('ClassData', {href: '#/structure/ClassData'}),Railroad.Terminal('Type', {href: '#/statement/Type'})))).toString();",
+      "using": [
+        "statement/Aliases",
+        "statement/ClassData",
+        "statement/ClassDefinitionLoad",
+        "statement/Constant",
+        "statement/Data",
+        "statement/Events",
+        "statement/Include",
+        "statement/InterfaceDef",
+        "statement/InterfaceLoad",
+        "statement/MethodDef",
+        "statement/Type",
+        "statement/TypePools",
+        "structure/ClassData",
+        "structure/Constants",
+        "structure/Data",
+        "structure/TypeEnum",
+        "structure/TypeMesh",
+        "structure/Types"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"361.5\" height=\"589\" viewBox=\"0 0 361.5 589\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M60 20h241.5\"></path>\n</g>\n<path d=\"M301.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M301.5 40h0\"></path>\n<path d=\"M60 40h10\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M291.5 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M186.5 40h85\"></path>\n<rect x=\"90\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MethodDef\"><text x=\"138.25\" y=\"44\">MethodDef</text>\n</a>\n</g>\n<path d=\"M271.5 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M212 70h59.5\"></path>\n<rect x=\"90\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InterfaceDef\"><text x=\"151\" y=\"74\">InterfaceDef</text>\n</a>\n</g>\n<path d=\"M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 100h0\"></path>\n<path d=\"M144 100h127.5\"></path>\n<rect x=\"90\" y=\"89\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Data\"><text x=\"117\" y=\"104\">Data</text>\n</a>\n</g>\n<path d=\"M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 130h0\"></path>\n<path d=\"M186.5 130h85\"></path>\n<rect x=\"90\" y=\"119\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassData\"><text x=\"138.25\" y=\"134\">ClassData</text>\n</a>\n</g>\n<path d=\"M271.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 160h0\"></path>\n<path d=\"M161 160h110.5\"></path>\n<rect x=\"90\" y=\"149\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Events\"><text x=\"125.5\" y=\"164\">Events</text>\n</a>\n</g>\n<path d=\"M271.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 190h0\"></path>\n<path d=\"M178 190h93.5\"></path>\n<rect x=\"90\" y=\"179\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Constant\"><text x=\"134\" y=\"194\">Constant</text>\n</a>\n</g>\n<path d=\"M271.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 220h0\"></path>\n<path d=\"M169.5 220h102\"></path>\n<rect x=\"90\" y=\"209\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Aliases\"><text x=\"129.75\" y=\"224\">Aliases</text>\n</a>\n</g>\n<path d=\"M271.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 250h0\"></path>\n<path d=\"M186.5 250h85\"></path>\n<rect x=\"90\" y=\"239\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypePools\"><text x=\"138.25\" y=\"254\">TypePools</text>\n</a>\n</g>\n<path d=\"M271.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 280h0\"></path>\n<path d=\"M220.5 280h51\"></path>\n<rect x=\"90\" y=\"269\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/InterfaceLoad\"><text x=\"155.25\" y=\"284\">InterfaceLoad</text>\n</a>\n</g>\n<path d=\"M271.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 310h0\"></path>\n<path d=\"M271.5 310h0\"></path>\n<rect x=\"90\" y=\"299\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/ClassDefinitionLoad\"><text x=\"180.75\" y=\"314\">ClassDefinitionLoad</text>\n</a>\n</g>\n<path d=\"M271.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 340h0\"></path>\n<path d=\"M169.5 340h102\"></path>\n<rect x=\"90\" y=\"329\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"129.75\" y=\"344\">Include</text>\n</a>\n</g>\n<path d=\"M271.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 370h0\"></path>\n<path d=\"M152.5 370h119\"></path>\n<rect x=\"90\" y=\"359\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Types\"><text x=\"121.25\" y=\"374\">Types</text>\n</a>\n</g>\n<path d=\"M271.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 400h0\"></path>\n<path d=\"M186.5 400h85\"></path>\n<rect x=\"90\" y=\"389\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Constants\"><text x=\"138.25\" y=\"404\">Constants</text>\n</a>\n</g>\n<path d=\"M271.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 430h0\"></path>\n<path d=\"M178 430h93.5\"></path>\n<rect x=\"90\" y=\"419\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TypeEnum\"><text x=\"134\" y=\"434\">TypeEnum</text>\n</a>\n</g>\n<path d=\"M271.5 430a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 460h0\"></path>\n<path d=\"M178 460h93.5\"></path>\n<rect x=\"90\" y=\"449\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/TypeMesh\"><text x=\"134\" y=\"464\">TypeMesh</text>\n</a>\n</g>\n<path d=\"M271.5 460a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 490h0\"></path>\n<path d=\"M144 490h127.5\"></path>\n<rect x=\"90\" y=\"479\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Data\"><text x=\"117\" y=\"494\">Data</text>\n</a>\n</g>\n<path d=\"M271.5 490a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M90 520h0\"></path>\n<path d=\"M186.5 520h85\"></path>\n<rect x=\"90\" y=\"509\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/ClassData\"><text x=\"138.25\" y=\"524\">ClassData</text>\n</a>\n</g>\n<path d=\"M271.5 520a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 550h0\"></path>\n<path d=\"M144 550h127.5\"></path>\n<rect x=\"90\" y=\"539\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"117\" y=\"554\">Type</text>\n</a>\n</g>\n<path d=\"M271.5 550a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M291.5 40h10\"></path>\n<path d=\"M70 40a10 10 0 0 0 -10 10v509a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 569h221.5\"></path>\n</g>\n<path d=\"M291.5 569a10 10 0 0 0 10 -10v-509a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M301.5 40h20\"></path>\n</g>\n<path d=\"M 321.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Interface",
+        "structure/PrivateSection",
+        "structure/ProtectedSection",
+        "structure/PublicSection"
+      ],
+      "filename": "section_contents.ts"
+    },
+    {
+      "name": "Select",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('SelectLoop', {href: '#/statement/SelectLoop'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndSelect', {href: '#/statement/EndSelect'}))).toString();",
+      "using": [
+        "statement/EndSelect",
+        "statement/SelectLoop",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"415.5\" height=\"71\" viewBox=\"0 0 415.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M155 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/SelectLoop\"><text x=\"102.5\" y=\"44\">SelectLoop</text>\n</a>\n</g>\n<path d=\"M155 40h10\"></path>\n<g>\n<path d=\"M165 40h0\"></path>\n<path d=\"M259 40h0\"></path>\n<path d=\"M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M185 20h54\"></path>\n</g>\n<path d=\"M239 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M165 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M185 40h0\"></path>\n<path d=\"M239 40h0\"></path>\n<rect x=\"185\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"212\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M239 40h20\"></path>\n</g>\n<path d=\"M259 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M269 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<rect x=\"269\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndSelect\"><text x=\"317.25\" y=\"44\">EndSelect</text>\n</a>\n</g>\n</g>\n<path d=\"M365.5 40h10\"></path>\n<path d=\"M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "select.ts"
+    },
+    {
+      "name": "Statics",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('StaticBegin', {href: '#/statement/StaticBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('Static', {href: '#/statement/Static'}),Railroad.Terminal('IncludeType', {href: '#/statement/IncludeType'}))),Railroad.Terminal('StaticEnd', {href: '#/statement/StaticEnd'}))).toString();",
+      "using": [
+        "statement/IncludeType",
+        "statement/Static",
+        "statement/StaticBegin",
+        "statement/StaticEnd"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"543.5\" height=\"109\" viewBox=\"0 0 543.5 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M493.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M163.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/StaticBegin\"><text x=\"106.75\" y=\"44\">StaticBegin</text>\n</a>\n</g>\n<path d=\"M163.5 40h10\"></path>\n<g>\n<path d=\"M173.5 40h0\"></path>\n<path d=\"M387 40h0\"></path>\n<path d=\"M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M193.5 20h173.5\"></path>\n</g>\n<path d=\"M367 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M173.5 40h20\"></path>\n<g>\n<path d=\"M193.5 40h0\"></path>\n<path d=\"M367 40h0\"></path>\n<path d=\"M193.5 40h10\"></path>\n<g>\n<path d=\"M203.5 40h0\"></path>\n<path d=\"M357 40h0\"></path>\n<path d=\"M203.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M223.5 40h0\"></path>\n<path d=\"M294.5 40h42.5\"></path>\n<rect x=\"223.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Static\"><text x=\"259\" y=\"44\">Static</text>\n</a>\n</g>\n<path d=\"M337 40h20\"></path>\n<path d=\"M203.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M223.5 70h0\"></path>\n<path d=\"M337 70h0\"></path>\n<rect x=\"223.5\" y=\"59\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/IncludeType\"><text x=\"280.25\" y=\"74\">IncludeType</text>\n</a>\n</g>\n<path d=\"M337 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M357 40h10\"></path>\n<path d=\"M203.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M203.5 89h153.5\"></path>\n</g>\n<path d=\"M357 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M367 40h20\"></path>\n</g>\n<path d=\"M387 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M397 40h0\"></path>\n<path d=\"M493.5 40h0\"></path>\n<rect x=\"397\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/StaticEnd\"><text x=\"445.25\" y=\"44\">StaticEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M493.5 40h10\"></path>\n<path d=\"M 503.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "statics.ts"
+    },
+    {
+      "name": "TestInjection",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('TestInjection', {href: '#/statement/TestInjection'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndTestInjection', {href: '#/statement/EndTestInjection'}))).toString();",
+      "using": [
+        "statement/EndTestInjection",
+        "statement/TestInjection",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"500.5\" height=\"71\" viewBox=\"0 0 500.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TestInjection\"><text x=\"115.25\" y=\"44\">TestInjection</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M284.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h54\"></path>\n</g>\n<path d=\"M264.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M264.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"237.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M264.5 40h20\"></path>\n</g>\n<path d=\"M284.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M294.5 40h0\"></path>\n<path d=\"M450.5 40h0\"></path>\n<rect x=\"294.5\" y=\"29\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndTestInjection\"><text x=\"372.5\" y=\"44\">EndTestInjection</text>\n</a>\n</g>\n</g>\n<path d=\"M450.5 40h10\"></path>\n<path d=\"M 460.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "test_injection.ts"
+    },
+    {
+      "name": "TestSeam",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('TestSeam', {href: '#/statement/TestSeam'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndTestSeam', {href: '#/statement/EndTestSeam'}))).toString();",
+      "using": [
+        "statement/EndTestSeam",
+        "statement/TestSeam",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"415.5\" height=\"71\" viewBox=\"0 0 415.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TestSeam\"><text x=\"94\" y=\"44\">TestSeam</text>\n</a>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M242 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h54\"></path>\n</g>\n<path d=\"M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M222 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"195\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M222 40h20\"></path>\n</g>\n<path d=\"M242 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M252 40h0\"></path>\n<path d=\"M365.5 40h0\"></path>\n<rect x=\"252\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndTestSeam\"><text x=\"308.75\" y=\"44\">EndTestSeam</text>\n</a>\n</g>\n</g>\n<path d=\"M365.5 40h10\"></path>\n<path d=\"M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "test_seam.ts"
+    },
+    {
+      "name": "Try",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('Try', {href: '#/statement/Try'}),Railroad.Sequence(Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.ZeroOrMore(Railroad.NonTerminal('Catch', {href: '#/structure/Catch'})),Railroad.Optional(Railroad.NonTerminal('Cleanup', {href: '#/structure/Cleanup'}))),Railroad.Terminal('EndTry', {href: '#/statement/EndTry'}))).toString();",
+      "using": [
+        "statement/EndTry",
+        "statement/Try",
+        "structure/Body",
+        "structure/Catch",
+        "structure/Cleanup"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"592.5\" height=\"80\" viewBox=\"0 0 592.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M542.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M95.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Try\"><text x=\"72.75\" y=\"44\">Try</text>\n</a>\n</g>\n<path d=\"M95.5 40h10\"></path>\n<path d=\"M105.5 40h10\"></path>\n<g>\n<path d=\"M115.5 40h0\"></path>\n<path d=\"M451.5 40h0\"></path>\n<g>\n<path d=\"M115.5 40h0\"></path>\n<path d=\"M209.5 40h0\"></path>\n<path d=\"M115.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M135.5 20h54\"></path>\n</g>\n<path d=\"M189.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M115.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M189.5 40h0\"></path>\n<rect x=\"135.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"162.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M189.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M209.5 40h0\"></path>\n<path d=\"M332 40h0\"></path>\n<path d=\"M209.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M229.5 20h82.5\"></path>\n</g>\n<path d=\"M312 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M209.5 40h20\"></path>\n<g>\n<path d=\"M229.5 40h0\"></path>\n<path d=\"M312 40h0\"></path>\n<path d=\"M229.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M239.5 40h0\"></path>\n<path d=\"M302 40h0\"></path>\n<rect x=\"239.5\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Catch\"><text x=\"270.75\" y=\"44\">Catch</text>\n</a>\n</g>\n<path d=\"M302 40h10\"></path>\n<path d=\"M239.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M239.5 60h62.5\"></path>\n</g>\n<path d=\"M302 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M312 40h20\"></path>\n</g>\n<g>\n<path d=\"M332 40h0\"></path>\n<path d=\"M451.5 40h0\"></path>\n<path d=\"M332 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M352 20h79.5\"></path>\n</g>\n<path d=\"M431.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M332 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M352 40h0\"></path>\n<path d=\"M431.5 40h0\"></path>\n<rect x=\"352\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Cleanup\"><text x=\"391.75\" y=\"44\">Cleanup</text>\n</a>\n</g>\n<path d=\"M431.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M451.5 40h10\"></path>\n<path d=\"M461.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M471.5 40h0\"></path>\n<path d=\"M542.5 40h0\"></path>\n<rect x=\"471.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndTry\"><text x=\"507\" y=\"44\">EndTry</text>\n</a>\n</g>\n</g>\n<path d=\"M542.5 40h10\"></path>\n<path d=\"M 552.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "try.ts"
+    },
+    {
+      "name": "TypeEnum",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('TypeEnumBegin', {href: '#/statement/TypeEnumBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('TypeEnum', {href: '#/statement/TypeEnum'}),Railroad.Terminal('Type', {href: '#/statement/Type'}))),Railroad.Terminal('TypeEnumEnd', {href: '#/statement/TypeEnumEnd'}))).toString();",
+      "using": [
+        "statement/Type",
+        "statement/TypeEnum",
+        "statement/TypeEnumBegin",
+        "statement/TypeEnumEnd"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"552\" height=\"109\" viewBox=\"0 0 552 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeEnumBegin\"><text x=\"115.25\" y=\"44\">TypeEnumBegin</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M378.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h148\"></path>\n</g>\n<path d=\"M358.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M328.5 40h0\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeEnum\"><text x=\"284.5\" y=\"44\">TypeEnum</text>\n</a>\n</g>\n<path d=\"M328.5 40h20\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 70h0\"></path>\n<path d=\"M294.5 70h34\"></path>\n<rect x=\"240.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"267.5\" y=\"74\">Type</text>\n</a>\n</g>\n<path d=\"M328.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M348.5 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 89h128\"></path>\n</g>\n<path d=\"M348.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M358.5 40h20\"></path>\n</g>\n<path d=\"M378.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M388.5 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<rect x=\"388.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeEnumEnd\"><text x=\"445.25\" y=\"44\">TypeEnumEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M502 40h10\"></path>\n<path d=\"M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "type_enum.ts"
+    },
+    {
+      "name": "TypeMesh",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('TypeMeshBegin', {href: '#/statement/TypeMeshBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('TypeMesh', {href: '#/statement/TypeMesh'}),Railroad.Terminal('Type', {href: '#/statement/Type'}))),Railroad.Terminal('TypeMeshEnd', {href: '#/statement/TypeMeshEnd'}))).toString();",
+      "using": [
+        "statement/Type",
+        "statement/TypeMesh",
+        "statement/TypeMeshBegin",
+        "statement/TypeMeshEnd"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"552\" height=\"109\" viewBox=\"0 0 552 109\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeMeshBegin\"><text x=\"115.25\" y=\"44\">TypeMeshBegin</text>\n</a>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M378.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h148\"></path>\n</g>\n<path d=\"M358.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g>\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M358.5 40h0\"></path>\n<path d=\"M210.5 40h10\"></path>\n<g>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M220.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M328.5 40h0\"></path>\n<rect x=\"240.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeMesh\"><text x=\"284.5\" y=\"44\">TypeMesh</text>\n</a>\n</g>\n<path d=\"M328.5 40h20\"></path>\n<path d=\"M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M240.5 70h0\"></path>\n<path d=\"M294.5 70h34\"></path>\n<rect x=\"240.5\" y=\"59\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"267.5\" y=\"74\">Type</text>\n</a>\n</g>\n<path d=\"M328.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M348.5 40h10\"></path>\n<path d=\"M220.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M220.5 89h128\"></path>\n</g>\n<path d=\"M348.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M358.5 40h20\"></path>\n</g>\n<path d=\"M378.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M388.5 40h0\"></path>\n<path d=\"M502 40h0\"></path>\n<rect x=\"388.5\" y=\"29\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeMeshEnd\"><text x=\"445.25\" y=\"44\">TypeMeshEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M502 40h10\"></path>\n<path d=\"M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal",
+        "structure/SectionContents"
+      ],
+      "filename": "type_mesh.ts"
+    },
+    {
+      "name": "Types",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('TypeBegin', {href: '#/statement/TypeBegin'}),Railroad.ZeroOrMore(Railroad.Choice(0, Railroad.Terminal('Type', {href: '#/statement/Type'}),Railroad.NonTerminal('Types', {href: '#/structure/Types'}),Railroad.Terminal('MacroCall', {href: '#/statement/MacroCall'}),Railroad.Terminal('Include', {href: '#/statement/Include'}),Railroad.Terminal('IncludeType', {href: '#/statement/IncludeType'}))),Railroad.Terminal('TypeEnd', {href: '#/statement/TypeEnd'}))).toString();",
+      "using": [
+        "statement/Include",
+        "statement/IncludeType",
+        "statement/MacroCall",
+        "statement/Type",
+        "statement/TypeBegin",
+        "statement/TypeEnd",
+        "structure/Types"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"509.5\" height=\"199\" viewBox=\"0 0 509.5 199\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M459.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M146.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeBegin\"><text x=\"98.25\" y=\"44\">TypeBegin</text>\n</a>\n</g>\n<path d=\"M146.5 40h10\"></path>\n<g>\n<path d=\"M156.5 40h0\"></path>\n<path d=\"M370 40h0\"></path>\n<path d=\"M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M176.5 20h173.5\"></path>\n</g>\n<path d=\"M350 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M156.5 40h20\"></path>\n<g>\n<path d=\"M176.5 40h0\"></path>\n<path d=\"M350 40h0\"></path>\n<path d=\"M176.5 40h10\"></path>\n<g>\n<path d=\"M186.5 40h0\"></path>\n<path d=\"M340 40h0\"></path>\n<path d=\"M186.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 40h0\"></path>\n<path d=\"M260.5 40h59.5\"></path>\n<rect x=\"206.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Type\"><text x=\"233.5\" y=\"44\">Type</text>\n</a>\n</g>\n<path d=\"M320 40h20\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M206.5 70h0\"></path>\n<path d=\"M269 70h51\"></path>\n<rect x=\"206.5\" y=\"59\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Types\"><text x=\"237.75\" y=\"74\">Types</text>\n</a>\n</g>\n<path d=\"M320 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 100h0\"></path>\n<path d=\"M303 100h17\"></path>\n<rect x=\"206.5\" y=\"89\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/MacroCall\"><text x=\"254.75\" y=\"104\">MacroCall</text>\n</a>\n</g>\n<path d=\"M320 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 130h0\"></path>\n<path d=\"M286 130h34\"></path>\n<rect x=\"206.5\" y=\"119\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/Include\"><text x=\"246.25\" y=\"134\">Include</text>\n</a>\n</g>\n<path d=\"M320 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M186.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M206.5 160h0\"></path>\n<path d=\"M320 160h0\"></path>\n<rect x=\"206.5\" y=\"149\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/IncludeType\"><text x=\"263.25\" y=\"164\">IncludeType</text>\n</a>\n</g>\n<path d=\"M320 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M340 40h10\"></path>\n<path d=\"M186.5 40a10 10 0 0 0 -10 10v119a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M186.5 179h153.5\"></path>\n</g>\n<path d=\"M340 179a10 10 0 0 0 10 -10v-119a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M350 40h20\"></path>\n</g>\n<path d=\"M370 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M380 40h0\"></path>\n<path d=\"M459.5 40h0\"></path>\n<rect x=\"380\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/TypeEnd\"><text x=\"419.75\" y=\"44\">TypeEnd</text>\n</a>\n</g>\n</g>\n<path d=\"M459.5 40h10\"></path>\n<path d=\"M 469.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Data",
+        "structure/Normal",
+        "structure/SectionContents",
+        "structure/Types"
+      ],
+      "filename": "types.ts"
+    },
+    {
+      "name": "When",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('When', {href: '#/statement/When'}),Railroad.Terminal('WhenOthers', {href: '#/statement/WhenOthers'})),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/When",
+        "statement/WhenOthers",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"339\" height=\"101\" viewBox=\"0 0 339 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M195 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M124 40h51\"></path>\n<rect x=\"70\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/When\"><text x=\"97\" y=\"44\">When</text>\n</a>\n</g>\n<path d=\"M175 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M175 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/WhenOthers\"><text x=\"122.5\" y=\"74\">WhenOthers</text>\n</a>\n</g>\n<path d=\"M175 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M195 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<path d=\"M195 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M215 20h54\"></path>\n</g>\n<path d=\"M269 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M195 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 40h0\"></path>\n<path d=\"M269 40h0\"></path>\n<rect x=\"215\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"242\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M269 40h20\"></path>\n</g>\n</g>\n<path d=\"M289 40h10\"></path>\n<path d=\"M 299 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Case"
+      ],
+      "filename": "when.ts"
+    },
+    {
+      "name": "WhenType",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('WhenType', {href: '#/statement/WhenType'}),Railroad.Terminal('WhenOthers', {href: '#/statement/WhenOthers'})),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})))).toString();",
+      "using": [
+        "statement/WhenOthers",
+        "statement/WhenType",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"339\" height=\"101\" viewBox=\"0 0 339 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M195 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M158 40h17\"></path>\n<rect x=\"70\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/WhenType\"><text x=\"114\" y=\"44\">WhenType</text>\n</a>\n</g>\n<path d=\"M175 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M175 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/WhenOthers\"><text x=\"122.5\" y=\"74\">WhenOthers</text>\n</a>\n</g>\n<path d=\"M175 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M195 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<path d=\"M195 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M215 20h54\"></path>\n</g>\n<path d=\"M269 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M195 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 40h0\"></path>\n<path d=\"M269 40h0\"></path>\n<rect x=\"215\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"242\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M269 40h20\"></path>\n</g>\n</g>\n<path d=\"M289 40h10\"></path>\n<path d=\"M 299 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/CaseType"
+      ],
+      "filename": "when_type.ts"
+    },
+    {
+      "name": "While",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('While', {href: '#/statement/While'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndWhile', {href: '#/statement/EndWhile'}))).toString();",
+      "using": [
+        "statement/EndWhile",
+        "statement/While",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"364.5\" height=\"71\" viewBox=\"0 0 364.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M112.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/While\"><text x=\"81.25\" y=\"44\">While</text>\n</a>\n</g>\n<path d=\"M112.5 40h10\"></path>\n<g>\n<path d=\"M122.5 40h0\"></path>\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M142.5 20h54\"></path>\n</g>\n<path d=\"M196.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M122.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M142.5 40h0\"></path>\n<path d=\"M196.5 40h0\"></path>\n<rect x=\"142.5\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"169.5\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M196.5 40h20\"></path>\n</g>\n<path d=\"M216.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M314.5 40h0\"></path>\n<rect x=\"226.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndWhile\"><text x=\"270.5\" y=\"44\">EndWhile</text>\n</a>\n</g>\n</g>\n<path d=\"M314.5 40h10\"></path>\n<path d=\"M 324.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "while.ts"
+    },
+    {
+      "name": "With",
+      "type": "structure",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.Diagram(Railroad.Sequence(Railroad.Terminal('WithLoop', {href: '#/statement/WithLoop'}),Railroad.Optional(Railroad.NonTerminal('Body', {href: '#/structure/Body'})),Railroad.Terminal('EndWith', {href: '#/statement/EndWith'}))).toString();",
+      "using": [
+        "statement/EndWith",
+        "statement/WithLoop",
+        "structure/Body"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"381.5\" height=\"71\" viewBox=\"0 0 381.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m10 -20v20m-10 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M138 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/WithLoop\"><text x=\"94\" y=\"44\">WithLoop</text>\n</a>\n</g>\n<path d=\"M138 40h10\"></path>\n<g>\n<path d=\"M148 40h0\"></path>\n<path d=\"M242 40h0\"></path>\n<path d=\"M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 20h54\"></path>\n</g>\n<path d=\"M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M168 40h0\"></path>\n<path d=\"M222 40h0\"></path>\n<rect x=\"168\" y=\"29\" width=\"54\" height=\"22\"></rect>\n<a xlink:href=\"#/abap/structure/Body\"><text x=\"195\" y=\"44\">Body</text>\n</a>\n</g>\n<path d=\"M222 40h20\"></path>\n</g>\n<path d=\"M242 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M252 40h0\"></path>\n<path d=\"M331.5 40h0\"></path>\n<rect x=\"252\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<a xlink:href=\"#/abap/statement/EndWith\"><text x=\"291.75\" y=\"44\">EndWith</text>\n</a>\n</g>\n</g>\n<path d=\"M331.5 40h10\"></path>\n<path d=\"M 341.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "structure/Normal"
+      ],
+      "filename": "with.ts"
+    }
+  ]
+};
\ No newline at end of file
diff --git a/abap/expression_Abstract.svg b/abap/expression_Abstract.svg
new file mode 100644
index 00000000..54b7acda
--- /dev/null
+++ b/abap/expression_Abstract.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"ABSTRACT"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AbstractMethods.svg b/abap/expression_AbstractMethods.svg
new file mode 100644
index 00000000..7b00de5a
--- /dev/null
+++ b/abap/expression_AbstractMethods.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="418" height="71" viewBox="0 0 418 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M368 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M223 31h0"></path>
+<rect x="50" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="136.5" y="35">"ABSTRACT METHODS"</text>
+</g>
+<path d="M223 31h10"></path>
+<path d="M233 31h10"></path>
+<g>
+<path d="M243 31h0"></path>
+<path d="M368 31h0"></path>
+<path d="M243 31h10"></path>
+<g class="non-terminal">
+<path d="M253 31h0"></path>
+<path d="M358 31h0"></path>
+<rect x="253" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodName"><text x="305.5" y="35">MethodName</text>
+</a>
+</g>
+<path d="M358 31h10"></path>
+<path d="M253 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M253 51h105"></path>
+</g>
+<path d="M358 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M368 31h10"></path>
+<path d="M 378 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AndReturn.svg b/abap/expression_AndReturn.svg
new file mode 100644
index 00000000..c96984f3
--- /dev/null
+++ b/abap/expression_AndReturn.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="222" height="62" viewBox="0 0 222 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M172 31h0"></path>
+<rect x="50" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="35">"AND RETURN"</text>
+</g>
+<path d="M172 31h10"></path>
+<path d="M 182 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ArithOperator.svg b/abap/expression_ArithOperator.svg
new file mode 100644
index 00000000..2c440671
--- /dev/null
+++ b/abap/expression_ArithOperator.svg
@@ -0,0 +1,131 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="216.5" height="332" viewBox="0 0 216.5 332">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M176.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M131 31h25.5"></path>
+<rect x="60" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="35">!" + "</text>
+</g>
+<path d="M156.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M131 61h25.5"></path>
+<rect x="60" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="65">!" - "</text>
+</g>
+<path d="M156.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M105.5 91h51"></path>
+<rect x="60" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="95">"&#42;"</text>
+</g>
+<path d="M156.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 121h0"></path>
+<path d="M114 121h42.5"></path>
+<rect x="60" y="110" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="125">"&#42;&#42;"</text>
+</g>
+<path d="M156.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M105.5 151h51"></path>
+<rect x="60" y="140" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="155">"/"</text>
+</g>
+<path d="M156.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 181h0"></path>
+<path d="M156.5 181h0"></path>
+<rect x="60" y="170" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="185">"BIT-XOR"</text>
+</g>
+<path d="M156.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 211h0"></path>
+<path d="M156.5 211h0"></path>
+<rect x="60" y="200" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="215">"BIT-AND"</text>
+</g>
+<path d="M156.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 241h0"></path>
+<path d="M148 241h8.5"></path>
+<rect x="60" y="230" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="245">"BIT-OR"</text>
+</g>
+<path d="M156.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 271h0"></path>
+<path d="M122.5 271h34"></path>
+<rect x="60" y="260" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="275">"DIV"</text>
+</g>
+<path d="M156.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 301h0"></path>
+<path d="M122.5 301h34"></path>
+<rect x="60" y="290" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="305">"MOD"</text>
+</g>
+<path d="M156.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 176.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Arrow.svg b/abap/expression_Arrow.svg
new file mode 100644
index 00000000..b7213b14
--- /dev/null
+++ b/abap/expression_Arrow.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="182.5" height="92" viewBox="0 0 182.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M142.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M122.5 31h0"></path>
+<rect x="60" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="35">!"->"</text>
+</g>
+<path d="M122.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M122.5 61h0"></path>
+<rect x="60" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="65">!"=>"</text>
+</g>
+<path d="M122.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 142.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ArrowOrDash.svg b/abap/expression_ArrowOrDash.svg
new file mode 100644
index 00000000..ed8d1265
--- /dev/null
+++ b/abap/expression_ArrowOrDash.svg
@@ -0,0 +1,75 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="182.5" height="122" viewBox="0 0 182.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M142.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M122.5 31h0"></path>
+<rect x="60" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="35">!"->"</text>
+</g>
+<path d="M122.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M122.5 61h0"></path>
+<rect x="60" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="65">!"=>"</text>
+</g>
+<path d="M122.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M114 91h8.5"></path>
+<rect x="60" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="95">!"-"</text>
+</g>
+<path d="M122.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 142.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AssignSource.svg b/abap/expression_AssignSource.svg
new file mode 100644
index 00000000..1d206a27
--- /dev/null
+++ b/abap/expression_AssignSource.svg
@@ -0,0 +1,276 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="680.5" height="290" viewBox="0 0 680.5 290">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M640.5 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M373 40h247.5"></path>
+<g class="non-terminal">
+<path d="M60 40h0"></path>
+<path d="M131 40h0"></path>
+<rect x="60" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="95.5" y="44">Source</text>
+</a>
+</g>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M373 40h0"></path>
+<path d="M141 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M161 20h192"></path>
+</g>
+<path d="M353 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M141 40h20"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M353 40h0"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M263.5 40h0"></path>
+<path d="M161 40h20"></path>
+<g class="terminal">
+<path d="M181 40h0"></path>
+<path d="M243.5 40h0"></path>
+<rect x="181" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="212.25" y="44">!"->"</text>
+</g>
+<path d="M243.5 40h20"></path>
+<path d="M161 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 70h0"></path>
+<path d="M243.5 70h0"></path>
+<rect x="181" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="212.25" y="74">!"=>"</text>
+</g>
+<path d="M243.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M263.5 40h10"></path>
+<g class="non-terminal">
+<path d="M273.5 40h0"></path>
+<path d="M353 40h0"></path>
+<rect x="273.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="313.25" y="44">Dynamic</text>
+</a>
+</g>
+</g>
+<path d="M353 40h20"></path>
+</g>
+</g>
+<path d="M620.5 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M620.5 100h0"></path>
+<g class="terminal">
+<path d="M60 100h0"></path>
+<path d="M173.5 100h0"></path>
+<rect x="60" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="116.75" y="104">"COMPONENT"</text>
+</g>
+<path d="M173.5 100h10"></path>
+<g>
+<path d="M183.5 100h0"></path>
+<path d="M380.5 100h0"></path>
+<path d="M183.5 100h20"></path>
+<g class="non-terminal">
+<path d="M203.5 100h0"></path>
+<path d="M334 100h26.5"></path>
+<rect x="203.5" y="89" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="268.75" y="104">SimpleSource3</text>
+</a>
+</g>
+<path d="M360.5 100h20"></path>
+<path d="M183.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M203.5 130h0"></path>
+<path d="M360.5 130h0"></path>
+<g>
+<path d="M203.5 130h0"></path>
+<path d="M269.5 130h0"></path>
+<text x="236.5" y="135" class="comment">v740sp02</text>
+</g>
+<path d="M269.5 130h10"></path>
+<path d="M279.5 130h10"></path>
+<g class="non-terminal">
+<path d="M289.5 130h0"></path>
+<path d="M360.5 130h0"></path>
+<rect x="289.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="325" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M360.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M380.5 100h10"></path>
+<g class="terminal">
+<path d="M390.5 100h0"></path>
+<path d="M529.5 100h0"></path>
+<rect x="390.5" y="89" width="139" height="22" rx="10" ry="10"></rect>
+<text x="460" y="104">"OF STRUCTURE"</text>
+</g>
+<path d="M529.5 100h10"></path>
+<path d="M539.5 100h10"></path>
+<g class="non-terminal">
+<path d="M549.5 100h0"></path>
+<path d="M620.5 100h0"></path>
+<rect x="549.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="585" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M620.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 160h0"></path>
+<path d="M320 160h300.5"></path>
+<g class="terminal">
+<path d="M60 160h0"></path>
+<path d="M190.5 160h0"></path>
+<rect x="60" y="149" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="125.25" y="164">"TABLE FIELD"</text>
+</g>
+<path d="M190.5 160h10"></path>
+<g>
+<path d="M200.5 160h0"></path>
+<path d="M320 160h0"></path>
+<path d="M200.5 160h20"></path>
+<g class="non-terminal">
+<path d="M220.5 160h0"></path>
+<path d="M291.5 160h8.5"></path>
+<rect x="220.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="256" y="164">Source</text>
+</a>
+</g>
+<path d="M300 160h20"></path>
+<path d="M200.5 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M220.5 190h0"></path>
+<path d="M300 190h0"></path>
+<rect x="220.5" y="179" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="260.25" y="194">Dynamic</text>
+</a>
+</g>
+<path d="M300 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M620.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 229h0"></path>
+<path d="M411.5 229h209"></path>
+<g class="non-terminal">
+<path d="M60 229h0"></path>
+<path d="M139.5 229h0"></path>
+<rect x="60" y="218" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="233">Dynamic</text>
+</a>
+</g>
+<path d="M139.5 229h10"></path>
+<g>
+<path d="M149.5 229h0"></path>
+<path d="M411.5 229h0"></path>
+<path d="M149.5 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M169.5 209h222"></path>
+</g>
+<path d="M391.5 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M149.5 229h20"></path>
+<g>
+<path d="M169.5 229h0"></path>
+<path d="M391.5 229h0"></path>
+<g>
+<path d="M169.5 229h0"></path>
+<path d="M272 229h0"></path>
+<path d="M169.5 229h20"></path>
+<g class="terminal">
+<path d="M189.5 229h0"></path>
+<path d="M252 229h0"></path>
+<rect x="189.5" y="218" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="220.75" y="233">!"->"</text>
+</g>
+<path d="M252 229h20"></path>
+<path d="M169.5 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M189.5 259h0"></path>
+<path d="M252 259h0"></path>
+<rect x="189.5" y="248" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="220.75" y="263">!"=>"</text>
+</g>
+<path d="M252 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M272 229h0"></path>
+<path d="M391.5 229h0"></path>
+<path d="M272 229h20"></path>
+<g class="non-terminal">
+<path d="M292 229h0"></path>
+<path d="M354.5 229h17"></path>
+<rect x="292" y="218" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="323.25" y="233">Field</text>
+</a>
+</g>
+<path d="M371.5 229h20"></path>
+<path d="M272 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M292 259h0"></path>
+<path d="M371.5 259h0"></path>
+<rect x="292" y="248" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="331.75" y="263">Dynamic</text>
+</a>
+</g>
+<path d="M371.5 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M391.5 229h20"></path>
+</g>
+</g>
+<path d="M620.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 640.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AssociationName.svg b/abap/expression_AssociationName.svg
new file mode 100644
index 00000000..3697a49c
--- /dev/null
+++ b/abap/expression_AssociationName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">^\\&#95;&#91;\w&#93;+$</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AttributeChain.svg b/abap/expression_AttributeChain.svg
new file mode 100644
index 00000000..89446a37
--- /dev/null
+++ b/abap/expression_AttributeChain.svg
@@ -0,0 +1,190 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1088" height="139" viewBox="0 0 1088 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1038 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M584.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="115.25" y="44">AttributeName</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M584.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h354"></path>
+</g>
+<path d="M564.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M564.5 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M554.5 40h0"></path>
+<path d="M220.5 40h20"></path>
+<g>
+<path d="M240.5 40h0"></path>
+<path d="M534.5 40h0"></path>
+<g class="non-terminal">
+<path d="M240.5 40h0"></path>
+<path d="M354 40h0"></path>
+<rect x="240.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArrowOrDash"><text x="297.25" y="44">ArrowOrDash</text>
+</a>
+</g>
+<path d="M354 40h10"></path>
+<g>
+<path d="M364 40h0"></path>
+<path d="M534.5 40h0"></path>
+<path d="M364 40h20"></path>
+<g class="terminal">
+<path d="M384 40h0"></path>
+<path d="M429.5 40h85"></path>
+<rect x="384" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="406.75" y="44">"&#42;"</text>
+</g>
+<path d="M514.5 40h20"></path>
+<path d="M364 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M384 70h0"></path>
+<path d="M514.5 70h0"></path>
+<rect x="384" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="449.25" y="74">ComponentName</text>
+</a>
+</g>
+<path d="M514.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M534.5 40h20"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M240.5 100h0"></path>
+<path d="M388 100h146.5"></path>
+<rect x="240.5" y="89" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableExpression"><text x="314.25" y="104">TableExpression</text>
+</a>
+</g>
+<path d="M534.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M554.5 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 119h334"></path>
+</g>
+<path d="M554.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M564.5 40h20"></path>
+</g>
+</g>
+<path d="M584.5 40h10"></path>
+<g>
+<path d="M594.5 40h0"></path>
+<path d="M731 40h0"></path>
+<path d="M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M614.5 20h96.5"></path>
+</g>
+<path d="M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M594.5 40h20"></path>
+<g class="non-terminal">
+<path d="M614.5 40h0"></path>
+<path d="M711 40h0"></path>
+<rect x="614.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="662.75" y="44">TableBody</text>
+</a>
+</g>
+<path d="M711 40h20"></path>
+</g>
+<g>
+<path d="M731 40h0"></path>
+<path d="M884.5 40h0"></path>
+<path d="M731 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M751 20h113.5"></path>
+</g>
+<path d="M864.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M731 40h20"></path>
+<g class="non-terminal">
+<path d="M751 40h0"></path>
+<path d="M864.5 40h0"></path>
+<rect x="751" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="807.75" y="44">FieldOffset</text>
+</a>
+</g>
+<path d="M864.5 40h20"></path>
+</g>
+<g>
+<path d="M884.5 40h0"></path>
+<path d="M1038 40h0"></path>
+<path d="M884.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M904.5 20h113.5"></path>
+</g>
+<path d="M1018 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M884.5 40h20"></path>
+<g class="non-terminal">
+<path d="M904.5 40h0"></path>
+<path d="M1018 40h0"></path>
+<rect x="904.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="961.25" y="44">FieldLength</text>
+</a>
+</g>
+<path d="M1018 40h20"></path>
+</g>
+</g>
+<path d="M1038 40h10"></path>
+<path d="M 1048 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_AttributeName.svg b/abap/expression_AttributeName.svg
new file mode 100644
index 00000000..ddb52c9a
--- /dev/null
+++ b/abap/expression_AttributeName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="383.5" height="62" viewBox="0 0 383.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M333.5 31h0"></path>
+<rect x="50" y="20" width="283.5" height="22" rx="10" ry="10"></rect>
+<text x="191.75" y="35">^(\/\w+\/)?(?!\&#42;)&#91;\w\d&#95;\&#42;\~%&#93;+$</text>
+</g>
+<path d="M333.5 31h10"></path>
+<path d="M 343.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_BehaviorDefinitionName.svg b/abap/expression_BehaviorDefinitionName.svg
new file mode 100644
index 00000000..94b1f926
--- /dev/null
+++ b/abap/expression_BehaviorDefinitionName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="451.5" height="62" viewBox="0 0 451.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M401.5 31h0"></path>
+<rect x="50" y="20" width="351.5" height="22" rx="10" ry="10"></rect>
+<text x="225.75" y="35">^((\w&#42;\/\w+\/)|(\w&#42;\/\w+\/)?&#91;\w\&#42;$%&#93;+)$</text>
+</g>
+<path d="M401.5 31h10"></path>
+<path d="M 411.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_BlockName.svg b/abap/expression_BlockName.svg
new file mode 100644
index 00000000..92dd7736
--- /dev/null
+++ b/abap/expression_BlockName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="488" height="80" viewBox="0 0 488 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M438 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">^&#91;\w%\$\&#42;&#93;+$</text>
+</g>
+<path d="M172 40h10"></path>
+<g>
+<path d="M182 40h0"></path>
+<path d="M438 40h0"></path>
+<path d="M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M202 20h216"></path>
+</g>
+<path d="M418 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M182 40h20"></path>
+<g>
+<path d="M202 40h0"></path>
+<path d="M418 40h0"></path>
+<path d="M202 40h10"></path>
+<g>
+<path d="M212 40h0"></path>
+<path d="M408 40h0"></path>
+<g class="terminal">
+<path d="M212 40h0"></path>
+<path d="M266 40h0"></path>
+<rect x="212" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="239" y="44">!"-"</text>
+</g>
+<path d="M266 40h10"></path>
+<path d="M276 40h10"></path>
+<g class="terminal">
+<path d="M286 40h0"></path>
+<path d="M408 40h0"></path>
+<rect x="286" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="347" y="44">^&#91;\w%\$\&#42;&#93;+$</text>
+</g>
+</g>
+<path d="M408 40h10"></path>
+<path d="M212 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M212 60h196"></path>
+</g>
+<path d="M408 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M418 40h20"></path>
+</g>
+</g>
+<path d="M438 40h10"></path>
+<path d="M 448 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CallTransformationOptions.svg b/abap/expression_CallTransformationOptions.svg
new file mode 100644
index 00000000..dd3d7fc0
--- /dev/null
+++ b/abap/expression_CallTransformationOptions.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="386" height="100" viewBox="0 0 386 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M336 31h0"></path>
+<path d="M50 31h10"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M326 31h0"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M179.5 31h0"></path>
+<path d="M60 31h20"></path>
+<g class="non-terminal">
+<path d="M80 31h0"></path>
+<path d="M142.5 31h17"></path>
+<rect x="80" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="111.25" y="35">Field</text>
+</a>
+</g>
+<path d="M159.5 31h20"></path>
+<path d="M60 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 61h0"></path>
+<path d="M159.5 61h0"></path>
+<rect x="80" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="119.75" y="65">Integer</text>
+</a>
+</g>
+<path d="M159.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M179.5 31h10"></path>
+<g class="terminal">
+<path d="M189.5 31h0"></path>
+<path d="M235 31h0"></path>
+<rect x="189.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="212.25" y="35">"="</text>
+</g>
+<path d="M235 31h10"></path>
+<path d="M245 31h10"></path>
+<g class="non-terminal">
+<path d="M255 31h0"></path>
+<path d="M326 31h0"></path>
+<rect x="255" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="290.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M326 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 80h266"></path>
+</g>
+<path d="M326 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M336 31h10"></path>
+<path d="M 346 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CallTransformationParameters.svg b/abap/expression_CallTransformationParameters.svg
new file mode 100644
index 00000000..bfa4ff76
--- /dev/null
+++ b/abap/expression_CallTransformationParameters.svg
@@ -0,0 +1,115 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="465.5" height="130" viewBox="0 0 465.5 130">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M425.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M405.5 31h0"></path>
+<path d="M60 31h10"></path>
+<g>
+<path d="M70 31h0"></path>
+<path d="M395.5 31h0"></path>
+<g>
+<path d="M70 31h0"></path>
+<path d="M189.5 31h0"></path>
+<path d="M70 31h20"></path>
+<g class="non-terminal">
+<path d="M90 31h0"></path>
+<path d="M152.5 31h17"></path>
+<rect x="90" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="121.25" y="35">Field</text>
+</a>
+</g>
+<path d="M169.5 31h20"></path>
+<path d="M70 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 61h0"></path>
+<path d="M169.5 61h0"></path>
+<rect x="90" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="129.75" y="65">Integer</text>
+</a>
+</g>
+<path d="M169.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M189.5 31h10"></path>
+<g class="terminal">
+<path d="M199.5 31h0"></path>
+<path d="M245 31h0"></path>
+<rect x="199.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="222.25" y="35">"="</text>
+</g>
+<path d="M245 31h10"></path>
+<path d="M255 31h10"></path>
+<g class="non-terminal">
+<path d="M265 31h0"></path>
+<path d="M395.5 31h0"></path>
+<rect x="265" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="330.25" y="35">SimpleSource3</text>
+</a>
+</g>
+</g>
+<path d="M395.5 31h10"></path>
+<path d="M70 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 80h325.5"></path>
+</g>
+<path d="M395.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M405.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 99h0"></path>
+<path d="M139.5 99h266"></path>
+<rect x="60" y="88" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="103">Dynamic</text>
+</a>
+</g>
+<path d="M405.5 99a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 425.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Cast.svg b/abap/expression_Cast.svg
new file mode 100644
index 00000000..24513407
--- /dev/null
+++ b/abap/expression_Cast.svg
@@ -0,0 +1,135 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="804.5" height="101" viewBox="0 0 804.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M754.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M116 40h0"></path>
+<text x="83" y="45" class="comment">v740sp02</text>
+</g>
+<path d="M116 40h10"></path>
+<path d="M126 40h10"></path>
+<g>
+<path d="M136 40h0"></path>
+<path d="M754.5 40h0"></path>
+<g class="terminal">
+<path d="M136 40h0"></path>
+<path d="M207 40h0"></path>
+<rect x="136" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="171.5" y="44">"CAST"</text>
+</g>
+<path d="M207 40h10"></path>
+<path d="M217 40h10"></path>
+<g class="non-terminal">
+<path d="M227 40h0"></path>
+<path d="M374.5 40h0"></path>
+<rect x="227" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="300.75" y="44">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M374.5 40h10"></path>
+<path d="M384.5 40h10"></path>
+<g class="terminal">
+<path d="M394.5 40h0"></path>
+<path d="M457 40h0"></path>
+<rect x="394.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="425.75" y="44">!"( "</text>
+</g>
+<path d="M457 40h10"></path>
+<g>
+<path d="M467 40h0"></path>
+<path d="M552.5 40h0"></path>
+<path d="M467 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M487 20h45.5"></path>
+</g>
+<path d="M532.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M467 40h20"></path>
+<g class="non-terminal">
+<path d="M487 40h0"></path>
+<path d="M532.5 40h0"></path>
+<rect x="487" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="509.75" y="44">Let</text>
+</a>
+</g>
+<path d="M532.5 40h20"></path>
+</g>
+<path d="M552.5 40h10"></path>
+<g class="non-terminal">
+<path d="M562.5 40h0"></path>
+<path d="M633.5 40h0"></path>
+<rect x="562.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="598" y="44">Source</text>
+</a>
+</g>
+<path d="M633.5 40h10"></path>
+<g>
+<path d="M643.5 40h0"></path>
+<path d="M754.5 40h0"></path>
+<path d="M643.5 40h20"></path>
+<g class="terminal">
+<path d="M663.5 40h0"></path>
+<path d="M734.5 40h0"></path>
+<rect x="663.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="699" y="44">!" ) "</text>
+</g>
+<path d="M734.5 40h20"></path>
+<path d="M643.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M663.5 70h0"></path>
+<path d="M726 70h8.5"></path>
+<rect x="663.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="694.75" y="74">!" )"</text>
+</g>
+<path d="M734.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M754.5 40h10"></path>
+<path d="M 764.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ClassFinal.svg b/abap/expression_ClassFinal.svg
new file mode 100644
index 00000000..4d12c62f
--- /dev/null
+++ b/abap/expression_ClassFinal.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="179.5" height="62" viewBox="0 0 179.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"FINAL"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M 139.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ClassFriends.svg b/abap/expression_ClassFriends.svg
new file mode 100644
index 00000000..2067c6df
--- /dev/null
+++ b/abap/expression_ClassFriends.svg
@@ -0,0 +1,97 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="471" height="80" viewBox="0 0 471 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M421 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M178 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h88"></path>
+</g>
+<path d="M158 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h0"></path>
+<rect x="70" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="44">"GLOBAL"</text>
+</g>
+<path d="M158 40h20"></path>
+</g>
+<path d="M178 40h10"></path>
+<g class="terminal">
+<path d="M188 40h0"></path>
+<path d="M284.5 40h0"></path>
+<rect x="188" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="236.25" y="44">"FRIENDS"</text>
+</g>
+<path d="M284.5 40h10"></path>
+<path d="M294.5 40h10"></path>
+<g>
+<path d="M304.5 40h0"></path>
+<path d="M421 40h0"></path>
+<path d="M304.5 40h10"></path>
+<g class="non-terminal">
+<path d="M314.5 40h0"></path>
+<path d="M411 40h0"></path>
+<rect x="314.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="362.75" y="44">ClassName</text>
+</a>
+</g>
+<path d="M411 40h10"></path>
+<path d="M314.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M314.5 60h96.5"></path>
+</g>
+<path d="M411 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M421 40h10"></path>
+<path d="M 431 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ClassGlobal.svg b/abap/expression_ClassGlobal.svg
new file mode 100644
index 00000000..04e3e477
--- /dev/null
+++ b/abap/expression_ClassGlobal.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="188" height="62" viewBox="0 0 188 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"PUBLIC"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M 148 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ClassName.svg b/abap/expression_ClassName.svg
new file mode 100644
index 00000000..6a9c6c02
--- /dev/null
+++ b/abap/expression_ClassName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="298.5" height="62" viewBox="0 0 298.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M248.5 31h0"></path>
+<rect x="50" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="149.25" y="35">^\w&#42;(\/\w{3,}\/)?\w+$</text>
+</g>
+<path d="M248.5 31h10"></path>
+<path d="M 258.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Color.svg b/abap/expression_Color.svg
new file mode 100644
index 00000000..efe41fd6
--- /dev/null
+++ b/abap/expression_Color.svg
@@ -0,0 +1,276 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="648" height="581" viewBox="0 0 648 581">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M598 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"COLOR"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M455.5 40h0"></path>
+<path d="M139.5 40h20"></path>
+<g>
+<path d="M159.5 40h0"></path>
+<path d="M296 40h139.5"></path>
+<g class="terminal">
+<path d="M159.5 40h0"></path>
+<path d="M205 40h0"></path>
+<rect x="159.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="44">"="</text>
+</g>
+<path d="M205 40h10"></path>
+<path d="M215 40h10"></path>
+<g class="non-terminal">
+<path d="M225 40h0"></path>
+<path d="M296 40h0"></path>
+<rect x="225" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="260.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M435.5 40h20"></path>
+<path d="M139.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M159.5 70h0"></path>
+<path d="M435.5 70h0"></path>
+<path d="M159.5 70h20"></path>
+<g class="terminal">
+<path d="M179.5 70h0"></path>
+<path d="M233.5 70h182"></path>
+<rect x="179.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="206.5" y="74">"ON"</text>
+</g>
+<path d="M415.5 70h20"></path>
+<path d="M159.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M179.5 100h0"></path>
+<path d="M242 100h173.5"></path>
+<rect x="179.5" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="210.75" y="104">"OFF"</text>
+</g>
+<path d="M415.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M159.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M179.5 130h0"></path>
+<path d="M415.5 130h0"></path>
+<path d="M179.5 130h20"></path>
+<g>
+<path d="M199.5 130h0"></path>
+<path d="M285 130h110.5"></path>
+<path d="M199.5 130h20"></path>
+<g class="terminal">
+<path d="M219.5 130h0"></path>
+<path d="M265 130h0"></path>
+<rect x="219.5" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="134">"1"</text>
+</g>
+<path d="M265 130h20"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 160h0"></path>
+<path d="M265 160h0"></path>
+<rect x="219.5" y="149" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="164">"2"</text>
+</g>
+<path d="M265 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 190h0"></path>
+<path d="M265 190h0"></path>
+<rect x="219.5" y="179" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="194">"3"</text>
+</g>
+<path d="M265 190a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 220h0"></path>
+<path d="M265 220h0"></path>
+<rect x="219.5" y="209" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="224">"4"</text>
+</g>
+<path d="M265 220a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 250h0"></path>
+<path d="M265 250h0"></path>
+<rect x="219.5" y="239" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="254">"5"</text>
+</g>
+<path d="M265 250a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 280h0"></path>
+<path d="M265 280h0"></path>
+<rect x="219.5" y="269" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="284">"6"</text>
+</g>
+<path d="M265 280a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 130a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 310h0"></path>
+<path d="M265 310h0"></path>
+<rect x="219.5" y="299" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="314">"7"</text>
+</g>
+<path d="M265 310a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M395.5 130h20"></path>
+<path d="M179.5 130a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M199.5 340h0"></path>
+<path d="M395.5 340h0"></path>
+<path d="M199.5 340h20"></path>
+<g class="terminal">
+<path d="M219.5 340h0"></path>
+<path d="M375.5 340h0"></path>
+<rect x="219.5" y="329" width="156" height="22" rx="10" ry="10"></rect>
+<text x="297.5" y="344">"COL&#95;BACKGROUND"</text>
+</g>
+<path d="M375.5 340h20"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 370h0"></path>
+<path d="M350 370h25.5"></path>
+<rect x="219.5" y="359" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="284.75" y="374">"COL&#95;HEADING"</text>
+</g>
+<path d="M375.5 370a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 400h0"></path>
+<path d="M341.5 400h34"></path>
+<rect x="219.5" y="389" width="122" height="22" rx="10" ry="10"></rect>
+<text x="280.5" y="404">"COL&#95;NORMAL"</text>
+</g>
+<path d="M375.5 400a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 430h0"></path>
+<path d="M333 430h42.5"></path>
+<rect x="219.5" y="419" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="276.25" y="434">"COL&#95;TOTAL"</text>
+</g>
+<path d="M375.5 430a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 460h0"></path>
+<path d="M316 460h59.5"></path>
+<rect x="219.5" y="449" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="267.75" y="464">"COL&#95;KEY"</text>
+</g>
+<path d="M375.5 460a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 490h0"></path>
+<path d="M358.5 490h17"></path>
+<rect x="219.5" y="479" width="139" height="22" rx="10" ry="10"></rect>
+<text x="289" y="494">"COL&#95;POSITIVE"</text>
+</g>
+<path d="M375.5 490a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 520h0"></path>
+<path d="M358.5 520h17"></path>
+<rect x="219.5" y="509" width="139" height="22" rx="10" ry="10"></rect>
+<text x="289" y="524">"COL&#95;NEGATIVE"</text>
+</g>
+<path d="M375.5 520a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 340a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 550h0"></path>
+<path d="M333 550h42.5"></path>
+<rect x="219.5" y="539" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="276.25" y="554">"COL&#95;GROUP"</text>
+</g>
+<path d="M375.5 550a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M395.5 340a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M415.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M435.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M455.5 40h0"></path>
+<path d="M598 40h0"></path>
+<path d="M455.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M475.5 20h102.5"></path>
+</g>
+<path d="M578 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M455.5 40h20"></path>
+<g>
+<path d="M475.5 40h0"></path>
+<path d="M578 40h0"></path>
+<path d="M475.5 40h20"></path>
+<g class="terminal">
+<path d="M495.5 40h0"></path>
+<path d="M549.5 40h8.5"></path>
+<rect x="495.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="522.5" y="44">"ON"</text>
+</g>
+<path d="M558 40h20"></path>
+<path d="M475.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M495.5 70h0"></path>
+<path d="M558 70h0"></path>
+<rect x="495.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="526.75" y="74">"OFF"</text>
+</g>
+<path d="M558 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M578 40h20"></path>
+</g>
+</g>
+<path d="M598 40h10"></path>
+<path d="M 608 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Compare.svg b/abap/expression_Compare.svg
new file mode 100644
index 00000000..78d578be
--- /dev/null
+++ b/abap/expression_Compare.svg
@@ -0,0 +1,466 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1076.5" height="445" viewBox="0 0 1076.5 445">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1026.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M152.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h62.5"></path>
+</g>
+<path d="M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h0"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"NOT"</text>
+</g>
+<path d="M132.5 40h20"></path>
+</g>
+<g>
+<path d="M152.5 40h0"></path>
+<path d="M1026.5 40h0"></path>
+<path d="M152.5 40h20"></path>
+<g>
+<path d="M172.5 40h0"></path>
+<path d="M1006.5 40h0"></path>
+<g class="non-terminal">
+<path d="M172.5 40h0"></path>
+<path d="M243.5 40h0"></path>
+<rect x="172.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="208" y="44">Source</text>
+</a>
+</g>
+<path d="M243.5 40h10"></path>
+<g>
+<path d="M253.5 40h0"></path>
+<path d="M1006.5 40h0"></path>
+<path d="M253.5 40h20"></path>
+<g>
+<path d="M273.5 40h0"></path>
+<path d="M512 40h474.5"></path>
+<g class="non-terminal">
+<path d="M273.5 40h0"></path>
+<path d="M421 40h0"></path>
+<rect x="273.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CompareOperator"><text x="347.25" y="44">CompareOperator</text>
+</a>
+</g>
+<path d="M421 40h10"></path>
+<path d="M431 40h10"></path>
+<g class="non-terminal">
+<path d="M441 40h0"></path>
+<path d="M512 40h0"></path>
+<rect x="441" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="476.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M986.5 40h20"></path>
+<path d="M253.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M273.5 79h0"></path>
+<path d="M986.5 79h0"></path>
+<g>
+<path d="M273.5 79h0"></path>
+<path d="M376 79h0"></path>
+<path d="M273.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M293.5 59h62.5"></path>
+</g>
+<path d="M356 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M273.5 79h20"></path>
+<g class="terminal">
+<path d="M293.5 79h0"></path>
+<path d="M356 79h0"></path>
+<rect x="293.5" y="68" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="324.75" y="83">"NOT"</text>
+</g>
+<path d="M356 79h20"></path>
+</g>
+<path d="M376 79h10"></path>
+<g class="terminal">
+<path d="M386 79h0"></path>
+<path d="M440 79h0"></path>
+<rect x="386" y="68" width="54" height="22" rx="10" ry="10"></rect>
+<text x="413" y="83">"IN"</text>
+</g>
+<path d="M440 79h10"></path>
+<g>
+<path d="M450 79h0"></path>
+<path d="M986.5 79h0"></path>
+<path d="M450 79h20"></path>
+<g class="non-terminal">
+<path d="M470 79h0"></path>
+<path d="M541 79h425.5"></path>
+<rect x="470" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="505.5" y="83">Source</text>
+</a>
+</g>
+<path d="M966.5 79h20"></path>
+<path d="M450 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M470 109h0"></path>
+<path d="M966.5 109h0"></path>
+<g class="terminal">
+<path d="M470 109h0"></path>
+<path d="M532.5 109h0"></path>
+<rect x="470" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="501.25" y="113">!" ("</text>
+</g>
+<path d="M532.5 109h10"></path>
+<g>
+<path d="M542.5 109h0"></path>
+<path d="M670.5 109h0"></path>
+<path d="M542.5 109h20"></path>
+<g class="non-terminal">
+<path d="M562.5 109h0"></path>
+<path d="M650.5 109h0"></path>
+<rect x="562.5" y="98" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="606.5" y="113">FieldSub</text>
+</a>
+</g>
+<path d="M650.5 109h20"></path>
+<path d="M542.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M562.5 139h0"></path>
+<path d="M650.5 139h0"></path>
+<rect x="562.5" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="606.5" y="143">Constant</text>
+</a>
+</g>
+<path d="M650.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M670.5 109h10"></path>
+<g>
+<path d="M680.5 109h0"></path>
+<path d="M884 109h0"></path>
+<path d="M680.5 109h10"></path>
+<g>
+<path d="M690.5 109h0"></path>
+<path d="M874 109h0"></path>
+<g class="terminal">
+<path d="M690.5 109h0"></path>
+<path d="M736 109h0"></path>
+<rect x="690.5" y="98" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="713.25" y="113">","</text>
+</g>
+<path d="M736 109h10"></path>
+<g>
+<path d="M746 109h0"></path>
+<path d="M874 109h0"></path>
+<path d="M746 109h20"></path>
+<g class="non-terminal">
+<path d="M766 109h0"></path>
+<path d="M854 109h0"></path>
+<rect x="766" y="98" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="810" y="113">FieldSub</text>
+</a>
+</g>
+<path d="M854 109h20"></path>
+<path d="M746 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M766 139h0"></path>
+<path d="M854 139h0"></path>
+<rect x="766" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="810" y="143">Constant</text>
+</a>
+</g>
+<path d="M854 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M874 109h10"></path>
+<path d="M690.5 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M690.5 158h183.5"></path>
+</g>
+<path d="M874 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M884 109h10"></path>
+<path d="M894 109h10"></path>
+<g class="terminal">
+<path d="M904 109h0"></path>
+<path d="M966.5 109h0"></path>
+<rect x="904" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="935.25" y="113">!") "</text>
+</g>
+</g>
+<path d="M966.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M986.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M253.5 40a10 10 0 0 1 10 10v126a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M273.5 186h0"></path>
+<path d="M747 186h239.5"></path>
+<g>
+<path d="M273.5 186h0"></path>
+<path d="M376 186h0"></path>
+<path d="M273.5 186a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M293.5 166h62.5"></path>
+</g>
+<path d="M356 166a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M273.5 186h20"></path>
+<g class="terminal">
+<path d="M293.5 186h0"></path>
+<path d="M356 186h0"></path>
+<rect x="293.5" y="175" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="324.75" y="190">"NOT"</text>
+</g>
+<path d="M356 186h20"></path>
+</g>
+<path d="M376 186h10"></path>
+<g class="terminal">
+<path d="M386 186h0"></path>
+<path d="M482.5 186h0"></path>
+<rect x="386" y="175" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="434.25" y="190">"BETWEEN"</text>
+</g>
+<path d="M482.5 186h10"></path>
+<path d="M492.5 186h10"></path>
+<g class="non-terminal">
+<path d="M502.5 186h0"></path>
+<path d="M573.5 186h0"></path>
+<rect x="502.5" y="175" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="538" y="190">Source</text>
+</a>
+</g>
+<path d="M573.5 186h10"></path>
+<path d="M583.5 186h10"></path>
+<g class="terminal">
+<path d="M593.5 186h0"></path>
+<path d="M656 186h0"></path>
+<rect x="593.5" y="175" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="624.75" y="190">"AND"</text>
+</g>
+<path d="M656 186h10"></path>
+<path d="M666 186h10"></path>
+<g class="non-terminal">
+<path d="M676 186h0"></path>
+<path d="M747 186h0"></path>
+<rect x="676" y="175" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="711.5" y="190">Source</text>
+</a>
+</g>
+</g>
+<path d="M986.5 186a10 10 0 0 0 10 -10v-126a10 10 0 0 1 10 -10"></path>
+<path d="M253.5 40a10 10 0 0 1 10 10v165a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M273.5 225h0"></path>
+<path d="M876 225h110.5"></path>
+<g class="terminal">
+<path d="M273.5 225h0"></path>
+<path d="M327.5 225h0"></path>
+<rect x="273.5" y="214" width="54" height="22" rx="10" ry="10"></rect>
+<text x="300.5" y="229">"IS"</text>
+</g>
+<path d="M327.5 225h10"></path>
+<g>
+<path d="M337.5 225h0"></path>
+<path d="M440 225h0"></path>
+<path d="M337.5 225a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M357.5 205h62.5"></path>
+</g>
+<path d="M420 205a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M337.5 225h20"></path>
+<g class="terminal">
+<path d="M357.5 225h0"></path>
+<path d="M420 225h0"></path>
+<rect x="357.5" y="214" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="388.75" y="229">"NOT"</text>
+</g>
+<path d="M420 225h20"></path>
+</g>
+<g>
+<path d="M440 225h0"></path>
+<path d="M876 225h0"></path>
+<path d="M440 225h20"></path>
+<g class="terminal">
+<path d="M460 225h0"></path>
+<path d="M565 225h291"></path>
+<rect x="460" y="214" width="105" height="22" rx="10" ry="10"></rect>
+<text x="512.5" y="229">"SUPPLIED"</text>
+</g>
+<path d="M856 225h20"></path>
+<path d="M440 225a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M460 255h0"></path>
+<path d="M539.5 255h316.5"></path>
+<rect x="460" y="244" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="499.75" y="259">"BOUND"</text>
+</g>
+<path d="M856 255a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M440 225a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M460 285h0"></path>
+<path d="M856 285h0"></path>
+<g>
+<path d="M460 285h0"></path>
+<path d="M589 285h0"></path>
+<text x="524.5" y="290" class="comment">v750 or open-abap</text>
+</g>
+<path d="M589 285h10"></path>
+<path d="M599 285h10"></path>
+<g>
+<path d="M609 285h0"></path>
+<path d="M856 285h0"></path>
+<g class="terminal">
+<path d="M609 285h0"></path>
+<path d="M739.5 285h0"></path>
+<rect x="609" y="274" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="674.25" y="289">"INSTANCE OF"</text>
+</g>
+<path d="M739.5 285h10"></path>
+<path d="M749.5 285h10"></path>
+<g class="non-terminal">
+<path d="M759.5 285h0"></path>
+<path d="M856 285h0"></path>
+<rect x="759.5" y="274" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="807.75" y="289">ClassName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M856 285a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M440 225a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M460 315h0"></path>
+<path d="M573.5 315h282.5"></path>
+<rect x="460" y="304" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="319">"REQUESTED"</text>
+</g>
+<path d="M856 315a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M440 225a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M460 345h0"></path>
+<path d="M556.5 345h299.5"></path>
+<rect x="460" y="334" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="508.25" y="349">"INITIAL"</text>
+</g>
+<path d="M856 345a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M986.5 225a10 10 0 0 0 10 -10v-165a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1006.5 40h20"></path>
+<path d="M152.5 40a10 10 0 0 1 10 10v315a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M172.5 375h0"></path>
+<path d="M406 375h600.5"></path>
+<g>
+<path d="M172.5 375h0"></path>
+<path d="M238.5 375h0"></path>
+<text x="205.5" y="380" class="comment">v740sp08</text>
+</g>
+<path d="M238.5 375h10"></path>
+<path d="M248.5 375h10"></path>
+<g class="non-terminal">
+<path d="M258.5 375h0"></path>
+<path d="M406 375h0"></path>
+<rect x="258.5" y="364" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallChain"><text x="332.25" y="379">MethodCallChain</text>
+</a>
+</g>
+</g>
+<path d="M1006.5 375a10 10 0 0 0 10 -10v-315a10 10 0 0 1 10 -10"></path>
+<path d="M152.5 40a10 10 0 0 1 10 10v354a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M172.5 414h0"></path>
+<path d="M681 414h325.5"></path>
+<g class="non-terminal">
+<path d="M172.5 414h0"></path>
+<path d="M379.5 414h0"></path>
+<rect x="172.5" y="403" width="207" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbolChain"><text x="276" y="418">SourceFieldSymbolChain</text>
+</a>
+</g>
+<path d="M379.5 414h10"></path>
+<path d="M389.5 414h10"></path>
+<g class="terminal">
+<path d="M399.5 414h0"></path>
+<path d="M453.5 414h0"></path>
+<rect x="399.5" y="403" width="54" height="22" rx="10" ry="10"></rect>
+<text x="426.5" y="418">"IS"</text>
+</g>
+<path d="M453.5 414h10"></path>
+<g>
+<path d="M463.5 414h0"></path>
+<path d="M566 414h0"></path>
+<path d="M463.5 414a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M483.5 394h62.5"></path>
+</g>
+<path d="M546 394a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M463.5 414h20"></path>
+<g class="terminal">
+<path d="M483.5 414h0"></path>
+<path d="M546 414h0"></path>
+<rect x="483.5" y="403" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="514.75" y="418">"NOT"</text>
+</g>
+<path d="M546 414h20"></path>
+</g>
+<path d="M566 414h10"></path>
+<g class="terminal">
+<path d="M576 414h0"></path>
+<path d="M681 414h0"></path>
+<rect x="576" y="403" width="105" height="22" rx="10" ry="10"></rect>
+<text x="628.5" y="418">"ASSIGNED"</text>
+</g>
+</g>
+<path d="M1006.5 414a10 10 0 0 0 10 -10v-354a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1026.5 40h10"></path>
+<path d="M 1036.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CompareOperator.svg b/abap/expression_CompareOperator.svg
new file mode 100644
index 00000000..d6ee4dec
--- /dev/null
+++ b/abap/expression_CompareOperator.svg
@@ -0,0 +1,307 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="216.5" height="992" viewBox="0 0 216.5 992">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M176.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M105.5 31h51"></path>
+<rect x="60" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="35">"="</text>
+</g>
+<path d="M156.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M114 61h42.5"></path>
+<rect x="60" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="65">"&#60;>"</text>
+</g>
+<path d="M156.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M114 91h42.5"></path>
+<rect x="60" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="95">">&#60;"</text>
+</g>
+<path d="M156.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 121h0"></path>
+<path d="M105.5 121h51"></path>
+<rect x="60" y="110" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="125">"&#60;"</text>
+</g>
+<path d="M156.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M105.5 151h51"></path>
+<rect x="60" y="140" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="155">">"</text>
+</g>
+<path d="M156.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 181h0"></path>
+<path d="M114 181h42.5"></path>
+<rect x="60" y="170" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="185">"&#60;="</text>
+</g>
+<path d="M156.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 211h0"></path>
+<path d="M114 211h42.5"></path>
+<rect x="60" y="200" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="215">">="</text>
+</g>
+<path d="M156.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 241h0"></path>
+<path d="M114 241h42.5"></path>
+<rect x="60" y="230" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="245">"=>"</text>
+</g>
+<path d="M156.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 271h0"></path>
+<path d="M114 271h42.5"></path>
+<rect x="60" y="260" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="275">"=&#60;"</text>
+</g>
+<path d="M156.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 301h0"></path>
+<path d="M114 301h42.5"></path>
+<rect x="60" y="290" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="305">"CA"</text>
+</g>
+<path d="M156.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 331h0"></path>
+<path d="M114 331h42.5"></path>
+<rect x="60" y="320" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="335">"CO"</text>
+</g>
+<path d="M156.5 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 361h0"></path>
+<path d="M114 361h42.5"></path>
+<rect x="60" y="350" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="365">"CP"</text>
+</g>
+<path d="M156.5 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 391h0"></path>
+<path d="M114 391h42.5"></path>
+<rect x="60" y="380" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="395">"EQ"</text>
+</g>
+<path d="M156.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 421h0"></path>
+<path d="M114 421h42.5"></path>
+<rect x="60" y="410" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="425">"NE"</text>
+</g>
+<path d="M156.5 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 451h0"></path>
+<path d="M114 451h42.5"></path>
+<rect x="60" y="440" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="455">"CN"</text>
+</g>
+<path d="M156.5 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 481h0"></path>
+<path d="M114 481h42.5"></path>
+<rect x="60" y="470" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="485">"GE"</text>
+</g>
+<path d="M156.5 481a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 511h0"></path>
+<path d="M114 511h42.5"></path>
+<rect x="60" y="500" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="515">"GT"</text>
+</g>
+<path d="M156.5 511a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 541h0"></path>
+<path d="M114 541h42.5"></path>
+<rect x="60" y="530" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="545">"LT"</text>
+</g>
+<path d="M156.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 571h0"></path>
+<path d="M114 571h42.5"></path>
+<rect x="60" y="560" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="575">"LE"</text>
+</g>
+<path d="M156.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 601h0"></path>
+<path d="M114 601h42.5"></path>
+<rect x="60" y="590" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="605">"CS"</text>
+</g>
+<path d="M156.5 601a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 631h0"></path>
+<path d="M114 631h42.5"></path>
+<rect x="60" y="620" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="635">"NS"</text>
+</g>
+<path d="M156.5 631a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 661h0"></path>
+<path d="M114 661h42.5"></path>
+<rect x="60" y="650" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="665">"NA"</text>
+</g>
+<path d="M156.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 691h0"></path>
+<path d="M114 691h42.5"></path>
+<rect x="60" y="680" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="695">"NP"</text>
+</g>
+<path d="M156.5 691a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 721h0"></path>
+<path d="M156.5 721h0"></path>
+<rect x="60" y="710" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="725">"BYTE-CO"</text>
+</g>
+<path d="M156.5 721a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 751h0"></path>
+<path d="M156.5 751h0"></path>
+<rect x="60" y="740" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="755">"BYTE-CA"</text>
+</g>
+<path d="M156.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 781h0"></path>
+<path d="M156.5 781h0"></path>
+<rect x="60" y="770" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="785">"BYTE-CS"</text>
+</g>
+<path d="M156.5 781a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 811h0"></path>
+<path d="M156.5 811h0"></path>
+<rect x="60" y="800" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="815">"BYTE-CN"</text>
+</g>
+<path d="M156.5 811a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 841h0"></path>
+<path d="M156.5 841h0"></path>
+<rect x="60" y="830" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="845">"BYTE-NA"</text>
+</g>
+<path d="M156.5 841a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 871h0"></path>
+<path d="M156.5 871h0"></path>
+<rect x="60" y="860" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="875">"BYTE-NS"</text>
+</g>
+<path d="M156.5 871a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 901h0"></path>
+<path d="M105.5 901h51"></path>
+<rect x="60" y="890" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="905">"O"</text>
+</g>
+<path d="M156.5 901a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v880a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 931h0"></path>
+<path d="M105.5 931h51"></path>
+<rect x="60" y="920" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="935">"Z"</text>
+</g>
+<path d="M156.5 931a10 10 0 0 0 10 -10v-880a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v910a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 961h0"></path>
+<path d="M105.5 961h51"></path>
+<rect x="60" y="950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="965">"M"</text>
+</g>
+<path d="M156.5 961a10 10 0 0 0 10 -10v-910a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 176.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentChain.svg b/abap/expression_ComponentChain.svg
new file mode 100644
index 00000000..21609a91
--- /dev/null
+++ b/abap/expression_ComponentChain.svg
@@ -0,0 +1,190 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1088" height="139" viewBox="0 0 1088 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1038 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M584.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="115.25" y="44">ComponentName</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M584.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h354"></path>
+</g>
+<path d="M564.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M564.5 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M554.5 40h0"></path>
+<path d="M220.5 40h20"></path>
+<g>
+<path d="M240.5 40h0"></path>
+<path d="M534.5 40h0"></path>
+<g class="non-terminal">
+<path d="M240.5 40h0"></path>
+<path d="M354 40h0"></path>
+<rect x="240.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArrowOrDash"><text x="297.25" y="44">ArrowOrDash</text>
+</a>
+</g>
+<path d="M354 40h10"></path>
+<g>
+<path d="M364 40h0"></path>
+<path d="M534.5 40h0"></path>
+<path d="M364 40h20"></path>
+<g class="terminal">
+<path d="M384 40h0"></path>
+<path d="M429.5 40h85"></path>
+<rect x="384" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="406.75" y="44">"&#42;"</text>
+</g>
+<path d="M514.5 40h20"></path>
+<path d="M364 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M384 70h0"></path>
+<path d="M514.5 70h0"></path>
+<rect x="384" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="449.25" y="74">ComponentName</text>
+</a>
+</g>
+<path d="M514.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M534.5 40h20"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M240.5 100h0"></path>
+<path d="M388 100h146.5"></path>
+<rect x="240.5" y="89" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableExpression"><text x="314.25" y="104">TableExpression</text>
+</a>
+</g>
+<path d="M534.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M554.5 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 119h334"></path>
+</g>
+<path d="M554.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M564.5 40h20"></path>
+</g>
+</g>
+<path d="M584.5 40h10"></path>
+<g>
+<path d="M594.5 40h0"></path>
+<path d="M731 40h0"></path>
+<path d="M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M614.5 20h96.5"></path>
+</g>
+<path d="M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M594.5 40h20"></path>
+<g class="non-terminal">
+<path d="M614.5 40h0"></path>
+<path d="M711 40h0"></path>
+<rect x="614.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="662.75" y="44">TableBody</text>
+</a>
+</g>
+<path d="M711 40h20"></path>
+</g>
+<g>
+<path d="M731 40h0"></path>
+<path d="M884.5 40h0"></path>
+<path d="M731 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M751 20h113.5"></path>
+</g>
+<path d="M864.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M731 40h20"></path>
+<g class="non-terminal">
+<path d="M751 40h0"></path>
+<path d="M864.5 40h0"></path>
+<rect x="751" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="807.75" y="44">FieldOffset</text>
+</a>
+</g>
+<path d="M864.5 40h20"></path>
+</g>
+<g>
+<path d="M884.5 40h0"></path>
+<path d="M1038 40h0"></path>
+<path d="M884.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M904.5 20h113.5"></path>
+</g>
+<path d="M1018 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M884.5 40h20"></path>
+<g class="non-terminal">
+<path d="M904.5 40h0"></path>
+<path d="M1018 40h0"></path>
+<rect x="904.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="961.25" y="44">FieldLength</text>
+</a>
+</g>
+<path d="M1018 40h20"></path>
+</g>
+</g>
+<path d="M1038 40h10"></path>
+<path d="M 1048 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentChainSimple.svg b/abap/expression_ComponentChainSimple.svg
new file mode 100644
index 00000000..84a73860
--- /dev/null
+++ b/abap/expression_ComponentChainSimple.svg
@@ -0,0 +1,144 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="881.5" height="80" viewBox="0 0 881.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M831.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M514.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="115.25" y="44">ComponentName</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M514.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h284"></path>
+</g>
+<path d="M494.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M494.5 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M484.5 40h0"></path>
+<g class="non-terminal">
+<path d="M220.5 40h0"></path>
+<path d="M334 40h0"></path>
+<rect x="220.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArrowOrDash"><text x="277.25" y="44">ArrowOrDash</text>
+</a>
+</g>
+<path d="M334 40h10"></path>
+<path d="M344 40h10"></path>
+<g class="non-terminal">
+<path d="M354 40h0"></path>
+<path d="M484.5 40h0"></path>
+<rect x="354" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="419.25" y="44">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M484.5 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 60h264"></path>
+</g>
+<path d="M484.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M494.5 40h20"></path>
+</g>
+</g>
+<path d="M514.5 40h10"></path>
+<g>
+<path d="M524.5 40h0"></path>
+<path d="M678 40h0"></path>
+<path d="M524.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M544.5 20h113.5"></path>
+</g>
+<path d="M658 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M524.5 40h20"></path>
+<g class="non-terminal">
+<path d="M544.5 40h0"></path>
+<path d="M658 40h0"></path>
+<rect x="544.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="601.25" y="44">FieldOffset</text>
+</a>
+</g>
+<path d="M658 40h20"></path>
+</g>
+<g>
+<path d="M678 40h0"></path>
+<path d="M831.5 40h0"></path>
+<path d="M678 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M698 20h113.5"></path>
+</g>
+<path d="M811.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M678 40h20"></path>
+<g class="non-terminal">
+<path d="M698 40h0"></path>
+<path d="M811.5 40h0"></path>
+<rect x="698" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="754.75" y="44">FieldLength</text>
+</a>
+</g>
+<path d="M811.5 40h20"></path>
+</g>
+</g>
+<path d="M831.5 40h10"></path>
+<path d="M 841.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentCompare.svg b/abap/expression_ComponentCompare.svg
new file mode 100644
index 00000000..91f53d3d
--- /dev/null
+++ b/abap/expression_ComponentCompare.svg
@@ -0,0 +1,403 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1165.5" height="406" viewBox="0 0 1165.5 406">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1115.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M152.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h62.5"></path>
+</g>
+<path d="M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h0"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"NOT"</text>
+</g>
+<path d="M132.5 40h20"></path>
+</g>
+<path d="M152.5 40h10"></path>
+<g>
+<path d="M162.5 40h0"></path>
+<path d="M1115.5 40h0"></path>
+<g class="non-terminal">
+<path d="M162.5 40h0"></path>
+<path d="M352.5 40h0"></path>
+<rect x="162.5" y="29" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="257.5" y="44">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M352.5 40h10"></path>
+<g>
+<path d="M362.5 40h0"></path>
+<path d="M1115.5 40h0"></path>
+<path d="M362.5 40h20"></path>
+<g>
+<path d="M382.5 40h0"></path>
+<path d="M621 40h474.5"></path>
+<g class="non-terminal">
+<path d="M382.5 40h0"></path>
+<path d="M530 40h0"></path>
+<rect x="382.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CompareOperator"><text x="456.25" y="44">CompareOperator</text>
+</a>
+</g>
+<path d="M530 40h10"></path>
+<path d="M540 40h10"></path>
+<g class="non-terminal">
+<path d="M550 40h0"></path>
+<path d="M621 40h0"></path>
+<rect x="550" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="585.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1095.5 40h20"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 79h0"></path>
+<path d="M1095.5 79h0"></path>
+<g>
+<path d="M382.5 79h0"></path>
+<path d="M485 79h0"></path>
+<path d="M382.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 59h62.5"></path>
+</g>
+<path d="M465 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 79h20"></path>
+<g class="terminal">
+<path d="M402.5 79h0"></path>
+<path d="M465 79h0"></path>
+<rect x="402.5" y="68" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="433.75" y="83">"NOT"</text>
+</g>
+<path d="M465 79h20"></path>
+</g>
+<path d="M485 79h10"></path>
+<g class="terminal">
+<path d="M495 79h0"></path>
+<path d="M549 79h0"></path>
+<rect x="495" y="68" width="54" height="22" rx="10" ry="10"></rect>
+<text x="522" y="83">"IN"</text>
+</g>
+<path d="M549 79h10"></path>
+<g>
+<path d="M559 79h0"></path>
+<path d="M1095.5 79h0"></path>
+<path d="M559 79h20"></path>
+<g class="non-terminal">
+<path d="M579 79h0"></path>
+<path d="M650 79h425.5"></path>
+<rect x="579" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="614.5" y="83">Source</text>
+</a>
+</g>
+<path d="M1075.5 79h20"></path>
+<path d="M559 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M579 109h0"></path>
+<path d="M1075.5 109h0"></path>
+<g class="terminal">
+<path d="M579 109h0"></path>
+<path d="M641.5 109h0"></path>
+<rect x="579" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="610.25" y="113">!" ("</text>
+</g>
+<path d="M641.5 109h10"></path>
+<g>
+<path d="M651.5 109h0"></path>
+<path d="M779.5 109h0"></path>
+<path d="M651.5 109h20"></path>
+<g class="non-terminal">
+<path d="M671.5 109h0"></path>
+<path d="M759.5 109h0"></path>
+<rect x="671.5" y="98" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="715.5" y="113">FieldSub</text>
+</a>
+</g>
+<path d="M759.5 109h20"></path>
+<path d="M651.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M671.5 139h0"></path>
+<path d="M759.5 139h0"></path>
+<rect x="671.5" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="715.5" y="143">Constant</text>
+</a>
+</g>
+<path d="M759.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M779.5 109h10"></path>
+<g>
+<path d="M789.5 109h0"></path>
+<path d="M993 109h0"></path>
+<path d="M789.5 109h10"></path>
+<g>
+<path d="M799.5 109h0"></path>
+<path d="M983 109h0"></path>
+<g class="terminal">
+<path d="M799.5 109h0"></path>
+<path d="M845 109h0"></path>
+<rect x="799.5" y="98" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="822.25" y="113">","</text>
+</g>
+<path d="M845 109h10"></path>
+<g>
+<path d="M855 109h0"></path>
+<path d="M983 109h0"></path>
+<path d="M855 109h20"></path>
+<g class="non-terminal">
+<path d="M875 109h0"></path>
+<path d="M963 109h0"></path>
+<rect x="875" y="98" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="919" y="113">FieldSub</text>
+</a>
+</g>
+<path d="M963 109h20"></path>
+<path d="M855 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M875 139h0"></path>
+<path d="M963 139h0"></path>
+<rect x="875" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="919" y="143">Constant</text>
+</a>
+</g>
+<path d="M963 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M983 109h10"></path>
+<path d="M799.5 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M799.5 158h183.5"></path>
+</g>
+<path d="M983 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M993 109h10"></path>
+<path d="M1003 109h10"></path>
+<g class="terminal">
+<path d="M1013 109h0"></path>
+<path d="M1075.5 109h0"></path>
+<rect x="1013" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1044.25" y="113">!") "</text>
+</g>
+</g>
+<path d="M1075.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1095.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v126a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 186h0"></path>
+<path d="M856 186h239.5"></path>
+<g>
+<path d="M382.5 186h0"></path>
+<path d="M485 186h0"></path>
+<path d="M382.5 186a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 166h62.5"></path>
+</g>
+<path d="M465 166a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 186h20"></path>
+<g class="terminal">
+<path d="M402.5 186h0"></path>
+<path d="M465 186h0"></path>
+<rect x="402.5" y="175" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="433.75" y="190">"NOT"</text>
+</g>
+<path d="M465 186h20"></path>
+</g>
+<path d="M485 186h10"></path>
+<g class="terminal">
+<path d="M495 186h0"></path>
+<path d="M591.5 186h0"></path>
+<rect x="495" y="175" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="543.25" y="190">"BETWEEN"</text>
+</g>
+<path d="M591.5 186h10"></path>
+<path d="M601.5 186h10"></path>
+<g class="non-terminal">
+<path d="M611.5 186h0"></path>
+<path d="M682.5 186h0"></path>
+<rect x="611.5" y="175" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="647" y="190">Source</text>
+</a>
+</g>
+<path d="M682.5 186h10"></path>
+<path d="M692.5 186h10"></path>
+<g class="terminal">
+<path d="M702.5 186h0"></path>
+<path d="M765 186h0"></path>
+<rect x="702.5" y="175" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="733.75" y="190">"AND"</text>
+</g>
+<path d="M765 186h10"></path>
+<path d="M775 186h10"></path>
+<g class="non-terminal">
+<path d="M785 186h0"></path>
+<path d="M856 186h0"></path>
+<rect x="785" y="175" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="820.5" y="190">Source</text>
+</a>
+</g>
+</g>
+<path d="M1095.5 186a10 10 0 0 0 10 -10v-126a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v165a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 225h0"></path>
+<path d="M868.5 225h227"></path>
+<g class="terminal">
+<path d="M382.5 225h0"></path>
+<path d="M436.5 225h0"></path>
+<rect x="382.5" y="214" width="54" height="22" rx="10" ry="10"></rect>
+<text x="409.5" y="229">"IS"</text>
+</g>
+<path d="M436.5 225h10"></path>
+<g>
+<path d="M446.5 225h0"></path>
+<path d="M549 225h0"></path>
+<path d="M446.5 225a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M466.5 205h62.5"></path>
+</g>
+<path d="M529 205a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M446.5 225h20"></path>
+<g class="terminal">
+<path d="M466.5 225h0"></path>
+<path d="M529 225h0"></path>
+<rect x="466.5" y="214" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="497.75" y="229">"NOT"</text>
+</g>
+<path d="M529 225h20"></path>
+</g>
+<g>
+<path d="M549 225h0"></path>
+<path d="M868.5 225h0"></path>
+<path d="M549 225h20"></path>
+<g class="terminal">
+<path d="M569 225h0"></path>
+<path d="M674 225h174.5"></path>
+<rect x="569" y="214" width="105" height="22" rx="10" ry="10"></rect>
+<text x="621.5" y="229">"SUPPLIED"</text>
+</g>
+<path d="M848.5 225h20"></path>
+<path d="M549 225a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M569 255h0"></path>
+<path d="M648.5 255h200"></path>
+<rect x="569" y="244" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="608.75" y="259">"BOUND"</text>
+</g>
+<path d="M848.5 255a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M549 225a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M569 285h0"></path>
+<path d="M848.5 285h0"></path>
+<g>
+<path d="M569 285h0"></path>
+<path d="M607 285h0"></path>
+<text x="588" y="290" class="comment">v750</text>
+</g>
+<path d="M607 285h10"></path>
+<path d="M617 285h10"></path>
+<g>
+<path d="M627 285h0"></path>
+<path d="M848.5 285h0"></path>
+<g class="terminal">
+<path d="M627 285h0"></path>
+<path d="M757.5 285h0"></path>
+<rect x="627" y="274" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="692.25" y="289">"INSTANCE OF"</text>
+</g>
+<path d="M757.5 285h10"></path>
+<path d="M767.5 285h10"></path>
+<g class="non-terminal">
+<path d="M777.5 285h0"></path>
+<path d="M848.5 285h0"></path>
+<rect x="777.5" y="274" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="813" y="289">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M848.5 285a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M549 225a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M569 315h0"></path>
+<path d="M682.5 315h166"></path>
+<rect x="569" y="304" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="625.75" y="319">"REQUESTED"</text>
+</g>
+<path d="M848.5 315a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M549 225a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M569 345h0"></path>
+<path d="M674 345h174.5"></path>
+<rect x="569" y="334" width="105" height="22" rx="10" ry="10"></rect>
+<text x="621.5" y="349">"ASSIGNED"</text>
+</g>
+<path d="M848.5 345a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M549 225a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M569 375h0"></path>
+<path d="M665.5 375h183"></path>
+<rect x="569" y="364" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="617.25" y="379">"INITIAL"</text>
+</g>
+<path d="M848.5 375a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1095.5 225a10 10 0 0 0 10 -10v-165a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1115.5 40h10"></path>
+<path d="M 1125.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentCompareSimple.svg b/abap/expression_ComponentCompareSimple.svg
new file mode 100644
index 00000000..cc7857ce
--- /dev/null
+++ b/abap/expression_ComponentCompareSimple.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="496.5" height="100" viewBox="0 0 496.5 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M446.5 31h0"></path>
+<path d="M50 31h10"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M436.5 31h0"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M290 31h0"></path>
+<path d="M60 31h20"></path>
+<g class="non-terminal">
+<path d="M80 31h0"></path>
+<path d="M270 31h0"></path>
+<rect x="80" y="20" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="175" y="35">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M270 31h20"></path>
+<path d="M60 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 61h0"></path>
+<path d="M159.5 61h110.5"></path>
+<rect x="80" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="119.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M270 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M290 31h10"></path>
+<g class="terminal">
+<path d="M300 31h0"></path>
+<path d="M345.5 31h0"></path>
+<rect x="300" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="322.75" y="35">"="</text>
+</g>
+<path d="M345.5 31h10"></path>
+<path d="M355.5 31h10"></path>
+<g class="non-terminal">
+<path d="M365.5 31h0"></path>
+<path d="M436.5 31h0"></path>
+<rect x="365.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="401" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M436.5 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 80h376.5"></path>
+</g>
+<path d="M436.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M446.5 31h10"></path>
+<path d="M 456.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentCompareSingle.svg b/abap/expression_ComponentCompareSingle.svg
new file mode 100644
index 00000000..0ea466e0
--- /dev/null
+++ b/abap/expression_ComponentCompareSingle.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="476.5" height="92" viewBox="0 0 476.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M426.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M280 31h0"></path>
+<path d="M50 31h20"></path>
+<g class="non-terminal">
+<path d="M70 31h0"></path>
+<path d="M260 31h0"></path>
+<rect x="70" y="20" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="165" y="35">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M260 31h20"></path>
+<path d="M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 61h0"></path>
+<path d="M149.5 61h110.5"></path>
+<rect x="70" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="109.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M260 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M280 31h10"></path>
+<g class="terminal">
+<path d="M290 31h0"></path>
+<path d="M335.5 31h0"></path>
+<rect x="290" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="312.75" y="35">"="</text>
+</g>
+<path d="M335.5 31h10"></path>
+<path d="M345.5 31h10"></path>
+<g class="non-terminal">
+<path d="M355.5 31h0"></path>
+<path d="M426.5 31h0"></path>
+<rect x="355.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="391" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M426.5 31h10"></path>
+<path d="M 436.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentCond.svg b/abap/expression_ComponentCond.svg
new file mode 100644
index 00000000..6db24aef
--- /dev/null
+++ b/abap/expression_ComponentCond.svg
@@ -0,0 +1,143 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="654.5" height="109" viewBox="0 0 654.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M604.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M246 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M226 40h0"></path>
+<rect x="70" y="29" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompare"><text x="148" y="44">ComponentCompare</text>
+</a>
+</g>
+<path d="M226 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M226 70h0"></path>
+<rect x="70" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCondSub"><text x="148" y="74">ComponentCondSub</text>
+</a>
+</g>
+<path d="M226 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M246 40h0"></path>
+<path d="M604.5 40h0"></path>
+<path d="M246 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M266 20h318.5"></path>
+</g>
+<path d="M584.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M246 40h20"></path>
+<g>
+<path d="M266 40h0"></path>
+<path d="M584.5 40h0"></path>
+<path d="M266 40h10"></path>
+<g>
+<path d="M276 40h0"></path>
+<path d="M574.5 40h0"></path>
+<g>
+<path d="M276 40h0"></path>
+<path d="M378.5 40h0"></path>
+<path d="M276 40h20"></path>
+<g class="terminal">
+<path d="M296 40h0"></path>
+<path d="M358.5 40h0"></path>
+<rect x="296" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="327.25" y="44">"AND"</text>
+</g>
+<path d="M358.5 40h20"></path>
+<path d="M276 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M296 70h0"></path>
+<path d="M350 70h8.5"></path>
+<rect x="296" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="323" y="74">"OR"</text>
+</g>
+<path d="M358.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M378.5 40h0"></path>
+<path d="M574.5 40h0"></path>
+<path d="M378.5 40h20"></path>
+<g class="non-terminal">
+<path d="M398.5 40h0"></path>
+<path d="M554.5 40h0"></path>
+<rect x="398.5" y="29" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompare"><text x="476.5" y="44">ComponentCompare</text>
+</a>
+</g>
+<path d="M554.5 40h20"></path>
+<path d="M378.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M398.5 70h0"></path>
+<path d="M554.5 70h0"></path>
+<rect x="398.5" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCondSub"><text x="476.5" y="74">ComponentCondSub</text>
+</a>
+</g>
+<path d="M554.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M574.5 40h10"></path>
+<path d="M276 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M276 89h298.5"></path>
+</g>
+<path d="M574.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M584.5 40h20"></path>
+</g>
+</g>
+<path d="M604.5 40h10"></path>
+<path d="M 614.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentCondSub.svg b/abap/expression_ComponentCondSub.svg
new file mode 100644
index 00000000..f12a80ad
--- /dev/null
+++ b/abap/expression_ComponentCondSub.svg
@@ -0,0 +1,107 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="555" height="101" viewBox="0 0 555 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M505 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M152.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h62.5"></path>
+</g>
+<path d="M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h0"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"NOT"</text>
+</g>
+<path d="M132.5 40h20"></path>
+</g>
+<path d="M152.5 40h10"></path>
+<g class="terminal">
+<path d="M162.5 40h0"></path>
+<path d="M233.5 40h0"></path>
+<rect x="162.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="198" y="44">!" ( "</text>
+</g>
+<path d="M233.5 40h10"></path>
+<path d="M243.5 40h10"></path>
+<g class="non-terminal">
+<path d="M253.5 40h0"></path>
+<path d="M384 40h0"></path>
+<rect x="253.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="318.75" y="44">ComponentCond</text>
+</a>
+</g>
+<path d="M384 40h10"></path>
+<g>
+<path d="M394 40h0"></path>
+<path d="M505 40h0"></path>
+<path d="M394 40h20"></path>
+<g class="terminal">
+<path d="M414 40h0"></path>
+<path d="M485 40h0"></path>
+<rect x="414" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="449.5" y="44">!" ) "</text>
+</g>
+<path d="M485 40h20"></path>
+<path d="M394 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M414 70h0"></path>
+<path d="M476.5 70h8.5"></path>
+<rect x="414" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="445.25" y="74">!") "</text>
+</g>
+<path d="M485 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M505 40h10"></path>
+<path d="M 515 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ComponentName.svg b/abap/expression_ComponentName.svg
new file mode 100644
index 00000000..6070220e
--- /dev/null
+++ b/abap/expression_ComponentName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="341" height="62" viewBox="0 0 341 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M291 31h0"></path>
+<rect x="50" y="20" width="241" height="22" rx="10" ry="10"></rect>
+<text x="170.5" y="35">^(\/\w+\/)?&#91;\w\d&#95;%$\&#42;\~&#93;+$</text>
+</g>
+<path d="M291 31h10"></path>
+<path d="M 301 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ConcatenatedConstant.svg b/abap/expression_ConcatenatedConstant.svg
new file mode 100644
index 00000000..e9f5053c
--- /dev/null
+++ b/abap/expression_ConcatenatedConstant.svg
@@ -0,0 +1,137 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="367.5" height="110" viewBox="0 0 367.5 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M327.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M307.5 31h0"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M131 31h0"></path>
+<rect x="60" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="35">^&#96;.&#42;&#96;$</text>
+</g>
+<path d="M131 31h10"></path>
+<path d="M141 31h10"></path>
+<g>
+<path d="M151 31h0"></path>
+<path d="M307.5 31h0"></path>
+<path d="M151 31h10"></path>
+<g>
+<path d="M161 31h0"></path>
+<path d="M297.5 31h0"></path>
+<g class="terminal">
+<path d="M161 31h0"></path>
+<path d="M206.5 31h0"></path>
+<rect x="161" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="35">"&#38;"</text>
+</g>
+<path d="M206.5 31h10"></path>
+<path d="M216.5 31h10"></path>
+<g class="terminal">
+<path d="M226.5 31h0"></path>
+<path d="M297.5 31h0"></path>
+<rect x="226.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="262" y="35">^&#96;.&#42;&#96;$</text>
+</g>
+</g>
+<path d="M297.5 31h10"></path>
+<path d="M161 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 51h136.5"></path>
+</g>
+<path d="M297.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M307.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 70h0"></path>
+<path d="M307.5 70h0"></path>
+<g class="terminal">
+<path d="M60 70h0"></path>
+<path d="M131 70h0"></path>
+<rect x="60" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="74">^'.&#42;'$</text>
+</g>
+<path d="M131 70h10"></path>
+<path d="M141 70h10"></path>
+<g>
+<path d="M151 70h0"></path>
+<path d="M307.5 70h0"></path>
+<path d="M151 70h10"></path>
+<g>
+<path d="M161 70h0"></path>
+<path d="M297.5 70h0"></path>
+<g class="terminal">
+<path d="M161 70h0"></path>
+<path d="M206.5 70h0"></path>
+<rect x="161" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="74">"&#38;"</text>
+</g>
+<path d="M206.5 70h10"></path>
+<path d="M216.5 70h10"></path>
+<g class="terminal">
+<path d="M226.5 70h0"></path>
+<path d="M297.5 70h0"></path>
+<rect x="226.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="262" y="74">^'.&#42;'$</text>
+</g>
+</g>
+<path d="M297.5 70h10"></path>
+<path d="M161 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 90h136.5"></path>
+</g>
+<path d="M297.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M307.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 327.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Cond.svg b/abap/expression_Cond.svg
new file mode 100644
index 00000000..118c6e3e
--- /dev/null
+++ b/abap/expression_Cond.svg
@@ -0,0 +1,162 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="576.5" height="139" viewBox="0 0 576.5 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M526.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M169.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M149.5 40h0"></path>
+<rect x="70" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Compare"><text x="109.75" y="44">Compare</text>
+</a>
+</g>
+<path d="M149.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M149.5 70h0"></path>
+<rect x="70" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CondSub"><text x="109.75" y="74">CondSub</text>
+</a>
+</g>
+<path d="M149.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M169.5 40h0"></path>
+<path d="M526.5 40h0"></path>
+<path d="M169.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M189.5 20h317"></path>
+</g>
+<path d="M506.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M169.5 40h20"></path>
+<g>
+<path d="M189.5 40h0"></path>
+<path d="M506.5 40h0"></path>
+<path d="M189.5 40h10"></path>
+<g>
+<path d="M199.5 40h0"></path>
+<path d="M496.5 40h0"></path>
+<g>
+<path d="M199.5 40h0"></path>
+<path d="M377 40h0"></path>
+<path d="M199.5 40h20"></path>
+<g class="terminal">
+<path d="M219.5 40h0"></path>
+<path d="M282 40h75"></path>
+<rect x="219.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="250.75" y="44">"AND"</text>
+</g>
+<path d="M357 40h20"></path>
+<path d="M199.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M219.5 70h0"></path>
+<path d="M273.5 70h83.5"></path>
+<rect x="219.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="246.5" y="74">"OR"</text>
+</g>
+<path d="M357 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M199.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M219.5 100h0"></path>
+<path d="M357 100h0"></path>
+<g>
+<path d="M219.5 100h0"></path>
+<path d="M257.5 100h0"></path>
+<text x="238.5" y="105" class="comment">v702</text>
+</g>
+<path d="M257.5 100h10"></path>
+<path d="M267.5 100h10"></path>
+<g class="terminal">
+<path d="M277.5 100h0"></path>
+<path d="M357 100h0"></path>
+<rect x="277.5" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="317.25" y="104">"EQUIV"</text>
+</g>
+</g>
+<path d="M357 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M377 40h0"></path>
+<path d="M496.5 40h0"></path>
+<path d="M377 40h20"></path>
+<g class="non-terminal">
+<path d="M397 40h0"></path>
+<path d="M476.5 40h0"></path>
+<rect x="397" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Compare"><text x="436.75" y="44">Compare</text>
+</a>
+</g>
+<path d="M476.5 40h20"></path>
+<path d="M377 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M397 70h0"></path>
+<path d="M476.5 70h0"></path>
+<rect x="397" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CondSub"><text x="436.75" y="74">CondSub</text>
+</a>
+</g>
+<path d="M476.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M496.5 40h10"></path>
+<path d="M199.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M199.5 119h297"></path>
+</g>
+<path d="M496.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M506.5 40h20"></path>
+</g>
+</g>
+<path d="M526.5 40h10"></path>
+<path d="M 536.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CondBody.svg b/abap/expression_CondBody.svg
new file mode 100644
index 00000000..0bf03c97
--- /dev/null
+++ b/abap/expression_CondBody.svg
@@ -0,0 +1,191 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="851.5" height="109" viewBox="0 0 851.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M801.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M135.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h45.5"></path>
+</g>
+<path d="M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="92.75" y="44">Let</text>
+</a>
+</g>
+<path d="M115.5 40h20"></path>
+</g>
+<path d="M135.5 40h10"></path>
+<g>
+<path d="M145.5 40h0"></path>
+<path d="M559.5 40h0"></path>
+<path d="M145.5 40h10"></path>
+<g>
+<path d="M155.5 40h0"></path>
+<path d="M549.5 40h0"></path>
+<g class="terminal">
+<path d="M155.5 40h0"></path>
+<path d="M226.5 40h0"></path>
+<rect x="155.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="191" y="44">"WHEN"</text>
+</g>
+<path d="M226.5 40h10"></path>
+<g>
+<path d="M236.5 40h0"></path>
+<path d="M347.5 40h0"></path>
+<path d="M236.5 40h20"></path>
+<g class="non-terminal">
+<path d="M256.5 40h0"></path>
+<path d="M310.5 40h17"></path>
+<rect x="256.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="283.5" y="44">Cond</text>
+</a>
+</g>
+<path d="M327.5 40h20"></path>
+<path d="M236.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M256.5 70h0"></path>
+<path d="M327.5 70h0"></path>
+<rect x="256.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="292" y="74">Source</text>
+</a>
+</g>
+<path d="M327.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M347.5 40h10"></path>
+<g class="terminal">
+<path d="M357.5 40h0"></path>
+<path d="M428.5 40h0"></path>
+<rect x="357.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="393" y="44">"THEN"</text>
+</g>
+<path d="M428.5 40h10"></path>
+<g>
+<path d="M438.5 40h0"></path>
+<path d="M549.5 40h0"></path>
+<path d="M438.5 40h20"></path>
+<g class="non-terminal">
+<path d="M458.5 40h0"></path>
+<path d="M521 40h8.5"></path>
+<rect x="458.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Throw"><text x="489.75" y="44">Throw</text>
+</a>
+</g>
+<path d="M529.5 40h20"></path>
+<path d="M438.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M458.5 70h0"></path>
+<path d="M529.5 70h0"></path>
+<rect x="458.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="494" y="74">Source</text>
+</a>
+</g>
+<path d="M529.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M549.5 40h10"></path>
+<path d="M155.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M155.5 89h394"></path>
+</g>
+<path d="M549.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M559.5 40h10"></path>
+<g>
+<path d="M569.5 40h0"></path>
+<path d="M801.5 40h0"></path>
+<path d="M569.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M589.5 20h192"></path>
+</g>
+<path d="M781.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M569.5 40h20"></path>
+<g>
+<path d="M589.5 40h0"></path>
+<path d="M781.5 40h0"></path>
+<g class="terminal">
+<path d="M589.5 40h0"></path>
+<path d="M660.5 40h0"></path>
+<rect x="589.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="625" y="44">"ELSE"</text>
+</g>
+<path d="M660.5 40h10"></path>
+<g>
+<path d="M670.5 40h0"></path>
+<path d="M781.5 40h0"></path>
+<path d="M670.5 40h20"></path>
+<g class="non-terminal">
+<path d="M690.5 40h0"></path>
+<path d="M753 40h8.5"></path>
+<rect x="690.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Throw"><text x="721.75" y="44">Throw</text>
+</a>
+</g>
+<path d="M761.5 40h20"></path>
+<path d="M670.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M690.5 70h0"></path>
+<path d="M761.5 70h0"></path>
+<rect x="690.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="726" y="74">Source</text>
+</a>
+</g>
+<path d="M761.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M781.5 40h20"></path>
+</g>
+</g>
+<path d="M801.5 40h10"></path>
+<path d="M 811.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CondSub.svg b/abap/expression_CondSub.svg
new file mode 100644
index 00000000..8dab1df6
--- /dev/null
+++ b/abap/expression_CondSub.svg
@@ -0,0 +1,119 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="498.5" height="101" viewBox="0 0 498.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M448.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M152.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h62.5"></path>
+</g>
+<path d="M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h0"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"NOT"</text>
+</g>
+<path d="M132.5 40h20"></path>
+</g>
+<g>
+<path d="M152.5 40h0"></path>
+<path d="M263.5 40h0"></path>
+<path d="M152.5 40h20"></path>
+<g class="terminal">
+<path d="M172.5 40h0"></path>
+<path d="M243.5 40h0"></path>
+<rect x="172.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="208" y="44">!" ( "</text>
+</g>
+<path d="M243.5 40h20"></path>
+<path d="M152.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M172.5 70h0"></path>
+<path d="M235 70h8.5"></path>
+<rect x="172.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="203.75" y="74">!" ("</text>
+</g>
+<path d="M243.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M263.5 40h10"></path>
+<g class="non-terminal">
+<path d="M273.5 40h0"></path>
+<path d="M327.5 40h0"></path>
+<rect x="273.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="300.5" y="44">Cond</text>
+</a>
+</g>
+<path d="M327.5 40h10"></path>
+<g>
+<path d="M337.5 40h0"></path>
+<path d="M448.5 40h0"></path>
+<path d="M337.5 40h20"></path>
+<g class="terminal">
+<path d="M357.5 40h0"></path>
+<path d="M428.5 40h0"></path>
+<rect x="357.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="393" y="44">!" ) "</text>
+</g>
+<path d="M428.5 40h20"></path>
+<path d="M337.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M357.5 70h0"></path>
+<path d="M420 70h8.5"></path>
+<rect x="357.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="388.75" y="74">!") "</text>
+</g>
+<path d="M428.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M448.5 40h10"></path>
+<path d="M 458.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Constant.svg b/abap/expression_Constant.svg
new file mode 100644
index 00000000..2603a44a
--- /dev/null
+++ b/abap/expression_Constant.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="310" height="152" viewBox="0 0 310 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M270 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M224.5 31h25.5"></path>
+<rect x="60" y="20" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElementString"><text x="142.25" y="35">TextElementString</text>
+</a>
+</g>
+<path d="M250 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M250 61h0"></path>
+<rect x="60" y="50" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ConcatenatedConstant"><text x="155" y="65">ConcatenatedConstant</text>
+</a>
+</g>
+<path d="M250 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 91h0"></path>
+<path d="M199 91h51"></path>
+<rect x="60" y="80" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantString"><text x="129.5" y="95">ConstantString</text>
+</a>
+</g>
+<path d="M250 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 121h0"></path>
+<path d="M139.5 121h110.5"></path>
+<rect x="60" y="110" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="99.75" y="125">Integer</text>
+</a>
+</g>
+<path d="M250 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 270 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ConstantFieldLength.svg b/abap/expression_ConstantFieldLength.svg
new file mode 100644
index 00000000..5178bf32
--- /dev/null
+++ b/abap/expression_ConstantFieldLength.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="432.5" height="92" viewBox="0 0 432.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M382.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">!"("</text>
+</g>
+<path d="M104 31h10"></path>
+<g>
+<path d="M114 31h0"></path>
+<path d="M310 31h0"></path>
+<path d="M114 31h20"></path>
+<g class="non-terminal">
+<path d="M134 31h0"></path>
+<path d="M213.5 31h76.5"></path>
+<rect x="134" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="173.75" y="35">Integer</text>
+</a>
+</g>
+<path d="M290 31h20"></path>
+<path d="M114 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M134 61h0"></path>
+<path d="M290 61h0"></path>
+<rect x="134" y="50" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="212" y="65">SimpleFieldChain</text>
+</a>
+</g>
+<path d="M290 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M310 31h10"></path>
+<g class="terminal">
+<path d="M320 31h0"></path>
+<path d="M382.5 31h0"></path>
+<rect x="320" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="351.25" y="35">!") "</text>
+</g>
+</g>
+<path d="M382.5 31h10"></path>
+<path d="M 392.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ConstantString.svg b/abap/expression_ConstantString.svg
new file mode 100644
index 00000000..a1c97fa2
--- /dev/null
+++ b/abap/expression_ConstantString.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="247.5" height="62" viewBox="0 0 247.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M197.5 31h0"></path>
+<rect x="50" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="35">^('.&#42;')|(&#96;.&#42;&#96;)$</text>
+</g>
+<path d="M197.5 31h10"></path>
+<path d="M 207.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ConvBody.svg b/abap/expression_ConvBody.svg
new file mode 100644
index 00000000..69fb2469
--- /dev/null
+++ b/abap/expression_ConvBody.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="266.5" height="71" viewBox="0 0 266.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M216.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M135.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h45.5"></path>
+</g>
+<path d="M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="92.75" y="44">Let</text>
+</a>
+</g>
+<path d="M115.5 40h20"></path>
+</g>
+<path d="M135.5 40h10"></path>
+<g class="non-terminal">
+<path d="M145.5 40h0"></path>
+<path d="M216.5 40h0"></path>
+<rect x="145.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="181" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M216.5 40h10"></path>
+<path d="M 226.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_CorrespondingBody.svg b/abap/expression_CorrespondingBody.svg
new file mode 100644
index 00000000..0743b124
--- /dev/null
+++ b/abap/expression_CorrespondingBody.svg
@@ -0,0 +1,269 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1791.5" height="110" viewBox="0 0 1791.5 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1741.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M161 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h71"></path>
+</g>
+<path d="M141 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M141 40h0"></path>
+<rect x="70" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="105.5" y="44">"DEEP"</text>
+</g>
+<path d="M141 40h20"></path>
+</g>
+<g>
+<path d="M161 40h0"></path>
+<path d="M545 40h0"></path>
+<path d="M161 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 20h344"></path>
+</g>
+<path d="M525 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 40h20"></path>
+<g>
+<path d="M181 40h0"></path>
+<path d="M525 40h0"></path>
+<g class="terminal">
+<path d="M181 40h0"></path>
+<path d="M252 40h0"></path>
+<rect x="181" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="216.5" y="44">"BASE"</text>
+</g>
+<path d="M252 40h10"></path>
+<path d="M262 40h10"></path>
+<g class="terminal">
+<path d="M272 40h0"></path>
+<path d="M343 40h0"></path>
+<rect x="272" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="307.5" y="44">!" ( "</text>
+</g>
+<path d="M343 40h10"></path>
+<path d="M353 40h10"></path>
+<g class="non-terminal">
+<path d="M363 40h0"></path>
+<path d="M434 40h0"></path>
+<rect x="363" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="398.5" y="44">Source</text>
+</a>
+</g>
+<path d="M434 40h10"></path>
+<path d="M444 40h10"></path>
+<g class="terminal">
+<path d="M454 40h0"></path>
+<path d="M525 40h0"></path>
+<rect x="454" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="489.5" y="44">!" ) "</text>
+</g>
+</g>
+<path d="M525 40h20"></path>
+</g>
+<path d="M545 40h10"></path>
+<g class="non-terminal">
+<path d="M555 40h0"></path>
+<path d="M626 40h0"></path>
+<rect x="555" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="590.5" y="44">Source</text>
+</a>
+</g>
+<path d="M626 40h10"></path>
+<g>
+<path d="M636 40h0"></path>
+<path d="M949.5 40h0"></path>
+<path d="M636 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M656 20h273.5"></path>
+</g>
+<path d="M929.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M636 40h20"></path>
+<g>
+<path d="M656 40h0"></path>
+<path d="M929.5 40h0"></path>
+<g>
+<path d="M656 40h0"></path>
+<path d="M694 40h0"></path>
+<text x="675" y="45" class="comment">v751</text>
+</g>
+<path d="M694 40h10"></path>
+<path d="M704 40h10"></path>
+<g class="terminal">
+<path d="M714 40h0"></path>
+<path d="M929.5 40h0"></path>
+<rect x="714" y="29" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="821.75" y="44">"DISCARDING DUPLICATES"</text>
+</g>
+</g>
+<path d="M929.5 40h20"></path>
+</g>
+<g>
+<path d="M949.5 40h0"></path>
+<path d="M1481 40h0"></path>
+<path d="M949.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M969.5 20h491.5"></path>
+</g>
+<path d="M1461 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M949.5 40h20"></path>
+<g>
+<path d="M969.5 40h0"></path>
+<path d="M1461 40h0"></path>
+<g class="terminal">
+<path d="M969.5 40h0"></path>
+<path d="M1066 40h0"></path>
+<rect x="969.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.75" y="44">"MAPPING"</text>
+</g>
+<path d="M1066 40h10"></path>
+<path d="M1076 40h10"></path>
+<g>
+<path d="M1086 40h0"></path>
+<path d="M1461 40h0"></path>
+<path d="M1086 40h10"></path>
+<g>
+<path d="M1096 40h0"></path>
+<path d="M1451 40h0"></path>
+<g class="non-terminal">
+<path d="M1096 40h0"></path>
+<path d="M1226.5 40h0"></path>
+<rect x="1096" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="1161.25" y="44">ComponentName</text>
+</a>
+</g>
+<path d="M1226.5 40h10"></path>
+<path d="M1236.5 40h10"></path>
+<g class="terminal">
+<path d="M1246.5 40h0"></path>
+<path d="M1292 40h0"></path>
+<rect x="1246.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1269.25" y="44">"="</text>
+</g>
+<path d="M1292 40h10"></path>
+<path d="M1302 40h10"></path>
+<g class="non-terminal">
+<path d="M1312 40h0"></path>
+<path d="M1451 40h0"></path>
+<rect x="1312" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChain"><text x="1381.5" y="44">ComponentChain</text>
+</a>
+</g>
+</g>
+<path d="M1451 40h10"></path>
+<path d="M1096 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1096 60h355"></path>
+</g>
+<path d="M1451 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1461 40h20"></path>
+</g>
+<g>
+<path d="M1481 40h0"></path>
+<path d="M1741.5 40h0"></path>
+<path d="M1481 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1501 20h220.5"></path>
+</g>
+<path d="M1721.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1481 40h20"></path>
+<g>
+<path d="M1501 40h0"></path>
+<path d="M1721.5 40h0"></path>
+<g class="terminal">
+<path d="M1501 40h0"></path>
+<path d="M1589 40h0"></path>
+<rect x="1501" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1545" y="44">"EXCEPT"</text>
+</g>
+<path d="M1589 40h10"></path>
+<g>
+<path d="M1599 40h0"></path>
+<path d="M1721.5 40h0"></path>
+<path d="M1599 40h20"></path>
+<g>
+<path d="M1619 40h0"></path>
+<path d="M1701.5 40h0"></path>
+<path d="M1619 40h10"></path>
+<g class="non-terminal">
+<path d="M1629 40h0"></path>
+<path d="M1691.5 40h0"></path>
+<rect x="1629" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1660.25" y="44">Field</text>
+</a>
+</g>
+<path d="M1691.5 40h10"></path>
+<path d="M1629 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1629 60h62.5"></path>
+</g>
+<path d="M1691.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1701.5 40h20"></path>
+<path d="M1599 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1619 79h0"></path>
+<path d="M1664.5 79h37"></path>
+<rect x="1619" y="68" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1641.75" y="83">"&#42;"</text>
+</g>
+<path d="M1701.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1721.5 40h20"></path>
+</g>
+</g>
+<path d="M1741.5 40h10"></path>
+<path d="M 1751.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_DataDefinition.svg b/abap/expression_DataDefinition.svg
new file mode 100644
index 00000000..e5fdeef9
--- /dev/null
+++ b/abap/expression_DataDefinition.svg
@@ -0,0 +1,191 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="770.5" height="260" viewBox="0 0 770.5 260">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M720.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M189 40h0"></path>
+<rect x="50" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="119.5" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M189 40h10"></path>
+<g>
+<path d="M199 40h0"></path>
+<path d="M420.5 40h0"></path>
+<path d="M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M219 20h181.5"></path>
+</g>
+<path d="M400.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M199 40h20"></path>
+<g class="non-terminal">
+<path d="M219 40h0"></path>
+<path d="M400.5 40h0"></path>
+<rect x="219" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantFieldLength"><text x="309.75" y="44">ConstantFieldLength</text>
+</a>
+</g>
+<path d="M400.5 40h20"></path>
+</g>
+<g>
+<path d="M420.5 40h0"></path>
+<path d="M720.5 40h0"></path>
+<path d="M420.5 40h20"></path>
+<g>
+<path d="M440.5 40h0"></path>
+<path d="M664 40h36.5"></path>
+<path d="M440.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M460.5 20h183.5"></path>
+</g>
+<path d="M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M440.5 40h20"></path>
+<g>
+<path d="M460.5 40h0"></path>
+<path d="M644 40h0"></path>
+<path d="M490.5 40h10"></path>
+<g class="terminal">
+<path d="M500.5 40h0"></path>
+<path d="M614 40h0"></path>
+<rect x="500.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="557.25" y="44">"READ-ONLY"</text>
+</g>
+<path d="M614 40h10"></path>
+<path d="M490.5 40v20a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M500.5 70h0"></path>
+<path d="M554.5 70h59.5"></path>
+<rect x="500.5" y="59" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Type"><text x="527.5" y="74">Type</text>
+</a>
+</g>
+<path d="M614 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M490.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M500.5 100h0"></path>
+<path d="M571.5 100h42.5"></path>
+<rect x="500.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Length"><text x="536" y="104">Length</text>
+</a>
+</g>
+<path d="M614 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M490.5 40v80a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M500.5 130h0"></path>
+<path d="M588.5 130h25.5"></path>
+<rect x="500.5" y="119" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Decimals"><text x="544.5" y="134">Decimals</text>
+</a>
+</g>
+<path d="M614 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M490.5 40v110a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M500.5 160h0"></path>
+<path d="M563 160h51"></path>
+<rect x="500.5" y="149" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Value"><text x="531.75" y="164">Value</text>
+</a>
+</g>
+<path d="M614 160a10 10 0 0 0 10 -10v-110"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 490.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="475.5" y="44" class="diagram-text">1+</text>
+<path d="M 624 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 631 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M644 40h20"></path>
+</g>
+<path d="M700.5 40h20"></path>
+<path d="M420.5 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M440.5 199h0"></path>
+<path d="M700.5 199h0"></path>
+<g class="non-terminal">
+<path d="M440.5 199h0"></path>
+<path d="M537 199h0"></path>
+<rect x="440.5" y="188" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTable"><text x="488.75" y="203">TypeTable</text>
+</a>
+</g>
+<path d="M537 199h10"></path>
+<g>
+<path d="M547 199h0"></path>
+<path d="M700.5 199h0"></path>
+<path d="M547 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M567 179h113.5"></path>
+</g>
+<path d="M680.5 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M547 199h20"></path>
+<g class="terminal">
+<path d="M567 199h0"></path>
+<path d="M680.5 199h0"></path>
+<rect x="567" y="188" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="623.75" y="203">"READ-ONLY"</text>
+</g>
+<path d="M680.5 199h20"></path>
+</g>
+</g>
+<path d="M700.5 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+<path d="M420.5 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M440.5 229h0"></path>
+<path d="M571 229h129.5"></path>
+<rect x="440.5" y="218" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeStructure"><text x="505.75" y="233">TypeStructure</text>
+</a>
+</g>
+<path d="M700.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M720.5 40h10"></path>
+<path d="M 730.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_DatabaseConnection.svg b/abap/expression_DatabaseConnection.svg
new file mode 100644
index 00000000..fb58c42a
--- /dev/null
+++ b/abap/expression_DatabaseConnection.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="351.5" height="92" viewBox="0 0 351.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M301.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M172 31h0"></path>
+<rect x="50" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="35">"CONNECTION"</text>
+</g>
+<path d="M172 31h10"></path>
+<g>
+<path d="M182 31h0"></path>
+<path d="M301.5 31h0"></path>
+<path d="M182 31h20"></path>
+<g class="terminal">
+<path d="M202 31h0"></path>
+<path d="M281.5 31h0"></path>
+<rect x="202" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="241.75" y="35">&#91;\w\/&#93;+</text>
+</g>
+<path d="M281.5 31h20"></path>
+<path d="M182 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M202 61h0"></path>
+<path d="M281.5 61h0"></path>
+<rect x="202" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="241.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M281.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M301.5 31h10"></path>
+<path d="M 311.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_DatabaseTable.svg b/abap/expression_DatabaseTable.svg
new file mode 100644
index 00000000..a14869bd
--- /dev/null
+++ b/abap/expression_DatabaseTable.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="293" height="92" viewBox="0 0 293 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M253 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M139.5 31h93.5"></path>
+<rect x="60" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="35">Dynamic</text>
+</a>
+</g>
+<path d="M233 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M233 61h0"></path>
+<rect x="60" y="50" width="173" height="22" rx="10" ry="10"></rect>
+<text x="146.5" y="65">^\&#42;?(\/\w+\/)?\w+$</text>
+</g>
+<path d="M233 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 253 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Decimals.svg b/abap/expression_Decimals.svg
new file mode 100644
index 00000000..323e6bba
--- /dev/null
+++ b/abap/expression_Decimals.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="304.5" height="62" viewBox="0 0 304.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M254.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"DECIMALS"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M254.5 31h0"></path>
+<rect x="175" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="214.75" y="35">Integer</text>
+</a>
+</g>
+</g>
+<path d="M254.5 31h10"></path>
+<path d="M 264.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Default.svg b/abap/expression_Default.svg
new file mode 100644
index 00000000..bd7c8e2a
--- /dev/null
+++ b/abap/expression_Default.svg
@@ -0,0 +1,82 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="351.5" height="92" viewBox="0 0 351.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M301.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"DEFAULT"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<g>
+<path d="M156.5 31h0"></path>
+<path d="M301.5 31h0"></path>
+<path d="M156.5 31h20"></path>
+<g class="non-terminal">
+<path d="M176.5 31h0"></path>
+<path d="M264.5 31h17"></path>
+<rect x="176.5" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="220.5" y="35">Constant</text>
+</a>
+</g>
+<path d="M281.5 31h20"></path>
+<path d="M156.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M176.5 61h0"></path>
+<path d="M281.5 61h0"></path>
+<rect x="176.5" y="50" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="229" y="65">FieldChain</text>
+</a>
+</g>
+<path d="M281.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M301.5 31h10"></path>
+<path d="M 311.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_DefinitionName.svg b/abap/expression_DefinitionName.svg
new file mode 100644
index 00000000..3c879582
--- /dev/null
+++ b/abap/expression_DefinitionName.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1147.5" height="88" viewBox="0 0 1147.5 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1097.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M435.5 48h0"></path>
+<rect x="50" y="37" width="385.5" height="22" rx="10" ry="10"></rect>
+<text x="242.75" y="52">^&#38;|&#38;?((\w&#42;\/\w+\/)|(\w&#42;\/\w+\/)?&#91;\w\&#42;$%&#93;+)$</text>
+</g>
+<path d="M435.5 48h10"></path>
+<g>
+<path d="M445.5 48h0"></path>
+<path d="M995 48h0"></path>
+<path d="M445.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M465.5 20h509.5"></path>
+</g>
+<path d="M975 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M445.5 48h20"></path>
+<g>
+<path d="M465.5 48h0"></path>
+<path d="M975 48h0"></path>
+<path d="M465.5 48h10"></path>
+<g>
+<path d="M475.5 48h0"></path>
+<path d="M965 48h0"></path>
+<g class="terminal">
+<path d="M475.5 48h0"></path>
+<path d="M529.5 48h0"></path>
+<rect x="475.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="502.5" y="52">!"-"</text>
+</g>
+<path d="M529.5 48h10"></path>
+<g>
+<path d="M539.5 48h0"></path>
+<path d="M965 48h0"></path>
+<path d="M539.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M559.5 28h385.5"></path>
+</g>
+<path d="M945 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M539.5 48h20"></path>
+<g class="terminal">
+<path d="M559.5 48h0"></path>
+<path d="M945 48h0"></path>
+<rect x="559.5" y="37" width="385.5" height="22" rx="10" ry="10"></rect>
+<text x="752.25" y="52">^&#38;|&#38;?((\w&#42;\/\w+\/)|(\w&#42;\/\w+\/)?&#91;\w\&#42;$%&#93;+)$</text>
+</g>
+<path d="M945 48h20"></path>
+</g>
+</g>
+<path d="M965 48h10"></path>
+<path d="M475.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M475.5 68h489.5"></path>
+</g>
+<path d="M965 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M975 48h20"></path>
+</g>
+<g>
+<path d="M995 48h0"></path>
+<path d="M1097.5 48h0"></path>
+<path d="M995 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1015 28h62.5"></path>
+</g>
+<path d="M1077.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M995 48h20"></path>
+<g class="terminal">
+<path d="M1015 48h0"></path>
+<path d="M1077.5 48h0"></path>
+<rect x="1015" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1046.25" y="52">!"- "</text>
+</g>
+<path d="M1077.5 48h20"></path>
+</g>
+</g>
+<path d="M1097.5 48h10"></path>
+<path d="M 1107.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Dereference.svg b/abap/expression_Dereference.svg
new file mode 100644
index 00000000..ac80a693
--- /dev/null
+++ b/abap/expression_Dereference.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="228" height="62" viewBox="0 0 228 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M178 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">!"->"</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M122.5 31h10"></path>
+<g class="terminal">
+<path d="M132.5 31h0"></path>
+<path d="M178 31h0"></path>
+<rect x="132.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="155.25" y="35">"&#42;"</text>
+</g>
+</g>
+<path d="M178 31h10"></path>
+<path d="M 188 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Destination.svg b/abap/expression_Destination.svg
new file mode 100644
index 00000000..5fb98ec2
--- /dev/null
+++ b/abap/expression_Destination.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="522" height="101" viewBox="0 0 522 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M472 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"DESTINATION"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M335.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h105"></path>
+</g>
+<path d="M315.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g class="terminal">
+<path d="M210.5 40h0"></path>
+<path d="M315.5 40h0"></path>
+<rect x="210.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="263" y="44">"IN GROUP"</text>
+</g>
+<path d="M315.5 40h20"></path>
+</g>
+<g>
+<path d="M335.5 40h0"></path>
+<path d="M472 40h0"></path>
+<path d="M335.5 40h20"></path>
+<g class="terminal">
+<path d="M355.5 40h0"></path>
+<path d="M452 40h0"></path>
+<rect x="355.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="403.75" y="44">"DEFAULT"</text>
+</g>
+<path d="M452 40h20"></path>
+<path d="M335.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M355.5 70h0"></path>
+<path d="M426.5 70h25.5"></path>
+<rect x="355.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="391" y="74">Source</text>
+</a>
+</g>
+<path d="M452 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M472 40h10"></path>
+<path d="M 482 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Dynamic.svg b/abap/expression_Dynamic.svg
new file mode 100644
index 00000000..2fb18eda
--- /dev/null
+++ b/abap/expression_Dynamic.svg
@@ -0,0 +1,115 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="450" height="92" viewBox="0 0 450 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M400 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M152.5 31h0"></path>
+<path d="M50 31h20"></path>
+<g class="terminal">
+<path d="M70 31h0"></path>
+<path d="M132.5 31h0"></path>
+<rect x="70" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="35">!" ("</text>
+</g>
+<path d="M132.5 31h20"></path>
+<path d="M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 61h0"></path>
+<path d="M124 61h8.5"></path>
+<rect x="70" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="97" y="65">!"("</text>
+</g>
+<path d="M132.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M152.5 31h0"></path>
+<path d="M297.5 31h0"></path>
+<path d="M152.5 31h20"></path>
+<g class="non-terminal">
+<path d="M172.5 31h0"></path>
+<path d="M277.5 31h0"></path>
+<rect x="172.5" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="225" y="35">FieldChain</text>
+</a>
+</g>
+<path d="M277.5 31h20"></path>
+<path d="M152.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M172.5 61h0"></path>
+<path d="M260.5 61h17"></path>
+<rect x="172.5" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="216.5" y="65">Constant</text>
+</a>
+</g>
+<path d="M277.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M297.5 31h0"></path>
+<path d="M400 31h0"></path>
+<path d="M297.5 31h20"></path>
+<g class="terminal">
+<path d="M317.5 31h0"></path>
+<path d="M380 31h0"></path>
+<rect x="317.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="348.75" y="35">!") "</text>
+</g>
+<path d="M380 31h20"></path>
+<path d="M297.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M317.5 61h0"></path>
+<path d="M371.5 61h8.5"></path>
+<rect x="317.5" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="344.5" y="65">!")"</text>
+</g>
+<path d="M380 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M400 31h10"></path>
+<path d="M 410 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_EntityAssociation.svg b/abap/expression_EntityAssociation.svg
new file mode 100644
index 00000000..07a3bd92
--- /dev/null
+++ b/abap/expression_EntityAssociation.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="247.5" height="62" viewBox="0 0 247.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M197.5 31h0"></path>
+<rect x="50" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="35">^&#91;\w&#93;+\\&#95;&#91;\w&#93;+$</text>
+</g>
+<path d="M197.5 31h10"></path>
+<path d="M 207.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_EventHandler.svg b/abap/expression_EventHandler.svg
new file mode 100644
index 00000000..7cea5c5f
--- /dev/null
+++ b/abap/expression_EventHandler.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="871.5" height="80" viewBox="0 0 871.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M821.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="44">"FOR EVENT"</text>
+</g>
+<path d="M163.5 40h10"></path>
+<path d="M173.5 40h10"></path>
+<g class="non-terminal">
+<path d="M183.5 40h0"></path>
+<path d="M280 40h0"></path>
+<rect x="183.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EventName"><text x="231.75" y="44">EventName</text>
+</a>
+</g>
+<path d="M280 40h10"></path>
+<path d="M290 40h10"></path>
+<g class="terminal">
+<path d="M300 40h0"></path>
+<path d="M354 40h0"></path>
+<rect x="300" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="327" y="44">"OF"</text>
+</g>
+<path d="M354 40h10"></path>
+<path d="M364 40h10"></path>
+<g class="non-terminal">
+<path d="M374 40h0"></path>
+<path d="M470.5 40h0"></path>
+<rect x="374" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="422.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M470.5 40h10"></path>
+<g>
+<path d="M480.5 40h0"></path>
+<path d="M821.5 40h0"></path>
+<path d="M480.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M500.5 20h301"></path>
+</g>
+<path d="M801.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M480.5 40h20"></path>
+<g>
+<path d="M500.5 40h0"></path>
+<path d="M801.5 40h0"></path>
+<g class="terminal">
+<path d="M500.5 40h0"></path>
+<path d="M614 40h0"></path>
+<rect x="500.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="557.25" y="44">"IMPORTING"</text>
+</g>
+<path d="M614 40h10"></path>
+<path d="M624 40h10"></path>
+<g>
+<path d="M634 40h0"></path>
+<path d="M801.5 40h0"></path>
+<path d="M634 40h10"></path>
+<g class="non-terminal">
+<path d="M644 40h0"></path>
+<path d="M791.5 40h0"></path>
+<rect x="644" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="717.75" y="44">MethodParamName</text>
+</a>
+</g>
+<path d="M791.5 40h10"></path>
+<path d="M644 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M644 60h147.5"></path>
+</g>
+<path d="M791.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M801.5 40h20"></path>
+</g>
+</g>
+<path d="M821.5 40h10"></path>
+<path d="M 831.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_EventName.svg b/abap/expression_EventName.svg
new file mode 100644
index 00000000..ba5c3b75
--- /dev/null
+++ b/abap/expression_EventName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="621.5" height="62" viewBox="0 0 621.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M571.5 31h0"></path>
+<rect x="50" y="20" width="521.5" height="22" rx="10" ry="10"></rect>
+<text x="310.75" y="35">^&#91;&#38;&#95;!&#93;?\&#42;?\w&#42;(\/\w+\/)?\d&#42;&#91;a-zA-Z&#95;%\$&#93;&#91;\w\&#42;%\$\?#&#93;&#42;(~\w+)?$</text>
+</g>
+<path d="M571.5 31h10"></path>
+<path d="M 581.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ExceptionName.svg b/abap/expression_ExceptionName.svg
new file mode 100644
index 00000000..fc89cfbb
--- /dev/null
+++ b/abap/expression_ExceptionName.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="369" height="80" viewBox="0 0 369 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M319 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M112.5 40h0"></path>
+<rect x="50" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="81.25" y="44">Field</text>
+</a>
+</g>
+<path d="M112.5 40h10"></path>
+<g>
+<path d="M122.5 40h0"></path>
+<path d="M319 40h0"></path>
+<path d="M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M142.5 20h156.5"></path>
+</g>
+<path d="M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M122.5 40h20"></path>
+<g>
+<path d="M142.5 40h0"></path>
+<path d="M299 40h0"></path>
+<path d="M142.5 40h10"></path>
+<g>
+<path d="M152.5 40h0"></path>
+<path d="M289 40h0"></path>
+<g class="terminal">
+<path d="M152.5 40h0"></path>
+<path d="M206.5 40h0"></path>
+<rect x="152.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="44">!"-"</text>
+</g>
+<path d="M206.5 40h10"></path>
+<path d="M216.5 40h10"></path>
+<g class="non-terminal">
+<path d="M226.5 40h0"></path>
+<path d="M289 40h0"></path>
+<rect x="226.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="257.75" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M289 40h10"></path>
+<path d="M152.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M152.5 60h136.5"></path>
+</g>
+<path d="M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M299 40h20"></path>
+</g>
+</g>
+<path d="M319 40h10"></path>
+<path d="M 329 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FSTarget.svg b/abap/expression_FSTarget.svg
new file mode 100644
index 00000000..87e89532
--- /dev/null
+++ b/abap/expression_FSTarget.svg
@@ -0,0 +1,69 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="284.5" height="92" viewBox="0 0 284.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M244.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h76.5"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineFS"><text x="104" y="35">InlineFS</text>
+</a>
+</g>
+<path d="M224.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M224.5 61h0"></path>
+<rect x="60" y="50" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="142.25" y="65">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M224.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 244.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Field.svg b/abap/expression_Field.svg
new file mode 100644
index 00000000..ba5c3b75
--- /dev/null
+++ b/abap/expression_Field.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="621.5" height="62" viewBox="0 0 621.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M571.5 31h0"></path>
+<rect x="50" y="20" width="521.5" height="22" rx="10" ry="10"></rect>
+<text x="310.75" y="35">^&#91;&#38;&#95;!&#93;?\&#42;?\w&#42;(\/\w+\/)?\d&#42;&#91;a-zA-Z&#95;%\$&#93;&#91;\w\&#42;%\$\?#&#93;&#42;(~\w+)?$</text>
+</g>
+<path d="M571.5 31h10"></path>
+<path d="M 581.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldAll.svg b/abap/expression_FieldAll.svg
new file mode 100644
index 00000000..4d9e490e
--- /dev/null
+++ b/abap/expression_FieldAll.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="400.5" height="62" viewBox="0 0 400.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M350.5 31h0"></path>
+<rect x="50" y="20" width="300.5" height="22" rx="10" ry="10"></rect>
+<text x="200.25" y="35">^&#38;?\&#42;?(\/\w+\/)?&#91;\w\&#42;\$&#93;+(~\w+)?$</text>
+</g>
+<path d="M350.5 31h10"></path>
+<path d="M 360.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldAssignment.svg b/abap/expression_FieldAssignment.svg
new file mode 100644
index 00000000..96344483
--- /dev/null
+++ b/abap/expression_FieldAssignment.svg
@@ -0,0 +1,77 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="344.5" height="62" viewBox="0 0 344.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M294.5 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="94" y="35">FieldSub</text>
+</a>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g class="terminal">
+<path d="M158 31h0"></path>
+<path d="M203.5 31h0"></path>
+<rect x="158" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="180.75" y="35">"="</text>
+</g>
+<path d="M203.5 31h10"></path>
+<path d="M213.5 31h10"></path>
+<g class="non-terminal">
+<path d="M223.5 31h0"></path>
+<path d="M294.5 31h0"></path>
+<rect x="223.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="259" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M294.5 31h10"></path>
+<path d="M 304.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldChain.svg b/abap/expression_FieldChain.svg
new file mode 100644
index 00000000..1b4b6512
--- /dev/null
+++ b/abap/expression_FieldChain.svg
@@ -0,0 +1,273 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1287.5" height="178" viewBox="0 0 1287.5 178">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1237.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M419.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M399.5 40h0"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M166.5 40h0"></path>
+<rect x="70" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="118.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M166.5 40h10"></path>
+<path d="M176.5 40h10"></path>
+<g class="terminal">
+<path d="M186.5 40h0"></path>
+<path d="M249 40h0"></path>
+<rect x="186.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="44">!"=>"</text>
+</g>
+<path d="M249 40h10"></path>
+<path d="M259 40h10"></path>
+<g class="non-terminal">
+<path d="M269 40h0"></path>
+<path d="M399.5 40h0"></path>
+<rect x="269" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="334.25" y="44">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M399.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h216"></path>
+<rect x="70" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceField"><text x="126.75" y="74">SourceField</text>
+</a>
+</g>
+<path d="M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 100h0"></path>
+<path d="M234.5 100h165"></path>
+<rect x="70" y="89" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="152.25" y="104">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M419.5 40h0"></path>
+<path d="M754 40h0"></path>
+<path d="M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M439.5 20h294.5"></path>
+</g>
+<path d="M734 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M419.5 40h20"></path>
+<g>
+<path d="M439.5 40h0"></path>
+<path d="M734 40h0"></path>
+<path d="M439.5 40h10"></path>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M724 40h0"></path>
+<path d="M449.5 40h20"></path>
+<g class="non-terminal">
+<path d="M469.5 40h0"></path>
+<path d="M583 40h121"></path>
+<rect x="469.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dereference"><text x="526.25" y="44">Dereference</text>
+</a>
+</g>
+<path d="M704 40h20"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M469.5 70h0"></path>
+<path d="M682.5 70h21.5"></path>
+<g class="terminal">
+<path d="M469.5 70h0"></path>
+<path d="M532 70h0"></path>
+<rect x="469.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="500.75" y="74">!"->"</text>
+</g>
+<path d="M532 70h10"></path>
+<path d="M542 70h10"></path>
+<g class="non-terminal">
+<path d="M552 70h0"></path>
+<path d="M682.5 70h0"></path>
+<rect x="552" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="617.25" y="74">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M704 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M469.5 109h0"></path>
+<path d="M704 109h0"></path>
+<g class="terminal">
+<path d="M469.5 109h0"></path>
+<path d="M523.5 109h0"></path>
+<rect x="469.5" y="98" width="54" height="22" rx="10" ry="10"></rect>
+<text x="496.5" y="113">!"-"</text>
+</g>
+<path d="M523.5 109h10"></path>
+<g>
+<path d="M533.5 109h0"></path>
+<path d="M704 109h0"></path>
+<path d="M533.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M553.5 89h130.5"></path>
+</g>
+<path d="M684 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M533.5 109h20"></path>
+<g class="non-terminal">
+<path d="M553.5 109h0"></path>
+<path d="M684 109h0"></path>
+<rect x="553.5" y="98" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="618.75" y="113">ComponentName</text>
+</a>
+</g>
+<path d="M684 109h20"></path>
+</g>
+</g>
+<path d="M704 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M469.5 139h0"></path>
+<path d="M617 139h87"></path>
+<rect x="469.5" y="128" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableExpression"><text x="543.25" y="143">TableExpression</text>
+</a>
+</g>
+<path d="M704 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M724 40h10"></path>
+<path d="M449.5 40a10 10 0 0 0 -10 10v98a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 158h274.5"></path>
+</g>
+<path d="M724 158a10 10 0 0 0 10 -10v-98a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M734 40h20"></path>
+</g>
+<g>
+<path d="M754 40h0"></path>
+<path d="M1237.5 40h0"></path>
+<path d="M754 40h20"></path>
+<g class="terminal">
+<path d="M774 40h0"></path>
+<path d="M836.5 40h381"></path>
+<rect x="774" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="805.25" y="44">!"- "</text>
+</g>
+<path d="M1217.5 40h20"></path>
+<path d="M754 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M774 79h0"></path>
+<path d="M1217.5 79h0"></path>
+<g>
+<path d="M774 79h0"></path>
+<path d="M910.5 79h0"></path>
+<path d="M774 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M794 59h96.5"></path>
+</g>
+<path d="M890.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M774 79h20"></path>
+<g class="non-terminal">
+<path d="M794 79h0"></path>
+<path d="M890.5 79h0"></path>
+<rect x="794" y="68" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="842.25" y="83">TableBody</text>
+</a>
+</g>
+<path d="M890.5 79h20"></path>
+</g>
+<g>
+<path d="M910.5 79h0"></path>
+<path d="M1064 79h0"></path>
+<path d="M910.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M930.5 59h113.5"></path>
+</g>
+<path d="M1044 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M910.5 79h20"></path>
+<g class="non-terminal">
+<path d="M930.5 79h0"></path>
+<path d="M1044 79h0"></path>
+<rect x="930.5" y="68" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="987.25" y="83">FieldOffset</text>
+</a>
+</g>
+<path d="M1044 79h20"></path>
+</g>
+<g>
+<path d="M1064 79h0"></path>
+<path d="M1217.5 79h0"></path>
+<path d="M1064 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1084 59h113.5"></path>
+</g>
+<path d="M1197.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1064 79h20"></path>
+<g class="non-terminal">
+<path d="M1084 79h0"></path>
+<path d="M1197.5 79h0"></path>
+<rect x="1084" y="68" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="1140.75" y="83">FieldLength</text>
+</a>
+</g>
+<path d="M1197.5 79h20"></path>
+</g>
+</g>
+<path d="M1217.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1237.5 40h10"></path>
+<path d="M 1247.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldLength.svg b/abap/expression_FieldLength.svg
new file mode 100644
index 00000000..4eb9d99c
--- /dev/null
+++ b/abap/expression_FieldLength.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="575" height="131" viewBox="0 0 575 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M525 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="44">!"("</text>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M452.5 40h0"></path>
+<path d="M114 40h20"></path>
+<g>
+<path d="M134 40h0"></path>
+<path d="M432.5 40h0"></path>
+<g>
+<path d="M134 40h0"></path>
+<path d="M228 40h0"></path>
+<path d="M134 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M154 20h54"></path>
+</g>
+<path d="M208 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M134 40h20"></path>
+<g class="terminal">
+<path d="M154 40h0"></path>
+<path d="M208 40h0"></path>
+<rect x="154" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="181" y="44">!"+"</text>
+</g>
+<path d="M208 40h20"></path>
+</g>
+<g>
+<path d="M228 40h0"></path>
+<path d="M432.5 40h0"></path>
+<path d="M228 40h20"></path>
+<g class="terminal">
+<path d="M248 40h0"></path>
+<path d="M310.5 40h102"></path>
+<rect x="248" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="279.25" y="44">^\d+$</text>
+</g>
+<path d="M412.5 40h20"></path>
+<path d="M228 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M248 70h0"></path>
+<path d="M412.5 70h0"></path>
+<rect x="248" y="59" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="330.25" y="74">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M412.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M432.5 40h20"></path>
+<path d="M114 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M134 100h0"></path>
+<path d="M179.5 100h253"></path>
+<rect x="134" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="156.75" y="104">"&#42;"</text>
+</g>
+<path d="M432.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M452.5 40h10"></path>
+<g class="terminal">
+<path d="M462.5 40h0"></path>
+<path d="M525 40h0"></path>
+<rect x="462.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="493.75" y="44">!") "</text>
+</g>
+</g>
+<path d="M525 40h10"></path>
+<path d="M 535 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldOffset.svg b/abap/expression_FieldOffset.svg
new file mode 100644
index 00000000..965b4515
--- /dev/null
+++ b/abap/expression_FieldOffset.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="368.5" height="92" viewBox="0 0 368.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M318.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">!"+"</text>
+</g>
+<path d="M104 31h10"></path>
+<g>
+<path d="M114 31h0"></path>
+<path d="M318.5 31h0"></path>
+<path d="M114 31h20"></path>
+<g class="terminal">
+<path d="M134 31h0"></path>
+<path d="M196.5 31h102"></path>
+<rect x="134" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="35">^\d+$</text>
+</g>
+<path d="M298.5 31h20"></path>
+<path d="M114 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M134 61h0"></path>
+<path d="M298.5 61h0"></path>
+<rect x="134" y="50" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="216.25" y="65">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M298.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M318.5 31h10"></path>
+<path d="M 328.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldSub.svg b/abap/expression_FieldSub.svg
new file mode 100644
index 00000000..8e0ffa0b
--- /dev/null
+++ b/abap/expression_FieldSub.svg
@@ -0,0 +1,118 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="879.5" height="80" viewBox="0 0 879.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M829.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M418.5 40h0"></path>
+<rect x="50" y="29" width="368.5" height="22" rx="10" ry="10"></rect>
+<text x="234.25" y="44">^\&#42;?!?(\/\w+\/)?&#91;a-zA-Z&#95;%$\?&#93;&#91;\w%$\$\&#42;&#93;&#42;$</text>
+</g>
+<path d="M418.5 40h10"></path>
+<g>
+<path d="M428.5 40h0"></path>
+<path d="M693 40h0"></path>
+<path d="M428.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M448.5 20h224.5"></path>
+</g>
+<path d="M673 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M428.5 40h20"></path>
+<g>
+<path d="M448.5 40h0"></path>
+<path d="M673 40h0"></path>
+<path d="M448.5 40h10"></path>
+<g>
+<path d="M458.5 40h0"></path>
+<path d="M663 40h0"></path>
+<g class="terminal">
+<path d="M458.5 40h0"></path>
+<path d="M512.5 40h0"></path>
+<rect x="458.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="485.5" y="44">!"-"</text>
+</g>
+<path d="M512.5 40h10"></path>
+<path d="M522.5 40h10"></path>
+<g class="terminal">
+<path d="M532.5 40h0"></path>
+<path d="M663 40h0"></path>
+<rect x="532.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="597.75" y="44">^&#91;\w%$\$\&#42;&#93;+$</text>
+</g>
+</g>
+<path d="M663 40h10"></path>
+<path d="M458.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458.5 60h204.5"></path>
+</g>
+<path d="M663 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M673 40h20"></path>
+</g>
+<g>
+<path d="M693 40h0"></path>
+<path d="M829.5 40h0"></path>
+<path d="M693 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M713 20h96.5"></path>
+</g>
+<path d="M809.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M693 40h20"></path>
+<g class="non-terminal">
+<path d="M713 40h0"></path>
+<path d="M809.5 40h0"></path>
+<rect x="713" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="761.25" y="44">TableBody</text>
+</a>
+</g>
+<path d="M809.5 40h20"></path>
+</g>
+</g>
+<path d="M829.5 40h10"></path>
+<path d="M 839.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FieldSymbol.svg b/abap/expression_FieldSymbol.svg
new file mode 100644
index 00000000..7491b486
--- /dev/null
+++ b/abap/expression_FieldSymbol.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="492" height="92" viewBox="0 0 492 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M452 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M207.5 31h224.5"></path>
+<rect x="60" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="133.75" y="35">^&#60;&#91;\w\/%$\&#42;&#93;+>$</text>
+</g>
+<path d="M432 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M432 61h0"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M199 61h0"></path>
+<rect x="60" y="50" width="139" height="22" rx="10" ry="10"></rect>
+<text x="129.5" y="65">^&#60;&#91;\w\/%$\&#42;&#93;+$</text>
+</g>
+<path d="M199 61h10"></path>
+<path d="M209 61h10"></path>
+<g class="terminal">
+<path d="M219 61h0"></path>
+<path d="M273 61h0"></path>
+<rect x="219" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="246" y="65">!"-"</text>
+</g>
+<path d="M273 61h10"></path>
+<path d="M283 61h10"></path>
+<g class="terminal">
+<path d="M293 61h0"></path>
+<path d="M432 61h0"></path>
+<rect x="293" y="50" width="139" height="22" rx="10" ry="10"></rect>
+<text x="362.5" y="65">^&#91;\w\/%$\&#42;&#93;+>$</text>
+</g>
+</g>
+<path d="M432 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 452 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FilterBody.svg b/abap/expression_FilterBody.svg
new file mode 100644
index 00000000..1fd091a7
--- /dev/null
+++ b/abap/expression_FilterBody.svg
@@ -0,0 +1,162 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="897.5" height="101" viewBox="0 0 897.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M847.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="85.5" y="44">Source</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M259 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h88"></path>
+</g>
+<path d="M239 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="terminal">
+<path d="M151 40h0"></path>
+<path d="M239 40h0"></path>
+<rect x="151" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="195" y="44">"EXCEPT"</text>
+</g>
+<path d="M239 40h20"></path>
+</g>
+<g>
+<path d="M259 40h0"></path>
+<path d="M607.5 40h0"></path>
+<path d="M259 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M279 20h308.5"></path>
+</g>
+<path d="M587.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M259 40h20"></path>
+<g>
+<path d="M279 40h0"></path>
+<path d="M587.5 40h0"></path>
+<path d="M309 40h10"></path>
+<g>
+<path d="M319 40h0"></path>
+<path d="M464 40h93.5"></path>
+<g class="terminal">
+<path d="M319 40h0"></path>
+<path d="M373 40h0"></path>
+<rect x="319" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="346" y="44">"IN"</text>
+</g>
+<path d="M373 40h10"></path>
+<path d="M383 40h10"></path>
+<g class="non-terminal">
+<path d="M393 40h0"></path>
+<path d="M464 40h0"></path>
+<rect x="393" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="428.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M557.5 40h10"></path>
+<path d="M309 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M319 70h0"></path>
+<path d="M557.5 70h0"></path>
+<g class="terminal">
+<path d="M319 70h0"></path>
+<path d="M432.5 70h0"></path>
+<rect x="319" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="375.75" y="74">"USING KEY"</text>
+</g>
+<path d="M432.5 70h10"></path>
+<path d="M442.5 70h10"></path>
+<g class="non-terminal">
+<path d="M452.5 70h0"></path>
+<path d="M557.5 70h0"></path>
+<rect x="452.5" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="505" y="74">SimpleName</text>
+</a>
+</g>
+</g>
+<path d="M557.5 70a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 309 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="294" y="44" class="diagram-text">1+</text>
+<path d="M 567.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 574.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M587.5 40h20"></path>
+</g>
+<path d="M607.5 40h10"></path>
+<g>
+<path d="M617.5 40h0"></path>
+<path d="M847.5 40h0"></path>
+<g class="terminal">
+<path d="M617.5 40h0"></path>
+<path d="M697 40h0"></path>
+<rect x="617.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="657.25" y="44">"WHERE"</text>
+</g>
+<path d="M697 40h10"></path>
+<path d="M707 40h10"></path>
+<g class="non-terminal">
+<path d="M717 40h0"></path>
+<path d="M847.5 40h0"></path>
+<rect x="717" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="782.25" y="44">ComponentCond</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M847.5 40h10"></path>
+<path d="M 857.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FinalMethods.svg b/abap/expression_FinalMethods.svg
new file mode 100644
index 00000000..b7df6386
--- /dev/null
+++ b/abap/expression_FinalMethods.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="392.5" height="71" viewBox="0 0 392.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M342.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M197.5 31h0"></path>
+<rect x="50" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="35">"FINAL METHODS"</text>
+</g>
+<path d="M197.5 31h10"></path>
+<path d="M207.5 31h10"></path>
+<g>
+<path d="M217.5 31h0"></path>
+<path d="M342.5 31h0"></path>
+<path d="M217.5 31h10"></path>
+<g class="non-terminal">
+<path d="M227.5 31h0"></path>
+<path d="M332.5 31h0"></path>
+<rect x="227.5" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodName"><text x="280" y="35">MethodName</text>
+</a>
+</g>
+<path d="M332.5 31h10"></path>
+<path d="M227.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M227.5 51h105"></path>
+</g>
+<path d="M332.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M342.5 31h10"></path>
+<path d="M 352.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FindType.svg b/abap/expression_FindType.svg
new file mode 100644
index 00000000..92080803
--- /dev/null
+++ b/abap/expression_FindType.svg
@@ -0,0 +1,97 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="380" height="131" viewBox="0 0 380 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M340 40h0"></path>
+<path d="M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h260"></path>
+</g>
+<path d="M320 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M320 40h0"></path>
+<path d="M60 40h20"></path>
+<g class="terminal">
+<path d="M80 40h0"></path>
+<path d="M159.5 40h140.5"></path>
+<rect x="80" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="119.75" y="44">"REGEX"</text>
+</g>
+<path d="M300 40h20"></path>
+<path d="M60 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M80 70h0"></path>
+<path d="M193.5 70h106.5"></path>
+<rect x="80" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="136.75" y="74">"SUBSTRING"</text>
+</g>
+<path d="M300 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M60 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 100h0"></path>
+<path d="M300 100h0"></path>
+<g>
+<path d="M80 100h0"></path>
+<path d="M209 100h0"></path>
+<text x="144.5" y="105" class="comment">v755 or open-abap</text>
+</g>
+<path d="M209 100h10"></path>
+<path d="M219 100h10"></path>
+<g class="terminal">
+<path d="M229 100h0"></path>
+<path d="M300 100h0"></path>
+<rect x="229" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="264.5" y="104">"PCRE"</text>
+</g>
+</g>
+<path d="M300 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M320 40h20"></path>
+</g>
+<path d="M 340 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_For.svg b/abap/expression_For.svg
new file mode 100644
index 00000000..d934804d
--- /dev/null
+++ b/abap/expression_For.svg
@@ -0,0 +1,519 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2295" height="234" viewBox="0 0 2295 234">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2245 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M116 40h0"></path>
+<text x="83" y="45" class="comment">v740sp05</text>
+</g>
+<path d="M116 40h10"></path>
+<path d="M126 40h10"></path>
+<g>
+<path d="M136 40h0"></path>
+<path d="M2245 40h0"></path>
+<g class="terminal">
+<path d="M136 40h0"></path>
+<path d="M198.5 40h0"></path>
+<rect x="136" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="167.25" y="44">"FOR"</text>
+</g>
+<path d="M198.5 40h10"></path>
+<g>
+<path d="M208.5 40h0"></path>
+<path d="M2159.5 40h0"></path>
+<path d="M208.5 40h20"></path>
+<g>
+<path d="M228.5 40h0"></path>
+<path d="M832.5 40h1307"></path>
+<g class="non-terminal">
+<path d="M228.5 40h0"></path>
+<path d="M427 40h0"></path>
+<rect x="228.5" y="29" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineFieldDefinition"><text x="327.75" y="44">InlineFieldDefinition</text>
+</a>
+</g>
+<path d="M427 40h10"></path>
+<g>
+<path d="M437 40h0"></path>
+<path d="M639 40h0"></path>
+<path d="M437 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M457 20h162"></path>
+</g>
+<path d="M619 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M437 40h20"></path>
+<g>
+<path d="M457 40h0"></path>
+<path d="M619 40h0"></path>
+<g class="terminal">
+<path d="M457 40h0"></path>
+<path d="M528 40h0"></path>
+<rect x="457" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="492.5" y="44">"THEN"</text>
+</g>
+<path d="M528 40h10"></path>
+<path d="M538 40h10"></path>
+<g class="non-terminal">
+<path d="M548 40h0"></path>
+<path d="M619 40h0"></path>
+<rect x="548" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="583.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M619 40h20"></path>
+</g>
+<path d="M639 40h10"></path>
+<g>
+<path d="M649 40h0"></path>
+<path d="M832.5 40h0"></path>
+<g>
+<path d="M649 40h0"></path>
+<path d="M768.5 40h0"></path>
+<path d="M649 40h20"></path>
+<g class="terminal">
+<path d="M669 40h0"></path>
+<path d="M748.5 40h0"></path>
+<rect x="669" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="708.75" y="44">"UNTIL"</text>
+</g>
+<path d="M748.5 40h20"></path>
+<path d="M649 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M669 70h0"></path>
+<path d="M748.5 70h0"></path>
+<rect x="669" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="708.75" y="74">"WHILE"</text>
+</g>
+<path d="M748.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M768.5 40h10"></path>
+<g class="non-terminal">
+<path d="M778.5 40h0"></path>
+<path d="M832.5 40h0"></path>
+<rect x="778.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="805.5" y="44">Cond</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M2139.5 40h20"></path>
+<path d="M208.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M228.5 109h0"></path>
+<path d="M1168 109h971.5"></path>
+<g class="non-terminal">
+<path d="M228.5 109h0"></path>
+<path d="M418.5 109h0"></path>
+<rect x="228.5" y="98" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineLoopDefinition"><text x="323.5" y="113">InlineLoopDefinition</text>
+</a>
+</g>
+<path d="M418.5 109h10"></path>
+<g>
+<path d="M428.5 109h0"></path>
+<path d="M630.5 109h0"></path>
+<path d="M428.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M448.5 89h162"></path>
+</g>
+<path d="M610.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M428.5 109h20"></path>
+<g>
+<path d="M448.5 109h0"></path>
+<path d="M610.5 109h0"></path>
+<g class="terminal">
+<path d="M448.5 109h0"></path>
+<path d="M519.5 109h0"></path>
+<rect x="448.5" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="484" y="113">"FROM"</text>
+</g>
+<path d="M519.5 109h10"></path>
+<path d="M529.5 109h10"></path>
+<g class="non-terminal">
+<path d="M539.5 109h0"></path>
+<path d="M610.5 109h0"></path>
+<rect x="539.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="575" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M610.5 109h20"></path>
+</g>
+<g>
+<path d="M630.5 109h0"></path>
+<path d="M815.5 109h0"></path>
+<path d="M630.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M650.5 89h145"></path>
+</g>
+<path d="M795.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M630.5 109h20"></path>
+<g>
+<path d="M650.5 109h0"></path>
+<path d="M795.5 109h0"></path>
+<g class="terminal">
+<path d="M650.5 109h0"></path>
+<path d="M704.5 109h0"></path>
+<rect x="650.5" y="98" width="54" height="22" rx="10" ry="10"></rect>
+<text x="677.5" y="113">"TO"</text>
+</g>
+<path d="M704.5 109h10"></path>
+<path d="M714.5 109h10"></path>
+<g class="non-terminal">
+<path d="M724.5 109h0"></path>
+<path d="M795.5 109h0"></path>
+<rect x="724.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="760" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 109h20"></path>
+</g>
+<g>
+<path d="M815.5 109h0"></path>
+<path d="M1168 109h0"></path>
+<path d="M815.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M835.5 89h312.5"></path>
+</g>
+<path d="M1148 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M815.5 109h20"></path>
+<g>
+<path d="M835.5 109h0"></path>
+<path d="M1148 109h0"></path>
+<g class="terminal">
+<path d="M835.5 109h0"></path>
+<path d="M932 109h0"></path>
+<rect x="835.5" y="98" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="883.75" y="113">"WHERE ("</text>
+</g>
+<path d="M932 109h10"></path>
+<path d="M942 109h10"></path>
+<g class="non-terminal">
+<path d="M952 109h0"></path>
+<path d="M1082.5 109h0"></path>
+<rect x="952" y="98" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="1017.25" y="113">ComponentCond</text>
+</a>
+</g>
+<path d="M1082.5 109h10"></path>
+<path d="M1092.5 109h10"></path>
+<g class="terminal">
+<path d="M1102.5 109h0"></path>
+<path d="M1148 109h0"></path>
+<rect x="1102.5" y="98" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1125.25" y="113">")"</text>
+</g>
+</g>
+<path d="M1148 109h20"></path>
+</g>
+</g>
+<path d="M2139.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M208.5 40a10 10 0 0 1 10 10v104a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M228.5 164h0"></path>
+<path d="M2139.5 164h0"></path>
+<g>
+<path d="M228.5 164h0"></path>
+<path d="M294.5 164h0"></path>
+<text x="261.5" y="169" class="comment">v740sp08</text>
+</g>
+<path d="M294.5 164h10"></path>
+<path d="M304.5 164h10"></path>
+<g>
+<path d="M314.5 164h0"></path>
+<path d="M2139.5 164h0"></path>
+<g class="terminal">
+<path d="M314.5 164h0"></path>
+<path d="M402.5 164h0"></path>
+<rect x="314.5" y="153" width="88" height="22" rx="10" ry="10"></rect>
+<text x="358.5" y="168">"GROUPS"</text>
+</g>
+<path d="M402.5 164h10"></path>
+<g>
+<path d="M412.5 164h0"></path>
+<path d="M617 164h0"></path>
+<path d="M412.5 164h20"></path>
+<g class="non-terminal">
+<path d="M432.5 164h0"></path>
+<path d="M546 164h51"></path>
+<rect x="432.5" y="153" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="489.25" y="168">TargetField</text>
+</a>
+</g>
+<path d="M597 164h20"></path>
+<path d="M412.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M432.5 194h0"></path>
+<path d="M597 194h0"></path>
+<rect x="432.5" y="183" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="514.75" y="198">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M597 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M617 164h10"></path>
+<g class="terminal">
+<path d="M627 164h0"></path>
+<path d="M681 164h0"></path>
+<rect x="627" y="153" width="54" height="22" rx="10" ry="10"></rect>
+<text x="654" y="168">"OF"</text>
+</g>
+<path d="M681 164h10"></path>
+<g>
+<path d="M691 164h0"></path>
+<path d="M895.5 164h0"></path>
+<path d="M691 164h20"></path>
+<g class="non-terminal">
+<path d="M711 164h0"></path>
+<path d="M824.5 164h51"></path>
+<rect x="711" y="153" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="767.75" y="168">TargetField</text>
+</a>
+</g>
+<path d="M875.5 164h20"></path>
+<path d="M691 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M711 194h0"></path>
+<path d="M875.5 194h0"></path>
+<rect x="711" y="183" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="793.25" y="198">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M875.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M895.5 164h10"></path>
+<g class="terminal">
+<path d="M905.5 164h0"></path>
+<path d="M959.5 164h0"></path>
+<rect x="905.5" y="153" width="54" height="22" rx="10" ry="10"></rect>
+<text x="932.5" y="168">"IN"</text>
+</g>
+<path d="M959.5 164h10"></path>
+<path d="M969.5 164h10"></path>
+<g class="non-terminal">
+<path d="M979.5 164h0"></path>
+<path d="M1050.5 164h0"></path>
+<rect x="979.5" y="153" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1015" y="168">Source</text>
+</a>
+</g>
+<path d="M1050.5 164h10"></path>
+<g>
+<path d="M1060.5 164h0"></path>
+<path d="M2139.5 164h0"></path>
+<path d="M1060.5 164a10 10 0 0 0 10 -10v-16a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1080.5 128h1039"></path>
+</g>
+<path d="M2119.5 128a10 10 0 0 1 10 10v16a10 10 0 0 0 10 10"></path>
+<path d="M1060.5 164h20"></path>
+<g>
+<path d="M1080.5 164h0"></path>
+<path d="M2119.5 164h0"></path>
+<g class="terminal">
+<path d="M1080.5 164h0"></path>
+<path d="M1185.5 164h0"></path>
+<rect x="1080.5" y="153" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1133" y="168">"GROUP BY"</text>
+</g>
+<path d="M1185.5 164h10"></path>
+<g>
+<path d="M1195.5 164h0"></path>
+<path d="M1576.5 164h0"></path>
+<path d="M1195.5 164h20"></path>
+<g class="non-terminal">
+<path d="M1215.5 164h0"></path>
+<path d="M1320.5 164h236"></path>
+<rect x="1215.5" y="153" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="1268" y="168">FieldChain</text>
+</a>
+</g>
+<path d="M1556.5 164h20"></path>
+<path d="M1195.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1215.5 194h0"></path>
+<path d="M1556.5 194h0"></path>
+<g class="terminal">
+<path d="M1215.5 194h0"></path>
+<path d="M1261 194h0"></path>
+<rect x="1215.5" y="183" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1238.25" y="198">"("</text>
+</g>
+<path d="M1261 194h10"></path>
+<path d="M1271 194h10"></path>
+<g>
+<path d="M1281 194h0"></path>
+<path d="M1491 194h0"></path>
+<path d="M1281 194h10"></path>
+<g class="non-terminal">
+<path d="M1291 194h0"></path>
+<path d="M1481 194h0"></path>
+<rect x="1291" y="183" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/LoopGroupByComponent"><text x="1386" y="198">LoopGroupByComponent</text>
+</a>
+</g>
+<path d="M1481 194h10"></path>
+<path d="M1291 194a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1291 214h190"></path>
+</g>
+<path d="M1481 214a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1491 194h10"></path>
+<path d="M1501 194h10"></path>
+<g class="terminal">
+<path d="M1511 194h0"></path>
+<path d="M1556.5 194h0"></path>
+<rect x="1511" y="183" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1533.75" y="198">")"</text>
+</g>
+</g>
+<path d="M1556.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1576.5 164h0"></path>
+<path d="M1915 164h0"></path>
+<path d="M1576.5 164a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1596.5 136h298.5"></path>
+</g>
+<path d="M1895 136a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1576.5 164h20"></path>
+<g>
+<path d="M1596.5 164h0"></path>
+<path d="M1895 164h0"></path>
+<g>
+<path d="M1596.5 164h0"></path>
+<path d="M1758.5 164h0"></path>
+<path d="M1596.5 164h20"></path>
+<g class="terminal">
+<path d="M1616.5 164h0"></path>
+<path d="M1730 164h8.5"></path>
+<rect x="1616.5" y="153" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1673.25" y="168">"ASCENDING"</text>
+</g>
+<path d="M1738.5 164h20"></path>
+<path d="M1596.5 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1616.5 194h0"></path>
+<path d="M1738.5 194h0"></path>
+<rect x="1616.5" y="183" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1677.5" y="198">"DESCENDING"</text>
+</g>
+<path d="M1738.5 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1758.5 164h0"></path>
+<path d="M1895 164h0"></path>
+<path d="M1758.5 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1778.5 144h96.5"></path>
+</g>
+<path d="M1875 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1758.5 164h20"></path>
+<g class="terminal">
+<path d="M1778.5 164h0"></path>
+<path d="M1875 164h0"></path>
+<rect x="1778.5" y="153" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1826.75" y="168">"AS TEXT"</text>
+</g>
+<path d="M1875 164h20"></path>
+</g>
+</g>
+<path d="M1895 164h20"></path>
+</g>
+<g>
+<path d="M1915 164h0"></path>
+<path d="M2119.5 164h0"></path>
+<path d="M1915 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1935 144h164.5"></path>
+</g>
+<path d="M2099.5 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1915 164h20"></path>
+<g class="terminal">
+<path d="M1935 164h0"></path>
+<path d="M2099.5 164h0"></path>
+<rect x="1935" y="153" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="2017.25" y="168">"WITHOUT MEMBERS"</text>
+</g>
+<path d="M2099.5 164h20"></path>
+</g>
+</g>
+<path d="M2119.5 164h20"></path>
+</g>
+</g>
+</g>
+<path d="M2139.5 164a10 10 0 0 0 10 -10v-104a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M2159.5 40h0"></path>
+<path d="M2245 40h0"></path>
+<path d="M2159.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2179.5 20h45.5"></path>
+</g>
+<path d="M2225 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2159.5 40h20"></path>
+<g class="non-terminal">
+<path d="M2179.5 40h0"></path>
+<path d="M2225 40h0"></path>
+<rect x="2179.5" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="2202.25" y="44">Let</text>
+</a>
+</g>
+<path d="M2225 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M2245 40h10"></path>
+<path d="M 2255 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormChanging.svg b/abap/expression_FormChanging.svg
new file mode 100644
index 00000000..997b9462
--- /dev/null
+++ b/abap/expression_FormChanging.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="341.5" height="71" viewBox="0 0 341.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M291.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"CHANGING"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g>
+<path d="M175 31h0"></path>
+<path d="M291.5 31h0"></path>
+<path d="M175 31h10"></path>
+<g class="non-terminal">
+<path d="M185 31h0"></path>
+<path d="M281.5 31h0"></path>
+<rect x="185" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParam"><text x="233.25" y="35">FormParam</text>
+</a>
+</g>
+<path d="M281.5 31h10"></path>
+<path d="M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M185 51h96.5"></path>
+</g>
+<path d="M281.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M291.5 31h10"></path>
+<path d="M 301.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormName.svg b/abap/expression_FormName.svg
new file mode 100644
index 00000000..8b58fc21
--- /dev/null
+++ b/abap/expression_FormName.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="586.5" height="88" viewBox="0 0 586.5 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M536.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M197.5 48h0"></path>
+<rect x="50" y="37" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="52">^&#91;\w%$\&#42;\/\?&#93;+$</text>
+</g>
+<path d="M197.5 48h10"></path>
+<g>
+<path d="M207.5 48h0"></path>
+<path d="M434 48h0"></path>
+<path d="M207.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M227.5 20h186.5"></path>
+</g>
+<path d="M414 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M207.5 48h20"></path>
+<g>
+<path d="M227.5 48h0"></path>
+<path d="M414 48h0"></path>
+<path d="M227.5 48h10"></path>
+<g>
+<path d="M237.5 48h0"></path>
+<path d="M404 48h0"></path>
+<g class="terminal">
+<path d="M237.5 48h0"></path>
+<path d="M291.5 48h0"></path>
+<rect x="237.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="264.5" y="52">!"-"</text>
+</g>
+<path d="M291.5 48h10"></path>
+<g>
+<path d="M301.5 48h0"></path>
+<path d="M404 48h0"></path>
+<path d="M301.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M321.5 28h62.5"></path>
+</g>
+<path d="M384 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M301.5 48h20"></path>
+<g class="terminal">
+<path d="M321.5 48h0"></path>
+<path d="M384 48h0"></path>
+<rect x="321.5" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="352.75" y="52">^\w+$</text>
+</g>
+<path d="M384 48h20"></path>
+</g>
+</g>
+<path d="M404 48h10"></path>
+<path d="M237.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M237.5 68h166.5"></path>
+</g>
+<path d="M404 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M414 48h20"></path>
+</g>
+<g>
+<path d="M434 48h0"></path>
+<path d="M536.5 48h0"></path>
+<path d="M434 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M454 28h62.5"></path>
+</g>
+<path d="M516.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M434 48h20"></path>
+<g class="terminal">
+<path d="M454 48h0"></path>
+<path d="M516.5 48h0"></path>
+<rect x="454" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="485.25" y="52">!"- "</text>
+</g>
+<path d="M516.5 48h20"></path>
+</g>
+</g>
+<path d="M536.5 48h10"></path>
+<path d="M 546.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormParam.svg b/abap/expression_FormParam.svg
new file mode 100644
index 00000000..0c9f1462
--- /dev/null
+++ b/abap/expression_FormParam.svg
@@ -0,0 +1,120 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="640" height="101" viewBox="0 0 640 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M590 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M183.5 40h17"></path>
+<rect x="70" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/PassByValue"><text x="126.75" y="44">PassByValue</text>
+</a>
+</g>
+<path d="M200.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M200.5 70h0"></path>
+<rect x="70" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParamName"><text x="135.25" y="74">FormParamName</text>
+</a>
+</g>
+<path d="M200.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M590 40h0"></path>
+<path d="M220.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M240.5 20h329.5"></path>
+</g>
+<path d="M570 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M220.5 40h20"></path>
+<g>
+<path d="M240.5 40h0"></path>
+<path d="M570 40h0"></path>
+<path d="M240.5 40h20"></path>
+<g class="non-terminal">
+<path d="M260.5 40h0"></path>
+<path d="M391 40h159"></path>
+<rect x="260.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParamType"><text x="325.75" y="44">FormParamType</text>
+</a>
+</g>
+<path d="M550 40h20"></path>
+<path d="M240.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M260.5 70h0"></path>
+<path d="M550 70h0"></path>
+<g class="terminal">
+<path d="M260.5 70h0"></path>
+<path d="M374 70h0"></path>
+<rect x="260.5" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="317.25" y="74">"STRUCTURE"</text>
+</g>
+<path d="M374 70h10"></path>
+<path d="M384 70h10"></path>
+<g class="non-terminal">
+<path d="M394 70h0"></path>
+<path d="M550 70h0"></path>
+<rect x="394" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="472" y="74">SimpleFieldChain</text>
+</a>
+</g>
+</g>
+<path d="M550 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M570 40h20"></path>
+</g>
+</g>
+<path d="M590 40h10"></path>
+<path d="M 600 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormParamName.svg b/abap/expression_FormParamName.svg
new file mode 100644
index 00000000..09aa05c0
--- /dev/null
+++ b/abap/expression_FormParamName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="522" height="80" viewBox="0 0 522 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M472 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M189 40h0"></path>
+<rect x="50" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="119.5" y="44">^&#91;\w$&#38;\&#42;%\/&#93;+$</text>
+</g>
+<path d="M189 40h10"></path>
+<g>
+<path d="M199 40h0"></path>
+<path d="M472 40h0"></path>
+<path d="M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M219 20h233"></path>
+</g>
+<path d="M452 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M199 40h20"></path>
+<g>
+<path d="M219 40h0"></path>
+<path d="M452 40h0"></path>
+<path d="M219 40h10"></path>
+<g>
+<path d="M229 40h0"></path>
+<path d="M442 40h0"></path>
+<g class="terminal">
+<path d="M229 40h0"></path>
+<path d="M283 40h0"></path>
+<rect x="229" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="256" y="44">!"-"</text>
+</g>
+<path d="M283 40h10"></path>
+<path d="M293 40h10"></path>
+<g class="terminal">
+<path d="M303 40h0"></path>
+<path d="M442 40h0"></path>
+<rect x="303" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="372.5" y="44">^&#91;\w$&#38;\&#42;%\/&#93;+$</text>
+</g>
+</g>
+<path d="M442 40h10"></path>
+<path d="M229 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M229 60h213"></path>
+</g>
+<path d="M442 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M452 40h20"></path>
+</g>
+</g>
+<path d="M472 40h10"></path>
+<path d="M 482 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormParamType.svg b/abap/expression_FormParamType.svg
new file mode 100644
index 00000000..8c52ed74
--- /dev/null
+++ b/abap/expression_FormParamType.svg
@@ -0,0 +1,302 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="817" height="329" viewBox="0 0 817 329">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M777 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M757 40h0"></path>
+<g class="terminal">
+<path d="M60 40h0"></path>
+<path d="M131 40h0"></path>
+<rect x="60" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="44">"TYPE"</text>
+</g>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M757 40h0"></path>
+<path d="M141 40h20"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M607.5 40h129.5"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M395.5 40h0"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M306 40h0"></path>
+<path d="M161 40h20"></path>
+<g class="terminal">
+<path d="M181 40h0"></path>
+<path d="M286 40h0"></path>
+<rect x="181" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="233.5" y="44">"STANDARD"</text>
+</g>
+<path d="M286 40h20"></path>
+<path d="M161 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 70h0"></path>
+<path d="M269 70h17"></path>
+<rect x="181" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="74">"HASHED"</text>
+</g>
+<path d="M286 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M161 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 100h0"></path>
+<path d="M260.5 100h25.5"></path>
+<rect x="181" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="220.75" y="104">"INDEX"</text>
+</g>
+<path d="M286 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M161 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 130h0"></path>
+<path d="M269 130h17"></path>
+<rect x="181" y="119" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="134">"SORTED"</text>
+</g>
+<path d="M286 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M161 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 160h0"></path>
+<path d="M243.5 160h42.5"></path>
+<rect x="181" y="149" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="212.25" y="164">"ANY"</text>
+</g>
+<path d="M286 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M306 40h10"></path>
+<g class="terminal">
+<path d="M316 40h0"></path>
+<path d="M395.5 40h0"></path>
+<rect x="316" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="355.75" y="44">"TABLE"</text>
+</g>
+</g>
+<path d="M395.5 40h10"></path>
+<g>
+<path d="M405.5 40h0"></path>
+<path d="M607.5 40h0"></path>
+<path d="M405.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M425.5 20h162"></path>
+</g>
+<path d="M587.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M405.5 40h20"></path>
+<g>
+<path d="M425.5 40h0"></path>
+<path d="M587.5 40h0"></path>
+<g class="terminal">
+<path d="M425.5 40h0"></path>
+<path d="M479.5 40h0"></path>
+<rect x="425.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="452.5" y="44">"OF"</text>
+</g>
+<path d="M479.5 40h10"></path>
+<path d="M489.5 40h10"></path>
+<g class="non-terminal">
+<path d="M499.5 40h0"></path>
+<path d="M587.5 40h0"></path>
+<rect x="499.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="543.5" y="44">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M587.5 40h20"></path>
+</g>
+</g>
+<path d="M737 40h20"></path>
+<path d="M141 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 199h0"></path>
+<path d="M737 199h0"></path>
+<g>
+<path d="M161 199h0"></path>
+<path d="M337.5 199h0"></path>
+<path d="M161 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 179h136.5"></path>
+</g>
+<path d="M317.5 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 199h20"></path>
+<g>
+<path d="M181 199h0"></path>
+<path d="M317.5 199h0"></path>
+<path d="M181 199h20"></path>
+<g class="terminal">
+<path d="M201 199h0"></path>
+<path d="M289 199h8.5"></path>
+<rect x="201" y="188" width="88" height="22" rx="10" ry="10"></rect>
+<text x="245" y="203">"REF TO"</text>
+</g>
+<path d="M297.5 199h20"></path>
+<path d="M181 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M201 229h0"></path>
+<path d="M297.5 229h0"></path>
+<rect x="201" y="218" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="249.25" y="233">"LINE OF"</text>
+</g>
+<path d="M297.5 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M317.5 199h20"></path>
+</g>
+<path d="M337.5 199h10"></path>
+<g class="non-terminal">
+<path d="M347.5 199h0"></path>
+<path d="M435.5 199h0"></path>
+<rect x="347.5" y="188" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="391.5" y="203">TypeName</text>
+</a>
+</g>
+<path d="M435.5 199h10"></path>
+<g>
+<path d="M445.5 199h0"></path>
+<path d="M737 199h0"></path>
+<path d="M445.5 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M465.5 179h251.5"></path>
+</g>
+<path d="M717 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M445.5 199h20"></path>
+<g>
+<path d="M465.5 199h0"></path>
+<path d="M717 199h0"></path>
+<g class="terminal">
+<path d="M465.5 199h0"></path>
+<path d="M562 199h0"></path>
+<rect x="465.5" y="188" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="513.75" y="203">"DEFAULT"</text>
+</g>
+<path d="M562 199h10"></path>
+<g>
+<path d="M572 199h0"></path>
+<path d="M717 199h0"></path>
+<path d="M572 199h20"></path>
+<g class="non-terminal">
+<path d="M592 199h0"></path>
+<path d="M680 199h17"></path>
+<rect x="592" y="188" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="636" y="203">Constant</text>
+</a>
+</g>
+<path d="M697 199h20"></path>
+<path d="M572 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M592 229h0"></path>
+<path d="M697 229h0"></path>
+<rect x="592" y="218" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="644.5" y="233">FieldChain</text>
+</a>
+</g>
+<path d="M697 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M717 199h20"></path>
+</g>
+</g>
+<path d="M737 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M757 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 268h0"></path>
+<path d="M432.5 268h324.5"></path>
+<g class="terminal">
+<path d="M60 268h0"></path>
+<path d="M131 268h0"></path>
+<rect x="60" y="257" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="272">"LIKE"</text>
+</g>
+<path d="M131 268h10"></path>
+<g>
+<path d="M141 268h0"></path>
+<path d="M317.5 268h0"></path>
+<path d="M141 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M161 248h136.5"></path>
+</g>
+<path d="M297.5 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M141 268h20"></path>
+<g>
+<path d="M161 268h0"></path>
+<path d="M297.5 268h0"></path>
+<path d="M161 268h20"></path>
+<g class="terminal">
+<path d="M181 268h0"></path>
+<path d="M269 268h8.5"></path>
+<rect x="181" y="257" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="272">"REF TO"</text>
+</g>
+<path d="M277.5 268h20"></path>
+<path d="M161 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 298h0"></path>
+<path d="M277.5 298h0"></path>
+<rect x="181" y="287" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="229.25" y="302">"LINE OF"</text>
+</g>
+<path d="M277.5 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M297.5 268h20"></path>
+</g>
+<path d="M317.5 268h10"></path>
+<g class="non-terminal">
+<path d="M327.5 268h0"></path>
+<path d="M432.5 268h0"></path>
+<rect x="327.5" y="257" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="380" y="272">FieldChain</text>
+</a>
+</g>
+</g>
+<path d="M757 268a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 777 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormRaising.svg b/abap/expression_FormRaising.svg
new file mode 100644
index 00000000..20d23554
--- /dev/null
+++ b/abap/expression_FormRaising.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="663" height="100" viewBox="0 0 663 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M613 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"RAISING"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g>
+<path d="M166.5 31h0"></path>
+<path d="M613 31h0"></path>
+<path d="M166.5 31h10"></path>
+<g>
+<path d="M176.5 31h0"></path>
+<path d="M603 31h0"></path>
+<path d="M176.5 31h20"></path>
+<g class="non-terminal">
+<path d="M196.5 31h0"></path>
+<path d="M293 31h290"></path>
+<rect x="196.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="244.75" y="35">ClassName</text>
+</a>
+</g>
+<path d="M583 31h20"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M196.5 61h0"></path>
+<path d="M583 61h0"></path>
+<g class="terminal">
+<path d="M196.5 61h0"></path>
+<path d="M310 61h0"></path>
+<rect x="196.5" y="50" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="253.25" y="65">"RESUMABLE"</text>
+</g>
+<path d="M310 61h10"></path>
+<path d="M320 61h10"></path>
+<g class="terminal">
+<path d="M330 61h0"></path>
+<path d="M384 61h0"></path>
+<rect x="330" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="357" y="65">!"("</text>
+</g>
+<path d="M384 61h10"></path>
+<path d="M394 61h10"></path>
+<g class="non-terminal">
+<path d="M404 61h0"></path>
+<path d="M500.5 61h0"></path>
+<rect x="404" y="50" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="452.25" y="65">ClassName</text>
+</a>
+</g>
+<path d="M500.5 61h10"></path>
+<path d="M510.5 61h10"></path>
+<g class="terminal">
+<path d="M520.5 61h0"></path>
+<path d="M583 61h0"></path>
+<rect x="520.5" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="551.75" y="65">!") "</text>
+</g>
+</g>
+<path d="M583 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M603 31h10"></path>
+<path d="M176.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 80h426.5"></path>
+</g>
+<path d="M603 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M613 31h10"></path>
+<path d="M 623 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormTables.svg b/abap/expression_FormTables.svg
new file mode 100644
index 00000000..37c7281b
--- /dev/null
+++ b/abap/expression_FormTables.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="324.5" height="71" viewBox="0 0 324.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M274.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"TABLES"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g>
+<path d="M158 31h0"></path>
+<path d="M274.5 31h0"></path>
+<path d="M158 31h10"></path>
+<g class="non-terminal">
+<path d="M168 31h0"></path>
+<path d="M264.5 31h0"></path>
+<rect x="168" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParam"><text x="216.25" y="35">FormParam</text>
+</a>
+</g>
+<path d="M264.5 31h10"></path>
+<path d="M168 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 51h96.5"></path>
+</g>
+<path d="M264.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M274.5 31h10"></path>
+<path d="M 284.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FormUsing.svg b/abap/expression_FormUsing.svg
new file mode 100644
index 00000000..20dde691
--- /dev/null
+++ b/abap/expression_FormUsing.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="316" height="71" viewBox="0 0 316 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M266 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"USING"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g>
+<path d="M149.5 31h0"></path>
+<path d="M266 31h0"></path>
+<path d="M149.5 31h10"></path>
+<g class="non-terminal">
+<path d="M159.5 31h0"></path>
+<path d="M256 31h0"></path>
+<rect x="159.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParam"><text x="207.75" y="35">FormParam</text>
+</a>
+</g>
+<path d="M256 31h10"></path>
+<path d="M159.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M159.5 51h96.5"></path>
+</g>
+<path d="M256 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M266 31h10"></path>
+<path d="M 276 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FunctionExporting.svg b/abap/expression_FunctionExporting.svg
new file mode 100644
index 00000000..54dc0c44
--- /dev/null
+++ b/abap/expression_FunctionExporting.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="361" height="71" viewBox="0 0 361 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M311 31h0"></path>
+<path d="M50 31h10"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M301 31h0"></path>
+<rect x="60" y="20" width="241" height="22"></rect>
+<a xlink:href="#/abap/expression/FunctionExportingParameter"><text x="180.5" y="35">FunctionExportingParameter</text>
+</a>
+</g>
+<path d="M301 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 51h241"></path>
+</g>
+<path d="M301 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M311 31h10"></path>
+<path d="M 321 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FunctionExportingParameter.svg b/abap/expression_FunctionExportingParameter.svg
new file mode 100644
index 00000000..dd74c2b3
--- /dev/null
+++ b/abap/expression_FunctionExportingParameter.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="503" height="92" viewBox="0 0 503 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M453 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterName"><text x="115.25" y="35">ParameterName</text>
+</a>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M190.5 31h10"></path>
+<g class="terminal">
+<path d="M200.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="200.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="223.25" y="35">"="</text>
+</g>
+<path d="M246 31h10"></path>
+<g>
+<path d="M256 31h0"></path>
+<path d="M453 31h0"></path>
+<path d="M256 31h20"></path>
+<g>
+<path d="M276 31h0"></path>
+<path d="M433 31h0"></path>
+<g>
+<path d="M276 31h0"></path>
+<path d="M342 31h0"></path>
+<text x="309" y="36" class="comment">v740sp02</text>
+</g>
+<path d="M342 31h10"></path>
+<path d="M352 31h10"></path>
+<g class="non-terminal">
+<path d="M362 31h0"></path>
+<path d="M433 31h0"></path>
+<rect x="362" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="397.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M433 31h20"></path>
+<path d="M256 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M276 61h0"></path>
+<path d="M406.5 61h26.5"></path>
+<rect x="276" y="50" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="341.25" y="65">SimpleSource3</text>
+</a>
+</g>
+<path d="M433 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M453 31h10"></path>
+<path d="M 463 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FunctionName.svg b/abap/expression_FunctionName.svg
new file mode 100644
index 00000000..a5ca2562
--- /dev/null
+++ b/abap/expression_FunctionName.svg
@@ -0,0 +1,69 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="225" height="92" viewBox="0 0 225 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M185 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h17"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="104" y="35">Constant</text>
+</a>
+</g>
+<path d="M165 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M165 61h0"></path>
+<rect x="60" y="50" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="112.5" y="65">FieldChain</text>
+</a>
+</g>
+<path d="M165 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 185 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_FunctionParameters.svg b/abap/expression_FunctionParameters.svg
new file mode 100644
index 00000000..6ca89b60
--- /dev/null
+++ b/abap/expression_FunctionParameters.svg
@@ -0,0 +1,228 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1809" height="109" viewBox="0 0 1809 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1759 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M388 48h0"></path>
+<path d="M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 28h298"></path>
+</g>
+<path d="M368 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 48h20"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M368 48h0"></path>
+<g class="terminal">
+<path d="M70 48h0"></path>
+<path d="M183.5 48h0"></path>
+<rect x="70" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="52">"EXPORTING"</text>
+</g>
+<path d="M183.5 48h10"></path>
+<path d="M193.5 48h10"></path>
+<g class="non-terminal">
+<path d="M203.5 48h0"></path>
+<path d="M368 48h0"></path>
+<rect x="203.5" y="37" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FunctionExporting"><text x="285.75" y="52">FunctionExporting</text>
+</a>
+</g>
+</g>
+<path d="M368 48h20"></path>
+</g>
+<g>
+<path d="M388 48h0"></path>
+<path d="M700.5 48h0"></path>
+<path d="M388 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M408 28h272.5"></path>
+</g>
+<path d="M680.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M388 48h20"></path>
+<g>
+<path d="M408 48h0"></path>
+<path d="M680.5 48h0"></path>
+<g class="terminal">
+<path d="M408 48h0"></path>
+<path d="M521.5 48h0"></path>
+<rect x="408" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="464.75" y="52">"IMPORTING"</text>
+</g>
+<path d="M521.5 48h10"></path>
+<path d="M531.5 48h10"></path>
+<g class="non-terminal">
+<path d="M541.5 48h0"></path>
+<path d="M680.5 48h0"></path>
+<rect x="541.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="611" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M680.5 48h20"></path>
+</g>
+<g>
+<path d="M700.5 48h0"></path>
+<path d="M987.5 48h0"></path>
+<path d="M700.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M720.5 28h247"></path>
+</g>
+<path d="M967.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M700.5 48h20"></path>
+<g>
+<path d="M720.5 48h0"></path>
+<path d="M967.5 48h0"></path>
+<g class="terminal">
+<path d="M720.5 48h0"></path>
+<path d="M808.5 48h0"></path>
+<rect x="720.5" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="764.5" y="52">"TABLES"</text>
+</g>
+<path d="M808.5 48h10"></path>
+<path d="M818.5 48h10"></path>
+<g class="non-terminal">
+<path d="M828.5 48h0"></path>
+<path d="M967.5 48h0"></path>
+<rect x="828.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="898" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M967.5 48h20"></path>
+</g>
+<g>
+<path d="M987.5 48h0"></path>
+<path d="M1291.5 48h0"></path>
+<path d="M987.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1007.5 28h264"></path>
+</g>
+<path d="M1271.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M987.5 48h20"></path>
+<g>
+<path d="M1007.5 48h0"></path>
+<path d="M1271.5 48h0"></path>
+<g class="terminal">
+<path d="M1007.5 48h0"></path>
+<path d="M1112.5 48h0"></path>
+<rect x="1007.5" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1060" y="52">"CHANGING"</text>
+</g>
+<path d="M1112.5 48h10"></path>
+<path d="M1122.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1132.5 48h0"></path>
+<path d="M1271.5 48h0"></path>
+<rect x="1132.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="1202" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M1271.5 48h20"></path>
+</g>
+<g>
+<path d="M1291.5 48h0"></path>
+<path d="M1759 48h0"></path>
+<path d="M1291.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1311.5 20h427.5"></path>
+</g>
+<path d="M1739 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1291.5 48h20"></path>
+<g>
+<path d="M1311.5 48h0"></path>
+<path d="M1739 48h0"></path>
+<g class="terminal">
+<path d="M1311.5 48h0"></path>
+<path d="M1433.5 48h0"></path>
+<rect x="1311.5" y="37" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1372.5" y="52">"EXCEPTIONS"</text>
+</g>
+<path d="M1433.5 48h10"></path>
+<g>
+<path d="M1443.5 48h0"></path>
+<path d="M1739 48h0"></path>
+<path d="M1443.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1463.5 28h255.5"></path>
+</g>
+<path d="M1719 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1443.5 48h20"></path>
+<g>
+<path d="M1463.5 48h0"></path>
+<path d="M1719 48h0"></path>
+<path d="M1463.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1483.5 48h0"></path>
+<path d="M1699 48h0"></path>
+<rect x="1483.5" y="37" width="215.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListExceptions"><text x="1591.25" y="52">ParameterListExceptions</text>
+</a>
+</g>
+<path d="M1699 48h20"></path>
+<path d="M1463.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1483.5 78h0"></path>
+<path d="M1546 78h153"></path>
+<rect x="1483.5" y="67" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1514.75" y="82">Field</text>
+</a>
+</g>
+<path d="M1699 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1719 48h20"></path>
+</g>
+</g>
+<path d="M1739 48h20"></path>
+</g>
+</g>
+<path d="M1759 48h10"></path>
+<path d="M 1769 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_IncludeName.svg b/abap/expression_IncludeName.svg
new file mode 100644
index 00000000..c5c0a59a
--- /dev/null
+++ b/abap/expression_IncludeName.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="553" height="71" viewBox="0 0 553 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M503 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M316.5 40h0"></path>
+<rect x="50" y="29" width="266.5" height="22" rx="10" ry="10"></rect>
+<text x="183.25" y="44">^&#60;?(\/\w+\/)?&#91;\w%&#93;+(~\w+)?>?$</text>
+</g>
+<path d="M316.5 40h10"></path>
+<g>
+<path d="M326.5 40h0"></path>
+<path d="M503 40h0"></path>
+<path d="M326.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M346.5 20h136.5"></path>
+</g>
+<path d="M483 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M326.5 40h20"></path>
+<g>
+<path d="M346.5 40h0"></path>
+<path d="M483 40h0"></path>
+<g class="terminal">
+<path d="M346.5 40h0"></path>
+<path d="M400.5 40h0"></path>
+<rect x="346.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="373.5" y="44">!"-"</text>
+</g>
+<path d="M400.5 40h10"></path>
+<path d="M410.5 40h10"></path>
+<g class="terminal">
+<path d="M420.5 40h0"></path>
+<path d="M483 40h0"></path>
+<rect x="420.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="451.75" y="44">^\w+$</text>
+</g>
+</g>
+<path d="M483 40h20"></path>
+</g>
+</g>
+<path d="M503 40h10"></path>
+<path d="M 513 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InlineData.svg b/abap/expression_InlineData.svg
new file mode 100644
index 00000000..0b1e17ed
--- /dev/null
+++ b/abap/expression_InlineData.svg
@@ -0,0 +1,173 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="597" height="152" viewBox="0 0 597 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M557 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M537 31h0"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M126 31h0"></path>
+<text x="93" y="36" class="comment">v740sp02</text>
+</g>
+<path d="M126 31h10"></path>
+<path d="M136 31h10"></path>
+<g>
+<path d="M146 31h0"></path>
+<path d="M537 31h0"></path>
+<g class="terminal">
+<path d="M146 31h0"></path>
+<path d="M217 31h0"></path>
+<rect x="146" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="181.5" y="35">"DATA"</text>
+</g>
+<path d="M217 31h10"></path>
+<path d="M227 31h10"></path>
+<g class="terminal">
+<path d="M237 31h0"></path>
+<path d="M291 31h0"></path>
+<rect x="237" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="264" y="35">!"("</text>
+</g>
+<path d="M291 31h10"></path>
+<path d="M301 31h10"></path>
+<g class="non-terminal">
+<path d="M311 31h0"></path>
+<path d="M424.5 31h0"></path>
+<rect x="311" y="20" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="367.75" y="35">TargetField</text>
+</a>
+</g>
+<path d="M424.5 31h10"></path>
+<g>
+<path d="M434.5 31h0"></path>
+<path d="M537 31h0"></path>
+<path d="M434.5 31h20"></path>
+<g class="terminal">
+<path d="M454.5 31h0"></path>
+<path d="M517 31h0"></path>
+<rect x="454.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="485.75" y="35">!") "</text>
+</g>
+<path d="M517 31h20"></path>
+<path d="M434.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M454.5 61h0"></path>
+<path d="M508.5 61h8.5"></path>
+<rect x="454.5" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="481.5" y="65">!")"</text>
+</g>
+<path d="M517 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M537 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M517.5 91h19.5"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M98 91h0"></path>
+<text x="79" y="96" class="comment">v757</text>
+</g>
+<path d="M98 91h10"></path>
+<path d="M108 91h10"></path>
+<g>
+<path d="M118 91h0"></path>
+<path d="M517.5 91h0"></path>
+<g class="terminal">
+<path d="M118 91h0"></path>
+<path d="M197.5 91h0"></path>
+<rect x="118" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="157.75" y="95">"FINAL"</text>
+</g>
+<path d="M197.5 91h10"></path>
+<path d="M207.5 91h10"></path>
+<g class="terminal">
+<path d="M217.5 91h0"></path>
+<path d="M271.5 91h0"></path>
+<rect x="217.5" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="244.5" y="95">!"("</text>
+</g>
+<path d="M271.5 91h10"></path>
+<path d="M281.5 91h10"></path>
+<g class="non-terminal">
+<path d="M291.5 91h0"></path>
+<path d="M405 91h0"></path>
+<rect x="291.5" y="80" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="348.25" y="95">TargetField</text>
+</a>
+</g>
+<path d="M405 91h10"></path>
+<g>
+<path d="M415 91h0"></path>
+<path d="M517.5 91h0"></path>
+<path d="M415 91h20"></path>
+<g class="terminal">
+<path d="M435 91h0"></path>
+<path d="M497.5 91h0"></path>
+<rect x="435" y="80" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="466.25" y="95">!") "</text>
+</g>
+<path d="M497.5 91h20"></path>
+<path d="M415 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M435 121h0"></path>
+<path d="M489 121h8.5"></path>
+<rect x="435" y="110" width="54" height="22" rx="10" ry="10"></rect>
+<text x="462" y="125">!")"</text>
+</g>
+<path d="M497.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M537 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 557 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InlineFS.svg b/abap/expression_InlineFS.svg
new file mode 100644
index 00000000..1850339f
--- /dev/null
+++ b/abap/expression_InlineFS.svg
@@ -0,0 +1,95 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="666" height="62" viewBox="0 0 666 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M616 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M116 31h0"></path>
+<text x="83" y="36" class="comment">v740sp02</text>
+</g>
+<path d="M116 31h10"></path>
+<path d="M126 31h10"></path>
+<g>
+<path d="M136 31h0"></path>
+<path d="M616 31h0"></path>
+<g class="terminal">
+<path d="M136 31h0"></path>
+<path d="M275 31h0"></path>
+<rect x="136" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="205.5" y="35">"FIELD-SYMBOL"</text>
+</g>
+<path d="M275 31h10"></path>
+<path d="M285 31h10"></path>
+<g class="terminal">
+<path d="M295 31h0"></path>
+<path d="M349 31h0"></path>
+<rect x="295" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="322" y="35">!"("</text>
+</g>
+<path d="M349 31h10"></path>
+<path d="M359 31h10"></path>
+<g class="non-terminal">
+<path d="M369 31h0"></path>
+<path d="M533.5 31h0"></path>
+<rect x="369" y="20" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="451.25" y="35">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M533.5 31h10"></path>
+<path d="M543.5 31h10"></path>
+<g class="terminal">
+<path d="M553.5 31h0"></path>
+<path d="M616 31h0"></path>
+<rect x="553.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="584.75" y="35">!") "</text>
+</g>
+</g>
+</g>
+<path d="M616 31h10"></path>
+<path d="M 626 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InlineField.svg b/abap/expression_InlineField.svg
new file mode 100644
index 00000000..0af8d7b9
--- /dev/null
+++ b/abap/expression_InlineField.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="81.25" y="35">Field</text>
+</a>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InlineFieldDefinition.svg b/abap/expression_InlineFieldDefinition.svg
new file mode 100644
index 00000000..be8bbd2f
--- /dev/null
+++ b/abap/expression_InlineFieldDefinition.svg
@@ -0,0 +1,111 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="381.5" height="92" viewBox="0 0 381.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M341.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M279 31h42.5"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M122.5 31h0"></path>
+<rect x="60" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="91.25" y="35">Field</text>
+</a>
+</g>
+<path d="M122.5 31h10"></path>
+<path d="M132.5 31h10"></path>
+<g class="terminal">
+<path d="M142.5 31h0"></path>
+<path d="M188 31h0"></path>
+<rect x="142.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="35">"="</text>
+</g>
+<path d="M188 31h10"></path>
+<path d="M198 31h10"></path>
+<g class="non-terminal">
+<path d="M208 31h0"></path>
+<path d="M279 31h0"></path>
+<rect x="208" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="243.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M321.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M321.5 61h0"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M122.5 61h0"></path>
+<rect x="60" y="50" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="91.25" y="65">Field</text>
+</a>
+</g>
+<path d="M122.5 61h10"></path>
+<path d="M132.5 61h10"></path>
+<g class="terminal">
+<path d="M142.5 61h0"></path>
+<path d="M213.5 61h0"></path>
+<rect x="142.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178" y="65">"TYPE"</text>
+</g>
+<path d="M213.5 61h10"></path>
+<path d="M223.5 61h10"></path>
+<g class="non-terminal">
+<path d="M233.5 61h0"></path>
+<path d="M321.5 61h0"></path>
+<rect x="233.5" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="277.5" y="65">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M321.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 341.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InlineLoopDefinition.svg b/abap/expression_InlineLoopDefinition.svg
new file mode 100644
index 00000000..f2e8072e
--- /dev/null
+++ b/abap/expression_InlineLoopDefinition.svg
@@ -0,0 +1,139 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="884.5" height="101" viewBox="0 0 884.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M834.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M254.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M234.5 40h0"></path>
+<rect x="70" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="152.25" y="44">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M234.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h51"></path>
+<rect x="70" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="126.75" y="74">TargetField</text>
+</a>
+</g>
+<path d="M234.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M254.5 40h10"></path>
+<g class="terminal">
+<path d="M264.5 40h0"></path>
+<path d="M318.5 40h0"></path>
+<rect x="264.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="291.5" y="44">"IN"</text>
+</g>
+<path d="M318.5 40h10"></path>
+<g>
+<path d="M328.5 40h0"></path>
+<path d="M448 40h0"></path>
+<path d="M328.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M348.5 20h79.5"></path>
+</g>
+<path d="M428 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M328.5 40h20"></path>
+<g class="terminal">
+<path d="M348.5 40h0"></path>
+<path d="M428 40h0"></path>
+<rect x="348.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="388.25" y="44">"GROUP"</text>
+</g>
+<path d="M428 40h20"></path>
+</g>
+<path d="M448 40h10"></path>
+<g class="non-terminal">
+<path d="M458 40h0"></path>
+<path d="M529 40h0"></path>
+<rect x="458" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="493.5" y="44">Source</text>
+</a>
+</g>
+<path d="M529 40h10"></path>
+<g>
+<path d="M539 40h0"></path>
+<path d="M834.5 40h0"></path>
+<path d="M539 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M559 20h255.5"></path>
+</g>
+<path d="M814.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M539 40h20"></path>
+<g>
+<path d="M559 40h0"></path>
+<path d="M814.5 40h0"></path>
+<g class="terminal">
+<path d="M559 40h0"></path>
+<path d="M681 40h0"></path>
+<rect x="559" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="620" y="44">"INDEX INTO"</text>
+</g>
+<path d="M681 40h10"></path>
+<path d="M691 40h10"></path>
+<g class="non-terminal">
+<path d="M701 40h0"></path>
+<path d="M814.5 40h0"></path>
+<rect x="701" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="757.75" y="44">TargetField</text>
+</a>
+</g>
+</g>
+<path d="M814.5 40h20"></path>
+</g>
+</g>
+<path d="M834.5 40h10"></path>
+<path d="M 844.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Integer.svg b/abap/expression_Integer.svg
new file mode 100644
index 00000000..7279a8b0
--- /dev/null
+++ b/abap/expression_Integer.svg
@@ -0,0 +1,99 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="323.5" height="131" viewBox="0 0 323.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M273.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M201 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h111"></path>
+</g>
+<path d="M181 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M181 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="terminal">
+<path d="M90 40h0"></path>
+<path d="M152.5 40h8.5"></path>
+<rect x="90" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="121.25" y="44">!" -"</text>
+</g>
+<path d="M161 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 70h0"></path>
+<path d="M161 70h0"></path>
+<rect x="90" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="125.5" y="74">!" - "</text>
+</g>
+<path d="M161 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 100h0"></path>
+<path d="M152.5 100h8.5"></path>
+<rect x="90" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="121.25" y="104">!" +"</text>
+</g>
+<path d="M161 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M181 40h20"></path>
+</g>
+<path d="M201 40h10"></path>
+<g class="terminal">
+<path d="M211 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="211" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="44">^\d+$</text>
+</g>
+</g>
+<path d="M273.5 40h10"></path>
+<path d="M 283.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_InterfaceName.svg b/abap/expression_InterfaceName.svg
new file mode 100644
index 00000000..6a9c6c02
--- /dev/null
+++ b/abap/expression_InterfaceName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="298.5" height="62" viewBox="0 0 298.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M248.5 31h0"></path>
+<rect x="50" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="149.25" y="35">^\w&#42;(\/\w{3,}\/)?\w+$</text>
+</g>
+<path d="M248.5 31h10"></path>
+<path d="M 258.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_KernelId.svg b/abap/expression_KernelId.svg
new file mode 100644
index 00000000..70003868
--- /dev/null
+++ b/abap/expression_KernelId.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="435.5" height="62" viewBox="0 0 435.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M385.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">"ID"</text>
+</g>
+<path d="M104 31h10"></path>
+<path d="M114 31h10"></path>
+<g class="non-terminal">
+<path d="M124 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="124" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="159.5" y="35">Source</text>
+</a>
+</g>
+<path d="M195 31h10"></path>
+<path d="M205 31h10"></path>
+<g class="terminal">
+<path d="M215 31h0"></path>
+<path d="M294.5 31h0"></path>
+<rect x="215" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="254.75" y="35">"FIELD"</text>
+</g>
+<path d="M294.5 31h10"></path>
+<path d="M304.5 31h10"></path>
+<g class="non-terminal">
+<path d="M314.5 31h0"></path>
+<path d="M385.5 31h0"></path>
+<rect x="314.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="350" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M385.5 31h10"></path>
+<path d="M 395.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_LOBHandle.svg b/abap/expression_LOBHandle.svg
new file mode 100644
index 00000000..2c816ce3
--- /dev/null
+++ b/abap/expression_LOBHandle.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="372.5" height="62" viewBox="0 0 372.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M322.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">"WRITER FOR COLUMNS"</text>
+</g>
+<path d="M240 31h10"></path>
+<path d="M250 31h10"></path>
+<g class="non-terminal">
+<path d="M260 31h0"></path>
+<path d="M322.5 31h0"></path>
+<rect x="260" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="291.25" y="35">Field</text>
+</a>
+</g>
+</g>
+<path d="M322.5 31h10"></path>
+<path d="M 332.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Language.svg b/abap/expression_Language.svg
new file mode 100644
index 00000000..d4009bda
--- /dev/null
+++ b/abap/expression_Language.svg
@@ -0,0 +1,88 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="368.5" height="122" viewBox="0 0 368.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M318.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"LANGUAGE"</text>
+</g>
+<path d="M155 31h10"></path>
+<g>
+<path d="M165 31h0"></path>
+<path d="M318.5 31h0"></path>
+<path d="M165 31h20"></path>
+<g class="terminal">
+<path d="M185 31h0"></path>
+<path d="M298.5 31h0"></path>
+<rect x="185" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="241.75" y="35">"SQLSCRIPT"</text>
+</g>
+<path d="M298.5 31h20"></path>
+<path d="M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M185 61h0"></path>
+<path d="M247.5 61h51"></path>
+<rect x="185" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="216.25" y="65">"SQL"</text>
+</g>
+<path d="M298.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M165 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M185 91h0"></path>
+<path d="M264.5 91h34"></path>
+<rect x="185" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="224.75" y="95">"GRAPH"</text>
+</g>
+<path d="M298.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M318.5 31h10"></path>
+<path d="M 328.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Length.svg b/abap/expression_Length.svg
new file mode 100644
index 00000000..1c928eb1
--- /dev/null
+++ b/abap/expression_Length.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="394" height="122" viewBox="0 0 394 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M344 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"LENGTH"</text>
+</g>
+<path d="M138 31h10"></path>
+<g>
+<path d="M148 31h0"></path>
+<path d="M344 31h0"></path>
+<path d="M148 31h20"></path>
+<g class="non-terminal">
+<path d="M168 31h0"></path>
+<path d="M247.5 31h76.5"></path>
+<rect x="168" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="207.75" y="35">Integer</text>
+</a>
+</g>
+<path d="M324 31h20"></path>
+<path d="M148 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M168 61h0"></path>
+<path d="M307 61h17"></path>
+<rect x="168" y="50" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantString"><text x="237.5" y="65">ConstantString</text>
+</a>
+</g>
+<path d="M324 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M148 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M168 91h0"></path>
+<path d="M324 91h0"></path>
+<rect x="168" y="80" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="246" y="95">SimpleFieldChain</text>
+</a>
+</g>
+<path d="M324 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M344 31h10"></path>
+<path d="M 354 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Let.svg b/abap/expression_Let.svg
new file mode 100644
index 00000000..8b8dd984
--- /dev/null
+++ b/abap/expression_Let.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="475" height="71" viewBox="0 0 475 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M425 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">"LET"</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M122.5 31h10"></path>
+<g>
+<path d="M132.5 31h0"></path>
+<path d="M351 31h0"></path>
+<path d="M132.5 31h10"></path>
+<g class="non-terminal">
+<path d="M142.5 31h0"></path>
+<path d="M341 31h0"></path>
+<rect x="142.5" y="20" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineFieldDefinition"><text x="241.75" y="35">InlineFieldDefinition</text>
+</a>
+</g>
+<path d="M341 31h10"></path>
+<path d="M142.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M142.5 51h198.5"></path>
+</g>
+<path d="M341 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M351 31h10"></path>
+<path d="M361 31h10"></path>
+<g class="terminal">
+<path d="M371 31h0"></path>
+<path d="M425 31h0"></path>
+<rect x="371" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="398" y="35">"IN"</text>
+</g>
+</g>
+<path d="M425 31h10"></path>
+<path d="M 435 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_LoopGroupBy.svg b/abap/expression_LoopGroupBy.svg
new file mode 100644
index 00000000..ee3ac673
--- /dev/null
+++ b/abap/expression_LoopGroupBy.svg
@@ -0,0 +1,148 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1064.5" height="110" viewBox="0 0 1064.5 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1014.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M482 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M141 40h321"></path>
+<rect x="70" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="105.5" y="44">Source</text>
+</a>
+</g>
+<path d="M462 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 70h0"></path>
+<path d="M462 70h0"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M141 70h0"></path>
+<rect x="70" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="105.5" y="74">!" ( "</text>
+</g>
+<path d="M141 70h10"></path>
+<path d="M151 70h10"></path>
+<g>
+<path d="M161 70h0"></path>
+<path d="M371 70h0"></path>
+<path d="M161 70h10"></path>
+<g class="non-terminal">
+<path d="M171 70h0"></path>
+<path d="M361 70h0"></path>
+<rect x="171" y="59" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/LoopGroupByComponent"><text x="266" y="74">LoopGroupByComponent</text>
+</a>
+</g>
+<path d="M361 70h10"></path>
+<path d="M171 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M171 90h190"></path>
+</g>
+<path d="M361 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M371 70h10"></path>
+<path d="M381 70h10"></path>
+<g class="terminal">
+<path d="M391 70h0"></path>
+<path d="M462 70h0"></path>
+<rect x="391" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="426.5" y="74">!" ) "</text>
+</g>
+</g>
+<path d="M462 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M482 40h0"></path>
+<path d="M635.5 40h0"></path>
+<path d="M482 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M502 20h113.5"></path>
+</g>
+<path d="M615.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M482 40h20"></path>
+<g class="terminal">
+<path d="M502 40h0"></path>
+<path d="M615.5 40h0"></path>
+<rect x="502" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="558.75" y="44">"ASCENDING"</text>
+</g>
+<path d="M615.5 40h20"></path>
+</g>
+<g>
+<path d="M635.5 40h0"></path>
+<path d="M840 40h0"></path>
+<path d="M635.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M655.5 20h164.5"></path>
+</g>
+<path d="M820 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M635.5 40h20"></path>
+<g class="terminal">
+<path d="M655.5 40h0"></path>
+<path d="M820 40h0"></path>
+<rect x="655.5" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="737.75" y="44">"WITHOUT MEMBERS"</text>
+</g>
+<path d="M820 40h20"></path>
+</g>
+<path d="M840 40h10"></path>
+<g class="non-terminal">
+<path d="M850 40h0"></path>
+<path d="M1014.5 40h0"></path>
+<rect x="850" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/LoopGroupByTarget"><text x="932.25" y="44">LoopGroupByTarget</text>
+</a>
+</g>
+</g>
+<path d="M1014.5 40h10"></path>
+<path d="M 1024.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_LoopGroupByComponent.svg b/abap/expression_LoopGroupByComponent.svg
new file mode 100644
index 00000000..041aa6aa
--- /dev/null
+++ b/abap/expression_LoopGroupByComponent.svg
@@ -0,0 +1,118 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="466.5" height="122" viewBox="0 0 466.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M426.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M267 31h139.5"></path>
+<rect x="60" y="20" width="207" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompareSingle"><text x="163.5" y="35">ComponentCompareSingle</text>
+</a>
+</g>
+<path d="M406.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M398 61h8.5"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M190.5 61h0"></path>
+<rect x="60" y="50" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="125.25" y="65">ComponentName</text>
+</a>
+</g>
+<path d="M190.5 61h10"></path>
+<path d="M200.5 61h10"></path>
+<g class="terminal">
+<path d="M210.5 61h0"></path>
+<path d="M256 61h0"></path>
+<rect x="210.5" y="50" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="233.25" y="65">"="</text>
+</g>
+<path d="M256 61h10"></path>
+<path d="M266 61h10"></path>
+<g class="terminal">
+<path d="M276 61h0"></path>
+<path d="M398 61h0"></path>
+<rect x="276" y="50" width="122" height="22" rx="10" ry="10"></rect>
+<text x="337" y="65">"GROUP SIZE"</text>
+</g>
+</g>
+<path d="M406.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M406.5 91h0"></path>
+<g class="non-terminal">
+<path d="M60 91h0"></path>
+<path d="M190.5 91h0"></path>
+<rect x="60" y="80" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="125.25" y="95">ComponentName</text>
+</a>
+</g>
+<path d="M190.5 91h10"></path>
+<path d="M200.5 91h10"></path>
+<g class="terminal">
+<path d="M210.5 91h0"></path>
+<path d="M256 91h0"></path>
+<rect x="210.5" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="233.25" y="95">"="</text>
+</g>
+<path d="M256 91h10"></path>
+<path d="M266 91h10"></path>
+<g class="terminal">
+<path d="M276 91h0"></path>
+<path d="M406.5 91h0"></path>
+<rect x="276" y="80" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="341.25" y="95">"GROUP INDEX"</text>
+</g>
+</g>
+<path d="M406.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 426.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_LoopGroupByTarget.svg b/abap/expression_LoopGroupByTarget.svg
new file mode 100644
index 00000000..30544fae
--- /dev/null
+++ b/abap/expression_LoopGroupByTarget.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="485.5" height="109" viewBox="0 0 485.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 48h0"></path>
+<path d="M445.5 48h0"></path>
+<path d="M40 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h365.5"></path>
+</g>
+<path d="M425.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M40 48h20"></path>
+<g>
+<path d="M60 48h0"></path>
+<path d="M425.5 48h0"></path>
+<path d="M60 48h20"></path>
+<g>
+<path d="M80 48h0"></path>
+<path d="M405.5 48h0"></path>
+<g>
+<path d="M80 48h0"></path>
+<path d="M233.5 48h0"></path>
+<path d="M80 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M100 28h113.5"></path>
+</g>
+<path d="M213.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M80 48h20"></path>
+<g class="terminal">
+<path d="M100 48h0"></path>
+<path d="M213.5 48h0"></path>
+<rect x="100" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="156.75" y="52">"REFERENCE"</text>
+</g>
+<path d="M213.5 48h20"></path>
+</g>
+<path d="M233.5 48h10"></path>
+<g class="terminal">
+<path d="M243.5 48h0"></path>
+<path d="M314.5 48h0"></path>
+<rect x="243.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="279" y="52">"INTO"</text>
+</g>
+<path d="M314.5 48h10"></path>
+<path d="M324.5 48h10"></path>
+<g class="non-terminal">
+<path d="M334.5 48h0"></path>
+<path d="M405.5 48h0"></path>
+<rect x="334.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="370" y="52">Target</text>
+</a>
+</g>
+</g>
+<path d="M405.5 48h20"></path>
+<path d="M60 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 78h0"></path>
+<path d="M301.5 78h104"></path>
+<g class="terminal">
+<path d="M80 78h0"></path>
+<path d="M193.5 78h0"></path>
+<rect x="80" y="67" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="136.75" y="82">"ASSIGNING"</text>
+</g>
+<path d="M193.5 78h10"></path>
+<path d="M203.5 78h10"></path>
+<g class="non-terminal">
+<path d="M213.5 78h0"></path>
+<path d="M301.5 78h0"></path>
+<rect x="213.5" y="67" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="257.5" y="82">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M405.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M425.5 48h20"></path>
+</g>
+<path d="M 445.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_LoopTarget.svg b/abap/expression_LoopTarget.svg
new file mode 100644
index 00000000..681be1d0
--- /dev/null
+++ b/abap/expression_LoopTarget.svg
@@ -0,0 +1,146 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="622" height="131" viewBox="0 0 622 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M582 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M562 40h0"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M425.5 40h0"></path>
+<path d="M60 40h20"></path>
+<g>
+<path d="M80 40h0"></path>
+<path d="M405.5 40h0"></path>
+<g>
+<path d="M80 40h0"></path>
+<path d="M233.5 40h0"></path>
+<path d="M80 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M100 20h113.5"></path>
+</g>
+<path d="M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M80 40h20"></path>
+<g class="terminal">
+<path d="M100 40h0"></path>
+<path d="M213.5 40h0"></path>
+<rect x="100" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="156.75" y="44">"REFERENCE"</text>
+</g>
+<path d="M213.5 40h20"></path>
+</g>
+<path d="M233.5 40h10"></path>
+<g class="terminal">
+<path d="M243.5 40h0"></path>
+<path d="M314.5 40h0"></path>
+<rect x="243.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="279" y="44">"INTO"</text>
+</g>
+<path d="M314.5 40h10"></path>
+<path d="M324.5 40h10"></path>
+<g class="non-terminal">
+<path d="M334.5 40h0"></path>
+<path d="M405.5 40h0"></path>
+<rect x="334.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="370" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M405.5 40h20"></path>
+<path d="M60 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 70h0"></path>
+<path d="M301.5 70h104"></path>
+<g class="terminal">
+<path d="M80 70h0"></path>
+<path d="M193.5 70h0"></path>
+<rect x="80" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="136.75" y="74">"ASSIGNING"</text>
+</g>
+<path d="M193.5 70h10"></path>
+<path d="M203.5 70h10"></path>
+<g class="non-terminal">
+<path d="M213.5 70h0"></path>
+<path d="M301.5 70h0"></path>
+<rect x="213.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="257.5" y="74">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M405.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M425.5 40h0"></path>
+<path d="M562 40h0"></path>
+<path d="M425.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M445.5 20h96.5"></path>
+</g>
+<path d="M542 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M425.5 40h20"></path>
+<g class="terminal">
+<path d="M445.5 40h0"></path>
+<path d="M542 40h0"></path>
+<rect x="445.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="493.75" y="44">"CASTING"</text>
+</g>
+<path d="M542 40h20"></path>
+</g>
+</g>
+<path d="M562 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 100h0"></path>
+<path d="M284 100h278"></path>
+<rect x="60" y="89" width="224" height="22" rx="10" ry="10"></rect>
+<text x="172" y="104">"TRANSPORTING NO FIELDS"</text>
+</g>
+<path d="M562 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 582 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MacroName.svg b/abap/expression_MacroName.svg
new file mode 100644
index 00000000..e06803a4
--- /dev/null
+++ b/abap/expression_MacroName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="726" height="80" viewBox="0 0 726 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M676 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M291 40h0"></path>
+<rect x="50" y="29" width="241" height="22" rx="10" ry="10"></rect>
+<text x="170.5" y="44">^(\/\w+\/)?&#91;\w\&#42;%\?$&#38;&#93;+>?$</text>
+</g>
+<path d="M291 40h10"></path>
+<g>
+<path d="M301 40h0"></path>
+<path d="M676 40h0"></path>
+<path d="M301 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M321 20h335"></path>
+</g>
+<path d="M656 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M301 40h20"></path>
+<g>
+<path d="M321 40h0"></path>
+<path d="M656 40h0"></path>
+<path d="M321 40h10"></path>
+<g>
+<path d="M331 40h0"></path>
+<path d="M646 40h0"></path>
+<g class="terminal">
+<path d="M331 40h0"></path>
+<path d="M385 40h0"></path>
+<rect x="331" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="358" y="44">!"-"</text>
+</g>
+<path d="M385 40h10"></path>
+<path d="M395 40h10"></path>
+<g class="terminal">
+<path d="M405 40h0"></path>
+<path d="M646 40h0"></path>
+<rect x="405" y="29" width="241" height="22" rx="10" ry="10"></rect>
+<text x="525.5" y="44">^(\/\w+\/)?&#91;\w\&#42;%\?$&#38;&#93;+>?$</text>
+</g>
+</g>
+<path d="M646 40h10"></path>
+<path d="M331 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M331 60h315"></path>
+</g>
+<path d="M646 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M656 40h20"></path>
+</g>
+</g>
+<path d="M676 40h10"></path>
+<path d="M 686 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MessageClass.svg b/abap/expression_MessageClass.svg
new file mode 100644
index 00000000..9d9a1d7a
--- /dev/null
+++ b/abap/expression_MessageClass.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="349.5" height="62" viewBox="0 0 349.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M299.5 31h0"></path>
+<rect x="50" y="20" width="249.5" height="22" rx="10" ry="10"></rect>
+<text x="174.75" y="35">^>?&#91;\w\/&#93;+#?@?\/?!?&#38;?>?\$?$</text>
+</g>
+<path d="M299.5 31h10"></path>
+<path d="M 309.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MessageNumber.svg b/abap/expression_MessageNumber.svg
new file mode 100644
index 00000000..97ff3564
--- /dev/null
+++ b/abap/expression_MessageNumber.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="188" height="62" viewBox="0 0 188 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">^\d\d\d$</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M 148 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MessageSource.svg b/abap/expression_MessageSource.svg
new file mode 100644
index 00000000..bce5d2ae
--- /dev/null
+++ b/abap/expression_MessageSource.svg
@@ -0,0 +1,172 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="735.5" height="131" viewBox="0 0 735.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M695.5 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M578.5 40h97"></path>
+<g class="non-terminal">
+<path d="M60 40h0"></path>
+<path d="M250 40h0"></path>
+<rect x="60" y="29" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageTypeAndNumber"><text x="155" y="44">MessageTypeAndNumber</text>
+</a>
+</g>
+<path d="M250 40h10"></path>
+<g>
+<path d="M260 40h0"></path>
+<path d="M578.5 40h0"></path>
+<path d="M260 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M280 20h278.5"></path>
+</g>
+<path d="M558.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M260 40h20"></path>
+<g>
+<path d="M280 40h0"></path>
+<path d="M558.5 40h0"></path>
+<g class="terminal">
+<path d="M280 40h0"></path>
+<path d="M334 40h0"></path>
+<rect x="280" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="307" y="44">!"("</text>
+</g>
+<path d="M334 40h10"></path>
+<path d="M344 40h10"></path>
+<g class="non-terminal">
+<path d="M354 40h0"></path>
+<path d="M476 40h0"></path>
+<rect x="354" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageClass"><text x="415" y="44">MessageClass</text>
+</a>
+</g>
+<path d="M476 40h10"></path>
+<path d="M486 40h10"></path>
+<g class="terminal">
+<path d="M496 40h0"></path>
+<path d="M558.5 40h0"></path>
+<rect x="496" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="527.25" y="44">!") "</text>
+</g>
+</g>
+<path d="M558.5 40h20"></path>
+</g>
+</g>
+<path d="M675.5 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 70h0"></path>
+<path d="M675.5 70h0"></path>
+<g class="terminal">
+<path d="M60 70h0"></path>
+<path d="M114 70h0"></path>
+<rect x="60" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="74">"ID"</text>
+</g>
+<path d="M114 70h10"></path>
+<path d="M124 70h10"></path>
+<g class="non-terminal">
+<path d="M134 70h0"></path>
+<path d="M205 70h0"></path>
+<rect x="134" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="169.5" y="74">Source</text>
+</a>
+</g>
+<path d="M205 70h10"></path>
+<path d="M215 70h10"></path>
+<g class="terminal">
+<path d="M225 70h0"></path>
+<path d="M296 70h0"></path>
+<rect x="225" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="260.5" y="74">"TYPE"</text>
+</g>
+<path d="M296 70h10"></path>
+<path d="M306 70h10"></path>
+<g class="non-terminal">
+<path d="M316 70h0"></path>
+<path d="M387 70h0"></path>
+<rect x="316" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="351.5" y="74">Source</text>
+</a>
+</g>
+<path d="M387 70h10"></path>
+<path d="M397 70h10"></path>
+<g class="terminal">
+<path d="M407 70h0"></path>
+<path d="M495 70h0"></path>
+<rect x="407" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="451" y="74">"NUMBER"</text>
+</g>
+<path d="M495 70h10"></path>
+<g>
+<path d="M505 70h0"></path>
+<path d="M675.5 70h0"></path>
+<path d="M505 70h20"></path>
+<g class="non-terminal">
+<path d="M525 70h0"></path>
+<path d="M655.5 70h0"></path>
+<rect x="525" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageNumber"><text x="590.25" y="74">MessageNumber</text>
+</a>
+</g>
+<path d="M655.5 70h20"></path>
+<path d="M505 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M525 100h0"></path>
+<path d="M596 100h59.5"></path>
+<rect x="525" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="560.5" y="104">Source</text>
+</a>
+</g>
+<path d="M655.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M675.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 695.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MessageTypeAndNumber.svg b/abap/expression_MessageTypeAndNumber.svg
new file mode 100644
index 00000000..9564cf68
--- /dev/null
+++ b/abap/expression_MessageTypeAndNumber.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="256" height="62" viewBox="0 0 256 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M206 31h0"></path>
+<rect x="50" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="128" y="35">^&#91;iweaxs&#93;\d\d\d$</text>
+</g>
+<path d="M206 31h10"></path>
+<path d="M 216 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodCall.svg b/abap/expression_MethodCall.svg
new file mode 100644
index 00000000..92609225
--- /dev/null
+++ b/abap/expression_MethodCall.svg
@@ -0,0 +1,69 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="372.5" height="62" viewBox="0 0 372.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M322.5 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodName"><text x="102.5" y="35">MethodName</text>
+</a>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M322.5 31h0"></path>
+<rect x="175" y="20" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallParam"><text x="248.75" y="35">MethodCallParam</text>
+</a>
+</g>
+</g>
+<path d="M322.5 31h10"></path>
+<path d="M 332.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodCallBody.svg b/abap/expression_MethodCallBody.svg
new file mode 100644
index 00000000..a91a7288
--- /dev/null
+++ b/abap/expression_MethodCallBody.svg
@@ -0,0 +1,125 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="681" height="131" viewBox="0 0 681 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M641 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M207.5 31h413.5"></path>
+<rect x="60" y="20" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallParam"><text x="133.75" y="35">MethodCallParam</text>
+</a>
+</g>
+<path d="M621 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M216 61h405"></path>
+<rect x="60" y="50" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParameters"><text x="138" y="65">MethodParameters</text>
+</a>
+</g>
+<path d="M621 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M621 100h0"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M315.5 100h0"></path>
+<g class="terminal">
+<path d="M60 100h0"></path>
+<path d="M224.5 100h0"></path>
+<rect x="60" y="89" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="142.25" y="104">"PARAMETER-TABLE"</text>
+</g>
+<path d="M224.5 100h10"></path>
+<path d="M234.5 100h10"></path>
+<g class="non-terminal">
+<path d="M244.5 100h0"></path>
+<path d="M315.5 100h0"></path>
+<rect x="244.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="280" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M315.5 100h10"></path>
+<g>
+<path d="M325.5 100h0"></path>
+<path d="M621 100h0"></path>
+<path d="M325.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M345.5 80h255.5"></path>
+</g>
+<path d="M601 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M325.5 100h20"></path>
+<g>
+<path d="M345.5 100h0"></path>
+<path d="M601 100h0"></path>
+<g class="terminal">
+<path d="M345.5 100h0"></path>
+<path d="M510 100h0"></path>
+<rect x="345.5" y="89" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="427.75" y="104">"EXCEPTION-TABLE"</text>
+</g>
+<path d="M510 100h10"></path>
+<path d="M520 100h10"></path>
+<g class="non-terminal">
+<path d="M530 100h0"></path>
+<path d="M601 100h0"></path>
+<rect x="530" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="565.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M601 100h20"></path>
+</g>
+</g>
+<path d="M621 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 641 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodCallChain.svg b/abap/expression_MethodCallChain.svg
new file mode 100644
index 00000000..cf3e7af9
--- /dev/null
+++ b/abap/expression_MethodCallChain.svg
@@ -0,0 +1,256 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1093" height="169" viewBox="0 0 1093 169">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1043 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M472.5 48h0"></path>
+<path d="M50 48h20"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M452.5 48h0"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M337.5 48h0"></path>
+<path d="M70 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M90 28h227.5"></path>
+</g>
+<path d="M317.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M70 48h20"></path>
+<g>
+<path d="M90 48h0"></path>
+<path d="M317.5 48h0"></path>
+<path d="M90 48h20"></path>
+<g>
+<path d="M110 48h0"></path>
+<path d="M297.5 48h0"></path>
+<g class="non-terminal">
+<path d="M110 48h0"></path>
+<path d="M215 48h0"></path>
+<rect x="110" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="162.5" y="52">FieldChain</text>
+</a>
+</g>
+<path d="M215 48h10"></path>
+<path d="M225 48h10"></path>
+<g class="terminal">
+<path d="M235 48h0"></path>
+<path d="M297.5 48h0"></path>
+<rect x="235" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="52">!"->"</text>
+</g>
+</g>
+<path d="M297.5 48h20"></path>
+<path d="M90 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M110 78h0"></path>
+<path d="M289 78h8.5"></path>
+<g class="non-terminal">
+<path d="M110 78h0"></path>
+<path d="M206.5 78h0"></path>
+<rect x="110" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="158.25" y="82">ClassName</text>
+</a>
+</g>
+<path d="M206.5 78h10"></path>
+<path d="M216.5 78h10"></path>
+<g class="terminal">
+<path d="M226.5 78h0"></path>
+<path d="M289 78h0"></path>
+<rect x="226.5" y="67" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="82">!"=>"</text>
+</g>
+</g>
+<path d="M297.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M317.5 48h20"></path>
+</g>
+<path d="M337.5 48h10"></path>
+<g class="non-terminal">
+<path d="M347.5 48h0"></path>
+<path d="M452.5 48h0"></path>
+<rect x="347.5" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCall"><text x="400" y="52">MethodCall</text>
+</a>
+</g>
+</g>
+<path d="M452.5 48h20"></path>
+<path d="M50 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 108h0"></path>
+<path d="M166.5 108h286"></path>
+<rect x="70" y="97" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NewObject"><text x="118.25" y="112">NewObject</text>
+</a>
+</g>
+<path d="M452.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 138h0"></path>
+<path d="M124 138h328.5"></path>
+<rect x="70" y="127" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cast"><text x="97" y="142">Cast</text>
+</a>
+</g>
+<path d="M452.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M472.5 48h0"></path>
+<path d="M1043 48h0"></path>
+<path d="M472.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M492.5 20h530.5"></path>
+</g>
+<path d="M1023 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M472.5 48h20"></path>
+<g>
+<path d="M492.5 48h0"></path>
+<path d="M1023 48h0"></path>
+<path d="M492.5 48h10"></path>
+<g>
+<path d="M502.5 48h0"></path>
+<path d="M1013 48h0"></path>
+<g>
+<path d="M502.5 48h0"></path>
+<path d="M815.5 48h0"></path>
+<path d="M502.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M522.5 28h273"></path>
+</g>
+<path d="M795.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M502.5 48h20"></path>
+<g>
+<path d="M522.5 48h0"></path>
+<path d="M795.5 48h0"></path>
+<path d="M522.5 48h10"></path>
+<g>
+<path d="M532.5 48h0"></path>
+<path d="M785.5 48h0"></path>
+<path d="M532.5 48h20"></path>
+<g>
+<path d="M552.5 48h0"></path>
+<path d="M765.5 48h0"></path>
+<g class="terminal">
+<path d="M552.5 48h0"></path>
+<path d="M615 48h0"></path>
+<rect x="552.5" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="583.75" y="52">!"->"</text>
+</g>
+<path d="M615 48h10"></path>
+<path d="M625 48h10"></path>
+<g class="non-terminal">
+<path d="M635 48h0"></path>
+<path d="M765.5 48h0"></path>
+<rect x="635" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="700.25" y="52">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M765.5 48h20"></path>
+<path d="M532.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M552.5 78h0"></path>
+<path d="M757 78h8.5"></path>
+<g class="terminal">
+<path d="M552.5 78h0"></path>
+<path d="M606.5 78h0"></path>
+<rect x="552.5" y="67" width="54" height="22" rx="10" ry="10"></rect>
+<text x="579.5" y="82">!"-"</text>
+</g>
+<path d="M606.5 78h10"></path>
+<path d="M616.5 78h10"></path>
+<g class="non-terminal">
+<path d="M626.5 78h0"></path>
+<path d="M757 78h0"></path>
+<rect x="626.5" y="67" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="691.75" y="82">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M765.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M785.5 48h10"></path>
+<path d="M532.5 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M532.5 97h253"></path>
+</g>
+<path d="M785.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M795.5 48h20"></path>
+</g>
+<path d="M815.5 48h10"></path>
+<g class="terminal">
+<path d="M825.5 48h0"></path>
+<path d="M888 48h0"></path>
+<rect x="825.5" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="856.75" y="52">!"->"</text>
+</g>
+<path d="M888 48h10"></path>
+<path d="M898 48h10"></path>
+<g class="non-terminal">
+<path d="M908 48h0"></path>
+<path d="M1013 48h0"></path>
+<rect x="908" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCall"><text x="960.5" y="52">MethodCall</text>
+</a>
+</g>
+</g>
+<path d="M1013 48h10"></path>
+<path d="M502.5 48a10 10 0 0 0 -10 10v37a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M502.5 105h510.5"></path>
+</g>
+<path d="M1013 105a10 10 0 0 0 10 -10v-37a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1023 48h20"></path>
+</g>
+</g>
+<path d="M1043 48h10"></path>
+<path d="M 1053 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodCallParam.svg b/abap/expression_MethodCallParam.svg
new file mode 100644
index 00000000..7a5aa389
--- /dev/null
+++ b/abap/expression_MethodCallParam.svg
@@ -0,0 +1,237 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="499.5" height="302" viewBox="0 0 499.5 302">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M459.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M439.5 31h0"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M122.5 31h0"></path>
+<rect x="60" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="35">!"( "</text>
+</g>
+<path d="M122.5 31h10"></path>
+<g>
+<path d="M132.5 31h0"></path>
+<path d="M328.5 31h0"></path>
+<path d="M132.5 31h20"></path>
+<g class="non-terminal">
+<path d="M152.5 31h0"></path>
+<path d="M223.5 31h85"></path>
+<rect x="152.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="188" y="35">Source</text>
+</a>
+</g>
+<path d="M308.5 31h20"></path>
+<path d="M132.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M152.5 61h0"></path>
+<path d="M291.5 61h17"></path>
+<rect x="152.5" y="50" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="222" y="65">ParameterListS</text>
+</a>
+</g>
+<path d="M308.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M132.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M152.5 91h0"></path>
+<path d="M308.5 91h0"></path>
+<rect x="152.5" y="80" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParameters"><text x="230.5" y="95">MethodParameters</text>
+</a>
+</g>
+<path d="M308.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M328.5 31h0"></path>
+<path d="M439.5 31h0"></path>
+<path d="M328.5 31h20"></path>
+<g class="terminal">
+<path d="M348.5 31h0"></path>
+<path d="M411 31h8.5"></path>
+<rect x="348.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="379.75" y="35">!" )"</text>
+</g>
+<path d="M419.5 31h20"></path>
+<path d="M328.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M348.5 61h0"></path>
+<path d="M419.5 61h0"></path>
+<rect x="348.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="384" y="65">!" ) "</text>
+</g>
+<path d="M419.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M328.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M348.5 91h0"></path>
+<path d="M402.5 91h17"></path>
+<rect x="348.5" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="375.5" y="95">!")"</text>
+</g>
+<path d="M419.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M328.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M348.5 121h0"></path>
+<path d="M411 121h8.5"></path>
+<rect x="348.5" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="379.75" y="125">!") "</text>
+</g>
+<path d="M419.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M439.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 151h0"></path>
+<path d="M431 151h8.5"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M114 151h0"></path>
+<rect x="60" y="140" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="155">!"("</text>
+</g>
+<path d="M114 151h10"></path>
+<g>
+<path d="M124 151h0"></path>
+<path d="M320 151h0"></path>
+<path d="M124 151h20"></path>
+<g class="non-terminal">
+<path d="M144 151h0"></path>
+<path d="M215 151h85"></path>
+<rect x="144" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="179.5" y="155">Source</text>
+</a>
+</g>
+<path d="M300 151h20"></path>
+<path d="M124 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M144 181h0"></path>
+<path d="M283 181h17"></path>
+<rect x="144" y="170" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="213.5" y="185">ParameterListS</text>
+</a>
+</g>
+<path d="M300 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M124 151a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M144 211h0"></path>
+<path d="M300 211h0"></path>
+<rect x="144" y="200" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParameters"><text x="222" y="215">MethodParameters</text>
+</a>
+</g>
+<path d="M300 211a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M320 151h0"></path>
+<path d="M431 151h0"></path>
+<path d="M320 151h20"></path>
+<g class="terminal">
+<path d="M340 151h0"></path>
+<path d="M402.5 151h8.5"></path>
+<rect x="340" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="371.25" y="155">!" )"</text>
+</g>
+<path d="M411 151h20"></path>
+<path d="M320 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M340 181h0"></path>
+<path d="M411 181h0"></path>
+<rect x="340" y="170" width="71" height="22" rx="10" ry="10"></rect>
+<text x="375.5" y="185">!" ) "</text>
+</g>
+<path d="M411 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M439.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 241h0"></path>
+<path d="M385.5 241h54"></path>
+<g class="terminal">
+<path d="M60 241h0"></path>
+<path d="M114 241h0"></path>
+<rect x="60" y="230" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="245">!"("</text>
+</g>
+<path d="M114 241h10"></path>
+<path d="M124 241h10"></path>
+<g class="non-terminal">
+<path d="M134 241h0"></path>
+<path d="M273 241h0"></path>
+<rect x="134" y="230" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantString"><text x="203.5" y="245">ConstantString</text>
+</a>
+</g>
+<path d="M273 241h10"></path>
+<g>
+<path d="M283 241h0"></path>
+<path d="M385.5 241h0"></path>
+<path d="M283 241h20"></path>
+<g class="terminal">
+<path d="M303 241h0"></path>
+<path d="M357 241h8.5"></path>
+<rect x="303" y="230" width="54" height="22" rx="10" ry="10"></rect>
+<text x="330" y="245">!")"</text>
+</g>
+<path d="M365.5 241h20"></path>
+<path d="M283 241a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M303 271h0"></path>
+<path d="M365.5 271h0"></path>
+<rect x="303" y="260" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="275">!") "</text>
+</g>
+<path d="M365.5 271a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M439.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 459.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefChanging.svg b/abap/expression_MethodDefChanging.svg
new file mode 100644
index 00000000..a14d418c
--- /dev/null
+++ b/abap/expression_MethodDefChanging.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="426.5" height="71" viewBox="0 0 426.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M376.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"CHANGING"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g>
+<path d="M175 31h0"></path>
+<path d="M376.5 31h0"></path>
+<path d="M175 31h10"></path>
+<g class="non-terminal">
+<path d="M185 31h0"></path>
+<path d="M366.5 31h0"></path>
+<rect x="185" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamOptional"><text x="275.75" y="35">MethodParamOptional</text>
+</a>
+</g>
+<path d="M366.5 31h10"></path>
+<path d="M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M185 51h181.5"></path>
+</g>
+<path d="M366.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M376.5 31h10"></path>
+<path d="M 386.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefExceptions.svg b/abap/expression_MethodDefExceptions.svg
new file mode 100644
index 00000000..c24eeb93
--- /dev/null
+++ b/abap/expression_MethodDefExceptions.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="443.5" height="71" viewBox="0 0 443.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M393.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M172 31h0"></path>
+<rect x="50" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="35">"EXCEPTIONS"</text>
+</g>
+<path d="M172 31h10"></path>
+<path d="M182 31h10"></path>
+<g>
+<path d="M192 31h0"></path>
+<path d="M393.5 31h0"></path>
+<path d="M192 31h10"></path>
+<g class="non-terminal">
+<path d="M202 31h0"></path>
+<path d="M383.5 31h0"></path>
+<rect x="202" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="292.75" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M383.5 31h10"></path>
+<path d="M202 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M202 51h181.5"></path>
+</g>
+<path d="M383.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M393.5 31h10"></path>
+<path d="M 403.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefExporting.svg b/abap/expression_MethodDefExporting.svg
new file mode 100644
index 00000000..932722c2
--- /dev/null
+++ b/abap/expression_MethodDefExporting.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="367" height="71" viewBox="0 0 367 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M317 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"EXPORTING"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g>
+<path d="M183.5 31h0"></path>
+<path d="M317 31h0"></path>
+<path d="M183.5 31h10"></path>
+<g class="non-terminal">
+<path d="M193.5 31h0"></path>
+<path d="M307 31h0"></path>
+<rect x="193.5" y="20" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParam"><text x="250.25" y="35">MethodParam</text>
+</a>
+</g>
+<path d="M307 31h10"></path>
+<path d="M193.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M193.5 51h113.5"></path>
+</g>
+<path d="M307 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M317 31h10"></path>
+<path d="M 327 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefImporting.svg b/abap/expression_MethodDefImporting.svg
new file mode 100644
index 00000000..109f4536
--- /dev/null
+++ b/abap/expression_MethodDefImporting.svg
@@ -0,0 +1,109 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="868" height="80" viewBox="0 0 868 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M818 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="44">"IMPORTING"</text>
+</g>
+<path d="M163.5 40h10"></path>
+<path d="M173.5 40h10"></path>
+<g>
+<path d="M183.5 40h0"></path>
+<path d="M385 40h0"></path>
+<path d="M183.5 40h10"></path>
+<g class="non-terminal">
+<path d="M193.5 40h0"></path>
+<path d="M375 40h0"></path>
+<rect x="193.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamOptional"><text x="284.25" y="44">MethodParamOptional</text>
+</a>
+</g>
+<path d="M375 40h10"></path>
+<path d="M193.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M193.5 60h181.5"></path>
+</g>
+<path d="M375 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M385 40h10"></path>
+<g>
+<path d="M395 40h0"></path>
+<path d="M818 40h0"></path>
+<path d="M395 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M415 20h383"></path>
+</g>
+<path d="M798 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M395 40h20"></path>
+<g>
+<path d="M415 40h0"></path>
+<path d="M798 40h0"></path>
+<g class="terminal">
+<path d="M415 40h0"></path>
+<path d="M613.5 40h0"></path>
+<rect x="415" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="514.25" y="44">"PREFERRED PARAMETER"</text>
+</g>
+<path d="M613.5 40h10"></path>
+<path d="M623.5 40h10"></path>
+<g class="terminal">
+<path d="M633.5 40h0"></path>
+<path d="M798 40h0"></path>
+<rect x="633.5" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="715.75" y="44">^!?(\/\w+\/)?\w+$</text>
+</g>
+</g>
+<path d="M798 40h20"></path>
+</g>
+</g>
+<path d="M818 40h10"></path>
+<path d="M 828 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefRaising.svg b/abap/expression_MethodDefRaising.svg
new file mode 100644
index 00000000..958ef190
--- /dev/null
+++ b/abap/expression_MethodDefRaising.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="663" height="100" viewBox="0 0 663 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M613 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"RAISING"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g>
+<path d="M166.5 31h0"></path>
+<path d="M613 31h0"></path>
+<path d="M166.5 31h10"></path>
+<g>
+<path d="M176.5 31h0"></path>
+<path d="M603 31h0"></path>
+<path d="M176.5 31h20"></path>
+<g>
+<path d="M196.5 31h0"></path>
+<path d="M583 31h0"></path>
+<g class="terminal">
+<path d="M196.5 31h0"></path>
+<path d="M310 31h0"></path>
+<rect x="196.5" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="253.25" y="35">"RESUMABLE"</text>
+</g>
+<path d="M310 31h10"></path>
+<path d="M320 31h10"></path>
+<g class="terminal">
+<path d="M330 31h0"></path>
+<path d="M384 31h0"></path>
+<rect x="330" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="357" y="35">!"("</text>
+</g>
+<path d="M384 31h10"></path>
+<path d="M394 31h10"></path>
+<g class="non-terminal">
+<path d="M404 31h0"></path>
+<path d="M500.5 31h0"></path>
+<rect x="404" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="452.25" y="35">ClassName</text>
+</a>
+</g>
+<path d="M500.5 31h10"></path>
+<path d="M510.5 31h10"></path>
+<g class="terminal">
+<path d="M520.5 31h0"></path>
+<path d="M583 31h0"></path>
+<rect x="520.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="551.75" y="35">!") "</text>
+</g>
+</g>
+<path d="M583 31h20"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M196.5 61h0"></path>
+<path d="M293 61h290"></path>
+<rect x="196.5" y="50" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="244.75" y="65">ClassName</text>
+</a>
+</g>
+<path d="M583 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M603 31h10"></path>
+<path d="M176.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 80h426.5"></path>
+</g>
+<path d="M603 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M613 31h10"></path>
+<path d="M 623 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodDefReturning.svg b/abap/expression_MethodDefReturning.svg
new file mode 100644
index 00000000..dce365fd
--- /dev/null
+++ b/abap/expression_MethodDefReturning.svg
@@ -0,0 +1,105 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="753.5" height="62" viewBox="0 0 753.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M703.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"RETURNING"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g>
+<path d="M183.5 31h0"></path>
+<path d="M587 31h0"></path>
+<g class="terminal">
+<path d="M183.5 31h0"></path>
+<path d="M263 31h0"></path>
+<rect x="183.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="223.25" y="35">"VALUE"</text>
+</g>
+<path d="M263 31h10"></path>
+<path d="M273 31h10"></path>
+<g class="terminal">
+<path d="M283 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="283" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="310" y="35">!"("</text>
+</g>
+<path d="M337 31h10"></path>
+<path d="M347 31h10"></path>
+<g class="non-terminal">
+<path d="M357 31h0"></path>
+<path d="M504.5 31h0"></path>
+<rect x="357" y="20" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="430.75" y="35">MethodParamName</text>
+</a>
+</g>
+<path d="M504.5 31h10"></path>
+<path d="M514.5 31h10"></path>
+<g class="terminal">
+<path d="M524.5 31h0"></path>
+<path d="M587 31h0"></path>
+<rect x="524.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="555.75" y="35">!") "</text>
+</g>
+</g>
+<path d="M587 31h10"></path>
+<path d="M597 31h10"></path>
+<g class="non-terminal">
+<path d="M607 31h0"></path>
+<path d="M703.5 31h0"></path>
+<rect x="607" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeParam"><text x="655.25" y="35">TypeParam</text>
+</a>
+</g>
+</g>
+<path d="M703.5 31h10"></path>
+<path d="M 713.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodName.svg b/abap/expression_MethodName.svg
new file mode 100644
index 00000000..87e7902d
--- /dev/null
+++ b/abap/expression_MethodName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="307" height="62" viewBox="0 0 307 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M257 31h0"></path>
+<rect x="50" y="20" width="207" height="22" rx="10" ry="10"></rect>
+<text x="153.5" y="35">^(\/\w+\/)?\w+(~\w+)?$</text>
+</g>
+<path d="M257 31h10"></path>
+<path d="M 267 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodParam.svg b/abap/expression_MethodParam.svg
new file mode 100644
index 00000000..1e162be6
--- /dev/null
+++ b/abap/expression_MethodParam.svg
@@ -0,0 +1,148 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="684" height="122" viewBox="0 0 684 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M634 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M527.5 31h0"></path>
+<path d="M50 31h20"></path>
+<g>
+<path d="M70 31h0"></path>
+<path d="M473.5 31h34"></path>
+<g class="terminal">
+<path d="M70 31h0"></path>
+<path d="M149.5 31h0"></path>
+<rect x="70" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="109.75" y="35">"VALUE"</text>
+</g>
+<path d="M149.5 31h10"></path>
+<path d="M159.5 31h10"></path>
+<g class="terminal">
+<path d="M169.5 31h0"></path>
+<path d="M223.5 31h0"></path>
+<rect x="169.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="196.5" y="35">!"("</text>
+</g>
+<path d="M223.5 31h10"></path>
+<path d="M233.5 31h10"></path>
+<g class="non-terminal">
+<path d="M243.5 31h0"></path>
+<path d="M391 31h0"></path>
+<rect x="243.5" y="20" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="317.25" y="35">MethodParamName</text>
+</a>
+</g>
+<path d="M391 31h10"></path>
+<path d="M401 31h10"></path>
+<g class="terminal">
+<path d="M411 31h0"></path>
+<path d="M473.5 31h0"></path>
+<rect x="411" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="442.25" y="35">!") "</text>
+</g>
+</g>
+<path d="M507.5 31h20"></path>
+<path d="M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 61h0"></path>
+<path d="M507.5 61h0"></path>
+<g class="terminal">
+<path d="M70 61h0"></path>
+<path d="M183.5 61h0"></path>
+<rect x="70" y="50" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="65">"REFERENCE"</text>
+</g>
+<path d="M183.5 61h10"></path>
+<path d="M193.5 61h10"></path>
+<g class="terminal">
+<path d="M203.5 61h0"></path>
+<path d="M257.5 61h0"></path>
+<rect x="203.5" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="230.5" y="65">!"("</text>
+</g>
+<path d="M257.5 61h10"></path>
+<path d="M267.5 61h10"></path>
+<g class="non-terminal">
+<path d="M277.5 61h0"></path>
+<path d="M425 61h0"></path>
+<rect x="277.5" y="50" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="351.25" y="65">MethodParamName</text>
+</a>
+</g>
+<path d="M425 61h10"></path>
+<path d="M435 61h10"></path>
+<g class="terminal">
+<path d="M445 61h0"></path>
+<path d="M507.5 61h0"></path>
+<rect x="445" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="476.25" y="65">!") "</text>
+</g>
+</g>
+<path d="M507.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 91h0"></path>
+<path d="M217.5 91h290"></path>
+<rect x="70" y="80" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="143.75" y="95">MethodParamName</text>
+</a>
+</g>
+<path d="M507.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M527.5 31h10"></path>
+<g class="non-terminal">
+<path d="M537.5 31h0"></path>
+<path d="M634 31h0"></path>
+<rect x="537.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeParam"><text x="585.75" y="35">TypeParam</text>
+</a>
+</g>
+</g>
+<path d="M634 31h10"></path>
+<path d="M 644 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodParamName.svg b/abap/expression_MethodParamName.svg
new file mode 100644
index 00000000..8292546f
--- /dev/null
+++ b/abap/expression_MethodParamName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="290" height="62" viewBox="0 0 290 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">^!?\w&#42;(\/\w+\/)?\w+$</text>
+</g>
+<path d="M240 31h10"></path>
+<path d="M 250 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodParamOptional.svg b/abap/expression_MethodParamOptional.svg
new file mode 100644
index 00000000..85c0f2f6
--- /dev/null
+++ b/abap/expression_MethodParamOptional.svg
@@ -0,0 +1,78 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="368.5" height="71" viewBox="0 0 368.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M318.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParam"><text x="106.75" y="44">MethodParam</text>
+</a>
+</g>
+<path d="M163.5 40h10"></path>
+<g>
+<path d="M173.5 40h0"></path>
+<path d="M318.5 40h0"></path>
+<path d="M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M193.5 20h105"></path>
+</g>
+<path d="M298.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M173.5 40h20"></path>
+<g class="terminal">
+<path d="M193.5 40h0"></path>
+<path d="M298.5 40h0"></path>
+<rect x="193.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="246" y="44">"OPTIONAL"</text>
+</g>
+<path d="M298.5 40h20"></path>
+</g>
+</g>
+<path d="M318.5 40h10"></path>
+<path d="M 328.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodParameters.svg b/abap/expression_MethodParameters.svg
new file mode 100644
index 00000000..ac199e30
--- /dev/null
+++ b/abap/expression_MethodParameters.svg
@@ -0,0 +1,203 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1705" height="71" viewBox="0 0 1705 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1655 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M362.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h272.5"></path>
+</g>
+<path d="M342.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M342.5 40h0"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M183.5 40h0"></path>
+<rect x="70" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="44">"EXPORTING"</text>
+</g>
+<path d="M183.5 40h10"></path>
+<path d="M193.5 40h10"></path>
+<g class="non-terminal">
+<path d="M203.5 40h0"></path>
+<path d="M342.5 40h0"></path>
+<rect x="203.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="273" y="44">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M342.5 40h20"></path>
+</g>
+<g>
+<path d="M362.5 40h0"></path>
+<path d="M675 40h0"></path>
+<path d="M362.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M382.5 20h272.5"></path>
+</g>
+<path d="M655 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M362.5 40h20"></path>
+<g>
+<path d="M382.5 40h0"></path>
+<path d="M655 40h0"></path>
+<g class="terminal">
+<path d="M382.5 40h0"></path>
+<path d="M496 40h0"></path>
+<rect x="382.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="439.25" y="44">"IMPORTING"</text>
+</g>
+<path d="M496 40h10"></path>
+<path d="M506 40h10"></path>
+<g class="non-terminal">
+<path d="M516 40h0"></path>
+<path d="M655 40h0"></path>
+<rect x="516" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="585.5" y="44">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M655 40h20"></path>
+</g>
+<g>
+<path d="M675 40h0"></path>
+<path d="M979 40h0"></path>
+<path d="M675 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M695 20h264"></path>
+</g>
+<path d="M959 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M675 40h20"></path>
+<g>
+<path d="M695 40h0"></path>
+<path d="M959 40h0"></path>
+<g class="terminal">
+<path d="M695 40h0"></path>
+<path d="M800 40h0"></path>
+<rect x="695" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="747.5" y="44">"CHANGING"</text>
+</g>
+<path d="M800 40h10"></path>
+<path d="M810 40h10"></path>
+<g class="non-terminal">
+<path d="M820 40h0"></path>
+<path d="M959 40h0"></path>
+<rect x="820" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="889.5" y="44">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M959 40h20"></path>
+</g>
+<g>
+<path d="M979 40h0"></path>
+<path d="M1257.5 40h0"></path>
+<path d="M979 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M999 20h238.5"></path>
+</g>
+<path d="M1237.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M979 40h20"></path>
+<g>
+<path d="M999 40h0"></path>
+<path d="M1237.5 40h0"></path>
+<g class="terminal">
+<path d="M999 40h0"></path>
+<path d="M1112.5 40h0"></path>
+<rect x="999" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1055.75" y="44">"RECEIVING"</text>
+</g>
+<path d="M1112.5 40h10"></path>
+<path d="M1122.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1132.5 40h0"></path>
+<path d="M1237.5 40h0"></path>
+<rect x="1132.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterT"><text x="1185" y="44">ParameterT</text>
+</a>
+</g>
+</g>
+<path d="M1237.5 40h20"></path>
+</g>
+<g>
+<path d="M1257.5 40h0"></path>
+<path d="M1655 40h0"></path>
+<path d="M1257.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1277.5 20h357.5"></path>
+</g>
+<path d="M1635 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1257.5 40h20"></path>
+<g>
+<path d="M1277.5 40h0"></path>
+<path d="M1635 40h0"></path>
+<g class="terminal">
+<path d="M1277.5 40h0"></path>
+<path d="M1399.5 40h0"></path>
+<rect x="1277.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1338.5" y="44">"EXCEPTIONS"</text>
+</g>
+<path d="M1399.5 40h10"></path>
+<path d="M1409.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1419.5 40h0"></path>
+<path d="M1635 40h0"></path>
+<rect x="1419.5" y="29" width="215.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListExceptions"><text x="1527.25" y="44">ParameterListExceptions</text>
+</a>
+</g>
+</g>
+<path d="M1635 40h20"></path>
+</g>
+</g>
+<path d="M1655 40h10"></path>
+<path d="M 1665 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_MethodSource.svg b/abap/expression_MethodSource.svg
new file mode 100644
index 00000000..15109efe
--- /dev/null
+++ b/abap/expression_MethodSource.svg
@@ -0,0 +1,245 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="872.5" height="221" viewBox="0 0 872.5 221">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M822.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M449.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M429.5 40h0"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M249 40h0"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M166.5 40h0"></path>
+<rect x="70" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="118.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M166.5 40h10"></path>
+<path d="M176.5 40h10"></path>
+<g class="terminal">
+<path d="M186.5 40h0"></path>
+<path d="M249 40h0"></path>
+<rect x="186.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="44">!"=>"</text>
+</g>
+</g>
+<path d="M249 40h10"></path>
+<g>
+<path d="M259 40h0"></path>
+<path d="M429.5 40h0"></path>
+<path d="M259 40h20"></path>
+<g class="non-terminal">
+<path d="M279 40h0"></path>
+<path d="M409.5 40h0"></path>
+<rect x="279" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="344.25" y="44">AttributeName</text>
+</a>
+</g>
+<path d="M409.5 40h20"></path>
+<path d="M259 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M279 70h0"></path>
+<path d="M384 70h25.5"></path>
+<rect x="279" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCall"><text x="331.5" y="74">MethodCall</text>
+</a>
+</g>
+<path d="M409.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M259 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M279 100h0"></path>
+<path d="M358.5 100h51"></path>
+<rect x="279" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="318.75" y="104">Dynamic</text>
+</a>
+</g>
+<path d="M409.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M429.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 130h0"></path>
+<path d="M183.5 130h246"></path>
+<rect x="70" y="119" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceField"><text x="126.75" y="134">SourceField</text>
+</a>
+</g>
+<path d="M429.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 160h0"></path>
+<path d="M234.5 160h195"></path>
+<rect x="70" y="149" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="152.25" y="164">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M429.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 190h0"></path>
+<path d="M149.5 190h280"></path>
+<rect x="70" y="179" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="109.75" y="194">Dynamic</text>
+</a>
+</g>
+<path d="M429.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M822.5 40h0"></path>
+<path d="M449.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M469.5 20h333"></path>
+</g>
+<path d="M802.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M449.5 40h20"></path>
+<g>
+<path d="M469.5 40h0"></path>
+<path d="M802.5 40h0"></path>
+<path d="M469.5 40h10"></path>
+<g>
+<path d="M479.5 40h0"></path>
+<path d="M792.5 40h0"></path>
+<path d="M479.5 40h20"></path>
+<g>
+<path d="M499.5 40h0"></path>
+<path d="M772.5 40h0"></path>
+<g>
+<path d="M499.5 40h0"></path>
+<path d="M602 40h0"></path>
+<path d="M499.5 40h20"></path>
+<g class="terminal">
+<path d="M519.5 40h0"></path>
+<path d="M582 40h0"></path>
+<rect x="519.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="550.75" y="44">!"->"</text>
+</g>
+<path d="M582 40h20"></path>
+<path d="M499.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M519.5 70h0"></path>
+<path d="M582 70h0"></path>
+<rect x="519.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="550.75" y="74">!"=>"</text>
+</g>
+<path d="M582 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M602 40h0"></path>
+<path d="M772.5 40h0"></path>
+<path d="M602 40h20"></path>
+<g class="non-terminal">
+<path d="M622 40h0"></path>
+<path d="M752.5 40h0"></path>
+<rect x="622" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="687.25" y="44">AttributeName</text>
+</a>
+</g>
+<path d="M752.5 40h20"></path>
+<path d="M602 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M622 70h0"></path>
+<path d="M727 70h25.5"></path>
+<rect x="622" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCall"><text x="674.5" y="74">MethodCall</text>
+</a>
+</g>
+<path d="M752.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M602 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M622 100h0"></path>
+<path d="M701.5 100h51"></path>
+<rect x="622" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="661.75" y="104">Dynamic</text>
+</a>
+</g>
+<path d="M752.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M772.5 40h20"></path>
+<path d="M479.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M499.5 130h0"></path>
+<path d="M704 130h68.5"></path>
+<g class="terminal">
+<path d="M499.5 130h0"></path>
+<path d="M553.5 130h0"></path>
+<rect x="499.5" y="119" width="54" height="22" rx="10" ry="10"></rect>
+<text x="526.5" y="134">!"-"</text>
+</g>
+<path d="M553.5 130h10"></path>
+<path d="M563.5 130h10"></path>
+<g class="non-terminal">
+<path d="M573.5 130h0"></path>
+<path d="M704 130h0"></path>
+<rect x="573.5" y="119" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="638.75" y="134">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M772.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M792.5 40h10"></path>
+<path d="M479.5 40a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M479.5 149h313"></path>
+</g>
+<path d="M792.5 149a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M802.5 40h20"></path>
+</g>
+</g>
+<path d="M822.5 40h10"></path>
+<path d="M 832.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Modif.svg b/abap/expression_Modif.svg
new file mode 100644
index 00000000..6e6d220d
--- /dev/null
+++ b/abap/expression_Modif.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="230.5" height="62" viewBox="0 0 230.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="35">^&#91;\w\&#42;&#93;{1,3}$</text>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M 190.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_NamespaceSimpleName.svg b/abap/expression_NamespaceSimpleName.svg
new file mode 100644
index 00000000..94b1f926
--- /dev/null
+++ b/abap/expression_NamespaceSimpleName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="451.5" height="62" viewBox="0 0 451.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M401.5 31h0"></path>
+<rect x="50" y="20" width="351.5" height="22" rx="10" ry="10"></rect>
+<text x="225.75" y="35">^((\w&#42;\/\w+\/)|(\w&#42;\/\w+\/)?&#91;\w\&#42;$%&#93;+)$</text>
+</g>
+<path d="M401.5 31h10"></path>
+<path d="M 411.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_NewObject.svg b/abap/expression_NewObject.svg
new file mode 100644
index 00000000..b2b57222
--- /dev/null
+++ b/abap/expression_NewObject.svg
@@ -0,0 +1,219 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1013.5" height="187" viewBox="0 0 1013.5 187">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M963.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M116 40h0"></path>
+<text x="83" y="45" class="comment">v740sp02</text>
+</g>
+<path d="M116 40h10"></path>
+<path d="M126 40h10"></path>
+<g>
+<path d="M136 40h0"></path>
+<path d="M963.5 40h0"></path>
+<g class="terminal">
+<path d="M136 40h0"></path>
+<path d="M198.5 40h0"></path>
+<rect x="136" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="167.25" y="44">"NEW"</text>
+</g>
+<path d="M198.5 40h10"></path>
+<path d="M208.5 40h10"></path>
+<g class="non-terminal">
+<path d="M218.5 40h0"></path>
+<path d="M366 40h0"></path>
+<rect x="218.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="292.25" y="44">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M366 40h10"></path>
+<path d="M376 40h10"></path>
+<g class="terminal">
+<path d="M386 40h0"></path>
+<path d="M448.5 40h0"></path>
+<rect x="386" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="417.25" y="44">!"( "</text>
+</g>
+<path d="M448.5 40h10"></path>
+<g>
+<path d="M458.5 40h0"></path>
+<path d="M908 40h0"></path>
+<path d="M458.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M478.5 20h409.5"></path>
+</g>
+<path d="M888 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M458.5 40h20"></path>
+<g>
+<path d="M478.5 40h0"></path>
+<path d="M888 40h0"></path>
+<path d="M478.5 40h20"></path>
+<g class="non-terminal">
+<path d="M498.5 40h0"></path>
+<path d="M569.5 40h298.5"></path>
+<rect x="498.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="534" y="44">Source</text>
+</a>
+</g>
+<path d="M868 40h20"></path>
+<path d="M478.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M498.5 70h0"></path>
+<path d="M637.5 70h230.5"></path>
+<rect x="498.5" y="59" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="568" y="74">ParameterListS</text>
+</a>
+</g>
+<path d="M868 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M478.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M498.5 100h0"></path>
+<path d="M771.5 100h96.5"></path>
+<path d="M498.5 100h10"></path>
+<g>
+<path d="M508.5 100h0"></path>
+<path d="M761.5 100h0"></path>
+<g class="terminal">
+<path d="M508.5 100h0"></path>
+<path d="M579.5 100h0"></path>
+<rect x="508.5" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="544" y="104">!" ( "</text>
+</g>
+<path d="M579.5 100h10"></path>
+<path d="M589.5 100h10"></path>
+<g class="non-terminal">
+<path d="M599.5 100h0"></path>
+<path d="M670.5 100h0"></path>
+<rect x="599.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="635" y="104">Source</text>
+</a>
+</g>
+<path d="M670.5 100h10"></path>
+<path d="M680.5 100h10"></path>
+<g class="terminal">
+<path d="M690.5 100h0"></path>
+<path d="M761.5 100h0"></path>
+<rect x="690.5" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="726" y="104">!" ) "</text>
+</g>
+</g>
+<path d="M761.5 100h10"></path>
+<path d="M508.5 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 120h253"></path>
+</g>
+<path d="M761.5 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M868 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M478.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M498.5 139h0"></path>
+<path d="M868 139h0"></path>
+<path d="M498.5 139h10"></path>
+<g>
+<path d="M508.5 139h0"></path>
+<path d="M858 139h0"></path>
+<g class="terminal">
+<path d="M508.5 139h0"></path>
+<path d="M579.5 139h0"></path>
+<rect x="508.5" y="128" width="71" height="22" rx="10" ry="10"></rect>
+<text x="544" y="143">!" ( "</text>
+</g>
+<path d="M579.5 139h10"></path>
+<path d="M589.5 139h10"></path>
+<g>
+<path d="M599.5 139h0"></path>
+<path d="M767 139h0"></path>
+<path d="M599.5 139h10"></path>
+<g class="non-terminal">
+<path d="M609.5 139h0"></path>
+<path d="M757 139h0"></path>
+<rect x="609.5" y="128" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldAssignment"><text x="683.25" y="143">FieldAssignment</text>
+</a>
+</g>
+<path d="M757 139h10"></path>
+<path d="M609.5 139a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M609.5 159h147.5"></path>
+</g>
+<path d="M757 159a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M767 139h10"></path>
+<path d="M777 139h10"></path>
+<g class="terminal">
+<path d="M787 139h0"></path>
+<path d="M858 139h0"></path>
+<rect x="787" y="128" width="71" height="22" rx="10" ry="10"></rect>
+<text x="822.5" y="143">!" ) "</text>
+</g>
+</g>
+<path d="M858 139h10"></path>
+<path d="M508.5 139a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 167h349.5"></path>
+</g>
+<path d="M858 167a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M868 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M888 40h20"></path>
+</g>
+<path d="M908 40h10"></path>
+<g class="terminal">
+<path d="M918 40h0"></path>
+<path d="M963.5 40h0"></path>
+<rect x="918" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="940.75" y="44">")"</text>
+</g>
+</g>
+</g>
+<path d="M963.5 40h10"></path>
+<path d="M 973.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_OLEExporting.svg b/abap/expression_OLEExporting.svg
new file mode 100644
index 00000000..9d679987
--- /dev/null
+++ b/abap/expression_OLEExporting.svg
@@ -0,0 +1,99 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="651" height="71" viewBox="0 0 651 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M601 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"EXPORTING"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g>
+<path d="M183.5 31h0"></path>
+<path d="M601 31h0"></path>
+<path d="M183.5 31h10"></path>
+<g>
+<path d="M193.5 31h0"></path>
+<path d="M591 31h0"></path>
+<g class="terminal">
+<path d="M193.5 31h0"></path>
+<path d="M434.5 31h0"></path>
+<rect x="193.5" y="20" width="241" height="22" rx="10" ry="10"></rect>
+<text x="314" y="35">^&#91;&#38;&#95;!#\&#42;&#93;?&#91;\w\d\&#42;%\$\?#&#93;+$</text>
+</g>
+<path d="M434.5 31h10"></path>
+<path d="M444.5 31h10"></path>
+<g class="terminal">
+<path d="M454.5 31h0"></path>
+<path d="M500 31h0"></path>
+<rect x="454.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="477.25" y="35">"="</text>
+</g>
+<path d="M500 31h10"></path>
+<path d="M510 31h10"></path>
+<g class="non-terminal">
+<path d="M520 31h0"></path>
+<path d="M591 31h0"></path>
+<rect x="520" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="555.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M591 31h10"></path>
+<path d="M193.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M193.5 51h397.5"></path>
+</g>
+<path d="M591 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M601 31h10"></path>
+<path d="M 611 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Or.svg b/abap/expression_Or.svg
new file mode 100644
index 00000000..25d792ad
--- /dev/null
+++ b/abap/expression_Or.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="245" height="62" viewBox="0 0 245 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M195 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">"OR"</text>
+</g>
+<path d="M104 31h10"></path>
+<path d="M114 31h10"></path>
+<g class="non-terminal">
+<path d="M124 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="124" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="159.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M195 31h10"></path>
+<path d="M 205 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterException.svg b/abap/expression_ParameterException.svg
new file mode 100644
index 00000000..7dbe3b31
--- /dev/null
+++ b/abap/expression_ParameterException.svg
@@ -0,0 +1,134 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="759.5" height="101" viewBox="0 0 759.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M709.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h42.5"></path>
+<rect x="70" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="44">"OTHERS"</text>
+</g>
+<path d="M200.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M200.5 70h0"></path>
+<rect x="70" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterName"><text x="135.25" y="74">ParameterName</text>
+</a>
+</g>
+<path d="M200.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M220.5 40h10"></path>
+<g class="terminal">
+<path d="M230.5 40h0"></path>
+<path d="M276 40h0"></path>
+<rect x="230.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="253.25" y="44">"="</text>
+</g>
+<path d="M276 40h10"></path>
+<g>
+<path d="M286 40h0"></path>
+<path d="M482 40h0"></path>
+<path d="M286 40h20"></path>
+<g class="non-terminal">
+<path d="M306 40h0"></path>
+<path d="M385.5 40h76.5"></path>
+<rect x="306" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="345.75" y="44">Integer</text>
+</a>
+</g>
+<path d="M462 40h20"></path>
+<path d="M286 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M306 70h0"></path>
+<path d="M462 70h0"></path>
+<rect x="306" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="384" y="74">SimpleFieldChain</text>
+</a>
+</g>
+<path d="M462 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M482 40h0"></path>
+<path d="M709.5 40h0"></path>
+<path d="M482 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M502 20h187.5"></path>
+</g>
+<path d="M689.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M482 40h20"></path>
+<g>
+<path d="M502 40h0"></path>
+<path d="M689.5 40h0"></path>
+<g class="terminal">
+<path d="M502 40h0"></path>
+<path d="M598.5 40h0"></path>
+<rect x="502" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="550.25" y="44">"MESSAGE"</text>
+</g>
+<path d="M598.5 40h10"></path>
+<path d="M608.5 40h10"></path>
+<g class="non-terminal">
+<path d="M618.5 40h0"></path>
+<path d="M689.5 40h0"></path>
+<rect x="618.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="654" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M689.5 40h20"></path>
+</g>
+</g>
+<path d="M709.5 40h10"></path>
+<path d="M 719.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterListExceptions.svg b/abap/expression_ParameterListExceptions.svg
new file mode 100644
index 00000000..17cc6d46
--- /dev/null
+++ b/abap/expression_ParameterListExceptions.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="293" height="71" viewBox="0 0 293 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M243 31h0"></path>
+<path d="M50 31h10"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M233 31h0"></path>
+<rect x="60" y="20" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterException"><text x="146.5" y="35">ParameterException</text>
+</a>
+</g>
+<path d="M233 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 51h173"></path>
+</g>
+<path d="M233 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M243 31h10"></path>
+<path d="M 253 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterListS.svg b/abap/expression_ParameterListS.svg
new file mode 100644
index 00000000..c01052bb
--- /dev/null
+++ b/abap/expression_ParameterListS.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="225" height="71" viewBox="0 0 225 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M175 31h0"></path>
+<path d="M50 31h10"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M165 31h0"></path>
+<rect x="60" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterS"><text x="112.5" y="35">ParameterS</text>
+</a>
+</g>
+<path d="M165 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 51h105"></path>
+</g>
+<path d="M165 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M175 31h10"></path>
+<path d="M 185 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterListT.svg b/abap/expression_ParameterListT.svg
new file mode 100644
index 00000000..7e8fd1b9
--- /dev/null
+++ b/abap/expression_ParameterListT.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="225" height="71" viewBox="0 0 225 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M175 31h0"></path>
+<path d="M50 31h10"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M165 31h0"></path>
+<rect x="60" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterT"><text x="112.5" y="35">ParameterT</text>
+</a>
+</g>
+<path d="M165 31h10"></path>
+<path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 51h105"></path>
+</g>
+<path d="M165 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M175 31h10"></path>
+<path d="M 185 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterName.svg b/abap/expression_ParameterName.svg
new file mode 100644
index 00000000..086ba3d1
--- /dev/null
+++ b/abap/expression_ParameterName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="613" height="62" viewBox="0 0 613 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M563 31h0"></path>
+<rect x="50" y="20" width="513" height="22" rx="10" ry="10"></rect>
+<text x="306.5" y="35">^&#91;&#38;&#95;!&#93;?\&#42;?\w&#42;(\/\w+\/)?\d&#42;&#91;a-zA-Z&#95;%\$&#93;&#91;\w\&#42;%\$\?&#93;&#42;(~\w+)?$</text>
+</g>
+<path d="M563 31h10"></path>
+<path d="M 573 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterS.svg b/abap/expression_ParameterS.svg
new file mode 100644
index 00000000..8d9f1be8
--- /dev/null
+++ b/abap/expression_ParameterS.svg
@@ -0,0 +1,77 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="387" height="62" viewBox="0 0 387 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M337 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterName"><text x="115.25" y="35">ParameterName</text>
+</a>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M190.5 31h10"></path>
+<g class="terminal">
+<path d="M200.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="200.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="223.25" y="35">"="</text>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="non-terminal">
+<path d="M266 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="266" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="301.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M337 31h10"></path>
+<path d="M 347 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ParameterT.svg b/abap/expression_ParameterT.svg
new file mode 100644
index 00000000..1e76bb61
--- /dev/null
+++ b/abap/expression_ParameterT.svg
@@ -0,0 +1,77 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="387" height="62" viewBox="0 0 387 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M337 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterName"><text x="115.25" y="35">ParameterName</text>
+</a>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M190.5 31h10"></path>
+<g class="terminal">
+<path d="M200.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="200.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="223.25" y="35">"="</text>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="non-terminal">
+<path d="M266 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="266" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="301.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M337 31h10"></path>
+<path d="M 347 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_PassByValue.svg b/abap/expression_PassByValue.svg
new file mode 100644
index 00000000..dd447f14
--- /dev/null
+++ b/abap/expression_PassByValue.svg
@@ -0,0 +1,84 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="486.5" height="62" viewBox="0 0 486.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M436.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"VALUE"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="terminal">
+<path d="M149.5 31h0"></path>
+<path d="M203.5 31h0"></path>
+<rect x="149.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="176.5" y="35">!"("</text>
+</g>
+<path d="M203.5 31h10"></path>
+<path d="M213.5 31h10"></path>
+<g class="non-terminal">
+<path d="M223.5 31h0"></path>
+<path d="M354 31h0"></path>
+<rect x="223.5" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormParamName"><text x="288.75" y="35">FormParamName</text>
+</a>
+</g>
+<path d="M354 31h10"></path>
+<path d="M364 31h10"></path>
+<g class="terminal">
+<path d="M374 31h0"></path>
+<path d="M436.5 31h0"></path>
+<rect x="374" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="405.25" y="35">!") "</text>
+</g>
+</g>
+<path d="M436.5 31h10"></path>
+<path d="M 446.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_PerformChanging.svg b/abap/expression_PerformChanging.svg
new file mode 100644
index 00000000..b0c0bca3
--- /dev/null
+++ b/abap/expression_PerformChanging.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="316" height="71" viewBox="0 0 316 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M266 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"CHANGING"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g>
+<path d="M175 31h0"></path>
+<path d="M266 31h0"></path>
+<path d="M175 31h10"></path>
+<g class="non-terminal">
+<path d="M185 31h0"></path>
+<path d="M256 31h0"></path>
+<rect x="185" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="220.5" y="35">Target</text>
+</a>
+</g>
+<path d="M256 31h10"></path>
+<path d="M185 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M185 51h71"></path>
+</g>
+<path d="M256 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M266 31h10"></path>
+<path d="M 276 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_PerformTables.svg b/abap/expression_PerformTables.svg
new file mode 100644
index 00000000..af0e5a01
--- /dev/null
+++ b/abap/expression_PerformTables.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="299" height="71" viewBox="0 0 299 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M249 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"TABLES"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g>
+<path d="M158 31h0"></path>
+<path d="M249 31h0"></path>
+<path d="M158 31h10"></path>
+<g class="non-terminal">
+<path d="M168 31h0"></path>
+<path d="M239 31h0"></path>
+<rect x="168" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="203.5" y="35">Source</text>
+</a>
+</g>
+<path d="M239 31h10"></path>
+<path d="M168 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 51h71"></path>
+</g>
+<path d="M239 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M249 31h10"></path>
+<path d="M 259 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_PerformUsing.svg b/abap/expression_PerformUsing.svg
new file mode 100644
index 00000000..1ab1b299
--- /dev/null
+++ b/abap/expression_PerformUsing.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="290.5" height="71" viewBox="0 0 290.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M240.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"USING"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g>
+<path d="M149.5 31h0"></path>
+<path d="M240.5 31h0"></path>
+<path d="M149.5 31h10"></path>
+<g class="non-terminal">
+<path d="M159.5 31h0"></path>
+<path d="M230.5 31h0"></path>
+<rect x="159.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="195" y="35">Source</text>
+</a>
+</g>
+<path d="M230.5 31h10"></path>
+<path d="M159.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M159.5 51h71"></path>
+</g>
+<path d="M230.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M240.5 31h10"></path>
+<path d="M 250.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_RadioGroupName.svg b/abap/expression_RadioGroupName.svg
new file mode 100644
index 00000000..9793540e
--- /dev/null
+++ b/abap/expression_RadioGroupName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">^&#91;\w\d%&#93;+$</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_RaiseWith.svg b/abap/expression_RaiseWith.svg
new file mode 100644
index 00000000..ba72e8ea
--- /dev/null
+++ b/abap/expression_RaiseWith.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="843" height="71" viewBox="0 0 843 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M793 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"WITH"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g class="non-terminal">
+<path d="M141 40h0"></path>
+<path d="M271.5 40h0"></path>
+<rect x="141" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="206.25" y="44">SimpleSource1</text>
+</a>
+</g>
+<path d="M271.5 40h10"></path>
+<g>
+<path d="M281.5 40h0"></path>
+<path d="M452 40h0"></path>
+<path d="M281.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M301.5 20h130.5"></path>
+</g>
+<path d="M432 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M281.5 40h20"></path>
+<g class="non-terminal">
+<path d="M301.5 40h0"></path>
+<path d="M432 40h0"></path>
+<rect x="301.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="366.75" y="44">SimpleSource1</text>
+</a>
+</g>
+<path d="M432 40h20"></path>
+</g>
+<g>
+<path d="M452 40h0"></path>
+<path d="M622.5 40h0"></path>
+<path d="M452 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M472 20h130.5"></path>
+</g>
+<path d="M602.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M452 40h20"></path>
+<g class="non-terminal">
+<path d="M472 40h0"></path>
+<path d="M602.5 40h0"></path>
+<rect x="472" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="537.25" y="44">SimpleSource1</text>
+</a>
+</g>
+<path d="M602.5 40h20"></path>
+</g>
+<g>
+<path d="M622.5 40h0"></path>
+<path d="M793 40h0"></path>
+<path d="M622.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M642.5 20h130.5"></path>
+</g>
+<path d="M773 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M622.5 40h20"></path>
+<g class="non-terminal">
+<path d="M642.5 40h0"></path>
+<path d="M773 40h0"></path>
+<rect x="642.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="707.75" y="44">SimpleSource1</text>
+</a>
+</g>
+<path d="M773 40h20"></path>
+</g>
+</g>
+<path d="M793 40h10"></path>
+<path d="M 803 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ReadTableTarget.svg b/abap/expression_ReadTableTarget.svg
new file mode 100644
index 00000000..279b3dfc
--- /dev/null
+++ b/abap/expression_ReadTableTarget.svg
@@ -0,0 +1,119 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="445.5" height="131" viewBox="0 0 445.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M405.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M281.5 31h104"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M173.5 31h0"></path>
+<rect x="60" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="116.75" y="35">"ASSIGNING"</text>
+</g>
+<path d="M173.5 31h10"></path>
+<path d="M183.5 31h10"></path>
+<g class="non-terminal">
+<path d="M193.5 31h0"></path>
+<path d="M281.5 31h0"></path>
+<rect x="193.5" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="237.5" y="35">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M385.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 70h0"></path>
+<path d="M385.5 70h0"></path>
+<g>
+<path d="M60 70h0"></path>
+<path d="M213.5 70h0"></path>
+<path d="M60 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M80 50h113.5"></path>
+</g>
+<path d="M193.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M60 70h20"></path>
+<g class="terminal">
+<path d="M80 70h0"></path>
+<path d="M193.5 70h0"></path>
+<rect x="80" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="136.75" y="74">"REFERENCE"</text>
+</g>
+<path d="M193.5 70h20"></path>
+</g>
+<path d="M213.5 70h10"></path>
+<g class="terminal">
+<path d="M223.5 70h0"></path>
+<path d="M294.5 70h0"></path>
+<rect x="223.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="259" y="74">"INTO"</text>
+</g>
+<path d="M294.5 70h10"></path>
+<path d="M304.5 70h10"></path>
+<g class="non-terminal">
+<path d="M314.5 70h0"></path>
+<path d="M385.5 70h0"></path>
+<rect x="314.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="350" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M385.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 100h0"></path>
+<path d="M284 100h101.5"></path>
+<rect x="60" y="89" width="224" height="22" rx="10" ry="10"></rect>
+<text x="172" y="104">"TRANSPORTING NO FIELDS"</text>
+</g>
+<path d="M385.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 405.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ReceiveParameters.svg b/abap/expression_ReceiveParameters.svg
new file mode 100644
index 00000000..c3b4e8c4
--- /dev/null
+++ b/abap/expression_ReceiveParameters.svg
@@ -0,0 +1,201 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1533.5" height="79" viewBox="0 0 1533.5 79">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1483.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M362.5 48h0"></path>
+<path d="M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 28h272.5"></path>
+</g>
+<path d="M342.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 48h20"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M342.5 48h0"></path>
+<g class="terminal">
+<path d="M70 48h0"></path>
+<path d="M183.5 48h0"></path>
+<rect x="70" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="52">"IMPORTING"</text>
+</g>
+<path d="M183.5 48h10"></path>
+<path d="M193.5 48h10"></path>
+<g class="non-terminal">
+<path d="M203.5 48h0"></path>
+<path d="M342.5 48h0"></path>
+<rect x="203.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="273" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M342.5 48h20"></path>
+</g>
+<g>
+<path d="M362.5 48h0"></path>
+<path d="M666.5 48h0"></path>
+<path d="M362.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M382.5 28h264"></path>
+</g>
+<path d="M646.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M362.5 48h20"></path>
+<g>
+<path d="M382.5 48h0"></path>
+<path d="M646.5 48h0"></path>
+<g class="terminal">
+<path d="M382.5 48h0"></path>
+<path d="M487.5 48h0"></path>
+<rect x="382.5" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="435" y="52">"CHANGING"</text>
+</g>
+<path d="M487.5 48h10"></path>
+<path d="M497.5 48h10"></path>
+<g class="non-terminal">
+<path d="M507.5 48h0"></path>
+<path d="M646.5 48h0"></path>
+<rect x="507.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="577" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M646.5 48h20"></path>
+</g>
+<g>
+<path d="M666.5 48h0"></path>
+<path d="M953.5 48h0"></path>
+<path d="M666.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M686.5 28h247"></path>
+</g>
+<path d="M933.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M666.5 48h20"></path>
+<g>
+<path d="M686.5 48h0"></path>
+<path d="M933.5 48h0"></path>
+<g class="terminal">
+<path d="M686.5 48h0"></path>
+<path d="M774.5 48h0"></path>
+<rect x="686.5" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="730.5" y="52">"TABLES"</text>
+</g>
+<path d="M774.5 48h10"></path>
+<path d="M784.5 48h10"></path>
+<g class="non-terminal">
+<path d="M794.5 48h0"></path>
+<path d="M933.5 48h0"></path>
+<rect x="794.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="864" y="52">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M933.5 48h20"></path>
+</g>
+<g>
+<path d="M953.5 48h0"></path>
+<path d="M1483.5 48h0"></path>
+<path d="M953.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M973.5 20h490"></path>
+</g>
+<path d="M1463.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M953.5 48h20"></path>
+<g>
+<path d="M973.5 48h0"></path>
+<path d="M1463.5 48h0"></path>
+<g class="terminal">
+<path d="M973.5 48h0"></path>
+<path d="M1095.5 48h0"></path>
+<rect x="973.5" y="37" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1034.5" y="52">"EXCEPTIONS"</text>
+</g>
+<path d="M1095.5 48h10"></path>
+<g>
+<path d="M1105.5 48h0"></path>
+<path d="M1361 48h0"></path>
+<path d="M1105.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1125.5 28h215.5"></path>
+</g>
+<path d="M1341 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1105.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1125.5 48h0"></path>
+<path d="M1341 48h0"></path>
+<rect x="1125.5" y="37" width="215.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListExceptions"><text x="1233.25" y="52">ParameterListExceptions</text>
+</a>
+</g>
+<path d="M1341 48h20"></path>
+</g>
+<g>
+<path d="M1361 48h0"></path>
+<path d="M1463.5 48h0"></path>
+<path d="M1361 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1381 28h62.5"></path>
+</g>
+<path d="M1443.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1361 48h20"></path>
+<g class="non-terminal">
+<path d="M1381 48h0"></path>
+<path d="M1443.5 48h0"></path>
+<rect x="1381" y="37" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1412.25" y="52">Field</text>
+</a>
+</g>
+<path d="M1443.5 48h20"></path>
+</g>
+</g>
+<path d="M1463.5 48h20"></path>
+</g>
+</g>
+<path d="M1483.5 48h10"></path>
+<path d="M 1493.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Redefinition.svg b/abap/expression_Redefinition.svg
new file mode 100644
index 00000000..bae45523
--- /dev/null
+++ b/abap/expression_Redefinition.svg
@@ -0,0 +1,77 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="368.5" height="71" viewBox="0 0 368.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M318.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M169.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h79.5"></path>
+</g>
+<path d="M149.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M149.5 40h0"></path>
+<rect x="70" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="109.75" y="44">"FINAL"</text>
+</g>
+<path d="M149.5 40h20"></path>
+</g>
+<path d="M169.5 40h10"></path>
+<g class="terminal">
+<path d="M179.5 40h0"></path>
+<path d="M318.5 40h0"></path>
+<rect x="179.5" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="249" y="44">"REDEFINITION"</text>
+</g>
+</g>
+<path d="M318.5 40h10"></path>
+<path d="M 328.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ReduceBody.svg b/abap/expression_ReduceBody.svg
new file mode 100644
index 00000000..5bf4e2ca
--- /dev/null
+++ b/abap/expression_ReduceBody.svg
@@ -0,0 +1,131 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="715.5" height="80" viewBox="0 0 715.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M665.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M135.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h45.5"></path>
+</g>
+<path d="M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="92.75" y="44">Let</text>
+</a>
+</g>
+<path d="M115.5 40h20"></path>
+</g>
+<path d="M135.5 40h10"></path>
+<g>
+<path d="M145.5 40h0"></path>
+<path d="M455 40h0"></path>
+<g class="terminal">
+<path d="M145.5 40h0"></path>
+<path d="M216.5 40h0"></path>
+<rect x="145.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="181" y="44">"INIT"</text>
+</g>
+<path d="M216.5 40h10"></path>
+<path d="M226.5 40h10"></path>
+<g>
+<path d="M236.5 40h0"></path>
+<path d="M455 40h0"></path>
+<path d="M236.5 40h10"></path>
+<g class="non-terminal">
+<path d="M246.5 40h0"></path>
+<path d="M445 40h0"></path>
+<rect x="246.5" y="29" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineFieldDefinition"><text x="345.75" y="44">InlineFieldDefinition</text>
+</a>
+</g>
+<path d="M445 40h10"></path>
+<path d="M246.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M246.5 60h198.5"></path>
+</g>
+<path d="M445 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M455 40h10"></path>
+<path d="M465 40h10"></path>
+<g>
+<path d="M475 40h0"></path>
+<path d="M540.5 40h0"></path>
+<path d="M475 40h10"></path>
+<g class="non-terminal">
+<path d="M485 40h0"></path>
+<path d="M530.5 40h0"></path>
+<rect x="485" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/For"><text x="507.75" y="44">For</text>
+</a>
+</g>
+<path d="M530.5 40h10"></path>
+<path d="M485 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M485 60h45.5"></path>
+</g>
+<path d="M530.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M540.5 40h10"></path>
+<path d="M550.5 40h10"></path>
+<g class="non-terminal">
+<path d="M560.5 40h0"></path>
+<path d="M665.5 40h0"></path>
+<rect x="560.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ReduceNext"><text x="613" y="44">ReduceNext</text>
+</a>
+</g>
+</g>
+<path d="M665.5 40h10"></path>
+<path d="M 675.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ReduceNext.svg b/abap/expression_ReduceNext.svg
new file mode 100644
index 00000000..5ee72852
--- /dev/null
+++ b/abap/expression_ReduceNext.svg
@@ -0,0 +1,184 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="680" height="220" viewBox="0 0 680 220">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M630 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"NEXT"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g>
+<path d="M141 31h0"></path>
+<path d="M630 31h0"></path>
+<path d="M141 31h10"></path>
+<g>
+<path d="M151 31h0"></path>
+<path d="M620 31h0"></path>
+<g class="non-terminal">
+<path d="M151 31h0"></path>
+<path d="M273 31h0"></path>
+<rect x="151" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleTarget"><text x="212" y="35">SimpleTarget</text>
+</a>
+</g>
+<path d="M273 31h10"></path>
+<g>
+<path d="M283 31h0"></path>
+<path d="M539 31h0"></path>
+<path d="M283 31h20"></path>
+<g class="terminal">
+<path d="M303 31h0"></path>
+<path d="M348.5 31h170.5"></path>
+<rect x="303" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="325.75" y="35">"="</text>
+</g>
+<path d="M519 31h20"></path>
+<path d="M283 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303 61h0"></path>
+<path d="M519 61h0"></path>
+<g>
+<path d="M303 61h0"></path>
+<path d="M341 61h0"></path>
+<text x="322" y="66" class="comment">v754</text>
+</g>
+<path d="M341 61h10"></path>
+<g>
+<path d="M351 61h0"></path>
+<path d="M519 61h0"></path>
+<path d="M351 61h20"></path>
+<g>
+<path d="M371 61h0"></path>
+<path d="M499 61h0"></path>
+<g class="terminal">
+<path d="M371 61h0"></path>
+<path d="M433.5 61h0"></path>
+<rect x="371" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="402.25" y="65">!" +"</text>
+</g>
+<path d="M433.5 61h10"></path>
+<path d="M443.5 61h10"></path>
+<g class="terminal">
+<path d="M453.5 61h0"></path>
+<path d="M499 61h0"></path>
+<rect x="453.5" y="50" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="476.25" y="65">"="</text>
+</g>
+</g>
+<path d="M499 61h20"></path>
+<path d="M351 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M371 91h0"></path>
+<path d="M499 91h0"></path>
+<g class="terminal">
+<path d="M371 91h0"></path>
+<path d="M433.5 91h0"></path>
+<rect x="371" y="80" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="402.25" y="95">!" -"</text>
+</g>
+<path d="M433.5 91h10"></path>
+<path d="M443.5 91h10"></path>
+<g class="terminal">
+<path d="M453.5 91h0"></path>
+<path d="M499 91h0"></path>
+<rect x="453.5" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="476.25" y="95">"="</text>
+</g>
+</g>
+<path d="M499 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M351 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M371 121h0"></path>
+<path d="M425 121h74"></path>
+<rect x="371" y="110" width="54" height="22" rx="10" ry="10"></rect>
+<text x="398" y="125">"/="</text>
+</g>
+<path d="M499 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M351 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M371 151h0"></path>
+<path d="M425 151h74"></path>
+<rect x="371" y="140" width="54" height="22" rx="10" ry="10"></rect>
+<text x="398" y="155">"&#42;="</text>
+</g>
+<path d="M499 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M351 61a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M371 181h0"></path>
+<path d="M433.5 181h65.5"></path>
+<rect x="371" y="170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="402.25" y="185">"&#38;&#38;="</text>
+</g>
+<path d="M499 181a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M519 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M539 31h10"></path>
+<g class="non-terminal">
+<path d="M549 31h0"></path>
+<path d="M620 31h0"></path>
+<rect x="549" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="584.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M620 31h10"></path>
+<path d="M151 31a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M151 200h469"></path>
+</g>
+<path d="M620 200a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M630 31h10"></path>
+<path d="M 640 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ReportName.svg b/abap/expression_ReportName.svg
new file mode 100644
index 00000000..dfc82808
--- /dev/null
+++ b/abap/expression_ReportName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="411.5" height="80" viewBox="0 0 411.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M361.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M155 40h0"></path>
+<rect x="50" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="44">^&#91;\w/$%&#93;+$</text>
+</g>
+<path d="M155 40h10"></path>
+<g>
+<path d="M165 40h0"></path>
+<path d="M361.5 40h0"></path>
+<path d="M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M185 20h156.5"></path>
+</g>
+<path d="M341.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M165 40h20"></path>
+<g>
+<path d="M185 40h0"></path>
+<path d="M341.5 40h0"></path>
+<path d="M185 40h10"></path>
+<g>
+<path d="M195 40h0"></path>
+<path d="M331.5 40h0"></path>
+<g class="terminal">
+<path d="M195 40h0"></path>
+<path d="M249 40h0"></path>
+<rect x="195" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="222" y="44">!"-"</text>
+</g>
+<path d="M249 40h10"></path>
+<path d="M259 40h10"></path>
+<g class="terminal">
+<path d="M269 40h0"></path>
+<path d="M331.5 40h0"></path>
+<rect x="269" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="300.25" y="44">^\w+$</text>
+</g>
+</g>
+<path d="M331.5 40h10"></path>
+<path d="M195 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M195 60h136.5"></path>
+</g>
+<path d="M331.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M341.5 40h20"></path>
+</g>
+</g>
+<path d="M361.5 40h10"></path>
+<path d="M 371.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLAggregation.svg b/abap/expression_SQLAggregation.svg
new file mode 100644
index 00000000..e089b895
--- /dev/null
+++ b/abap/expression_SQLAggregation.svg
@@ -0,0 +1,534 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="746" height="527" viewBox="0 0 746 527">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M706 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M686 40h0"></path>
+<g class="terminal">
+<path d="M60 40h0"></path>
+<path d="M139.5 40h0"></path>
+<rect x="60" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="44">"COUNT"</text>
+</g>
+<path d="M139.5 40h10"></path>
+<g>
+<path d="M149.5 40h0"></path>
+<path d="M252 40h0"></path>
+<path d="M149.5 40h20"></path>
+<g class="terminal">
+<path d="M169.5 40h0"></path>
+<path d="M223.5 40h8.5"></path>
+<rect x="169.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="196.5" y="44">!"("</text>
+</g>
+<path d="M232 40h20"></path>
+<path d="M149.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M169.5 70h0"></path>
+<path d="M232 70h0"></path>
+<rect x="169.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="200.75" y="74">!"( "</text>
+</g>
+<path d="M232 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M252 40h0"></path>
+<path d="M397 40h0"></path>
+<path d="M252 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M272 20h105"></path>
+</g>
+<path d="M377 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M252 40h20"></path>
+<g class="terminal">
+<path d="M272 40h0"></path>
+<path d="M377 40h0"></path>
+<rect x="272" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="324.5" y="44">"DISTINCT"</text>
+</g>
+<path d="M377 40h20"></path>
+</g>
+<g>
+<path d="M397 40h0"></path>
+<path d="M630.5 40h0"></path>
+<path d="M397 40h20"></path>
+<g class="terminal">
+<path d="M417 40h0"></path>
+<path d="M462.5 40h148"></path>
+<rect x="417" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="439.75" y="44">"&#42;"</text>
+</g>
+<path d="M610.5 40h20"></path>
+<path d="M397 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M417 70h0"></path>
+<path d="M479.5 70h131"></path>
+<rect x="417" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="448.25" y="74">Field</text>
+</a>
+</g>
+<path d="M610.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M397 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M417 100h0"></path>
+<path d="M610.5 100h0"></path>
+<g class="terminal">
+<path d="M417 100h0"></path>
+<path d="M462.5 100h0"></path>
+<rect x="417" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="439.75" y="104">"("</text>
+</g>
+<path d="M462.5 100h10"></path>
+<path d="M472.5 100h10"></path>
+<g class="non-terminal">
+<path d="M482.5 100h0"></path>
+<path d="M545 100h0"></path>
+<rect x="482.5" y="89" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="513.75" y="104">Field</text>
+</a>
+</g>
+<path d="M545 100h10"></path>
+<path d="M555 100h10"></path>
+<g class="terminal">
+<path d="M565 100h0"></path>
+<path d="M610.5 100h0"></path>
+<rect x="565" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="587.75" y="104">")"</text>
+</g>
+</g>
+<path d="M610.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M630.5 40h10"></path>
+<g class="terminal">
+<path d="M640.5 40h0"></path>
+<path d="M686 40h0"></path>
+<rect x="640.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="663.25" y="44">")"</text>
+</g>
+</g>
+<path d="M686 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 139h0"></path>
+<path d="M634.5 139h51.5"></path>
+<g class="terminal">
+<path d="M60 139h0"></path>
+<path d="M122.5 139h0"></path>
+<rect x="60" y="128" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="143">"MAX"</text>
+</g>
+<path d="M122.5 139h10"></path>
+<g>
+<path d="M132.5 139h0"></path>
+<path d="M235 139h0"></path>
+<path d="M132.5 139h20"></path>
+<g class="terminal">
+<path d="M152.5 139h0"></path>
+<path d="M206.5 139h8.5"></path>
+<rect x="152.5" y="128" width="54" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="143">!"("</text>
+</g>
+<path d="M215 139h20"></path>
+<path d="M132.5 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M152.5 169h0"></path>
+<path d="M215 169h0"></path>
+<rect x="152.5" y="158" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="173">!"( "</text>
+</g>
+<path d="M215 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M235 139h10"></path>
+<g>
+<path d="M245 139h0"></path>
+<path d="M569 139h0"></path>
+<g>
+<path d="M245 139h0"></path>
+<path d="M390 139h0"></path>
+<path d="M245 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M265 119h105"></path>
+</g>
+<path d="M370 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M245 139h20"></path>
+<g class="terminal">
+<path d="M265 139h0"></path>
+<path d="M370 139h0"></path>
+<rect x="265" y="128" width="105" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="143">"DISTINCT"</text>
+</g>
+<path d="M370 139h20"></path>
+</g>
+<g>
+<path d="M390 139h0"></path>
+<path d="M569 139h0"></path>
+<path d="M390 139h20"></path>
+<g class="non-terminal">
+<path d="M410 139h0"></path>
+<path d="M549 139h0"></path>
+<rect x="410" y="128" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmetics"><text x="479.5" y="143">SQLArithmetics</text>
+</a>
+</g>
+<path d="M549 139h20"></path>
+<path d="M390 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 169h0"></path>
+<path d="M489.5 169h59.5"></path>
+<rect x="410" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="449.75" y="173">Dynamic</text>
+</a>
+</g>
+<path d="M549 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M390 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 199h0"></path>
+<path d="M523.5 199h25.5"></path>
+<rect x="410" y="188" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="466.75" y="203">SQLFunction</text>
+</a>
+</g>
+<path d="M549 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M569 139h10"></path>
+<path d="M579 139h10"></path>
+<g class="terminal">
+<path d="M589 139h0"></path>
+<path d="M634.5 139h0"></path>
+<rect x="589" y="128" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="611.75" y="143">")"</text>
+</g>
+</g>
+<path d="M686 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 238h0"></path>
+<path d="M634.5 238h51.5"></path>
+<g class="terminal">
+<path d="M60 238h0"></path>
+<path d="M122.5 238h0"></path>
+<rect x="60" y="227" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="242">"MIN"</text>
+</g>
+<path d="M122.5 238h10"></path>
+<g>
+<path d="M132.5 238h0"></path>
+<path d="M235 238h0"></path>
+<path d="M132.5 238h20"></path>
+<g class="terminal">
+<path d="M152.5 238h0"></path>
+<path d="M206.5 238h8.5"></path>
+<rect x="152.5" y="227" width="54" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="242">!"("</text>
+</g>
+<path d="M215 238h20"></path>
+<path d="M132.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M152.5 268h0"></path>
+<path d="M215 268h0"></path>
+<rect x="152.5" y="257" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="272">!"( "</text>
+</g>
+<path d="M215 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M235 238h10"></path>
+<g>
+<path d="M245 238h0"></path>
+<path d="M569 238h0"></path>
+<g>
+<path d="M245 238h0"></path>
+<path d="M390 238h0"></path>
+<path d="M245 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M265 218h105"></path>
+</g>
+<path d="M370 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M245 238h20"></path>
+<g class="terminal">
+<path d="M265 238h0"></path>
+<path d="M370 238h0"></path>
+<rect x="265" y="227" width="105" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="242">"DISTINCT"</text>
+</g>
+<path d="M370 238h20"></path>
+</g>
+<g>
+<path d="M390 238h0"></path>
+<path d="M569 238h0"></path>
+<path d="M390 238h20"></path>
+<g class="non-terminal">
+<path d="M410 238h0"></path>
+<path d="M549 238h0"></path>
+<rect x="410" y="227" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmetics"><text x="479.5" y="242">SQLArithmetics</text>
+</a>
+</g>
+<path d="M549 238h20"></path>
+<path d="M390 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 268h0"></path>
+<path d="M489.5 268h59.5"></path>
+<rect x="410" y="257" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="449.75" y="272">Dynamic</text>
+</a>
+</g>
+<path d="M549 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M390 238a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 298h0"></path>
+<path d="M523.5 298h25.5"></path>
+<rect x="410" y="287" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="466.75" y="302">SQLFunction</text>
+</a>
+</g>
+<path d="M549 298a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M569 238h10"></path>
+<path d="M579 238h10"></path>
+<g class="terminal">
+<path d="M589 238h0"></path>
+<path d="M634.5 238h0"></path>
+<rect x="589" y="227" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="611.75" y="242">")"</text>
+</g>
+</g>
+<path d="M686 238a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v277a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 337h0"></path>
+<path d="M634.5 337h51.5"></path>
+<g class="terminal">
+<path d="M60 337h0"></path>
+<path d="M122.5 337h0"></path>
+<rect x="60" y="326" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="341">"SUM"</text>
+</g>
+<path d="M122.5 337h10"></path>
+<g>
+<path d="M132.5 337h0"></path>
+<path d="M235 337h0"></path>
+<path d="M132.5 337h20"></path>
+<g class="terminal">
+<path d="M152.5 337h0"></path>
+<path d="M206.5 337h8.5"></path>
+<rect x="152.5" y="326" width="54" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="341">!"("</text>
+</g>
+<path d="M215 337h20"></path>
+<path d="M132.5 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M152.5 367h0"></path>
+<path d="M215 367h0"></path>
+<rect x="152.5" y="356" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="371">!"( "</text>
+</g>
+<path d="M215 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M235 337h10"></path>
+<g>
+<path d="M245 337h0"></path>
+<path d="M569 337h0"></path>
+<g>
+<path d="M245 337h0"></path>
+<path d="M390 337h0"></path>
+<path d="M245 337a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M265 317h105"></path>
+</g>
+<path d="M370 317a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M245 337h20"></path>
+<g class="terminal">
+<path d="M265 337h0"></path>
+<path d="M370 337h0"></path>
+<rect x="265" y="326" width="105" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="341">"DISTINCT"</text>
+</g>
+<path d="M370 337h20"></path>
+</g>
+<g>
+<path d="M390 337h0"></path>
+<path d="M569 337h0"></path>
+<path d="M390 337h20"></path>
+<g class="non-terminal">
+<path d="M410 337h0"></path>
+<path d="M549 337h0"></path>
+<rect x="410" y="326" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmetics"><text x="479.5" y="341">SQLArithmetics</text>
+</a>
+</g>
+<path d="M549 337h20"></path>
+<path d="M390 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 367h0"></path>
+<path d="M489.5 367h59.5"></path>
+<rect x="410" y="356" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="449.75" y="371">Dynamic</text>
+</a>
+</g>
+<path d="M549 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M390 337a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 397h0"></path>
+<path d="M523.5 397h25.5"></path>
+<rect x="410" y="386" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="466.75" y="401">SQLFunction</text>
+</a>
+</g>
+<path d="M549 397a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M569 337h10"></path>
+<path d="M579 337h10"></path>
+<g class="terminal">
+<path d="M589 337h0"></path>
+<path d="M634.5 337h0"></path>
+<rect x="589" y="326" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="611.75" y="341">")"</text>
+</g>
+</g>
+<path d="M686 337a10 10 0 0 0 10 -10v-277a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v376a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 436h0"></path>
+<path d="M634.5 436h51.5"></path>
+<g class="terminal">
+<path d="M60 436h0"></path>
+<path d="M122.5 436h0"></path>
+<rect x="60" y="425" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="440">"AVG"</text>
+</g>
+<path d="M122.5 436h10"></path>
+<g>
+<path d="M132.5 436h0"></path>
+<path d="M235 436h0"></path>
+<path d="M132.5 436h20"></path>
+<g class="terminal">
+<path d="M152.5 436h0"></path>
+<path d="M206.5 436h8.5"></path>
+<rect x="152.5" y="425" width="54" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="440">!"("</text>
+</g>
+<path d="M215 436h20"></path>
+<path d="M132.5 436a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M152.5 466h0"></path>
+<path d="M215 466h0"></path>
+<rect x="152.5" y="455" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="470">!"( "</text>
+</g>
+<path d="M215 466a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M235 436h10"></path>
+<g>
+<path d="M245 436h0"></path>
+<path d="M569 436h0"></path>
+<g>
+<path d="M245 436h0"></path>
+<path d="M390 436h0"></path>
+<path d="M245 436a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M265 416h105"></path>
+</g>
+<path d="M370 416a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M245 436h20"></path>
+<g class="terminal">
+<path d="M265 436h0"></path>
+<path d="M370 436h0"></path>
+<rect x="265" y="425" width="105" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="440">"DISTINCT"</text>
+</g>
+<path d="M370 436h20"></path>
+</g>
+<g>
+<path d="M390 436h0"></path>
+<path d="M569 436h0"></path>
+<path d="M390 436h20"></path>
+<g class="non-terminal">
+<path d="M410 436h0"></path>
+<path d="M549 436h0"></path>
+<rect x="410" y="425" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmetics"><text x="479.5" y="440">SQLArithmetics</text>
+</a>
+</g>
+<path d="M549 436h20"></path>
+<path d="M390 436a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 466h0"></path>
+<path d="M489.5 466h59.5"></path>
+<rect x="410" y="455" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="449.75" y="470">Dynamic</text>
+</a>
+</g>
+<path d="M549 466a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M390 436a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M410 496h0"></path>
+<path d="M523.5 496h25.5"></path>
+<rect x="410" y="485" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="466.75" y="500">SQLFunction</text>
+</a>
+</g>
+<path d="M549 496a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M569 436h10"></path>
+<path d="M579 436h10"></path>
+<g class="terminal">
+<path d="M589 436h0"></path>
+<path d="M634.5 436h0"></path>
+<rect x="589" y="425" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="611.75" y="440">")"</text>
+</g>
+</g>
+<path d="M686 436a10 10 0 0 0 10 -10v-376a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 706 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLAliasField.svg b/abap/expression_SQLAliasField.svg
new file mode 100644
index 00000000..7bb07172
--- /dev/null
+++ b/abap/expression_SQLAliasField.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="281.5" height="62" viewBox="0 0 281.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M231.5 31h0"></path>
+<rect x="50" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="140.75" y="35">^(\/\w+\/)?\w+~\w+$</text>
+</g>
+<path d="M231.5 31h10"></path>
+<path d="M 241.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLArithmeticOperator.svg b/abap/expression_SQLArithmeticOperator.svg
new file mode 100644
index 00000000..8ddca13a
--- /dev/null
+++ b/abap/expression_SQLArithmeticOperator.svg
@@ -0,0 +1,83 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="191" height="152" viewBox="0 0 191 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M151 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M131 31h0"></path>
+<rect x="60" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="35">!" + "</text>
+</g>
+<path d="M131 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M131 61h0"></path>
+<rect x="60" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="65">!" - "</text>
+</g>
+<path d="M131 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M105.5 91h25.5"></path>
+<rect x="60" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="95">"&#42;"</text>
+</g>
+<path d="M131 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 121h0"></path>
+<path d="M105.5 121h25.5"></path>
+<rect x="60" y="110" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="125">"/"</text>
+</g>
+<path d="M131 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 151 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLArithmetics.svg b/abap/expression_SQLArithmetics.svg
new file mode 100644
index 00000000..a0e074be
--- /dev/null
+++ b/abap/expression_SQLArithmetics.svg
@@ -0,0 +1,131 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="692.5" height="109" viewBox="0 0 692.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M642.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M212 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M192 40h0"></path>
+<rect x="70" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="131" y="44">SQLFieldName</text>
+</a>
+</g>
+<path d="M192 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h8.5"></path>
+<rect x="70" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="126.75" y="74">SQLFunction</text>
+</a>
+</g>
+<path d="M192 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M212 40h0"></path>
+<path d="M642.5 40h0"></path>
+<path d="M212 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M232 20h390.5"></path>
+</g>
+<path d="M622.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M212 40h20"></path>
+<g>
+<path d="M232 40h0"></path>
+<path d="M622.5 40h0"></path>
+<path d="M232 40h10"></path>
+<g>
+<path d="M242 40h0"></path>
+<path d="M612.5 40h0"></path>
+<g class="non-terminal">
+<path d="M242 40h0"></path>
+<path d="M440.5 40h0"></path>
+<rect x="242" y="29" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmeticOperator"><text x="341.25" y="44">SQLArithmeticOperator</text>
+</a>
+</g>
+<path d="M440.5 40h10"></path>
+<g>
+<path d="M450.5 40h0"></path>
+<path d="M612.5 40h0"></path>
+<path d="M450.5 40h20"></path>
+<g class="non-terminal">
+<path d="M470.5 40h0"></path>
+<path d="M592.5 40h0"></path>
+<rect x="470.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="531.5" y="44">SQLFieldName</text>
+</a>
+</g>
+<path d="M592.5 40h20"></path>
+<path d="M450.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M470.5 70h0"></path>
+<path d="M584 70h8.5"></path>
+<rect x="470.5" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="527.25" y="74">SQLFunction</text>
+</a>
+</g>
+<path d="M592.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M612.5 40h10"></path>
+<path d="M242 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M242 89h370.5"></path>
+</g>
+<path d="M612.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M622.5 40h20"></path>
+</g>
+</g>
+<path d="M642.5 40h10"></path>
+<path d="M 652.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLAsName.svg b/abap/expression_SQLAsName.svg
new file mode 100644
index 00000000..2b6a837f
--- /dev/null
+++ b/abap/expression_SQLAsName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1270" height="80" viewBox="0 0 1270 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1220 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M563 40h0"></path>
+<rect x="50" y="29" width="513" height="22" rx="10" ry="10"></rect>
+<text x="306.5" y="44">^&#91;&#38;&#95;!&#93;?\&#42;?\w&#42;(\/\w+\/)?\d&#42;&#91;a-zA-Z&#95;%\$&#93;&#91;\w\&#42;%\$\?&#93;&#42;(~\w+)?$</text>
+</g>
+<path d="M563 40h10"></path>
+<g>
+<path d="M573 40h0"></path>
+<path d="M1220 40h0"></path>
+<path d="M573 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M593 20h607"></path>
+</g>
+<path d="M1200 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M573 40h20"></path>
+<g>
+<path d="M593 40h0"></path>
+<path d="M1200 40h0"></path>
+<path d="M593 40h10"></path>
+<g>
+<path d="M603 40h0"></path>
+<path d="M1190 40h0"></path>
+<g class="terminal">
+<path d="M603 40h0"></path>
+<path d="M657 40h0"></path>
+<rect x="603" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="630" y="44">!"-"</text>
+</g>
+<path d="M657 40h10"></path>
+<path d="M667 40h10"></path>
+<g class="terminal">
+<path d="M677 40h0"></path>
+<path d="M1190 40h0"></path>
+<rect x="677" y="29" width="513" height="22" rx="10" ry="10"></rect>
+<text x="933.5" y="44">^&#91;&#38;&#95;!&#93;?\&#42;?\w&#42;(\/\w+\/)?\d&#42;&#91;a-zA-Z&#95;%\$&#93;&#91;\w\&#42;%\$\?&#93;&#42;(~\w+)?$</text>
+</g>
+</g>
+<path d="M1190 40h10"></path>
+<path d="M603 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M603 60h587"></path>
+</g>
+<path d="M1190 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1200 40h20"></path>
+</g>
+</g>
+<path d="M1220 40h10"></path>
+<path d="M 1230 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLCDSParameters.svg b/abap/expression_SQLCDSParameters.svg
new file mode 100644
index 00000000..34fa8d65
--- /dev/null
+++ b/abap/expression_SQLCDSParameters.svg
@@ -0,0 +1,211 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1087.5" height="109" viewBox="0 0 1087.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1037.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M95.5 40h0"></path>
+<rect x="50" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="44">"("</text>
+</g>
+<path d="M95.5 40h10"></path>
+<path d="M105.5 40h10"></path>
+<g>
+<path d="M115.5 40h0"></path>
+<path d="M481 40h0"></path>
+<g class="non-terminal">
+<path d="M115.5 40h0"></path>
+<path d="M178 40h0"></path>
+<rect x="115.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="146.75" y="44">Field</text>
+</a>
+</g>
+<path d="M178 40h10"></path>
+<path d="M188 40h10"></path>
+<g class="terminal">
+<path d="M198 40h0"></path>
+<path d="M243.5 40h0"></path>
+<rect x="198" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="220.75" y="44">"="</text>
+</g>
+<path d="M243.5 40h10"></path>
+<g>
+<path d="M253.5 40h0"></path>
+<path d="M481 40h0"></path>
+<path d="M253.5 40h20"></path>
+<g>
+<path d="M273.5 40h0"></path>
+<path d="M461 40h0"></path>
+<g class="terminal">
+<path d="M273.5 40h0"></path>
+<path d="M336 40h0"></path>
+<rect x="273.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="304.75" y="44">!" @"</text>
+</g>
+<path d="M336 40h10"></path>
+<path d="M346 40h10"></path>
+<g class="non-terminal">
+<path d="M356 40h0"></path>
+<path d="M461 40h0"></path>
+<rect x="356" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="408.5" y="44">FieldChain</text>
+</a>
+</g>
+</g>
+<path d="M461 40h20"></path>
+<path d="M253.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M273.5 70h0"></path>
+<path d="M361.5 70h99.5"></path>
+<rect x="273.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="317.5" y="74">Constant</text>
+</a>
+</g>
+<path d="M461 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481 40h10"></path>
+<g>
+<path d="M491 40h0"></path>
+<path d="M982 40h0"></path>
+<path d="M491 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M511 20h451"></path>
+</g>
+<path d="M962 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M491 40h20"></path>
+<g>
+<path d="M511 40h0"></path>
+<path d="M962 40h0"></path>
+<path d="M511 40h10"></path>
+<g>
+<path d="M521 40h0"></path>
+<path d="M952 40h0"></path>
+<g class="terminal">
+<path d="M521 40h0"></path>
+<path d="M566.5 40h0"></path>
+<rect x="521" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="543.75" y="44">","</text>
+</g>
+<path d="M566.5 40h10"></path>
+<path d="M576.5 40h10"></path>
+<g>
+<path d="M586.5 40h0"></path>
+<path d="M952 40h0"></path>
+<g class="non-terminal">
+<path d="M586.5 40h0"></path>
+<path d="M649 40h0"></path>
+<rect x="586.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="617.75" y="44">Field</text>
+</a>
+</g>
+<path d="M649 40h10"></path>
+<path d="M659 40h10"></path>
+<g class="terminal">
+<path d="M669 40h0"></path>
+<path d="M714.5 40h0"></path>
+<rect x="669" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="691.75" y="44">"="</text>
+</g>
+<path d="M714.5 40h10"></path>
+<g>
+<path d="M724.5 40h0"></path>
+<path d="M952 40h0"></path>
+<path d="M724.5 40h20"></path>
+<g>
+<path d="M744.5 40h0"></path>
+<path d="M932 40h0"></path>
+<g class="terminal">
+<path d="M744.5 40h0"></path>
+<path d="M807 40h0"></path>
+<rect x="744.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="775.75" y="44">!" @"</text>
+</g>
+<path d="M807 40h10"></path>
+<path d="M817 40h10"></path>
+<g class="non-terminal">
+<path d="M827 40h0"></path>
+<path d="M932 40h0"></path>
+<rect x="827" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="879.5" y="44">FieldChain</text>
+</a>
+</g>
+</g>
+<path d="M932 40h20"></path>
+<path d="M724.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M744.5 70h0"></path>
+<path d="M832.5 70h99.5"></path>
+<rect x="744.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="788.5" y="74">Constant</text>
+</a>
+</g>
+<path d="M932 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M952 40h10"></path>
+<path d="M521 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M521 89h431"></path>
+</g>
+<path d="M952 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M962 40h20"></path>
+</g>
+<path d="M982 40h10"></path>
+<g class="terminal">
+<path d="M992 40h0"></path>
+<path d="M1037.5 40h0"></path>
+<rect x="992" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1014.75" y="44">")"</text>
+</g>
+</g>
+<path d="M1037.5 40h10"></path>
+<path d="M 1047.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLCase.svg b/abap/expression_SQLCase.svg
new file mode 100644
index 00000000..d2f89de0
--- /dev/null
+++ b/abap/expression_SQLCase.svg
@@ -0,0 +1,414 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1875.5" height="245" viewBox="0 0 1875.5 245">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1825.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M116 48h0"></path>
+<text x="83" y="53" class="comment">v740sp05</text>
+</g>
+<path d="M116 48h10"></path>
+<path d="M126 48h10"></path>
+<g>
+<path d="M136 48h0"></path>
+<path d="M1825.5 48h0"></path>
+<g class="terminal">
+<path d="M136 48h0"></path>
+<path d="M207 48h0"></path>
+<rect x="136" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="171.5" y="52">"CASE"</text>
+</g>
+<path d="M207 48h10"></path>
+<g>
+<path d="M217 48h0"></path>
+<path d="M379 48h0"></path>
+<path d="M217 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M237 28h122"></path>
+</g>
+<path d="M359 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M217 48h20"></path>
+<g class="non-terminal">
+<path d="M237 48h0"></path>
+<path d="M359 48h0"></path>
+<rect x="237" y="37" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="298" y="52">SQLFieldName</text>
+</a>
+</g>
+<path d="M359 48h20"></path>
+</g>
+<path d="M379 48h10"></path>
+<g>
+<path d="M389 48h0"></path>
+<path d="M1443 48h0"></path>
+<path d="M389 48h10"></path>
+<g>
+<path d="M399 48h0"></path>
+<path d="M1433 48h0"></path>
+<g class="terminal">
+<path d="M399 48h0"></path>
+<path d="M470 48h0"></path>
+<rect x="399" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="434.5" y="52">"WHEN"</text>
+</g>
+<path d="M470 48h10"></path>
+<g>
+<path d="M480 48h0"></path>
+<path d="M608 48h0"></path>
+<path d="M480 48h20"></path>
+<g class="non-terminal">
+<path d="M500 48h0"></path>
+<path d="M579.5 48h8.5"></path>
+<rect x="500" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="539.75" y="52">SQLCond</text>
+</a>
+</g>
+<path d="M588 48h20"></path>
+<path d="M480 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M500 78h0"></path>
+<path d="M588 78h0"></path>
+<rect x="500" y="67" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="544" y="82">Constant</text>
+</a>
+</g>
+<path d="M588 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M608 48h10"></path>
+<g class="terminal">
+<path d="M618 48h0"></path>
+<path d="M689 48h0"></path>
+<rect x="618" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="653.5" y="52">"THEN"</text>
+</g>
+<path d="M689 48h10"></path>
+<g>
+<path d="M699 48h0"></path>
+<path d="M878 48h0"></path>
+<path d="M699 48h20"></path>
+<g class="non-terminal">
+<path d="M719 48h0"></path>
+<path d="M798.5 48h59.5"></path>
+<rect x="719" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCase"><text x="758.75" y="52">SQLCase</text>
+</a>
+</g>
+<path d="M858 48h20"></path>
+<path d="M699 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M719 78h0"></path>
+<path d="M858 78h0"></path>
+<rect x="719" y="67" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="788.5" y="82">SQLAggregation</text>
+</a>
+</g>
+<path d="M858 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M699 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M719 108h0"></path>
+<path d="M832.5 108h25.5"></path>
+<rect x="719" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="775.75" y="112">SQLFunction</text>
+</a>
+</g>
+<path d="M858 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M699 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M719 138h0"></path>
+<path d="M815.5 138h42.5"></path>
+<rect x="719" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="767.25" y="142">SQLSource</text>
+</a>
+</g>
+<path d="M858 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M878 48h0"></path>
+<path d="M1433 48h0"></path>
+<path d="M878 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M898 20h515"></path>
+</g>
+<path d="M1413 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M878 48h20"></path>
+<g>
+<path d="M898 48h0"></path>
+<path d="M1413 48h0"></path>
+<path d="M898 48h10"></path>
+<g>
+<path d="M908 48h0"></path>
+<path d="M1403 48h0"></path>
+<g>
+<path d="M908 48h0"></path>
+<path d="M1002 48h0"></path>
+<path d="M908 48h20"></path>
+<g class="terminal">
+<path d="M928 48h0"></path>
+<path d="M973.5 48h8.5"></path>
+<rect x="928" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="950.75" y="52">"+"</text>
+</g>
+<path d="M982 48h20"></path>
+<path d="M908 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M928 78h0"></path>
+<path d="M973.5 78h8.5"></path>
+<rect x="928" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="950.75" y="82">"-"</text>
+</g>
+<path d="M982 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M908 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M928 108h0"></path>
+<path d="M973.5 108h8.5"></path>
+<rect x="928" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="950.75" y="112">"&#42;"</text>
+</g>
+<path d="M982 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M908 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M928 138h0"></path>
+<path d="M973.5 138h8.5"></path>
+<rect x="928" y="127" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="950.75" y="142">"/"</text>
+</g>
+<path d="M982 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M908 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M928 168h0"></path>
+<path d="M982 168h0"></path>
+<rect x="928" y="157" width="54" height="22" rx="10" ry="10"></rect>
+<text x="955" y="172">"&#38;&#38;"</text>
+</g>
+<path d="M982 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1002 48h0"></path>
+<path d="M1113 48h0"></path>
+<path d="M1002 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1022 28h71"></path>
+</g>
+<path d="M1093 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1002 48h20"></path>
+<g class="terminal">
+<path d="M1022 48h0"></path>
+<path d="M1093 48h0"></path>
+<rect x="1022" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1057.5" y="52">!" ( "</text>
+</g>
+<path d="M1093 48h20"></path>
+</g>
+<g>
+<path d="M1113 48h0"></path>
+<path d="M1292 48h0"></path>
+<path d="M1113 48h20"></path>
+<g class="non-terminal">
+<path d="M1133 48h0"></path>
+<path d="M1272 48h0"></path>
+<rect x="1133" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="1202.5" y="52">SQLAggregation</text>
+</a>
+</g>
+<path d="M1272 48h20"></path>
+<path d="M1113 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1133 78h0"></path>
+<path d="M1212.5 78h59.5"></path>
+<rect x="1133" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCase"><text x="1172.75" y="82">SQLCase</text>
+</a>
+</g>
+<path d="M1272 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1113 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1133 108h0"></path>
+<path d="M1246.5 108h25.5"></path>
+<rect x="1133" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="1189.75" y="112">SQLFunction</text>
+</a>
+</g>
+<path d="M1272 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1113 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1133 138h0"></path>
+<path d="M1212.5 138h59.5"></path>
+<rect x="1133" y="127" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLPath"><text x="1172.75" y="142">SQLPath</text>
+</a>
+</g>
+<path d="M1272 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1113 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1133 168h0"></path>
+<path d="M1255 168h17"></path>
+<rect x="1133" y="157" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="1194" y="172">SQLFieldName</text>
+</a>
+</g>
+<path d="M1272 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1113 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1133 198h0"></path>
+<path d="M1221 198h51"></path>
+<rect x="1133" y="187" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1177" y="202">Constant</text>
+</a>
+</g>
+<path d="M1272 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1292 48h0"></path>
+<path d="M1403 48h0"></path>
+<path d="M1292 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1312 28h71"></path>
+</g>
+<path d="M1383 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1292 48h20"></path>
+<g class="terminal">
+<path d="M1312 48h0"></path>
+<path d="M1383 48h0"></path>
+<rect x="1312" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1347.5" y="52">!" ) "</text>
+</g>
+<path d="M1383 48h20"></path>
+</g>
+</g>
+<path d="M1403 48h10"></path>
+<path d="M908 48a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M908 217h495"></path>
+</g>
+<path d="M1403 217a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1413 48h20"></path>
+</g>
+</g>
+<path d="M1433 48h10"></path>
+<path d="M399 48a10 10 0 0 0 -10 10v157a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M399 225h1034"></path>
+</g>
+<path d="M1433 225a10 10 0 0 0 10 -10v-157a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1443 48h10"></path>
+<g>
+<path d="M1453 48h0"></path>
+<path d="M1753 48h0"></path>
+<path d="M1453 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1473 28h260"></path>
+</g>
+<path d="M1733 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1453 48h20"></path>
+<g>
+<path d="M1473 48h0"></path>
+<path d="M1733 48h0"></path>
+<g class="terminal">
+<path d="M1473 48h0"></path>
+<path d="M1544 48h0"></path>
+<rect x="1473" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1508.5" y="52">"ELSE"</text>
+</g>
+<path d="M1544 48h10"></path>
+<g>
+<path d="M1554 48h0"></path>
+<path d="M1733 48h0"></path>
+<path d="M1554 48h20"></path>
+<g class="non-terminal">
+<path d="M1574 48h0"></path>
+<path d="M1653.5 48h59.5"></path>
+<rect x="1574" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCase"><text x="1613.75" y="52">SQLCase</text>
+</a>
+</g>
+<path d="M1713 48h20"></path>
+<path d="M1554 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1574 78h0"></path>
+<path d="M1713 78h0"></path>
+<rect x="1574" y="67" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="1643.5" y="82">SQLAggregation</text>
+</a>
+</g>
+<path d="M1713 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1554 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1574 108h0"></path>
+<path d="M1687.5 108h25.5"></path>
+<rect x="1574" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="1630.75" y="112">SQLFunction</text>
+</a>
+</g>
+<path d="M1713 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1554 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1574 138h0"></path>
+<path d="M1670.5 138h42.5"></path>
+<rect x="1574" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="1622.25" y="142">SQLSource</text>
+</a>
+</g>
+<path d="M1713 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1733 48h20"></path>
+</g>
+<path d="M1753 48h10"></path>
+<g class="terminal">
+<path d="M1763 48h0"></path>
+<path d="M1825.5 48h0"></path>
+<rect x="1763" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1794.25" y="52">"END"</text>
+</g>
+</g>
+</g>
+<path d="M1825.5 48h10"></path>
+<path d="M 1835.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLClient.svg b/abap/expression_SQLClient.svg
new file mode 100644
index 00000000..0ceb8267
--- /dev/null
+++ b/abap/expression_SQLClient.svg
@@ -0,0 +1,183 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="627" height="182" viewBox="0 0 627 182">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M587 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M326 31h241"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M133 31h0"></path>
+<text x="96.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M133 31h10"></path>
+<path d="M143 31h10"></path>
+<g class="terminal">
+<path d="M153 31h0"></path>
+<path d="M326 31h0"></path>
+<rect x="153" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="239.5" y="35">"CLIENT SPECIFIED"</text>
+</g>
+</g>
+<path d="M567 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M567 61h0"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M139.5 61h0"></path>
+<rect x="60" y="50" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="65">"USING"</text>
+</g>
+<path d="M139.5 61h10"></path>
+<g>
+<path d="M149.5 61h0"></path>
+<path d="M567 61h0"></path>
+<path d="M149.5 61h20"></path>
+<g>
+<path d="M169.5 61h0"></path>
+<path d="M511 61h36"></path>
+<g>
+<path d="M169.5 61h0"></path>
+<path d="M235.5 61h0"></path>
+<text x="202.5" y="66" class="comment">v740sp05</text>
+</g>
+<path d="M235.5 61h10"></path>
+<path d="M245.5 61h10"></path>
+<g>
+<path d="M255.5 61h0"></path>
+<path d="M511 61h0"></path>
+<g class="terminal">
+<path d="M255.5 61h0"></path>
+<path d="M343.5 61h0"></path>
+<rect x="255.5" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="299.5" y="65">"CLIENT"</text>
+</g>
+<path d="M343.5 61h10"></path>
+<path d="M353.5 61h10"></path>
+<g class="non-terminal">
+<path d="M363.5 61h0"></path>
+<path d="M511 61h0"></path>
+<rect x="363.5" y="50" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="437.25" y="65">SQLSourceSimple</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M547 61h20"></path>
+<path d="M149.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M169.5 91h0"></path>
+<path d="M547 91h0"></path>
+<g>
+<path d="M169.5 91h0"></path>
+<path d="M207.5 91h0"></path>
+<text x="188.5" y="96" class="comment">v754</text>
+</g>
+<path d="M207.5 91h10"></path>
+<path d="M217.5 91h10"></path>
+<g>
+<path d="M227.5 91h0"></path>
+<path d="M547 91h0"></path>
+<g class="terminal">
+<path d="M227.5 91h0"></path>
+<path d="M349.5 91h0"></path>
+<rect x="227.5" y="80" width="122" height="22" rx="10" ry="10"></rect>
+<text x="288.5" y="95">"CLIENTS IN"</text>
+</g>
+<path d="M349.5 91h10"></path>
+<g>
+<path d="M359.5 91h0"></path>
+<path d="M547 91h0"></path>
+<path d="M359.5 91h20"></path>
+<g class="non-terminal">
+<path d="M379.5 91h0"></path>
+<path d="M527 91h0"></path>
+<rect x="379.5" y="80" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="453.25" y="95">SQLSourceSimple</text>
+</a>
+</g>
+<path d="M527 91h20"></path>
+<path d="M359.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M379.5 121h0"></path>
+<path d="M450.5 121h76.5"></path>
+<rect x="379.5" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="415" y="125">"T000"</text>
+</g>
+<path d="M527 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M547 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M149.5 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M169.5 151h0"></path>
+<path d="M358 151h189"></path>
+<g>
+<path d="M169.5 151h0"></path>
+<path d="M207.5 151h0"></path>
+<text x="188.5" y="156" class="comment">v754</text>
+</g>
+<path d="M207.5 151h10"></path>
+<path d="M217.5 151h10"></path>
+<g class="terminal">
+<path d="M227.5 151h0"></path>
+<path d="M358 151h0"></path>
+<rect x="227.5" y="140" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="292.75" y="155">"ALL CLIENTS"</text>
+</g>
+</g>
+<path d="M547 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M567 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 587 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLCompare.svg b/abap/expression_SQLCompare.svg
new file mode 100644
index 00000000..ecde9ff1
--- /dev/null
+++ b/abap/expression_SQLCompare.svg
@@ -0,0 +1,645 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1444.5" height="398" viewBox="0 0 1444.5 398">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M1404.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M370 31h1014.5"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h0"></path>
+<rect x="60" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="35">"EXISTS"</text>
+</g>
+<path d="M148 31h10"></path>
+<path d="M158 31h10"></path>
+<g>
+<path d="M168 31h0"></path>
+<path d="M370 31h0"></path>
+<g class="terminal">
+<path d="M168 31h0"></path>
+<path d="M213.5 31h0"></path>
+<rect x="168" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="190.75" y="35">"("</text>
+</g>
+<path d="M213.5 31h10"></path>
+<path d="M223.5 31h10"></path>
+<g class="non-terminal">
+<path d="M233.5 31h0"></path>
+<path d="M304.5 31h0"></path>
+<rect x="233.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="269" y="35">Select</text>
+</a>
+</g>
+<path d="M304.5 31h10"></path>
+<path d="M314.5 31h10"></path>
+<g class="terminal">
+<path d="M324.5 31h0"></path>
+<path d="M370 31h0"></path>
+<rect x="324.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="347.25" y="35">")"</text>
+</g>
+</g>
+</g>
+<path d="M1384.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M139.5 61h1245"></path>
+<rect x="60" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M1384.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M1384.5 100h0"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M597.5 100h0"></path>
+<path d="M60 100h20"></path>
+<g class="non-terminal">
+<path d="M80 100h0"></path>
+<path d="M193.5 100h384"></path>
+<rect x="80" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="136.75" y="104">SQLFunction</text>
+</a>
+</g>
+<path d="M577.5 100h20"></path>
+<path d="M60 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 130h0"></path>
+<path d="M219 130h358.5"></path>
+<rect x="80" y="119" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantString"><text x="149.5" y="134">ConstantString</text>
+</a>
+</g>
+<path d="M577.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M60 100a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 169h0"></path>
+<path d="M577.5 169h0"></path>
+<g>
+<path d="M80 169h0"></path>
+<path d="M242 169h0"></path>
+<path d="M80 169h20"></path>
+<g class="non-terminal">
+<path d="M100 169h0"></path>
+<path d="M179.5 169h42.5"></path>
+<rect x="100" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLPath"><text x="139.75" y="173">SQLPath</text>
+</a>
+</g>
+<path d="M222 169h20"></path>
+<path d="M80 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M100 199h0"></path>
+<path d="M222 199h0"></path>
+<rect x="100" y="188" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="161" y="203">SQLFieldName</text>
+</a>
+</g>
+<path d="M222 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M242 169h0"></path>
+<path d="M577.5 169h0"></path>
+<path d="M242 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M262 149h295.5"></path>
+</g>
+<path d="M557.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M242 169h20"></path>
+<g>
+<path d="M262 169h0"></path>
+<path d="M557.5 169h0"></path>
+<g>
+<path d="M262 169h0"></path>
+<path d="M300 169h0"></path>
+<text x="281" y="174" class="comment">v750</text>
+</g>
+<path d="M300 169h10"></path>
+<path d="M310 169h10"></path>
+<g>
+<path d="M320 169h0"></path>
+<path d="M557.5 169h0"></path>
+<path d="M320 169h10"></path>
+<g>
+<path d="M330 169h0"></path>
+<path d="M547.5 169h0"></path>
+<g>
+<path d="M330 169h0"></path>
+<path d="M415.5 169h0"></path>
+<path d="M330 169h20"></path>
+<g class="terminal">
+<path d="M350 169h0"></path>
+<path d="M395.5 169h0"></path>
+<rect x="350" y="158" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="372.75" y="173">"+"</text>
+</g>
+<path d="M395.5 169h20"></path>
+<path d="M330 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M350 199h0"></path>
+<path d="M395.5 199h0"></path>
+<rect x="350" y="188" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="372.75" y="203">"-"</text>
+</g>
+<path d="M395.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M330 169a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M350 229h0"></path>
+<path d="M395.5 229h0"></path>
+<rect x="350" y="218" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="372.75" y="233">"&#42;"</text>
+</g>
+<path d="M395.5 229a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M330 169a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M350 259h0"></path>
+<path d="M395.5 259h0"></path>
+<rect x="350" y="248" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="372.75" y="263">"/"</text>
+</g>
+<path d="M395.5 259a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M415.5 169h10"></path>
+<g class="non-terminal">
+<path d="M425.5 169h0"></path>
+<path d="M547.5 169h0"></path>
+<rect x="425.5" y="158" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="486.5" y="173">SQLFieldName</text>
+</a>
+</g>
+</g>
+<path d="M547.5 169h10"></path>
+<path d="M330 169a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M330 278h217.5"></path>
+</g>
+<path d="M547.5 278a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M557.5 169h20"></path>
+</g>
+</g>
+<path d="M577.5 169a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M60 100a10 10 0 0 1 10 10v177a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 297h0"></path>
+<path d="M523 297h54.5"></path>
+<g>
+<path d="M80 297h0"></path>
+<path d="M146 297h0"></path>
+<text x="113" y="302" class="comment">v740sp05</text>
+</g>
+<path d="M146 297h10"></path>
+<path d="M156 297h10"></path>
+<g>
+<path d="M166 297h0"></path>
+<path d="M523 297h0"></path>
+<g class="terminal">
+<path d="M166 297h0"></path>
+<path d="M228.5 297h0"></path>
+<rect x="166" y="286" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="197.25" y="301">!" @"</text>
+</g>
+<path d="M228.5 297h10"></path>
+<g>
+<path d="M238.5 297h0"></path>
+<path d="M523 297h0"></path>
+<path d="M238.5 297h20"></path>
+<g class="non-terminal">
+<path d="M258.5 297h0"></path>
+<path d="M389 297h114"></path>
+<rect x="258.5" y="286" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="323.75" y="301">SimpleSource3</text>
+</a>
+</g>
+<path d="M503 297h20"></path>
+<path d="M238.5 297a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M258.5 327h0"></path>
+<path d="M503 327h0"></path>
+<g class="terminal">
+<path d="M258.5 327h0"></path>
+<path d="M321 327h0"></path>
+<rect x="258.5" y="316" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="289.75" y="331">!"( "</text>
+</g>
+<path d="M321 327h10"></path>
+<path d="M331 327h10"></path>
+<g class="non-terminal">
+<path d="M341 327h0"></path>
+<path d="M412 327h0"></path>
+<rect x="341" y="316" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="376.5" y="331">Source</text>
+</a>
+</g>
+<path d="M412 327h10"></path>
+<path d="M422 327h10"></path>
+<g class="terminal">
+<path d="M432 327h0"></path>
+<path d="M503 327h0"></path>
+<rect x="432" y="316" width="71" height="22" rx="10" ry="10"></rect>
+<text x="467.5" y="331">!" ) "</text>
+</g>
+</g>
+<path d="M503 327a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M577.5 297a10 10 0 0 0 10 -10v-177a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M597.5 100h0"></path>
+<path d="M1384.5 100h0"></path>
+<path d="M597.5 100h20"></path>
+<g>
+<path d="M617.5 100h0"></path>
+<path d="M1364.5 100h0"></path>
+<g class="non-terminal">
+<path d="M617.5 100h0"></path>
+<path d="M790.5 100h0"></path>
+<rect x="617.5" y="89" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCompareOperator"><text x="704" y="104">SQLCompareOperator</text>
+</a>
+</g>
+<path d="M790.5 100h10"></path>
+<g>
+<path d="M800.5 100h0"></path>
+<path d="M1364.5 100h0"></path>
+<path d="M800.5 100h20"></path>
+<g>
+<path d="M820.5 100h0"></path>
+<path d="M1344.5 100h0"></path>
+<g>
+<path d="M820.5 100h0"></path>
+<path d="M971.5 100h0"></path>
+<path d="M820.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M840.5 80h111"></path>
+</g>
+<path d="M951.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M820.5 100h20"></path>
+<g>
+<path d="M840.5 100h0"></path>
+<path d="M951.5 100h0"></path>
+<path d="M840.5 100h20"></path>
+<g class="terminal">
+<path d="M860.5 100h0"></path>
+<path d="M923 100h8.5"></path>
+<rect x="860.5" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="891.75" y="104">"ALL"</text>
+</g>
+<path d="M931.5 100h20"></path>
+<path d="M840.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M860.5 130h0"></path>
+<path d="M923 130h8.5"></path>
+<rect x="860.5" y="119" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="891.75" y="134">"ANY"</text>
+</g>
+<path d="M931.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M840.5 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M860.5 160h0"></path>
+<path d="M931.5 160h0"></path>
+<rect x="860.5" y="149" width="71" height="22" rx="10" ry="10"></rect>
+<text x="896" y="164">"SOME"</text>
+</g>
+<path d="M931.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M951.5 100h20"></path>
+</g>
+<g>
+<path d="M971.5 100h0"></path>
+<path d="M1344.5 100h0"></path>
+<path d="M971.5 100h20"></path>
+<g>
+<path d="M991.5 100h0"></path>
+<path d="M1193.5 100h131"></path>
+<g class="terminal">
+<path d="M991.5 100h0"></path>
+<path d="M1037 100h0"></path>
+<rect x="991.5" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1014.25" y="104">"("</text>
+</g>
+<path d="M1037 100h10"></path>
+<path d="M1047 100h10"></path>
+<g class="non-terminal">
+<path d="M1057 100h0"></path>
+<path d="M1128 100h0"></path>
+<rect x="1057" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="1092.5" y="104">Select</text>
+</a>
+</g>
+<path d="M1128 100h10"></path>
+<path d="M1138 100h10"></path>
+<g class="terminal">
+<path d="M1148 100h0"></path>
+<path d="M1193.5 100h0"></path>
+<rect x="1148" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1170.75" y="104">")"</text>
+</g>
+</g>
+<path d="M1324.5 100h20"></path>
+<path d="M971.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M991.5 130h0"></path>
+<path d="M1324.5 130h0"></path>
+<g class="terminal">
+<path d="M991.5 130h0"></path>
+<path d="M1037 130h0"></path>
+<rect x="991.5" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1014.25" y="134">"("</text>
+</g>
+<path d="M1037 130h10"></path>
+<path d="M1047 130h10"></path>
+<g class="terminal">
+<path d="M1057 130h0"></path>
+<path d="M1102.5 130h0"></path>
+<rect x="1057" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1079.75" y="134">"("</text>
+</g>
+<path d="M1102.5 130h10"></path>
+<path d="M1112.5 130h10"></path>
+<g class="non-terminal">
+<path d="M1122.5 130h0"></path>
+<path d="M1193.5 130h0"></path>
+<rect x="1122.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="1158" y="134">Select</text>
+</a>
+</g>
+<path d="M1193.5 130h10"></path>
+<path d="M1203.5 130h10"></path>
+<g class="terminal">
+<path d="M1213.5 130h0"></path>
+<path d="M1259 130h0"></path>
+<rect x="1213.5" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1236.25" y="134">")"</text>
+</g>
+<path d="M1259 130h10"></path>
+<path d="M1269 130h10"></path>
+<g class="terminal">
+<path d="M1279 130h0"></path>
+<path d="M1324.5 130h0"></path>
+<rect x="1279" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1301.75" y="134">")"</text>
+</g>
+</g>
+<path d="M1324.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1344.5 100h20"></path>
+<path d="M800.5 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M820.5 190h0"></path>
+<path d="M917 190h427.5"></path>
+<rect x="820.5" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="868.75" y="194">SQLSource</text>
+</a>
+</g>
+<path d="M1344.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1364.5 100h20"></path>
+<path d="M597.5 100a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M617.5 229h0"></path>
+<path d="M1202 229h162.5"></path>
+<g>
+<path d="M617.5 229h0"></path>
+<path d="M720 229h0"></path>
+<path d="M617.5 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M637.5 209h62.5"></path>
+</g>
+<path d="M700 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M617.5 229h20"></path>
+<g class="terminal">
+<path d="M637.5 229h0"></path>
+<path d="M700 229h0"></path>
+<rect x="637.5" y="218" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="668.75" y="233">"NOT"</text>
+</g>
+<path d="M700 229h20"></path>
+</g>
+<g>
+<path d="M720 229h0"></path>
+<path d="M1202 229h0"></path>
+<path d="M720 229h20"></path>
+<g class="non-terminal">
+<path d="M740 229h0"></path>
+<path d="M802.5 229h379.5"></path>
+<rect x="740" y="218" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIn"><text x="771.25" y="233">SQLIn</text>
+</a>
+</g>
+<path d="M1182 229h20"></path>
+<path d="M720 229a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M740 268h0"></path>
+<path d="M1182 268h0"></path>
+<g class="terminal">
+<path d="M740 268h0"></path>
+<path d="M811 268h0"></path>
+<rect x="740" y="257" width="71" height="22" rx="10" ry="10"></rect>
+<text x="775.5" y="272">"LIKE"</text>
+</g>
+<path d="M811 268h10"></path>
+<path d="M821 268h10"></path>
+<g class="non-terminal">
+<path d="M831 268h0"></path>
+<path d="M927.5 268h0"></path>
+<rect x="831" y="257" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="879.25" y="272">SQLSource</text>
+</a>
+</g>
+<path d="M927.5 268h10"></path>
+<g>
+<path d="M937.5 268h0"></path>
+<path d="M1182 268h0"></path>
+<path d="M937.5 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M957.5 248h204.5"></path>
+</g>
+<path d="M1162 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M937.5 268h20"></path>
+<g>
+<path d="M957.5 268h0"></path>
+<path d="M1162 268h0"></path>
+<g class="terminal">
+<path d="M957.5 268h0"></path>
+<path d="M1045.5 268h0"></path>
+<rect x="957.5" y="257" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1001.5" y="272">"ESCAPE"</text>
+</g>
+<path d="M1045.5 268h10"></path>
+<path d="M1055.5 268h10"></path>
+<g class="non-terminal">
+<path d="M1065.5 268h0"></path>
+<path d="M1162 268h0"></path>
+<rect x="1065.5" y="257" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="1113.75" y="272">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M1162 268h20"></path>
+</g>
+</g>
+<path d="M1182 268a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M720 229a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M740 298h0"></path>
+<path d="M1152 298h30"></path>
+<g class="terminal">
+<path d="M740 298h0"></path>
+<path d="M836.5 298h0"></path>
+<rect x="740" y="287" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="788.25" y="302">"BETWEEN"</text>
+</g>
+<path d="M836.5 298h10"></path>
+<path d="M846.5 298h10"></path>
+<g class="non-terminal">
+<path d="M856.5 298h0"></path>
+<path d="M953 298h0"></path>
+<rect x="856.5" y="287" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="904.75" y="302">SQLSource</text>
+</a>
+</g>
+<path d="M953 298h10"></path>
+<path d="M963 298h10"></path>
+<g class="terminal">
+<path d="M973 298h0"></path>
+<path d="M1035.5 298h0"></path>
+<rect x="973" y="287" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1004.25" y="302">"AND"</text>
+</g>
+<path d="M1035.5 298h10"></path>
+<path d="M1045.5 298h10"></path>
+<g class="non-terminal">
+<path d="M1055.5 298h0"></path>
+<path d="M1152 298h0"></path>
+<rect x="1055.5" y="287" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="1103.75" y="302">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M1182 298a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1364.5 229a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M597.5 100a10 10 0 0 1 10 10v217a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M617.5 337h0"></path>
+<path d="M978.5 337h386"></path>
+<g class="terminal">
+<path d="M617.5 337h0"></path>
+<path d="M671.5 337h0"></path>
+<rect x="617.5" y="326" width="54" height="22" rx="10" ry="10"></rect>
+<text x="644.5" y="341">"IS"</text>
+</g>
+<path d="M671.5 337h10"></path>
+<g>
+<path d="M681.5 337h0"></path>
+<path d="M784 337h0"></path>
+<path d="M681.5 337a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M701.5 317h62.5"></path>
+</g>
+<path d="M764 317a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M681.5 337h20"></path>
+<g class="terminal">
+<path d="M701.5 337h0"></path>
+<path d="M764 337h0"></path>
+<rect x="701.5" y="326" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="732.75" y="341">"NOT"</text>
+</g>
+<path d="M764 337h20"></path>
+</g>
+<g>
+<path d="M784 337h0"></path>
+<path d="M978.5 337h0"></path>
+<path d="M784 337h20"></path>
+<g class="terminal">
+<path d="M804 337h0"></path>
+<path d="M875 337h83.5"></path>
+<rect x="804" y="326" width="71" height="22" rx="10" ry="10"></rect>
+<text x="839.5" y="341">"NULL"</text>
+</g>
+<path d="M958.5 337h20"></path>
+<path d="M784 337a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M804 367h0"></path>
+<path d="M958.5 367h0"></path>
+<g>
+<path d="M804 367h0"></path>
+<path d="M842 367h0"></path>
+<text x="823" y="372" class="comment">v753</text>
+</g>
+<path d="M842 367h10"></path>
+<path d="M852 367h10"></path>
+<g class="terminal">
+<path d="M862 367h0"></path>
+<path d="M958.5 367h0"></path>
+<rect x="862" y="356" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="910.25" y="371">"INITIAL"</text>
+</g>
+</g>
+<path d="M958.5 367a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1364.5 337a10 10 0 0 0 10 -10v-217a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1384.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1404.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLCompareOperator.svg b/abap/expression_SQLCompareOperator.svg
new file mode 100644
index 00000000..bbefc256
--- /dev/null
+++ b/abap/expression_SQLCompareOperator.svg
@@ -0,0 +1,171 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="174" height="482" viewBox="0 0 174 482">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M134 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M105.5 31h8.5"></path>
+<rect x="60" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="35">"="</text>
+</g>
+<path d="M114 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M114 61h0"></path>
+<rect x="60" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="65">"&#60;>"</text>
+</g>
+<path d="M114 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M105.5 91h8.5"></path>
+<rect x="60" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="95">"&#60;"</text>
+</g>
+<path d="M114 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 121h0"></path>
+<path d="M105.5 121h8.5"></path>
+<rect x="60" y="110" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="125">">"</text>
+</g>
+<path d="M114 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M114 151h0"></path>
+<rect x="60" y="140" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="155">"&#60;="</text>
+</g>
+<path d="M114 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 181h0"></path>
+<path d="M114 181h0"></path>
+<rect x="60" y="170" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="185">">="</text>
+</g>
+<path d="M114 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 211h0"></path>
+<path d="M114 211h0"></path>
+<rect x="60" y="200" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="215">"EQ"</text>
+</g>
+<path d="M114 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 241h0"></path>
+<path d="M114 241h0"></path>
+<rect x="60" y="230" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="245">"NE"</text>
+</g>
+<path d="M114 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 271h0"></path>
+<path d="M114 271h0"></path>
+<rect x="60" y="260" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="275">"GE"</text>
+</g>
+<path d="M114 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 301h0"></path>
+<path d="M114 301h0"></path>
+<rect x="60" y="290" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="305">"GT"</text>
+</g>
+<path d="M114 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 331h0"></path>
+<path d="M114 331h0"></path>
+<rect x="60" y="320" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="335">"LT"</text>
+</g>
+<path d="M114 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 361h0"></path>
+<path d="M114 361h0"></path>
+<rect x="60" y="350" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="365">"LE"</text>
+</g>
+<path d="M114 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 391h0"></path>
+<path d="M114 391h0"></path>
+<rect x="60" y="380" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="395">">&#60;"</text>
+</g>
+<path d="M114 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 421h0"></path>
+<path d="M114 421h0"></path>
+<rect x="60" y="410" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="425">"=>"</text>
+</g>
+<path d="M114 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 451h0"></path>
+<path d="M114 451h0"></path>
+<rect x="60" y="440" width="54" height="22" rx="10" ry="10"></rect>
+<text x="87" y="455">"=&#60;"</text>
+</g>
+<path d="M114 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 134 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLCond.svg b/abap/expression_SQLCond.svg
new file mode 100644
index 00000000..0c0ea8f7
--- /dev/null
+++ b/abap/expression_SQLCond.svg
@@ -0,0 +1,253 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1150.5" height="147" viewBox="0 0 1150.5 147">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1100.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M484 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M152.5 48h0"></path>
+<path d="M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 28h62.5"></path>
+</g>
+<path d="M132.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 48h20"></path>
+<g class="terminal">
+<path d="M70 48h0"></path>
+<path d="M132.5 48h0"></path>
+<rect x="70" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="52">"NOT"</text>
+</g>
+<path d="M132.5 48h20"></path>
+</g>
+<g>
+<path d="M152.5 48h0"></path>
+<path d="M484 48h0"></path>
+<path d="M152.5 48h20"></path>
+<g class="non-terminal">
+<path d="M172.5 48h0"></path>
+<path d="M277.5 48h186.5"></path>
+<rect x="172.5" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCompare"><text x="225" y="52">SQLCompare</text>
+</a>
+</g>
+<path d="M464 48h20"></path>
+<path d="M152.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M172.5 78h0"></path>
+<path d="M464 78h0"></path>
+<g class="terminal">
+<path d="M172.5 78h0"></path>
+<path d="M243.5 78h0"></path>
+<rect x="172.5" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="208" y="82">!" ( "</text>
+</g>
+<path d="M243.5 78h10"></path>
+<path d="M253.5 78h10"></path>
+<g class="non-terminal">
+<path d="M263.5 78h0"></path>
+<path d="M343 78h0"></path>
+<rect x="263.5" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="303.25" y="82">SQLCond</text>
+</a>
+</g>
+<path d="M343 78h10"></path>
+<g>
+<path d="M353 78h0"></path>
+<path d="M464 78h0"></path>
+<path d="M353 78h20"></path>
+<g class="terminal">
+<path d="M373 78h0"></path>
+<path d="M444 78h0"></path>
+<rect x="373" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="408.5" y="82">!" ) "</text>
+</g>
+<path d="M444 78h20"></path>
+<path d="M353 78a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M373 108h0"></path>
+<path d="M435.5 108h8.5"></path>
+<rect x="373" y="97" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="404.25" y="112">!") "</text>
+</g>
+<path d="M444 108a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M464 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M484 48h10"></path>
+<g>
+<path d="M494 48h0"></path>
+<path d="M1100.5 48h0"></path>
+<path d="M494 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M514 20h566.5"></path>
+</g>
+<path d="M1080.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M494 48h20"></path>
+<g>
+<path d="M514 48h0"></path>
+<path d="M1080.5 48h0"></path>
+<path d="M514 48h10"></path>
+<g>
+<path d="M524 48h0"></path>
+<path d="M1070.5 48h0"></path>
+<g>
+<path d="M524 48h0"></path>
+<path d="M626.5 48h0"></path>
+<path d="M524 48h20"></path>
+<g class="terminal">
+<path d="M544 48h0"></path>
+<path d="M606.5 48h0"></path>
+<rect x="544" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="575.25" y="52">"AND"</text>
+</g>
+<path d="M606.5 48h20"></path>
+<path d="M524 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M544 78h0"></path>
+<path d="M598 78h8.5"></path>
+<rect x="544" y="67" width="54" height="22" rx="10" ry="10"></rect>
+<text x="571" y="82">"OR"</text>
+</g>
+<path d="M606.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M626.5 48h10"></path>
+<g>
+<path d="M636.5 48h0"></path>
+<path d="M1070.5 48h0"></path>
+<g>
+<path d="M636.5 48h0"></path>
+<path d="M739 48h0"></path>
+<path d="M636.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M656.5 28h62.5"></path>
+</g>
+<path d="M719 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M636.5 48h20"></path>
+<g class="terminal">
+<path d="M656.5 48h0"></path>
+<path d="M719 48h0"></path>
+<rect x="656.5" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="687.75" y="52">"NOT"</text>
+</g>
+<path d="M719 48h20"></path>
+</g>
+<g>
+<path d="M739 48h0"></path>
+<path d="M1070.5 48h0"></path>
+<path d="M739 48h20"></path>
+<g class="non-terminal">
+<path d="M759 48h0"></path>
+<path d="M864 48h186.5"></path>
+<rect x="759" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCompare"><text x="811.5" y="52">SQLCompare</text>
+</a>
+</g>
+<path d="M1050.5 48h20"></path>
+<path d="M739 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M759 78h0"></path>
+<path d="M1050.5 78h0"></path>
+<g class="terminal">
+<path d="M759 78h0"></path>
+<path d="M830 78h0"></path>
+<rect x="759" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="794.5" y="82">!" ( "</text>
+</g>
+<path d="M830 78h10"></path>
+<path d="M840 78h10"></path>
+<g class="non-terminal">
+<path d="M850 78h0"></path>
+<path d="M929.5 78h0"></path>
+<rect x="850" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="889.75" y="82">SQLCond</text>
+</a>
+</g>
+<path d="M929.5 78h10"></path>
+<g>
+<path d="M939.5 78h0"></path>
+<path d="M1050.5 78h0"></path>
+<path d="M939.5 78h20"></path>
+<g class="terminal">
+<path d="M959.5 78h0"></path>
+<path d="M1030.5 78h0"></path>
+<rect x="959.5" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="995" y="82">!" ) "</text>
+</g>
+<path d="M1030.5 78h20"></path>
+<path d="M939.5 78a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M959.5 108h0"></path>
+<path d="M1022 108h8.5"></path>
+<rect x="959.5" y="97" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="990.75" y="112">!") "</text>
+</g>
+<path d="M1030.5 108a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1050.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1070.5 48h10"></path>
+<path d="M524 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M524 127h546.5"></path>
+</g>
+<path d="M1070.5 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1080.5 48h20"></path>
+</g>
+</g>
+<path d="M1100.5 48h10"></path>
+<path d="M 1110.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLField.svg b/abap/expression_SQLField.svg
new file mode 100644
index 00000000..bccd44ac
--- /dev/null
+++ b/abap/expression_SQLField.svg
@@ -0,0 +1,378 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1501.5" height="267" viewBox="0 0 1501.5 267">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1451.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M414.5 48h0"></path>
+<path d="M50 48h20"></path>
+<g class="non-terminal">
+<path d="M70 48h0"></path>
+<path d="M209 48h185.5"></path>
+<rect x="70" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="139.5" y="52">SQLAggregation</text>
+</a>
+</g>
+<path d="M394.5 48h20"></path>
+<path d="M50 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 78h0"></path>
+<path d="M149.5 78h245"></path>
+<rect x="70" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCase"><text x="109.75" y="82">SQLCase</text>
+</a>
+</g>
+<path d="M394.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 108h0"></path>
+<path d="M183.5 108h211"></path>
+<rect x="70" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="126.75" y="112">SQLFunction</text>
+</a>
+</g>
+<path d="M394.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 138h0"></path>
+<path d="M149.5 138h245"></path>
+<rect x="70" y="127" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLPath"><text x="109.75" y="142">SQLPath</text>
+</a>
+</g>
+<path d="M394.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 168h0"></path>
+<path d="M192 168h202.5"></path>
+<rect x="70" y="157" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="131" y="172">SQLFieldName</text>
+</a>
+</g>
+<path d="M394.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 198h0"></path>
+<path d="M394.5 198h0"></path>
+<g>
+<path d="M70 198h0"></path>
+<path d="M136 198h0"></path>
+<text x="103" y="203" class="comment">v740sp05</text>
+</g>
+<path d="M136 198h10"></path>
+<path d="M146 198h10"></path>
+<g>
+<path d="M156 198h0"></path>
+<path d="M394.5 198h0"></path>
+<g class="terminal">
+<path d="M156 198h0"></path>
+<path d="M218.5 198h0"></path>
+<rect x="156" y="187" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="187.25" y="202">!" @"</text>
+</g>
+<path d="M218.5 198h10"></path>
+<path d="M228.5 198h10"></path>
+<g class="non-terminal">
+<path d="M238.5 198h0"></path>
+<path d="M394.5 198h0"></path>
+<rect x="238.5" y="187" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="316.5" y="202">SimpleFieldChain</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M394.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M50 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 228h0"></path>
+<path d="M158 228h236.5"></path>
+<rect x="70" y="217" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="114" y="232">Constant</text>
+</a>
+</g>
+<path d="M394.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M414.5 48h0"></path>
+<path d="M1241 48h0"></path>
+<path d="M414.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M434.5 20h786.5"></path>
+</g>
+<path d="M1221 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M414.5 48h20"></path>
+<g>
+<path d="M434.5 48h0"></path>
+<path d="M1221 48h0"></path>
+<g>
+<path d="M434.5 48h0"></path>
+<path d="M500.5 48h0"></path>
+<text x="467.5" y="53" class="comment">v740sp05</text>
+</g>
+<path d="M500.5 48h10"></path>
+<path d="M510.5 48h10"></path>
+<g>
+<path d="M520.5 48h0"></path>
+<path d="M1221 48h0"></path>
+<path d="M520.5 48h10"></path>
+<g>
+<path d="M530.5 48h0"></path>
+<path d="M1211 48h0"></path>
+<g>
+<path d="M530.5 48h0"></path>
+<path d="M624.5 48h0"></path>
+<path d="M530.5 48h20"></path>
+<g class="terminal">
+<path d="M550.5 48h0"></path>
+<path d="M596 48h8.5"></path>
+<rect x="550.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="52">"+"</text>
+</g>
+<path d="M604.5 48h20"></path>
+<path d="M530.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M550.5 78h0"></path>
+<path d="M596 78h8.5"></path>
+<rect x="550.5" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="82">"-"</text>
+</g>
+<path d="M604.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M530.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M550.5 108h0"></path>
+<path d="M596 108h8.5"></path>
+<rect x="550.5" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="112">"&#42;"</text>
+</g>
+<path d="M604.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M530.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M550.5 138h0"></path>
+<path d="M596 138h8.5"></path>
+<rect x="550.5" y="127" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="142">"/"</text>
+</g>
+<path d="M604.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M530.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M550.5 168h0"></path>
+<path d="M604.5 168h0"></path>
+<rect x="550.5" y="157" width="54" height="22" rx="10" ry="10"></rect>
+<text x="577.5" y="172">"&#38;&#38;"</text>
+</g>
+<path d="M604.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M624.5 48h0"></path>
+<path d="M735.5 48h0"></path>
+<path d="M624.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M644.5 28h71"></path>
+</g>
+<path d="M715.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M624.5 48h20"></path>
+<g class="terminal">
+<path d="M644.5 48h0"></path>
+<path d="M715.5 48h0"></path>
+<rect x="644.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="680" y="52">!" ( "</text>
+</g>
+<path d="M715.5 48h20"></path>
+</g>
+<g>
+<path d="M735.5 48h0"></path>
+<path d="M1100 48h0"></path>
+<path d="M735.5 48h20"></path>
+<g class="non-terminal">
+<path d="M755.5 48h0"></path>
+<path d="M894.5 48h185.5"></path>
+<rect x="755.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="825" y="52">SQLAggregation</text>
+</a>
+</g>
+<path d="M1080 48h20"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M755.5 78h0"></path>
+<path d="M835 78h245"></path>
+<rect x="755.5" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCase"><text x="795.25" y="82">SQLCase</text>
+</a>
+</g>
+<path d="M1080 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M755.5 108h0"></path>
+<path d="M869 108h211"></path>
+<rect x="755.5" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="812.25" y="112">SQLFunction</text>
+</a>
+</g>
+<path d="M1080 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M755.5 138h0"></path>
+<path d="M835 138h245"></path>
+<rect x="755.5" y="127" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLPath"><text x="795.25" y="142">SQLPath</text>
+</a>
+</g>
+<path d="M1080 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M755.5 168h0"></path>
+<path d="M877.5 168h202.5"></path>
+<rect x="755.5" y="157" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="816.5" y="172">SQLFieldName</text>
+</a>
+</g>
+<path d="M1080 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M755.5 198h0"></path>
+<path d="M1080 198h0"></path>
+<g>
+<path d="M755.5 198h0"></path>
+<path d="M821.5 198h0"></path>
+<text x="788.5" y="203" class="comment">v740sp05</text>
+</g>
+<path d="M821.5 198h10"></path>
+<path d="M831.5 198h10"></path>
+<g>
+<path d="M841.5 198h0"></path>
+<path d="M1080 198h0"></path>
+<g class="terminal">
+<path d="M841.5 198h0"></path>
+<path d="M904 198h0"></path>
+<rect x="841.5" y="187" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="872.75" y="202">!" @"</text>
+</g>
+<path d="M904 198h10"></path>
+<path d="M914 198h10"></path>
+<g class="non-terminal">
+<path d="M924 198h0"></path>
+<path d="M1080 198h0"></path>
+<rect x="924" y="187" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="1002" y="202">SimpleFieldChain</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1080 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M735.5 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M755.5 228h0"></path>
+<path d="M843.5 228h236.5"></path>
+<rect x="755.5" y="217" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="799.5" y="232">Constant</text>
+</a>
+</g>
+<path d="M1080 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1100 48h0"></path>
+<path d="M1211 48h0"></path>
+<path d="M1100 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1120 28h71"></path>
+</g>
+<path d="M1191 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1100 48h20"></path>
+<g class="terminal">
+<path d="M1120 48h0"></path>
+<path d="M1191 48h0"></path>
+<rect x="1120" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1155.5" y="52">!" ) "</text>
+</g>
+<path d="M1191 48h20"></path>
+</g>
+</g>
+<path d="M1211 48h10"></path>
+<path d="M530.5 48a10 10 0 0 0 -10 10v179a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M530.5 247h680.5"></path>
+</g>
+<path d="M1211 247a10 10 0 0 0 10 -10v-179a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1221 48h20"></path>
+</g>
+<g>
+<path d="M1241 48h0"></path>
+<path d="M1451.5 48h0"></path>
+<path d="M1241 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1261 28h170.5"></path>
+</g>
+<path d="M1431.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1241 48h20"></path>
+<g>
+<path d="M1261 48h0"></path>
+<path d="M1431.5 48h0"></path>
+<g class="terminal">
+<path d="M1261 48h0"></path>
+<path d="M1315 48h0"></path>
+<rect x="1261" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1288" y="52">"AS"</text>
+</g>
+<path d="M1315 48h10"></path>
+<path d="M1325 48h10"></path>
+<g class="non-terminal">
+<path d="M1335 48h0"></path>
+<path d="M1431.5 48h0"></path>
+<rect x="1335" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAsName"><text x="1383.25" y="52">SQLAsName</text>
+</a>
+</g>
+</g>
+<path d="M1431.5 48h20"></path>
+</g>
+</g>
+<path d="M1451.5 48h10"></path>
+<path d="M 1461.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFieldAndValue.svg b/abap/expression_SQLFieldAndValue.svg
new file mode 100644
index 00000000..7e9a21d4
--- /dev/null
+++ b/abap/expression_SQLFieldAndValue.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="824.5" height="122" viewBox="0 0 824.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M774.5 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M172 31h0"></path>
+<rect x="50" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="111" y="35">SQLFieldName</text>
+</a>
+</g>
+<path d="M172 31h10"></path>
+<path d="M182 31h10"></path>
+<g class="terminal">
+<path d="M192 31h0"></path>
+<path d="M237.5 31h0"></path>
+<rect x="192" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="214.75" y="35">"="</text>
+</g>
+<path d="M237.5 31h10"></path>
+<g>
+<path d="M247.5 31h0"></path>
+<path d="M774.5 31h0"></path>
+<path d="M247.5 31h20"></path>
+<g>
+<path d="M267.5 31h0"></path>
+<path d="M754.5 31h0"></path>
+<g>
+<path d="M267.5 31h0"></path>
+<path d="M429.5 31h0"></path>
+<path d="M267.5 31h20"></path>
+<g class="non-terminal">
+<path d="M287.5 31h0"></path>
+<path d="M367 31h42.5"></path>
+<rect x="287.5" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="327.25" y="35">Integer</text>
+</a>
+</g>
+<path d="M409.5 31h20"></path>
+<path d="M267.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M287.5 61h0"></path>
+<path d="M409.5 61h0"></path>
+<rect x="287.5" y="50" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="348.5" y="65">SQLFieldName</text>
+</a>
+</g>
+<path d="M409.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M429.5 31h10"></path>
+<g class="non-terminal">
+<path d="M439.5 31h0"></path>
+<path d="M638 31h0"></path>
+<rect x="439.5" y="20" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLArithmeticOperator"><text x="538.75" y="35">SQLArithmeticOperator</text>
+</a>
+</g>
+<path d="M638 31h10"></path>
+<path d="M648 31h10"></path>
+<g class="non-terminal">
+<path d="M658 31h0"></path>
+<path d="M754.5 31h0"></path>
+<rect x="658" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="706.25" y="35">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M754.5 31h20"></path>
+<path d="M247.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M267.5 91h0"></path>
+<path d="M364 91h390.5"></path>
+<rect x="267.5" y="80" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="315.75" y="95">SQLSource</text>
+</a>
+</g>
+<path d="M754.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M774.5 31h10"></path>
+<path d="M 784.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFieldList.svg b/abap/expression_SQLFieldList.svg
new file mode 100644
index 00000000..a468ace5
--- /dev/null
+++ b/abap/expression_SQLFieldList.svg
@@ -0,0 +1,170 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="547.5" height="188" viewBox="0 0 547.5 188">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M507.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M105.5 31h382"></path>
+<rect x="60" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="35">"&#42;"</text>
+</g>
+<path d="M487.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M139.5 61h348"></path>
+<rect x="60" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M487.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M487.5 100h0"></path>
+<g class="non-terminal">
+<path d="M60 100h0"></path>
+<path d="M148 100h0"></path>
+<rect x="60" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLField"><text x="104" y="104">SQLField</text>
+</a>
+</g>
+<path d="M148 100h10"></path>
+<g>
+<path d="M158 100h0"></path>
+<path d="M487.5 100h0"></path>
+<path d="M158 100h20"></path>
+<g>
+<path d="M178 100h0"></path>
+<path d="M467.5 100h0"></path>
+<g>
+<path d="M178 100h0"></path>
+<path d="M244 100h0"></path>
+<text x="211" y="105" class="comment">v740sp05</text>
+</g>
+<path d="M244 100h10"></path>
+<g>
+<path d="M254 100h0"></path>
+<path d="M467.5 100h0"></path>
+<path d="M254 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M274 80h173.5"></path>
+</g>
+<path d="M447.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M254 100h20"></path>
+<g>
+<path d="M274 100h0"></path>
+<path d="M447.5 100h0"></path>
+<path d="M274 100h10"></path>
+<g>
+<path d="M284 100h0"></path>
+<path d="M437.5 100h0"></path>
+<g class="terminal">
+<path d="M284 100h0"></path>
+<path d="M329.5 100h0"></path>
+<rect x="284" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="306.75" y="104">","</text>
+</g>
+<path d="M329.5 100h10"></path>
+<path d="M339.5 100h10"></path>
+<g class="non-terminal">
+<path d="M349.5 100h0"></path>
+<path d="M437.5 100h0"></path>
+<rect x="349.5" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLField"><text x="393.5" y="104">SQLField</text>
+</a>
+</g>
+</g>
+<path d="M437.5 100h10"></path>
+<path d="M284 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M284 120h153.5"></path>
+</g>
+<path d="M437.5 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M447.5 100h20"></path>
+</g>
+</g>
+<path d="M467.5 100h20"></path>
+<path d="M158 100a10 10 0 0 1 10 10v28a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 148h0"></path>
+<path d="M326 148h141.5"></path>
+<path d="M178 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M198 128h108"></path>
+</g>
+<path d="M306 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M178 148h20"></path>
+<g>
+<path d="M198 148h0"></path>
+<path d="M306 148h0"></path>
+<path d="M198 148h10"></path>
+<g class="non-terminal">
+<path d="M208 148h0"></path>
+<path d="M296 148h0"></path>
+<rect x="208" y="137" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLField"><text x="252" y="152">SQLField</text>
+</a>
+</g>
+<path d="M296 148h10"></path>
+<path d="M208 148a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M208 168h88"></path>
+</g>
+<path d="M296 168a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M306 148h20"></path>
+</g>
+<path d="M467.5 148a10 10 0 0 0 10 -10v-28a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M487.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 507.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFieldListLoop.svg b/abap/expression_SQLFieldListLoop.svg
new file mode 100644
index 00000000..8cc31422
--- /dev/null
+++ b/abap/expression_SQLFieldListLoop.svg
@@ -0,0 +1,319 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1525.5" height="229" viewBox="0 0 1525.5 229">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M1485.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M105.5 31h1360"></path>
+<rect x="60" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="35">"&#42;"</text>
+</g>
+<path d="M1465.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M139.5 61h1326"></path>
+<rect x="60" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M1465.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 108h0"></path>
+<path d="M1465.5 108h0"></path>
+<g>
+<path d="M60 108h0"></path>
+<path d="M389.5 108h0"></path>
+<path d="M60 108a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M80 80h289.5"></path>
+</g>
+<path d="M369.5 80a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M60 108h20"></path>
+<g>
+<path d="M80 108h0"></path>
+<path d="M369.5 108h0"></path>
+<path d="M80 108h10"></path>
+<g>
+<path d="M90 108h0"></path>
+<path d="M359.5 108h0"></path>
+<g class="non-terminal">
+<path d="M90 108h0"></path>
+<path d="M178 108h0"></path>
+<rect x="90" y="97" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLField"><text x="134" y="112">SQLField</text>
+</a>
+</g>
+<path d="M178 108h10"></path>
+<g>
+<path d="M188 108h0"></path>
+<path d="M359.5 108h0"></path>
+<path d="M188 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M208 88h131.5"></path>
+</g>
+<path d="M339.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M188 108h20"></path>
+<g>
+<path d="M208 108h0"></path>
+<path d="M339.5 108h0"></path>
+<g>
+<path d="M208 108h0"></path>
+<path d="M274 108h0"></path>
+<text x="241" y="113" class="comment">v740sp05</text>
+</g>
+<path d="M274 108h10"></path>
+<path d="M284 108h10"></path>
+<g class="terminal">
+<path d="M294 108h0"></path>
+<path d="M339.5 108h0"></path>
+<rect x="294" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="316.75" y="112">","</text>
+</g>
+</g>
+<path d="M339.5 108h20"></path>
+</g>
+</g>
+<path d="M359.5 108h10"></path>
+<path d="M90 108a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M90 128h269.5"></path>
+</g>
+<path d="M359.5 128a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M369.5 108h20"></path>
+</g>
+<g>
+<path d="M389.5 108h0"></path>
+<path d="M754 108h0"></path>
+<path d="M389.5 108h20"></path>
+<g class="non-terminal">
+<path d="M409.5 108h0"></path>
+<path d="M531.5 108h202.5"></path>
+<rect x="409.5" y="97" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="470.5" y="112">SQLFieldName</text>
+</a>
+</g>
+<path d="M734 108h20"></path>
+<path d="M389.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409.5 138h0"></path>
+<path d="M734 138h0"></path>
+<g>
+<path d="M409.5 138h0"></path>
+<path d="M475.5 138h0"></path>
+<text x="442.5" y="143" class="comment">v740sp05</text>
+</g>
+<path d="M475.5 138h10"></path>
+<path d="M485.5 138h10"></path>
+<g>
+<path d="M495.5 138h0"></path>
+<path d="M734 138h0"></path>
+<g class="terminal">
+<path d="M495.5 138h0"></path>
+<path d="M558 138h0"></path>
+<rect x="495.5" y="127" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="526.75" y="142">!" @"</text>
+</g>
+<path d="M558 138h10"></path>
+<path d="M568 138h10"></path>
+<g class="non-terminal">
+<path d="M578 138h0"></path>
+<path d="M734 138h0"></path>
+<rect x="578" y="127" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="656" y="142">SimpleFieldChain</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M734 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M389.5 108a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M409.5 168h0"></path>
+<path d="M489 168h245"></path>
+<rect x="409.5" y="157" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLPath"><text x="449.25" y="172">SQLPath</text>
+</a>
+</g>
+<path d="M734 168a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M389.5 108a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M409.5 198h0"></path>
+<path d="M497.5 198h236.5"></path>
+<rect x="409.5" y="187" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="453.5" y="202">Constant</text>
+</a>
+</g>
+<path d="M734 198a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M754 108h0"></path>
+<path d="M964.5 108h0"></path>
+<path d="M754 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M774 88h170.5"></path>
+</g>
+<path d="M944.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M754 108h20"></path>
+<g>
+<path d="M774 108h0"></path>
+<path d="M944.5 108h0"></path>
+<g class="terminal">
+<path d="M774 108h0"></path>
+<path d="M828 108h0"></path>
+<rect x="774" y="97" width="54" height="22" rx="10" ry="10"></rect>
+<text x="801" y="112">"AS"</text>
+</g>
+<path d="M828 108h10"></path>
+<path d="M838 108h10"></path>
+<g class="non-terminal">
+<path d="M848 108h0"></path>
+<path d="M944.5 108h0"></path>
+<rect x="848" y="97" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAsName"><text x="896.25" y="112">SQLAsName</text>
+</a>
+</g>
+</g>
+<path d="M944.5 108h20"></path>
+</g>
+<g>
+<path d="M964.5 108h0"></path>
+<path d="M1136 108h0"></path>
+<path d="M964.5 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M984.5 88h131.5"></path>
+</g>
+<path d="M1116 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M964.5 108h20"></path>
+<g>
+<path d="M984.5 108h0"></path>
+<path d="M1116 108h0"></path>
+<g>
+<path d="M984.5 108h0"></path>
+<path d="M1050.5 108h0"></path>
+<text x="1017.5" y="113" class="comment">v740sp05</text>
+</g>
+<path d="M1050.5 108h10"></path>
+<path d="M1060.5 108h10"></path>
+<g class="terminal">
+<path d="M1070.5 108h0"></path>
+<path d="M1116 108h0"></path>
+<rect x="1070.5" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1093.25" y="112">","</text>
+</g>
+</g>
+<path d="M1116 108h20"></path>
+</g>
+<g>
+<path d="M1136 108h0"></path>
+<path d="M1465.5 108h0"></path>
+<path d="M1136 108a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1156 80h289.5"></path>
+</g>
+<path d="M1445.5 80a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1136 108h20"></path>
+<g>
+<path d="M1156 108h0"></path>
+<path d="M1445.5 108h0"></path>
+<path d="M1156 108h10"></path>
+<g>
+<path d="M1166 108h0"></path>
+<path d="M1435.5 108h0"></path>
+<g class="non-terminal">
+<path d="M1166 108h0"></path>
+<path d="M1254 108h0"></path>
+<rect x="1166" y="97" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLField"><text x="1210" y="112">SQLField</text>
+</a>
+</g>
+<path d="M1254 108h10"></path>
+<g>
+<path d="M1264 108h0"></path>
+<path d="M1435.5 108h0"></path>
+<path d="M1264 108a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1284 88h131.5"></path>
+</g>
+<path d="M1415.5 88a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1264 108h20"></path>
+<g>
+<path d="M1284 108h0"></path>
+<path d="M1415.5 108h0"></path>
+<g>
+<path d="M1284 108h0"></path>
+<path d="M1350 108h0"></path>
+<text x="1317" y="113" class="comment">v740sp05</text>
+</g>
+<path d="M1350 108h10"></path>
+<path d="M1360 108h10"></path>
+<g class="terminal">
+<path d="M1370 108h0"></path>
+<path d="M1415.5 108h0"></path>
+<rect x="1370" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1392.75" y="112">","</text>
+</g>
+</g>
+<path d="M1415.5 108h20"></path>
+</g>
+</g>
+<path d="M1435.5 108h10"></path>
+<path d="M1166 108a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1166 128h269.5"></path>
+</g>
+<path d="M1435.5 128a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1445.5 108h20"></path>
+</g>
+</g>
+<path d="M1465.5 108a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1485.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFieldName.svg b/abap/expression_SQLFieldName.svg
new file mode 100644
index 00000000..f6cba444
--- /dev/null
+++ b/abap/expression_SQLFieldName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="944.5" height="62" viewBox="0 0 944.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M894.5 31h0"></path>
+<rect x="50" y="20" width="844.5" height="22" rx="10" ry="10"></rect>
+<text x="472.25" y="35">^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\w+|\&#42;)|\w+)$</text>
+</g>
+<path d="M894.5 31h10"></path>
+<path d="M 904.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFields.svg b/abap/expression_SQLFields.svg
new file mode 100644
index 00000000..27362be8
--- /dev/null
+++ b/abap/expression_SQLFields.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="475" height="71" viewBox="0 0 475 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M425 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"FIELDS"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M293 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h105"></path>
+</g>
+<path d="M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M273 40h0"></path>
+<rect x="168" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="220.5" y="44">"DISTINCT"</text>
+</g>
+<path d="M273 40h20"></path>
+</g>
+<path d="M293 40h10"></path>
+<g class="non-terminal">
+<path d="M303 40h0"></path>
+<path d="M425 40h0"></path>
+<rect x="303" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldList"><text x="364" y="44">SQLFieldList</text>
+</a>
+</g>
+</g>
+<path d="M425 40h10"></path>
+<path d="M 435 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLForAllEntries.svg b/abap/expression_SQLForAllEntries.svg
new file mode 100644
index 00000000..15fc2ee0
--- /dev/null
+++ b/abap/expression_SQLForAllEntries.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="406.5" height="62" viewBox="0 0 406.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M356.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">"FOR ALL ENTRIES IN"</text>
+</g>
+<path d="M240 31h10"></path>
+<path d="M250 31h10"></path>
+<g class="non-terminal">
+<path d="M260 31h0"></path>
+<path d="M356.5 31h0"></path>
+<rect x="260" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="308.25" y="35">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M356.5 31h10"></path>
+<path d="M 366.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFrom.svg b/abap/expression_SQLFrom.svg
new file mode 100644
index 00000000..4dd7687b
--- /dev/null
+++ b/abap/expression_SQLFrom.svg
@@ -0,0 +1,170 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="844" height="88" viewBox="0 0 844 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M794 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M402.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M121 48h0"></path>
+<rect x="50" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="52">"FROM"</text>
+</g>
+<path d="M121 48h10"></path>
+<g>
+<path d="M131 48h0"></path>
+<path d="M262 48h0"></path>
+<path d="M131 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 28h91"></path>
+</g>
+<path d="M242 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 48h20"></path>
+<g>
+<path d="M151 48h0"></path>
+<path d="M242 48h0"></path>
+<path d="M151 48h10"></path>
+<g class="terminal">
+<path d="M161 48h0"></path>
+<path d="M232 48h0"></path>
+<rect x="161" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="196.5" y="52">!" ( "</text>
+</g>
+<path d="M232 48h10"></path>
+<path d="M161 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 68h71"></path>
+</g>
+<path d="M232 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M242 48h20"></path>
+</g>
+<path d="M262 48h10"></path>
+<g class="non-terminal">
+<path d="M272 48h0"></path>
+<path d="M402.5 48h0"></path>
+<rect x="272" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFromSource"><text x="337.25" y="52">SQLFromSource</text>
+</a>
+</g>
+</g>
+<path d="M402.5 48h10"></path>
+<g>
+<path d="M412.5 48h0"></path>
+<path d="M794 48h0"></path>
+<path d="M412.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M432.5 20h341.5"></path>
+</g>
+<path d="M774 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M412.5 48h20"></path>
+<g>
+<path d="M432.5 48h0"></path>
+<path d="M774 48h0"></path>
+<path d="M432.5 48h10"></path>
+<g>
+<path d="M442.5 48h0"></path>
+<path d="M764 48h0"></path>
+<g>
+<path d="M442.5 48h0"></path>
+<path d="M553.5 48h0"></path>
+<path d="M442.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M462.5 28h71"></path>
+</g>
+<path d="M533.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M442.5 48h20"></path>
+<g class="terminal">
+<path d="M462.5 48h0"></path>
+<path d="M533.5 48h0"></path>
+<rect x="462.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="498" y="52">!" ) "</text>
+</g>
+<path d="M533.5 48h20"></path>
+</g>
+<path d="M553.5 48h10"></path>
+<g class="non-terminal">
+<path d="M563.5 48h0"></path>
+<path d="M643 48h0"></path>
+<rect x="563.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLJoin"><text x="603.25" y="52">SQLJoin</text>
+</a>
+</g>
+<path d="M643 48h10"></path>
+<g>
+<path d="M653 48h0"></path>
+<path d="M764 48h0"></path>
+<path d="M653 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M673 28h71"></path>
+</g>
+<path d="M744 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M653 48h20"></path>
+<g class="terminal">
+<path d="M673 48h0"></path>
+<path d="M744 48h0"></path>
+<rect x="673" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="708.5" y="52">!" ) "</text>
+</g>
+<path d="M744 48h20"></path>
+</g>
+</g>
+<path d="M764 48h10"></path>
+<path d="M442.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M442.5 68h321.5"></path>
+</g>
+<path d="M764 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M774 48h20"></path>
+</g>
+</g>
+<path d="M794 48h10"></path>
+<path d="M 804 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFromSource.svg b/abap/expression_SQLFromSource.svg
new file mode 100644
index 00000000..8d62b3a7
--- /dev/null
+++ b/abap/expression_SQLFromSource.svg
@@ -0,0 +1,188 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1009" height="140" viewBox="0 0 1009 140">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M959 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M426.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h248.5"></path>
+<rect x="70" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/WithName"><text x="114" y="44">WithName</text>
+</a>
+</g>
+<path d="M406.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 79h0"></path>
+<path d="M406.5 79h0"></path>
+<g class="non-terminal">
+<path d="M70 79h0"></path>
+<path d="M200.5 79h0"></path>
+<rect x="70" y="68" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="135.25" y="83">DatabaseTable</text>
+</a>
+</g>
+<path d="M200.5 79h10"></path>
+<g>
+<path d="M210.5 79h0"></path>
+<path d="M406.5 79h0"></path>
+<path d="M210.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M230.5 59h156"></path>
+</g>
+<path d="M386.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M210.5 79h20"></path>
+<g class="non-terminal">
+<path d="M230.5 79h0"></path>
+<path d="M386.5 79h0"></path>
+<rect x="230.5" y="68" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCDSParameters"><text x="308.5" y="83">SQLCDSParameters</text>
+</a>
+</g>
+<path d="M386.5 79h20"></path>
+</g>
+</g>
+<path d="M406.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 109h0"></path>
+<path d="M315.5 109h91"></path>
+<g>
+<path d="M70 109h0"></path>
+<path d="M108 109h0"></path>
+<text x="89" y="114" class="comment">v752</text>
+</g>
+<path d="M108 109h10"></path>
+<path d="M118 109h10"></path>
+<g>
+<path d="M128 109h0"></path>
+<path d="M315.5 109h0"></path>
+<g class="terminal">
+<path d="M128 109h0"></path>
+<path d="M190.5 109h0"></path>
+<rect x="128" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="159.25" y="113">!" @"</text>
+</g>
+<path d="M190.5 109h10"></path>
+<path d="M200.5 109h10"></path>
+<g class="non-terminal">
+<path d="M210.5 109h0"></path>
+<path d="M315.5 109h0"></path>
+<rect x="210.5" y="98" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="263" y="113">FieldChain</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M406.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M426.5 40h0"></path>
+<path d="M748.5 40h0"></path>
+<path d="M426.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M446.5 20h282"></path>
+</g>
+<path d="M728.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M426.5 40h20"></path>
+<g>
+<path d="M446.5 40h0"></path>
+<path d="M728.5 40h0"></path>
+<g>
+<path d="M446.5 40h0"></path>
+<path d="M484.5 40h0"></path>
+<text x="465.5" y="45" class="comment">v752</text>
+</g>
+<path d="M484.5 40h10"></path>
+<path d="M494.5 40h10"></path>
+<g class="terminal">
+<path d="M504.5 40h0"></path>
+<path d="M728.5 40h0"></path>
+<rect x="504.5" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="616.5" y="44">"WITH PRIVILEGED ACCESS"</text>
+</g>
+</g>
+<path d="M728.5 40h20"></path>
+</g>
+<g>
+<path d="M748.5 40h0"></path>
+<path d="M959 40h0"></path>
+<path d="M748.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M768.5 20h170.5"></path>
+</g>
+<path d="M939 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M748.5 40h20"></path>
+<g>
+<path d="M768.5 40h0"></path>
+<path d="M939 40h0"></path>
+<g class="terminal">
+<path d="M768.5 40h0"></path>
+<path d="M822.5 40h0"></path>
+<rect x="768.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="795.5" y="44">"AS"</text>
+</g>
+<path d="M822.5 40h10"></path>
+<path d="M832.5 40h10"></path>
+<g class="non-terminal">
+<path d="M842.5 40h0"></path>
+<path d="M939 40h0"></path>
+<rect x="842.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAsName"><text x="890.75" y="44">SQLAsName</text>
+</a>
+</g>
+</g>
+<path d="M939 40h20"></path>
+</g>
+</g>
+<path d="M959 40h10"></path>
+<path d="M 969 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFunction.svg b/abap/expression_SQLFunction.svg
new file mode 100644
index 00000000..cffbe7bf
--- /dev/null
+++ b/abap/expression_SQLFunction.svg
@@ -0,0 +1,1018 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1213" height="581" viewBox="0 0 1213 581">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M1173 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M362.5 31h790.5"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M98 31h0"></path>
+<text x="79" y="36" class="comment">v754</text>
+</g>
+<path d="M98 31h10"></path>
+<path d="M108 31h10"></path>
+<g>
+<path d="M118 31h0"></path>
+<path d="M362.5 31h0"></path>
+<g class="terminal">
+<path d="M118 31h0"></path>
+<path d="M189 31h0"></path>
+<rect x="118" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="153.5" y="35">^uuid$</text>
+</g>
+<path d="M189 31h10"></path>
+<path d="M199 31h10"></path>
+<g class="terminal">
+<path d="M209 31h0"></path>
+<path d="M271.5 31h0"></path>
+<rect x="209" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="240.25" y="35">!"( "</text>
+</g>
+<path d="M271.5 31h10"></path>
+<path d="M281.5 31h10"></path>
+<g class="terminal">
+<path d="M291.5 31h0"></path>
+<path d="M362.5 31h0"></path>
+<rect x="291.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="327" y="35">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M558 61h595"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M126 61h0"></path>
+<text x="93" y="66" class="comment">v740sp05</text>
+</g>
+<path d="M126 61h10"></path>
+<path d="M136 61h10"></path>
+<g>
+<path d="M146 61h0"></path>
+<path d="M558 61h0"></path>
+<g class="terminal">
+<path d="M146 61h0"></path>
+<path d="M208.5 61h0"></path>
+<rect x="146" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="177.25" y="65">^abs$</text>
+</g>
+<path d="M208.5 61h10"></path>
+<path d="M218.5 61h10"></path>
+<g class="terminal">
+<path d="M228.5 61h0"></path>
+<path d="M291 61h0"></path>
+<rect x="228.5" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="259.75" y="65">!"( "</text>
+</g>
+<path d="M291 61h10"></path>
+<path d="M301 61h10"></path>
+<g class="non-terminal">
+<path d="M311 61h0"></path>
+<path d="M467 61h0"></path>
+<rect x="311" y="50" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="389" y="65">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M467 61h10"></path>
+<path d="M477 61h10"></path>
+<g class="terminal">
+<path d="M487 61h0"></path>
+<path d="M558 61h0"></path>
+<rect x="487" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="522.5" y="65">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M566.5 91h586.5"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M126 91h0"></path>
+<text x="93" y="96" class="comment">v740sp05</text>
+</g>
+<path d="M126 91h10"></path>
+<path d="M136 91h10"></path>
+<g>
+<path d="M146 91h0"></path>
+<path d="M566.5 91h0"></path>
+<g class="terminal">
+<path d="M146 91h0"></path>
+<path d="M217 91h0"></path>
+<rect x="146" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="181.5" y="95">^ceil$</text>
+</g>
+<path d="M217 91h10"></path>
+<path d="M227 91h10"></path>
+<g class="terminal">
+<path d="M237 91h0"></path>
+<path d="M299.5 91h0"></path>
+<rect x="237" y="80" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="268.25" y="95">!"( "</text>
+</g>
+<path d="M299.5 91h10"></path>
+<path d="M309.5 91h10"></path>
+<g class="non-terminal">
+<path d="M319.5 91h0"></path>
+<path d="M475.5 91h0"></path>
+<rect x="319.5" y="80" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="397.5" y="95">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M475.5 91h10"></path>
+<path d="M485.5 91h10"></path>
+<g class="terminal">
+<path d="M495.5 91h0"></path>
+<path d="M566.5 91h0"></path>
+<rect x="495.5" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="531" y="95">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 121h0"></path>
+<path d="M575 121h578"></path>
+<g>
+<path d="M60 121h0"></path>
+<path d="M126 121h0"></path>
+<text x="93" y="126" class="comment">v740sp05</text>
+</g>
+<path d="M126 121h10"></path>
+<path d="M136 121h10"></path>
+<g>
+<path d="M146 121h0"></path>
+<path d="M575 121h0"></path>
+<g class="terminal">
+<path d="M146 121h0"></path>
+<path d="M225.5 121h0"></path>
+<rect x="146" y="110" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="185.75" y="125">^floor$</text>
+</g>
+<path d="M225.5 121h10"></path>
+<path d="M235.5 121h10"></path>
+<g class="terminal">
+<path d="M245.5 121h0"></path>
+<path d="M308 121h0"></path>
+<rect x="245.5" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="276.75" y="125">!"( "</text>
+</g>
+<path d="M308 121h10"></path>
+<path d="M318 121h10"></path>
+<g class="non-terminal">
+<path d="M328 121h0"></path>
+<path d="M484 121h0"></path>
+<rect x="328" y="110" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="406" y="125">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M484 121h10"></path>
+<path d="M494 121h10"></path>
+<g class="terminal">
+<path d="M504 121h0"></path>
+<path d="M575 121h0"></path>
+<rect x="504" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="539.5" y="125">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 151h0"></path>
+<path d="M1153 151h0"></path>
+<g>
+<path d="M60 151h0"></path>
+<path d="M98 151h0"></path>
+<text x="79" y="156" class="comment">v750</text>
+</g>
+<path d="M98 151h10"></path>
+<path d="M108 151h10"></path>
+<g>
+<path d="M118 151h0"></path>
+<path d="M1153 151h0"></path>
+<g class="terminal">
+<path d="M118 151h0"></path>
+<path d="M189 151h0"></path>
+<rect x="118" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="153.5" y="155">^cast$</text>
+</g>
+<path d="M189 151h10"></path>
+<path d="M199 151h10"></path>
+<g class="terminal">
+<path d="M209 151h0"></path>
+<path d="M271.5 151h0"></path>
+<rect x="209" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="240.25" y="155">!"( "</text>
+</g>
+<path d="M271.5 151h10"></path>
+<path d="M281.5 151h10"></path>
+<g class="non-terminal">
+<path d="M291.5 151h0"></path>
+<path d="M447.5 151h0"></path>
+<rect x="291.5" y="140" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="369.5" y="155">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M447.5 151h10"></path>
+<path d="M457.5 151h10"></path>
+<g class="terminal">
+<path d="M467.5 151h0"></path>
+<path d="M521.5 151h0"></path>
+<rect x="467.5" y="140" width="54" height="22" rx="10" ry="10"></rect>
+<text x="494.5" y="155">"AS"</text>
+</g>
+<path d="M521.5 151h10"></path>
+<g>
+<path d="M531.5 151h0"></path>
+<path d="M1072 151h0"></path>
+<path d="M531.5 151h20"></path>
+<g>
+<path d="M551.5 151h0"></path>
+<path d="M895.5 151h156.5"></path>
+<g class="terminal">
+<path d="M551.5 151h0"></path>
+<path d="M622.5 151h0"></path>
+<rect x="551.5" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="587" y="155">"CHAR"</text>
+</g>
+<path d="M622.5 151h10"></path>
+<path d="M632.5 151h10"></path>
+<g class="terminal">
+<path d="M642.5 151h0"></path>
+<path d="M705 151h0"></path>
+<rect x="642.5" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="673.75" y="155">!"( "</text>
+</g>
+<path d="M705 151h10"></path>
+<path d="M715 151h10"></path>
+<g class="non-terminal">
+<path d="M725 151h0"></path>
+<path d="M804.5 151h0"></path>
+<rect x="725" y="140" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="764.75" y="155">Integer</text>
+</a>
+</g>
+<path d="M804.5 151h10"></path>
+<path d="M814.5 151h10"></path>
+<g class="terminal">
+<path d="M824.5 151h0"></path>
+<path d="M895.5 151h0"></path>
+<rect x="824.5" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="860" y="155">!" ) "</text>
+</g>
+</g>
+<path d="M1052 151h20"></path>
+<path d="M531.5 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M551.5 181h0"></path>
+<path d="M1052 181h0"></path>
+<g class="terminal">
+<path d="M551.5 181h0"></path>
+<path d="M614 181h0"></path>
+<rect x="551.5" y="170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="582.75" y="185">"DEC"</text>
+</g>
+<path d="M614 181h10"></path>
+<path d="M624 181h10"></path>
+<g class="terminal">
+<path d="M634 181h0"></path>
+<path d="M696.5 181h0"></path>
+<rect x="634" y="170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="665.25" y="185">!"( "</text>
+</g>
+<path d="M696.5 181h10"></path>
+<path d="M706.5 181h10"></path>
+<g class="non-terminal">
+<path d="M716.5 181h0"></path>
+<path d="M796 181h0"></path>
+<rect x="716.5" y="170" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="756.25" y="185">Integer</text>
+</a>
+</g>
+<path d="M796 181h10"></path>
+<path d="M806 181h10"></path>
+<g class="terminal">
+<path d="M816 181h0"></path>
+<path d="M861.5 181h0"></path>
+<rect x="816" y="170" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="838.75" y="185">","</text>
+</g>
+<path d="M861.5 181h10"></path>
+<path d="M871.5 181h10"></path>
+<g class="non-terminal">
+<path d="M881.5 181h0"></path>
+<path d="M961 181h0"></path>
+<rect x="881.5" y="170" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="921.25" y="185">Integer</text>
+</a>
+</g>
+<path d="M961 181h10"></path>
+<path d="M971 181h10"></path>
+<g class="terminal">
+<path d="M981 181h0"></path>
+<path d="M1052 181h0"></path>
+<rect x="981" y="170" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1016.5" y="185">!" ) "</text>
+</g>
+</g>
+<path d="M1052 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M531.5 151a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M551.5 211h0"></path>
+<path d="M622.5 211h429.5"></path>
+<rect x="551.5" y="200" width="71" height="22" rx="10" ry="10"></rect>
+<text x="587" y="215">"FLTP"</text>
+</g>
+<path d="M1052 211a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M531.5 151a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M551.5 241h0"></path>
+<path d="M622.5 241h429.5"></path>
+<rect x="551.5" y="230" width="71" height="22" rx="10" ry="10"></rect>
+<text x="587" y="245">"NUMC"</text>
+</g>
+<path d="M1052 241a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M531.5 151a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M551.5 271h0"></path>
+<path d="M622.5 271h429.5"></path>
+<rect x="551.5" y="260" width="71" height="22" rx="10" ry="10"></rect>
+<text x="587" y="275">"INT8"</text>
+</g>
+<path d="M1052 271a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1072 151h10"></path>
+<g class="terminal">
+<path d="M1082 151h0"></path>
+<path d="M1153 151h0"></path>
+<rect x="1082" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1117.5" y="155">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 301h0"></path>
+<path d="M799.5 301h353.5"></path>
+<g>
+<path d="M60 301h0"></path>
+<path d="M126 301h0"></path>
+<text x="93" y="306" class="comment">v740sp05</text>
+</g>
+<path d="M126 301h10"></path>
+<path d="M136 301h10"></path>
+<g>
+<path d="M146 301h0"></path>
+<path d="M799.5 301h0"></path>
+<g class="terminal">
+<path d="M146 301h0"></path>
+<path d="M208.5 301h0"></path>
+<rect x="146" y="290" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="177.25" y="305">^div$</text>
+</g>
+<path d="M208.5 301h10"></path>
+<path d="M218.5 301h10"></path>
+<g class="terminal">
+<path d="M228.5 301h0"></path>
+<path d="M291 301h0"></path>
+<rect x="228.5" y="290" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="259.75" y="305">!"( "</text>
+</g>
+<path d="M291 301h10"></path>
+<path d="M301 301h10"></path>
+<g class="non-terminal">
+<path d="M311 301h0"></path>
+<path d="M467 301h0"></path>
+<rect x="311" y="290" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="389" y="305">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M467 301h10"></path>
+<path d="M477 301h10"></path>
+<g>
+<path d="M487 301h0"></path>
+<path d="M708.5 301h0"></path>
+<g class="terminal">
+<path d="M487 301h0"></path>
+<path d="M532.5 301h0"></path>
+<rect x="487" y="290" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="509.75" y="305">","</text>
+</g>
+<path d="M532.5 301h10"></path>
+<path d="M542.5 301h10"></path>
+<g class="non-terminal">
+<path d="M552.5 301h0"></path>
+<path d="M708.5 301h0"></path>
+<rect x="552.5" y="290" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="630.5" y="305">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M708.5 301h10"></path>
+<path d="M718.5 301h10"></path>
+<g class="terminal">
+<path d="M728.5 301h0"></path>
+<path d="M799.5 301h0"></path>
+<rect x="728.5" y="290" width="71" height="22" rx="10" ry="10"></rect>
+<text x="764" y="305">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 331h0"></path>
+<path d="M799.5 331h353.5"></path>
+<g>
+<path d="M60 331h0"></path>
+<path d="M126 331h0"></path>
+<text x="93" y="336" class="comment">v740sp05</text>
+</g>
+<path d="M126 331h10"></path>
+<path d="M136 331h10"></path>
+<g>
+<path d="M146 331h0"></path>
+<path d="M799.5 331h0"></path>
+<g class="terminal">
+<path d="M146 331h0"></path>
+<path d="M208.5 331h0"></path>
+<rect x="146" y="320" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="177.25" y="335">^mod$</text>
+</g>
+<path d="M208.5 331h10"></path>
+<path d="M218.5 331h10"></path>
+<g class="terminal">
+<path d="M228.5 331h0"></path>
+<path d="M291 331h0"></path>
+<rect x="228.5" y="320" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="259.75" y="335">!"( "</text>
+</g>
+<path d="M291 331h10"></path>
+<path d="M301 331h10"></path>
+<g class="non-terminal">
+<path d="M311 331h0"></path>
+<path d="M467 331h0"></path>
+<rect x="311" y="320" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="389" y="335">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M467 331h10"></path>
+<path d="M477 331h10"></path>
+<g>
+<path d="M487 331h0"></path>
+<path d="M708.5 331h0"></path>
+<g class="terminal">
+<path d="M487 331h0"></path>
+<path d="M532.5 331h0"></path>
+<rect x="487" y="320" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="509.75" y="335">","</text>
+</g>
+<path d="M532.5 331h10"></path>
+<path d="M542.5 331h10"></path>
+<g class="non-terminal">
+<path d="M552.5 331h0"></path>
+<path d="M708.5 331h0"></path>
+<rect x="552.5" y="320" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="630.5" y="335">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M708.5 331h10"></path>
+<path d="M718.5 331h10"></path>
+<g class="terminal">
+<path d="M728.5 331h0"></path>
+<path d="M799.5 331h0"></path>
+<rect x="728.5" y="320" width="71" height="22" rx="10" ry="10"></rect>
+<text x="764" y="335">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v319a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 370h0"></path>
+<path d="M1103.5 370h49.5"></path>
+<g>
+<path d="M60 370h0"></path>
+<path d="M126 370h0"></path>
+<text x="93" y="375" class="comment">v740sp05</text>
+</g>
+<path d="M126 370h10"></path>
+<path d="M136 370h10"></path>
+<g>
+<path d="M146 370h0"></path>
+<path d="M1103.5 370h0"></path>
+<g class="terminal">
+<path d="M146 370h0"></path>
+<path d="M251 370h0"></path>
+<rect x="146" y="359" width="105" height="22" rx="10" ry="10"></rect>
+<text x="198.5" y="374">^coalesce$</text>
+</g>
+<path d="M251 370h10"></path>
+<path d="M261 370h10"></path>
+<g class="terminal">
+<path d="M271 370h0"></path>
+<path d="M333.5 370h0"></path>
+<rect x="271" y="359" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="302.25" y="374">!"( "</text>
+</g>
+<path d="M333.5 370h10"></path>
+<path d="M343.5 370h10"></path>
+<g class="non-terminal">
+<path d="M353.5 370h0"></path>
+<path d="M509.5 370h0"></path>
+<rect x="353.5" y="359" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="431.5" y="374">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M509.5 370h10"></path>
+<path d="M519.5 370h10"></path>
+<g>
+<path d="M529.5 370h0"></path>
+<path d="M751 370h0"></path>
+<g class="terminal">
+<path d="M529.5 370h0"></path>
+<path d="M575 370h0"></path>
+<rect x="529.5" y="359" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="552.25" y="374">","</text>
+</g>
+<path d="M575 370h10"></path>
+<path d="M585 370h10"></path>
+<g class="non-terminal">
+<path d="M595 370h0"></path>
+<path d="M751 370h0"></path>
+<rect x="595" y="359" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="673" y="374">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M751 370h10"></path>
+<g>
+<path d="M761 370h0"></path>
+<path d="M1022.5 370h0"></path>
+<path d="M761 370a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M781 350h221.5"></path>
+</g>
+<path d="M1002.5 350a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M761 370h20"></path>
+<g>
+<path d="M781 370h0"></path>
+<path d="M1002.5 370h0"></path>
+<g class="terminal">
+<path d="M781 370h0"></path>
+<path d="M826.5 370h0"></path>
+<rect x="781" y="359" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="803.75" y="374">","</text>
+</g>
+<path d="M826.5 370h10"></path>
+<path d="M836.5 370h10"></path>
+<g class="non-terminal">
+<path d="M846.5 370h0"></path>
+<path d="M1002.5 370h0"></path>
+<rect x="846.5" y="359" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="924.5" y="374">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M1002.5 370h20"></path>
+</g>
+<path d="M1022.5 370h10"></path>
+<g class="terminal">
+<path d="M1032.5 370h0"></path>
+<path d="M1103.5 370h0"></path>
+<rect x="1032.5" y="359" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1068" y="374">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 370a10 10 0 0 0 10 -10v-319a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v349a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 400h0"></path>
+<path d="M797 400h356"></path>
+<g>
+<path d="M60 400h0"></path>
+<path d="M98 400h0"></path>
+<text x="79" y="405" class="comment">v750</text>
+</g>
+<path d="M98 400h10"></path>
+<path d="M108 400h10"></path>
+<g>
+<path d="M118 400h0"></path>
+<path d="M797 400h0"></path>
+<g class="terminal">
+<path d="M118 400h0"></path>
+<path d="M206 400h0"></path>
+<rect x="118" y="389" width="88" height="22" rx="10" ry="10"></rect>
+<text x="162" y="404">^concat$</text>
+</g>
+<path d="M206 400h10"></path>
+<path d="M216 400h10"></path>
+<g class="terminal">
+<path d="M226 400h0"></path>
+<path d="M288.5 400h0"></path>
+<rect x="226" y="389" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.25" y="404">!"( "</text>
+</g>
+<path d="M288.5 400h10"></path>
+<path d="M298.5 400h10"></path>
+<g class="non-terminal">
+<path d="M308.5 400h0"></path>
+<path d="M464.5 400h0"></path>
+<rect x="308.5" y="389" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="386.5" y="404">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M464.5 400h10"></path>
+<path d="M474.5 400h10"></path>
+<g>
+<path d="M484.5 400h0"></path>
+<path d="M706 400h0"></path>
+<g class="terminal">
+<path d="M484.5 400h0"></path>
+<path d="M530 400h0"></path>
+<rect x="484.5" y="389" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="507.25" y="404">","</text>
+</g>
+<path d="M530 400h10"></path>
+<path d="M540 400h10"></path>
+<g class="non-terminal">
+<path d="M550 400h0"></path>
+<path d="M706 400h0"></path>
+<rect x="550" y="389" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="628" y="404">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M706 400h10"></path>
+<path d="M716 400h10"></path>
+<g class="terminal">
+<path d="M726 400h0"></path>
+<path d="M797 400h0"></path>
+<rect x="726" y="389" width="71" height="22" rx="10" ry="10"></rect>
+<text x="761.5" y="404">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 400a10 10 0 0 0 10 -10v-349a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 430h0"></path>
+<path d="M1047 430h106"></path>
+<g>
+<path d="M60 430h0"></path>
+<path d="M98 430h0"></path>
+<text x="79" y="435" class="comment">v750</text>
+</g>
+<path d="M98 430h10"></path>
+<path d="M108 430h10"></path>
+<g>
+<path d="M118 430h0"></path>
+<path d="M1047 430h0"></path>
+<g class="terminal">
+<path d="M118 430h0"></path>
+<path d="M214.5 430h0"></path>
+<rect x="118" y="419" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="166.25" y="434">^replace$</text>
+</g>
+<path d="M214.5 430h10"></path>
+<path d="M224.5 430h10"></path>
+<g class="terminal">
+<path d="M234.5 430h0"></path>
+<path d="M297 430h0"></path>
+<rect x="234.5" y="419" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="265.75" y="434">!"( "</text>
+</g>
+<path d="M297 430h10"></path>
+<path d="M307 430h10"></path>
+<g class="non-terminal">
+<path d="M317 430h0"></path>
+<path d="M473 430h0"></path>
+<rect x="317" y="419" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="395" y="434">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M473 430h10"></path>
+<path d="M483 430h10"></path>
+<g>
+<path d="M493 430h0"></path>
+<path d="M714.5 430h0"></path>
+<g class="terminal">
+<path d="M493 430h0"></path>
+<path d="M538.5 430h0"></path>
+<rect x="493" y="419" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="515.75" y="434">","</text>
+</g>
+<path d="M538.5 430h10"></path>
+<path d="M548.5 430h10"></path>
+<g class="non-terminal">
+<path d="M558.5 430h0"></path>
+<path d="M714.5 430h0"></path>
+<rect x="558.5" y="419" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="636.5" y="434">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M714.5 430h10"></path>
+<path d="M724.5 430h10"></path>
+<g>
+<path d="M734.5 430h0"></path>
+<path d="M956 430h0"></path>
+<g class="terminal">
+<path d="M734.5 430h0"></path>
+<path d="M780 430h0"></path>
+<rect x="734.5" y="419" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="757.25" y="434">","</text>
+</g>
+<path d="M780 430h10"></path>
+<path d="M790 430h10"></path>
+<g class="non-terminal">
+<path d="M800 430h0"></path>
+<path d="M956 430h0"></path>
+<rect x="800" y="419" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="878" y="434">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M956 430h10"></path>
+<path d="M966 430h10"></path>
+<g class="terminal">
+<path d="M976 430h0"></path>
+<path d="M1047 430h0"></path>
+<rect x="976" y="419" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1011.5" y="434">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 430a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 460h0"></path>
+<path d="M555.5 460h597.5"></path>
+<g>
+<path d="M60 460h0"></path>
+<path d="M98 460h0"></path>
+<text x="79" y="465" class="comment">v750</text>
+</g>
+<path d="M98 460h10"></path>
+<path d="M108 460h10"></path>
+<g>
+<path d="M118 460h0"></path>
+<path d="M555.5 460h0"></path>
+<g class="terminal">
+<path d="M118 460h0"></path>
+<path d="M206 460h0"></path>
+<rect x="118" y="449" width="88" height="22" rx="10" ry="10"></rect>
+<text x="162" y="464">^length$</text>
+</g>
+<path d="M206 460h10"></path>
+<path d="M216 460h10"></path>
+<g class="terminal">
+<path d="M226 460h0"></path>
+<path d="M288.5 460h0"></path>
+<rect x="226" y="449" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.25" y="464">!"( "</text>
+</g>
+<path d="M288.5 460h10"></path>
+<path d="M298.5 460h10"></path>
+<g class="non-terminal">
+<path d="M308.5 460h0"></path>
+<path d="M464.5 460h0"></path>
+<rect x="308.5" y="449" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="386.5" y="464">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M464.5 460h10"></path>
+<path d="M474.5 460h10"></path>
+<g class="terminal">
+<path d="M484.5 460h0"></path>
+<path d="M555.5 460h0"></path>
+<rect x="484.5" y="449" width="71" height="22" rx="10" ry="10"></rect>
+<text x="520" y="464">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 460a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v439a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 490h0"></path>
+<path d="M547 490h606"></path>
+<g>
+<path d="M60 490h0"></path>
+<path d="M98 490h0"></path>
+<text x="79" y="495" class="comment">v751</text>
+</g>
+<path d="M98 490h10"></path>
+<path d="M108 490h10"></path>
+<g>
+<path d="M118 490h0"></path>
+<path d="M547 490h0"></path>
+<g class="terminal">
+<path d="M118 490h0"></path>
+<path d="M197.5 490h0"></path>
+<rect x="118" y="479" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="157.75" y="494">^lower$</text>
+</g>
+<path d="M197.5 490h10"></path>
+<path d="M207.5 490h10"></path>
+<g class="terminal">
+<path d="M217.5 490h0"></path>
+<path d="M280 490h0"></path>
+<rect x="217.5" y="479" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="248.75" y="494">!"( "</text>
+</g>
+<path d="M280 490h10"></path>
+<path d="M290 490h10"></path>
+<g class="non-terminal">
+<path d="M300 490h0"></path>
+<path d="M456 490h0"></path>
+<rect x="300" y="479" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="378" y="494">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M456 490h10"></path>
+<path d="M466 490h10"></path>
+<g class="terminal">
+<path d="M476 490h0"></path>
+<path d="M547 490h0"></path>
+<rect x="476" y="479" width="71" height="22" rx="10" ry="10"></rect>
+<text x="511.5" y="494">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 490a10 10 0 0 0 10 -10v-439a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v469a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 520h0"></path>
+<path d="M547 520h606"></path>
+<g>
+<path d="M60 520h0"></path>
+<path d="M98 520h0"></path>
+<text x="79" y="525" class="comment">v751</text>
+</g>
+<path d="M98 520h10"></path>
+<path d="M108 520h10"></path>
+<g>
+<path d="M118 520h0"></path>
+<path d="M547 520h0"></path>
+<g class="terminal">
+<path d="M118 520h0"></path>
+<path d="M197.5 520h0"></path>
+<rect x="118" y="509" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="157.75" y="524">^upper$</text>
+</g>
+<path d="M197.5 520h10"></path>
+<path d="M207.5 520h10"></path>
+<g class="terminal">
+<path d="M217.5 520h0"></path>
+<path d="M280 520h0"></path>
+<rect x="217.5" y="509" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="248.75" y="524">!"( "</text>
+</g>
+<path d="M280 520h10"></path>
+<path d="M290 520h10"></path>
+<g class="non-terminal">
+<path d="M300 520h0"></path>
+<path d="M456 520h0"></path>
+<rect x="300" y="509" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="378" y="524">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M456 520h10"></path>
+<path d="M466 520h10"></path>
+<g class="terminal">
+<path d="M476 520h0"></path>
+<path d="M547 520h0"></path>
+<rect x="476" y="509" width="71" height="22" rx="10" ry="10"></rect>
+<text x="511.5" y="524">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 520a10 10 0 0 0 10 -10v-469a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v499a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 550h0"></path>
+<path d="M788.5 550h364.5"></path>
+<g>
+<path d="M60 550h0"></path>
+<path d="M98 550h0"></path>
+<text x="79" y="555" class="comment">v750</text>
+</g>
+<path d="M98 550h10"></path>
+<path d="M108 550h10"></path>
+<g>
+<path d="M118 550h0"></path>
+<path d="M788.5 550h0"></path>
+<g class="terminal">
+<path d="M118 550h0"></path>
+<path d="M197.5 550h0"></path>
+<rect x="118" y="539" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="157.75" y="554">^round$</text>
+</g>
+<path d="M197.5 550h10"></path>
+<path d="M207.5 550h10"></path>
+<g class="terminal">
+<path d="M217.5 550h0"></path>
+<path d="M280 550h0"></path>
+<rect x="217.5" y="539" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="248.75" y="554">!"( "</text>
+</g>
+<path d="M280 550h10"></path>
+<path d="M290 550h10"></path>
+<g class="non-terminal">
+<path d="M300 550h0"></path>
+<path d="M456 550h0"></path>
+<rect x="300" y="539" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="378" y="554">SQLFunctionInput</text>
+</a>
+</g>
+<path d="M456 550h10"></path>
+<path d="M466 550h10"></path>
+<g>
+<path d="M476 550h0"></path>
+<path d="M697.5 550h0"></path>
+<g class="terminal">
+<path d="M476 550h0"></path>
+<path d="M521.5 550h0"></path>
+<rect x="476" y="539" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="498.75" y="554">","</text>
+</g>
+<path d="M521.5 550h10"></path>
+<path d="M531.5 550h10"></path>
+<g class="non-terminal">
+<path d="M541.5 550h0"></path>
+<path d="M697.5 550h0"></path>
+<rect x="541.5" y="539" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunctionInput"><text x="619.5" y="554">SQLFunctionInput</text>
+</a>
+</g>
+</g>
+<path d="M697.5 550h10"></path>
+<path d="M707.5 550h10"></path>
+<g class="terminal">
+<path d="M717.5 550h0"></path>
+<path d="M788.5 550h0"></path>
+<rect x="717.5" y="539" width="71" height="22" rx="10" ry="10"></rect>
+<text x="753" y="554">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1153 550a10 10 0 0 0 10 -10v-499a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1173 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLFunctionInput.svg b/abap/expression_SQLFunctionInput.svg
new file mode 100644
index 00000000..9935aac4
--- /dev/null
+++ b/abap/expression_SQLFunctionInput.svg
@@ -0,0 +1,353 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1220" height="259" viewBox="0 0 1220 259">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1170 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M533 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M183.5 40h329.5"></path>
+<rect x="70" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="126.75" y="44">SQLFunction</text>
+</a>
+</g>
+<path d="M513 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M209 70h304"></path>
+<rect x="70" y="59" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="139.5" y="74">SQLAggregation</text>
+</a>
+</g>
+<path d="M513 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 100h0"></path>
+<path d="M192 100h321"></path>
+<rect x="70" y="89" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="131" y="104">SQLFieldName</text>
+</a>
+</g>
+<path d="M513 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 130h0"></path>
+<path d="M200.5 130h312.5"></path>
+<rect x="70" y="119" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAliasField"><text x="135.25" y="134">SQLAliasField</text>
+</a>
+</g>
+<path d="M513 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 160h0"></path>
+<path d="M158 160h355"></path>
+<rect x="70" y="149" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="114" y="164">Constant</text>
+</a>
+</g>
+<path d="M513 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 190h0"></path>
+<path d="M513 190h0"></path>
+<g>
+<path d="M70 190h0"></path>
+<path d="M136 190h0"></path>
+<text x="103" y="195" class="comment">v740sp05</text>
+</g>
+<path d="M136 190h10"></path>
+<path d="M146 190h10"></path>
+<g>
+<path d="M156 190h0"></path>
+<path d="M513 190h0"></path>
+<g class="terminal">
+<path d="M156 190h0"></path>
+<path d="M218.5 190h0"></path>
+<rect x="156" y="179" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="187.25" y="194">!" @"</text>
+</g>
+<path d="M218.5 190h10"></path>
+<g>
+<path d="M228.5 190h0"></path>
+<path d="M513 190h0"></path>
+<path d="M228.5 190h20"></path>
+<g class="non-terminal">
+<path d="M248.5 190h0"></path>
+<path d="M379 190h114"></path>
+<rect x="248.5" y="179" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="313.75" y="194">SimpleSource3</text>
+</a>
+</g>
+<path d="M493 190h20"></path>
+<path d="M228.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M248.5 220h0"></path>
+<path d="M493 220h0"></path>
+<g class="terminal">
+<path d="M248.5 220h0"></path>
+<path d="M311 220h0"></path>
+<rect x="248.5" y="209" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="279.75" y="224">!"( "</text>
+</g>
+<path d="M311 220h10"></path>
+<path d="M321 220h10"></path>
+<g class="non-terminal">
+<path d="M331 220h0"></path>
+<path d="M402 220h0"></path>
+<rect x="331" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="366.5" y="224">Source</text>
+</a>
+</g>
+<path d="M402 220h10"></path>
+<path d="M412 220h10"></path>
+<g class="terminal">
+<path d="M422 220h0"></path>
+<path d="M493 220h0"></path>
+<rect x="422" y="209" width="71" height="22" rx="10" ry="10"></rect>
+<text x="457.5" y="224">!" ) "</text>
+</g>
+</g>
+<path d="M493 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M513 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M533 40h0"></path>
+<path d="M1170 40h0"></path>
+<path d="M533 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M553 20h597"></path>
+</g>
+<path d="M1150 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M533 40h20"></path>
+<g>
+<path d="M553 40h0"></path>
+<path d="M1150 40h0"></path>
+<path d="M553 40h10"></path>
+<g>
+<path d="M563 40h0"></path>
+<path d="M1140 40h0"></path>
+<g>
+<path d="M563 40h0"></path>
+<path d="M657 40h0"></path>
+<path d="M563 40h20"></path>
+<g class="terminal">
+<path d="M583 40h0"></path>
+<path d="M628.5 40h8.5"></path>
+<rect x="583" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="605.75" y="44">"+"</text>
+</g>
+<path d="M637 40h20"></path>
+<path d="M563 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M583 70h0"></path>
+<path d="M628.5 70h8.5"></path>
+<rect x="583" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="605.75" y="74">"-"</text>
+</g>
+<path d="M637 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M563 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M583 100h0"></path>
+<path d="M628.5 100h8.5"></path>
+<rect x="583" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="605.75" y="104">"&#42;"</text>
+</g>
+<path d="M637 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M563 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M583 130h0"></path>
+<path d="M628.5 130h8.5"></path>
+<rect x="583" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="605.75" y="134">"/"</text>
+</g>
+<path d="M637 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M563 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M583 160h0"></path>
+<path d="M637 160h0"></path>
+<rect x="583" y="149" width="54" height="22" rx="10" ry="10"></rect>
+<text x="610" y="164">"&#38;&#38;"</text>
+</g>
+<path d="M637 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M657 40h0"></path>
+<path d="M1140 40h0"></path>
+<path d="M657 40h20"></path>
+<g class="non-terminal">
+<path d="M677 40h0"></path>
+<path d="M790.5 40h329.5"></path>
+<rect x="677" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFunction"><text x="733.75" y="44">SQLFunction</text>
+</a>
+</g>
+<path d="M1120 40h20"></path>
+<path d="M657 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M677 70h0"></path>
+<path d="M816 70h304"></path>
+<rect x="677" y="59" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="746.5" y="74">SQLAggregation</text>
+</a>
+</g>
+<path d="M1120 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M657 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M677 100h0"></path>
+<path d="M799 100h321"></path>
+<rect x="677" y="89" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="738" y="104">SQLFieldName</text>
+</a>
+</g>
+<path d="M1120 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M657 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M677 130h0"></path>
+<path d="M807.5 130h312.5"></path>
+<rect x="677" y="119" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAliasField"><text x="742.25" y="134">SQLAliasField</text>
+</a>
+</g>
+<path d="M1120 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M657 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M677 160h0"></path>
+<path d="M765 160h355"></path>
+<rect x="677" y="149" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="721" y="164">Constant</text>
+</a>
+</g>
+<path d="M1120 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M657 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M677 190h0"></path>
+<path d="M1120 190h0"></path>
+<g>
+<path d="M677 190h0"></path>
+<path d="M743 190h0"></path>
+<text x="710" y="195" class="comment">v740sp05</text>
+</g>
+<path d="M743 190h10"></path>
+<path d="M753 190h10"></path>
+<g>
+<path d="M763 190h0"></path>
+<path d="M1120 190h0"></path>
+<g class="terminal">
+<path d="M763 190h0"></path>
+<path d="M825.5 190h0"></path>
+<rect x="763" y="179" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="794.25" y="194">!" @"</text>
+</g>
+<path d="M825.5 190h10"></path>
+<g>
+<path d="M835.5 190h0"></path>
+<path d="M1120 190h0"></path>
+<path d="M835.5 190h20"></path>
+<g class="non-terminal">
+<path d="M855.5 190h0"></path>
+<path d="M986 190h114"></path>
+<rect x="855.5" y="179" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="920.75" y="194">SimpleSource3</text>
+</a>
+</g>
+<path d="M1100 190h20"></path>
+<path d="M835.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M855.5 220h0"></path>
+<path d="M1100 220h0"></path>
+<g class="terminal">
+<path d="M855.5 220h0"></path>
+<path d="M918 220h0"></path>
+<rect x="855.5" y="209" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="886.75" y="224">!"( "</text>
+</g>
+<path d="M918 220h10"></path>
+<path d="M928 220h10"></path>
+<g class="non-terminal">
+<path d="M938 220h0"></path>
+<path d="M1009 220h0"></path>
+<rect x="938" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="973.5" y="224">Source</text>
+</a>
+</g>
+<path d="M1009 220h10"></path>
+<path d="M1019 220h10"></path>
+<g class="terminal">
+<path d="M1029 220h0"></path>
+<path d="M1100 220h0"></path>
+<rect x="1029" y="209" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1064.5" y="224">!" ) "</text>
+</g>
+</g>
+<path d="M1100 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1120 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1140 40h10"></path>
+<path d="M563 40a10 10 0 0 0 -10 10v179a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M563 239h577"></path>
+</g>
+<path d="M1140 239a10 10 0 0 0 10 -10v-179a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1150 40h20"></path>
+</g>
+</g>
+<path d="M1170 40h10"></path>
+<path d="M 1180 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLGroupBy.svg b/abap/expression_SQLGroupBy.svg
new file mode 100644
index 00000000..5679459f
--- /dev/null
+++ b/abap/expression_SQLGroupBy.svg
@@ -0,0 +1,172 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="664.5" height="168" viewBox="0 0 664.5 168">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M614.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"GROUP BY"</text>
+</g>
+<path d="M155 31h10"></path>
+<g>
+<path d="M165 31h0"></path>
+<path d="M614.5 31h0"></path>
+<path d="M165 31h20"></path>
+<g>
+<path d="M185 31h0"></path>
+<path d="M594.5 31h0"></path>
+<g>
+<path d="M185 31h0"></path>
+<path d="M422.5 31h0"></path>
+<path d="M185 31h10"></path>
+<g>
+<path d="M195 31h0"></path>
+<path d="M412.5 31h0"></path>
+<g>
+<path d="M195 31h0"></path>
+<path d="M357 31h0"></path>
+<path d="M195 31h20"></path>
+<g class="non-terminal">
+<path d="M215 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="215" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="276" y="35">SQLFieldName</text>
+</a>
+</g>
+<path d="M337 31h20"></path>
+<path d="M195 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M215 61h0"></path>
+<path d="M294.5 61h42.5"></path>
+<rect x="215" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="254.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M337 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M357 31h10"></path>
+<g class="terminal">
+<path d="M367 31h0"></path>
+<path d="M412.5 31h0"></path>
+<rect x="367" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="389.75" y="35">","</text>
+</g>
+</g>
+<path d="M412.5 31h10"></path>
+<path d="M195 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M195 80h217.5"></path>
+</g>
+<path d="M412.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M422.5 31h10"></path>
+<g>
+<path d="M432.5 31h0"></path>
+<path d="M594.5 31h0"></path>
+<path d="M432.5 31h20"></path>
+<g class="non-terminal">
+<path d="M452.5 31h0"></path>
+<path d="M574.5 31h0"></path>
+<rect x="452.5" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="513.5" y="35">SQLFieldName</text>
+</a>
+</g>
+<path d="M574.5 31h20"></path>
+<path d="M432.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M452.5 61h0"></path>
+<path d="M532 61h42.5"></path>
+<rect x="452.5" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="492.25" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M574.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M594.5 31h20"></path>
+<path d="M165 31a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M185 99h0"></path>
+<path d="M367 99h227.5"></path>
+<path d="M185 99h10"></path>
+<g>
+<path d="M195 99h0"></path>
+<path d="M357 99h0"></path>
+<path d="M195 99h20"></path>
+<g class="non-terminal">
+<path d="M215 99h0"></path>
+<path d="M337 99h0"></path>
+<rect x="215" y="88" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="276" y="103">SQLFieldName</text>
+</a>
+</g>
+<path d="M337 99h20"></path>
+<path d="M195 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M215 129h0"></path>
+<path d="M294.5 129h42.5"></path>
+<rect x="215" y="118" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="254.75" y="133">Dynamic</text>
+</a>
+</g>
+<path d="M337 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M357 99h10"></path>
+<path d="M195 99a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M195 148h162"></path>
+</g>
+<path d="M357 148a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M594.5 99a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M614.5 31h10"></path>
+<path d="M 624.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLHaving.svg b/abap/expression_SQLHaving.svg
new file mode 100644
index 00000000..d080ccc6
--- /dev/null
+++ b/abap/expression_SQLHaving.svg
@@ -0,0 +1,104 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="686.5" height="92" viewBox="0 0 686.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M636.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"HAVING"</text>
+</g>
+<path d="M138 31h10"></path>
+<g>
+<path d="M148 31h0"></path>
+<path d="M636.5 31h0"></path>
+<path d="M148 31h20"></path>
+<g class="non-terminal">
+<path d="M168 31h0"></path>
+<path d="M247.5 31h369"></path>
+<rect x="168" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="207.75" y="35">Dynamic</text>
+</a>
+</g>
+<path d="M616.5 31h20"></path>
+<path d="M148 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 61h0"></path>
+<path d="M616.5 61h0"></path>
+<g class="non-terminal">
+<path d="M168 61h0"></path>
+<path d="M307 61h0"></path>
+<rect x="168" y="50" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAggregation"><text x="237.5" y="65">SQLAggregation</text>
+</a>
+</g>
+<path d="M307 61h10"></path>
+<path d="M317 61h10"></path>
+<g class="non-terminal">
+<path d="M327 61h0"></path>
+<path d="M500 61h0"></path>
+<rect x="327" y="50" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCompareOperator"><text x="413.5" y="65">SQLCompareOperator</text>
+</a>
+</g>
+<path d="M500 61h10"></path>
+<path d="M510 61h10"></path>
+<g class="non-terminal">
+<path d="M520 61h0"></path>
+<path d="M616.5 61h0"></path>
+<rect x="520" y="50" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="568.25" y="65">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M616.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M636.5 31h10"></path>
+<path d="M 646.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLHints.svg b/abap/expression_SQLHints.svg
new file mode 100644
index 00000000..e8f3f7a0
--- /dev/null
+++ b/abap/expression_SQLHints.svg
@@ -0,0 +1,152 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="471" height="280" viewBox="0 0 471 280">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M421 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"%&#95;HINTS"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g>
+<path d="M166.5 31h0"></path>
+<path d="M421 31h0"></path>
+<path d="M166.5 31h10"></path>
+<g>
+<path d="M176.5 31h0"></path>
+<path d="M411 31h0"></path>
+<g>
+<path d="M176.5 31h0"></path>
+<path d="M313 31h0"></path>
+<path d="M176.5 31h20"></path>
+<g class="terminal">
+<path d="M196.5 31h0"></path>
+<path d="M284.5 31h8.5"></path>
+<rect x="196.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="35">"ORACLE"</text>
+</g>
+<path d="M293 31h20"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 61h0"></path>
+<path d="M284.5 61h8.5"></path>
+<rect x="196.5" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="65">"ADABAS"</text>
+</g>
+<path d="M293 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 91h0"></path>
+<path d="M276 91h17"></path>
+<rect x="196.5" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="236.25" y="95">"AS400"</text>
+</g>
+<path d="M293 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 121h0"></path>
+<path d="M259 121h34"></path>
+<rect x="196.5" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="227.75" y="125">"DB2"</text>
+</g>
+<path d="M293 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 151h0"></path>
+<path d="M259 151h34"></path>
+<rect x="196.5" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="227.75" y="155">"HDB"</text>
+</g>
+<path d="M293 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 181h0"></path>
+<path d="M293 181h0"></path>
+<rect x="196.5" y="170" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="244.75" y="185">"MSSQLNT"</text>
+</g>
+<path d="M293 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 211h0"></path>
+<path d="M284.5 211h8.5"></path>
+<rect x="196.5" y="200" width="88" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="215">"SYBASE"</text>
+</g>
+<path d="M293 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M176.5 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M196.5 241h0"></path>
+<path d="M259 241h34"></path>
+<rect x="196.5" y="230" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="227.75" y="245">"DB6"</text>
+</g>
+<path d="M293 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M313 31h10"></path>
+<g class="non-terminal">
+<path d="M323 31h0"></path>
+<path d="M411 31h0"></path>
+<rect x="323" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="367" y="35">Constant</text>
+</a>
+</g>
+</g>
+<path d="M411 31h10"></path>
+<path d="M176.5 31a10 10 0 0 0 -10 10v209a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 260h234.5"></path>
+</g>
+<path d="M411 260a10 10 0 0 0 10 -10v-209a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M421 31h10"></path>
+<path d="M 431 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLIn.svg b/abap/expression_SQLIn.svg
new file mode 100644
index 00000000..d34f922a
--- /dev/null
+++ b/abap/expression_SQLIn.svg
@@ -0,0 +1,331 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="950" height="268" viewBox="0 0 950 268">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M900 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">"IN"</text>
+</g>
+<path d="M104 31h10"></path>
+<g>
+<path d="M114 31h0"></path>
+<path d="M900 31h0"></path>
+<path d="M114 31h20"></path>
+<g class="non-terminal">
+<path d="M134 31h0"></path>
+<path d="M230.5 31h649.5"></path>
+<rect x="134" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="182.25" y="35">SQLSource</text>
+</a>
+</g>
+<path d="M880 31h20"></path>
+<path d="M114 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M134 70h0"></path>
+<path d="M880 70h0"></path>
+<path d="M134 70h20"></path>
+<g>
+<path d="M154 70h0"></path>
+<path d="M841.5 70h18.5"></path>
+<g class="terminal">
+<path d="M154 70h0"></path>
+<path d="M216.5 70h0"></path>
+<rect x="154" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="185.25" y="74">!" ("</text>
+</g>
+<path d="M216.5 70h10"></path>
+<g>
+<path d="M226.5 70h0"></path>
+<path d="M508.5 70h0"></path>
+<path d="M226.5 70h20"></path>
+<g>
+<path d="M246.5 70h0"></path>
+<path d="M488.5 70h0"></path>
+<g>
+<path d="M246.5 70h0"></path>
+<path d="M312.5 70h0"></path>
+<text x="279.5" y="75" class="comment">v740sp05</text>
+</g>
+<path d="M312.5 70h10"></path>
+<path d="M322.5 70h10"></path>
+<g class="non-terminal">
+<path d="M332.5 70h0"></path>
+<path d="M488.5 70h0"></path>
+<rect x="332.5" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceNoSpace"><text x="410.5" y="74">SQLSourceNoSpace</text>
+</a>
+</g>
+</g>
+<path d="M488.5 70h20"></path>
+<path d="M226.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M246.5 100h0"></path>
+<path d="M343 100h145.5"></path>
+<rect x="246.5" y="89" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="294.75" y="104">SQLSource</text>
+</a>
+</g>
+<path d="M488.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M508.5 70h0"></path>
+<path d="M730.5 70h0"></path>
+<path d="M508.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M528.5 50h182"></path>
+</g>
+<path d="M710.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M508.5 70h20"></path>
+<g>
+<path d="M528.5 70h0"></path>
+<path d="M710.5 70h0"></path>
+<path d="M528.5 70h10"></path>
+<g>
+<path d="M538.5 70h0"></path>
+<path d="M700.5 70h0"></path>
+<g class="terminal">
+<path d="M538.5 70h0"></path>
+<path d="M584 70h0"></path>
+<rect x="538.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="561.25" y="74">","</text>
+</g>
+<path d="M584 70h10"></path>
+<path d="M594 70h10"></path>
+<g class="non-terminal">
+<path d="M604 70h0"></path>
+<path d="M700.5 70h0"></path>
+<rect x="604" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="652.25" y="74">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M700.5 70h10"></path>
+<path d="M538.5 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M538.5 90h162"></path>
+</g>
+<path d="M700.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M710.5 70h20"></path>
+</g>
+<g>
+<path d="M730.5 70h0"></path>
+<path d="M841.5 70h0"></path>
+<path d="M730.5 70h20"></path>
+<g class="terminal">
+<path d="M750.5 70h0"></path>
+<path d="M804.5 70h17"></path>
+<rect x="750.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="777.5" y="74">!")"</text>
+</g>
+<path d="M821.5 70h20"></path>
+<path d="M730.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M750.5 100h0"></path>
+<path d="M813 100h8.5"></path>
+<rect x="750.5" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="781.75" y="104">!") "</text>
+</g>
+<path d="M821.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M730.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M750.5 130h0"></path>
+<path d="M821.5 130h0"></path>
+<rect x="750.5" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="786" y="134">!" ) "</text>
+</g>
+<path d="M821.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M860 70h20"></path>
+<path d="M134 70a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M154 169h0"></path>
+<path d="M860 169h0"></path>
+<g>
+<path d="M154 169h0"></path>
+<path d="M220 169h0"></path>
+<text x="187" y="174" class="comment">v740sp02</text>
+</g>
+<path d="M220 169h10"></path>
+<path d="M230 169h10"></path>
+<g>
+<path d="M240 169h0"></path>
+<path d="M860 169h0"></path>
+<g class="terminal">
+<path d="M240 169h0"></path>
+<path d="M311 169h0"></path>
+<rect x="240" y="158" width="71" height="22" rx="10" ry="10"></rect>
+<text x="275.5" y="173">!" ( "</text>
+</g>
+<path d="M311 169h10"></path>
+<path d="M321 169h10"></path>
+<g class="non-terminal">
+<path d="M331 169h0"></path>
+<path d="M427.5 169h0"></path>
+<rect x="331" y="158" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="379.25" y="173">SQLSource</text>
+</a>
+</g>
+<path d="M427.5 169h10"></path>
+<g>
+<path d="M437.5 169h0"></path>
+<path d="M749 169h0"></path>
+<path d="M437.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M457.5 149h271.5"></path>
+</g>
+<path d="M729 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M437.5 169h20"></path>
+<g>
+<path d="M457.5 169h0"></path>
+<path d="M729 169h0"></path>
+<path d="M457.5 169h10"></path>
+<g>
+<path d="M467.5 169h0"></path>
+<path d="M719 169h0"></path>
+<g class="terminal">
+<path d="M467.5 169h0"></path>
+<path d="M513 169h0"></path>
+<rect x="467.5" y="158" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="490.25" y="173">","</text>
+</g>
+<path d="M513 169h10"></path>
+<g>
+<path d="M523 169h0"></path>
+<path d="M719 169h0"></path>
+<path d="M523 169h20"></path>
+<g class="non-terminal">
+<path d="M543 169h0"></path>
+<path d="M699 169h0"></path>
+<rect x="543" y="158" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceNoSpace"><text x="621" y="173">SQLSourceNoSpace</text>
+</a>
+</g>
+<path d="M699 169h20"></path>
+<path d="M523 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M543 199h0"></path>
+<path d="M639.5 199h59.5"></path>
+<rect x="543" y="188" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="591.25" y="203">SQLSource</text>
+</a>
+</g>
+<path d="M699 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M719 169h10"></path>
+<path d="M467.5 169a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467.5 218h251.5"></path>
+</g>
+<path d="M719 218a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M729 169h20"></path>
+</g>
+<g>
+<path d="M749 169h0"></path>
+<path d="M860 169h0"></path>
+<path d="M749 169h20"></path>
+<g class="terminal">
+<path d="M769 169h0"></path>
+<path d="M831.5 169h8.5"></path>
+<rect x="769" y="158" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="800.25" y="173">!" )"</text>
+</g>
+<path d="M840 169h20"></path>
+<path d="M749 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M769 199h0"></path>
+<path d="M840 199h0"></path>
+<rect x="769" y="188" width="71" height="22" rx="10" ry="10"></rect>
+<text x="804.5" y="203">!" ) "</text>
+</g>
+<path d="M840 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M860 169a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M880 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M114 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M134 237h0"></path>
+<path d="M336 237h544"></path>
+<g class="terminal">
+<path d="M134 237h0"></path>
+<path d="M179.5 237h0"></path>
+<rect x="134" y="226" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="156.75" y="241">"("</text>
+</g>
+<path d="M179.5 237h10"></path>
+<path d="M189.5 237h10"></path>
+<g class="non-terminal">
+<path d="M199.5 237h0"></path>
+<path d="M270.5 237h0"></path>
+<rect x="199.5" y="226" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="235" y="241">Select</text>
+</a>
+</g>
+<path d="M270.5 237h10"></path>
+<path d="M280.5 237h10"></path>
+<g class="terminal">
+<path d="M290.5 237h0"></path>
+<path d="M336 237h0"></path>
+<rect x="290.5" y="226" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="313.25" y="241">")"</text>
+</g>
+</g>
+<path d="M880 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M900 31h10"></path>
+<path d="M 910 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLIntoList.svg b/abap/expression_SQLIntoList.svg
new file mode 100644
index 00000000..287ef7b9
--- /dev/null
+++ b/abap/expression_SQLIntoList.svg
@@ -0,0 +1,142 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="696" height="101" viewBox="0 0 696 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M646 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"INTO"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M646 40h0"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M252 40h0"></path>
+<path d="M141 40h20"></path>
+<g class="terminal">
+<path d="M161 40h0"></path>
+<path d="M223.5 40h8.5"></path>
+<rect x="161" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="192.25" y="44">!" ("</text>
+</g>
+<path d="M232 40h20"></path>
+<path d="M141 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M161 70h0"></path>
+<path d="M232 70h0"></path>
+<rect x="161" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="196.5" y="74">!" ( "</text>
+</g>
+<path d="M232 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M252 40h0"></path>
+<path d="M474 40h0"></path>
+<path d="M252 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M272 20h182"></path>
+</g>
+<path d="M454 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M252 40h20"></path>
+<g>
+<path d="M272 40h0"></path>
+<path d="M454 40h0"></path>
+<path d="M272 40h10"></path>
+<g>
+<path d="M282 40h0"></path>
+<path d="M444 40h0"></path>
+<g class="non-terminal">
+<path d="M282 40h0"></path>
+<path d="M378.5 40h0"></path>
+<rect x="282" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLTarget"><text x="330.25" y="44">SQLTarget</text>
+</a>
+</g>
+<path d="M378.5 40h10"></path>
+<path d="M388.5 40h10"></path>
+<g class="terminal">
+<path d="M398.5 40h0"></path>
+<path d="M444 40h0"></path>
+<rect x="398.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="421.25" y="44">","</text>
+</g>
+</g>
+<path d="M444 40h10"></path>
+<path d="M282 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M282 60h162"></path>
+</g>
+<path d="M444 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M454 40h20"></path>
+</g>
+<path d="M474 40h10"></path>
+<g class="non-terminal">
+<path d="M484 40h0"></path>
+<path d="M580.5 40h0"></path>
+<rect x="484" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLTarget"><text x="532.25" y="44">SQLTarget</text>
+</a>
+</g>
+<path d="M580.5 40h10"></path>
+<path d="M590.5 40h10"></path>
+<g class="terminal">
+<path d="M600.5 40h0"></path>
+<path d="M646 40h0"></path>
+<rect x="600.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="623.25" y="44">")"</text>
+</g>
+</g>
+</g>
+<path d="M646 40h10"></path>
+<path d="M 656 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLIntoStructure.svg b/abap/expression_SQLIntoStructure.svg
new file mode 100644
index 00000000..d929def5
--- /dev/null
+++ b/abap/expression_SQLIntoStructure.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="570" height="71" viewBox="0 0 570 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M520 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"INTO"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M520 40h0"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M413.5 40h0"></path>
+<path d="M141 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M161 20h232.5"></path>
+</g>
+<path d="M393.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M141 40h20"></path>
+<g class="terminal">
+<path d="M161 40h0"></path>
+<path d="M393.5 40h0"></path>
+<rect x="161" y="29" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="277.25" y="44">"CORRESPONDING FIELDS OF"</text>
+</g>
+<path d="M393.5 40h20"></path>
+</g>
+<path d="M413.5 40h10"></path>
+<g class="non-terminal">
+<path d="M423.5 40h0"></path>
+<path d="M520 40h0"></path>
+<rect x="423.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLTarget"><text x="471.75" y="44">SQLTarget</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M520 40h10"></path>
+<path d="M 530 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLIntoTable.svg b/abap/expression_SQLIntoTable.svg
new file mode 100644
index 00000000..42d3ff2e
--- /dev/null
+++ b/abap/expression_SQLIntoTable.svg
@@ -0,0 +1,106 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="732" height="101" viewBox="0 0 732 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M682 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M203.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M141 40h42.5"></path>
+<rect x="70" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="105.5" y="44">"INTO"</text>
+</g>
+<path d="M183.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h0"></path>
+<rect x="70" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="74">"APPENDING"</text>
+</g>
+<path d="M183.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M203.5 40h0"></path>
+<path d="M476 40h0"></path>
+<path d="M203.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M223.5 20h232.5"></path>
+</g>
+<path d="M456 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M203.5 40h20"></path>
+<g class="terminal">
+<path d="M223.5 40h0"></path>
+<path d="M456 40h0"></path>
+<rect x="223.5" y="29" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="339.75" y="44">"CORRESPONDING FIELDS OF"</text>
+</g>
+<path d="M456 40h20"></path>
+</g>
+<path d="M476 40h10"></path>
+<g class="terminal">
+<path d="M486 40h0"></path>
+<path d="M565.5 40h0"></path>
+<rect x="486" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="525.75" y="44">"TABLE"</text>
+</g>
+<path d="M565.5 40h10"></path>
+<path d="M575.5 40h10"></path>
+<g class="non-terminal">
+<path d="M585.5 40h0"></path>
+<path d="M682 40h0"></path>
+<rect x="585.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLTarget"><text x="633.75" y="44">SQLTarget</text>
+</a>
+</g>
+</g>
+<path d="M682 40h10"></path>
+<path d="M 692 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLJoin.svg b/abap/expression_SQLJoin.svg
new file mode 100644
index 00000000..aa0b1899
--- /dev/null
+++ b/abap/expression_SQLJoin.svg
@@ -0,0 +1,145 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="715.5" height="191" viewBox="0 0 715.5 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M665.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M341.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M260.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h170.5"></path>
+</g>
+<path d="M240.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="terminal">
+<path d="M90 40h0"></path>
+<path d="M169.5 40h51"></path>
+<rect x="90" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="129.75" y="44">"INNER"</text>
+</g>
+<path d="M220.5 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 70h0"></path>
+<path d="M212 70h8.5"></path>
+<rect x="90" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="151" y="74">"LEFT OUTER"</text>
+</g>
+<path d="M220.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 100h0"></path>
+<path d="M161 100h59.5"></path>
+<rect x="90" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="125.5" y="104">"LEFT"</text>
+</g>
+<path d="M220.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 130h0"></path>
+<path d="M220.5 130h0"></path>
+<rect x="90" y="119" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="155.25" y="134">"RIGHT OUTER"</text>
+</g>
+<path d="M220.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 160h0"></path>
+<path d="M169.5 160h51"></path>
+<rect x="90" y="149" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="129.75" y="164">"RIGHT"</text>
+</g>
+<path d="M220.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M240.5 40h20"></path>
+</g>
+<path d="M260.5 40h10"></path>
+<g class="terminal">
+<path d="M270.5 40h0"></path>
+<path d="M341.5 40h0"></path>
+<rect x="270.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="306" y="44">"JOIN"</text>
+</g>
+</g>
+<path d="M341.5 40h10"></path>
+<path d="M351.5 40h10"></path>
+<g class="non-terminal">
+<path d="M361.5 40h0"></path>
+<path d="M492 40h0"></path>
+<rect x="361.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFromSource"><text x="426.75" y="44">SQLFromSource</text>
+</a>
+</g>
+<path d="M492 40h10"></path>
+<path d="M502 40h10"></path>
+<g class="terminal">
+<path d="M512 40h0"></path>
+<path d="M566 40h0"></path>
+<rect x="512" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="539" y="44">"ON"</text>
+</g>
+<path d="M566 40h10"></path>
+<path d="M576 40h10"></path>
+<g class="non-terminal">
+<path d="M586 40h0"></path>
+<path d="M665.5 40h0"></path>
+<rect x="586" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="625.75" y="44">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M665.5 40h10"></path>
+<path d="M 675.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLOrderBy.svg b/abap/expression_SQLOrderBy.svg
new file mode 100644
index 00000000..93cb07b7
--- /dev/null
+++ b/abap/expression_SQLOrderBy.svg
@@ -0,0 +1,154 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="694.5" height="169" viewBox="0 0 694.5 169">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M644.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"ORDER BY"</text>
+</g>
+<path d="M155 31h10"></path>
+<g>
+<path d="M165 31h0"></path>
+<path d="M644.5 31h0"></path>
+<path d="M165 31h20"></path>
+<g class="terminal">
+<path d="M185 31h0"></path>
+<path d="M315.5 31h309"></path>
+<rect x="185" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="35">"PRIMARY KEY"</text>
+</g>
+<path d="M624.5 31h20"></path>
+<path d="M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M185 61h0"></path>
+<path d="M264.5 61h360"></path>
+<rect x="185" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="224.75" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M624.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M165 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M185 100h0"></path>
+<path d="M624.5 100h0"></path>
+<path d="M185 100h10"></path>
+<g>
+<path d="M195 100h0"></path>
+<path d="M614.5 100h0"></path>
+<g class="non-terminal">
+<path d="M195 100h0"></path>
+<path d="M317 100h0"></path>
+<rect x="195" y="89" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="256" y="104">SQLFieldName</text>
+</a>
+</g>
+<path d="M317 100h10"></path>
+<g>
+<path d="M327 100h0"></path>
+<path d="M529 100h0"></path>
+<path d="M327 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M347 80h162"></path>
+</g>
+<path d="M509 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M327 100h20"></path>
+<g>
+<path d="M347 100h0"></path>
+<path d="M509 100h0"></path>
+<path d="M347 100h20"></path>
+<g class="terminal">
+<path d="M367 100h0"></path>
+<path d="M480.5 100h8.5"></path>
+<rect x="367" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="423.75" y="104">"ASCENDING"</text>
+</g>
+<path d="M489 100h20"></path>
+<path d="M347 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M367 130h0"></path>
+<path d="M489 130h0"></path>
+<rect x="367" y="119" width="122" height="22" rx="10" ry="10"></rect>
+<text x="428" y="134">"DESCENDING"</text>
+</g>
+<path d="M489 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M509 100h20"></path>
+</g>
+<g>
+<path d="M529 100h0"></path>
+<path d="M614.5 100h0"></path>
+<path d="M529 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M549 80h45.5"></path>
+</g>
+<path d="M594.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M529 100h20"></path>
+<g class="terminal">
+<path d="M549 100h0"></path>
+<path d="M594.5 100h0"></path>
+<rect x="549" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="571.75" y="104">","</text>
+</g>
+<path d="M594.5 100h20"></path>
+</g>
+</g>
+<path d="M614.5 100h10"></path>
+<path d="M195 100a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M195 149h419.5"></path>
+</g>
+<path d="M614.5 149a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M624.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M644.5 31h10"></path>
+<path d="M 654.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLPath.svg b/abap/expression_SQLPath.svg
new file mode 100644
index 00000000..4610b438
--- /dev/null
+++ b/abap/expression_SQLPath.svg
@@ -0,0 +1,75 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="310.5" height="62" viewBox="0 0 310.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M260.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">\\&#95;\w+</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g class="terminal">
+<path d="M141 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="141" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="168" y="35">!"-"</text>
+</g>
+<path d="M195 31h10"></path>
+<path d="M205 31h10"></path>
+<g class="terminal">
+<path d="M215 31h0"></path>
+<path d="M260.5 31h0"></path>
+<rect x="215" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="237.75" y="35">\w+</text>
+</g>
+</g>
+<path d="M260.5 31h10"></path>
+<path d="M 270.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLSource.svg b/abap/expression_SQLSource.svg
new file mode 100644
index 00000000..f1db38b8
--- /dev/null
+++ b/abap/expression_SQLSource.svg
@@ -0,0 +1,135 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="563" height="152" viewBox="0 0 563 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M523 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M190.5 31h312.5"></path>
+<rect x="60" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAliasField"><text x="125.25" y="35">SQLAliasField</text>
+</a>
+</g>
+<path d="M503 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M190.5 61h312.5"></path>
+<rect x="60" y="50" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="125.25" y="65">SimpleSource3</text>
+</a>
+</g>
+<path d="M503 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M503 91h0"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M126 91h0"></path>
+<text x="93" y="96" class="comment">v740sp05</text>
+</g>
+<path d="M126 91h10"></path>
+<path d="M136 91h10"></path>
+<g>
+<path d="M146 91h0"></path>
+<path d="M503 91h0"></path>
+<g class="terminal">
+<path d="M146 91h0"></path>
+<path d="M208.5 91h0"></path>
+<rect x="146" y="80" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="177.25" y="95">!" @"</text>
+</g>
+<path d="M208.5 91h10"></path>
+<g>
+<path d="M218.5 91h0"></path>
+<path d="M503 91h0"></path>
+<path d="M218.5 91h20"></path>
+<g class="non-terminal">
+<path d="M238.5 91h0"></path>
+<path d="M369 91h114"></path>
+<rect x="238.5" y="80" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="303.75" y="95">SimpleSource3</text>
+</a>
+</g>
+<path d="M483 91h20"></path>
+<path d="M218.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M238.5 121h0"></path>
+<path d="M483 121h0"></path>
+<g class="terminal">
+<path d="M238.5 121h0"></path>
+<path d="M301 121h0"></path>
+<rect x="238.5" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="269.75" y="125">!"( "</text>
+</g>
+<path d="M301 121h10"></path>
+<path d="M311 121h10"></path>
+<g class="non-terminal">
+<path d="M321 121h0"></path>
+<path d="M392 121h0"></path>
+<rect x="321" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="356.5" y="125">Source</text>
+</a>
+</g>
+<path d="M392 121h10"></path>
+<path d="M402 121h10"></path>
+<g class="terminal">
+<path d="M412 121h0"></path>
+<path d="M483 121h0"></path>
+<rect x="412" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="447.5" y="125">!" ) "</text>
+</g>
+</g>
+<path d="M483 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M503 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 523 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLSourceNoSpace.svg b/abap/expression_SQLSourceNoSpace.svg
new file mode 100644
index 00000000..bcb7cf1b
--- /dev/null
+++ b/abap/expression_SQLSourceNoSpace.svg
@@ -0,0 +1,135 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="554.5" height="152" viewBox="0 0 554.5 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M514.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M190.5 31h304"></path>
+<rect x="60" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLAliasField"><text x="125.25" y="35">SQLAliasField</text>
+</a>
+</g>
+<path d="M494.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M190.5 61h304"></path>
+<rect x="60" y="50" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="125.25" y="65">SimpleSource3</text>
+</a>
+</g>
+<path d="M494.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M494.5 91h0"></path>
+<g>
+<path d="M60 91h0"></path>
+<path d="M126 91h0"></path>
+<text x="93" y="96" class="comment">v740sp05</text>
+</g>
+<path d="M126 91h10"></path>
+<path d="M136 91h10"></path>
+<g>
+<path d="M146 91h0"></path>
+<path d="M494.5 91h0"></path>
+<g class="terminal">
+<path d="M146 91h0"></path>
+<path d="M200 91h0"></path>
+<rect x="146" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="173" y="95">!"@"</text>
+</g>
+<path d="M200 91h10"></path>
+<g>
+<path d="M210 91h0"></path>
+<path d="M494.5 91h0"></path>
+<path d="M210 91h20"></path>
+<g class="non-terminal">
+<path d="M230 91h0"></path>
+<path d="M360.5 91h114"></path>
+<rect x="230" y="80" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="295.25" y="95">SimpleSource3</text>
+</a>
+</g>
+<path d="M474.5 91h20"></path>
+<path d="M210 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M230 121h0"></path>
+<path d="M474.5 121h0"></path>
+<g class="terminal">
+<path d="M230 121h0"></path>
+<path d="M292.5 121h0"></path>
+<rect x="230" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="261.25" y="125">!"( "</text>
+</g>
+<path d="M292.5 121h10"></path>
+<path d="M302.5 121h10"></path>
+<g class="non-terminal">
+<path d="M312.5 121h0"></path>
+<path d="M383.5 121h0"></path>
+<rect x="312.5" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="348" y="125">Source</text>
+</a>
+</g>
+<path d="M383.5 121h10"></path>
+<path d="M393.5 121h10"></path>
+<g class="terminal">
+<path d="M403.5 121h0"></path>
+<path d="M474.5 121h0"></path>
+<rect x="403.5" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="439" y="125">!" ) "</text>
+</g>
+</g>
+<path d="M474.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M494.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 514.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLSourceSimple.svg b/abap/expression_SQLSourceSimple.svg
new file mode 100644
index 00000000..86d452e8
--- /dev/null
+++ b/abap/expression_SQLSourceSimple.svg
@@ -0,0 +1,126 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="563" height="122" viewBox="0 0 563 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M523 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M190.5 31h312.5"></path>
+<rect x="60" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="125.25" y="35">SimpleSource3</text>
+</a>
+</g>
+<path d="M503 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M503 61h0"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M126 61h0"></path>
+<text x="93" y="66" class="comment">v740sp05</text>
+</g>
+<path d="M126 61h10"></path>
+<path d="M136 61h10"></path>
+<g>
+<path d="M146 61h0"></path>
+<path d="M503 61h0"></path>
+<g class="terminal">
+<path d="M146 61h0"></path>
+<path d="M208.5 61h0"></path>
+<rect x="146" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="177.25" y="65">!" @"</text>
+</g>
+<path d="M208.5 61h10"></path>
+<g>
+<path d="M218.5 61h0"></path>
+<path d="M503 61h0"></path>
+<path d="M218.5 61h20"></path>
+<g class="non-terminal">
+<path d="M238.5 61h0"></path>
+<path d="M369 61h114"></path>
+<rect x="238.5" y="50" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="303.75" y="65">SimpleSource3</text>
+</a>
+</g>
+<path d="M483 61h20"></path>
+<path d="M218.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M238.5 91h0"></path>
+<path d="M483 91h0"></path>
+<g class="terminal">
+<path d="M238.5 91h0"></path>
+<path d="M301 91h0"></path>
+<rect x="238.5" y="80" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="269.75" y="95">!"( "</text>
+</g>
+<path d="M301 91h10"></path>
+<path d="M311 91h10"></path>
+<g class="non-terminal">
+<path d="M321 91h0"></path>
+<path d="M392 91h0"></path>
+<rect x="321" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="356.5" y="95">Source</text>
+</a>
+</g>
+<path d="M392 91h10"></path>
+<path d="M402 91h10"></path>
+<g class="terminal">
+<path d="M412 91h0"></path>
+<path d="M483 91h0"></path>
+<rect x="412" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="447.5" y="95">!" ) "</text>
+</g>
+</g>
+<path d="M483 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M503 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 523 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLTarget.svg b/abap/expression_SQLTarget.svg
new file mode 100644
index 00000000..a5894b6e
--- /dev/null
+++ b/abap/expression_SQLTarget.svg
@@ -0,0 +1,133 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="550" height="131" viewBox="0 0 550 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M510 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M490 40h0"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M126 40h0"></path>
+<text x="93" y="45" class="comment">v740sp05</text>
+</g>
+<path d="M126 40h10"></path>
+<path d="M136 40h10"></path>
+<g>
+<path d="M146 40h0"></path>
+<path d="M490 40h0"></path>
+<g>
+<path d="M146 40h0"></path>
+<path d="M306.5 40h0"></path>
+<path d="M146 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M166 20h120.5"></path>
+</g>
+<path d="M286.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M146 40h20"></path>
+<g>
+<path d="M166 40h0"></path>
+<path d="M286.5 40h0"></path>
+<g>
+<path d="M166 40h0"></path>
+<path d="M204 40h0"></path>
+<text x="185" y="45" class="comment">v754</text>
+</g>
+<path d="M204 40h10"></path>
+<path d="M214 40h10"></path>
+<g class="terminal">
+<path d="M224 40h0"></path>
+<path d="M286.5 40h0"></path>
+<rect x="224" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="255.25" y="44">"NEW"</text>
+</g>
+</g>
+<path d="M286.5 40h20"></path>
+</g>
+<g>
+<path d="M306.5 40h0"></path>
+<path d="M409 40h0"></path>
+<path d="M306.5 40h20"></path>
+<g class="terminal">
+<path d="M326.5 40h0"></path>
+<path d="M389 40h0"></path>
+<rect x="326.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="357.75" y="44">!" @"</text>
+</g>
+<path d="M389 40h20"></path>
+<path d="M306.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M326.5 70h0"></path>
+<path d="M380.5 70h8.5"></path>
+<rect x="326.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="353.5" y="74">!"@"</text>
+</g>
+<path d="M389 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M409 40h10"></path>
+<g class="non-terminal">
+<path d="M419 40h0"></path>
+<path d="M490 40h0"></path>
+<rect x="419" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="454.5" y="44">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M490 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 100h0"></path>
+<path d="M131 100h359"></path>
+<rect x="60" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="95.5" y="104">Target</text>
+</a>
+</g>
+<path d="M490 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 510 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SQLUpTo.svg b/abap/expression_SQLUpTo.svg
new file mode 100644
index 00000000..8187670d
--- /dev/null
+++ b/abap/expression_SQLUpTo.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="387" height="62" viewBox="0 0 387 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M337 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"UP TO"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="non-terminal">
+<path d="M149.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="149.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="197.75" y="35">SQLSource</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="266" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="301.5" y="35">"ROWS"</text>
+</g>
+</g>
+<path d="M337 31h10"></path>
+<path d="M 347 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Select.svg b/abap/expression_Select.svg
new file mode 100644
index 00000000..be133295
--- /dev/null
+++ b/abap/expression_Select.svg
@@ -0,0 +1,560 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1158" height="830" viewBox="0 0 1158 830">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1108 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"SELECT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M1108 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M1088 40h0"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M256 40h0"></path>
+<rect x="168" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="212" y="44">"SINGLE"</text>
+</g>
+<path d="M256 40h10"></path>
+<g>
+<path d="M266 40h0"></path>
+<path d="M428 40h0"></path>
+<path d="M266 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M286 20h122"></path>
+</g>
+<path d="M408 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M266 40h20"></path>
+<g class="terminal">
+<path d="M286 40h0"></path>
+<path d="M408 40h0"></path>
+<rect x="286" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="347" y="44">"FOR UPDATE"</text>
+</g>
+<path d="M408 40h20"></path>
+</g>
+<g>
+<path d="M428 40h0"></path>
+<path d="M812 40h0"></path>
+<path d="M428 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M448 20h344"></path>
+</g>
+<path d="M792 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M428 40h20"></path>
+<g>
+<path d="M448 40h0"></path>
+<path d="M792 40h0"></path>
+<path d="M448 40h20"></path>
+<g class="non-terminal">
+<path d="M468 40h0"></path>
+<path d="M590 40h182"></path>
+<rect x="468" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldList"><text x="529" y="44">SQLFieldList</text>
+</a>
+</g>
+<path d="M772 40h20"></path>
+<path d="M448 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468 70h0"></path>
+<path d="M772 70h0"></path>
+<g class="terminal">
+<path d="M468 70h0"></path>
+<path d="M539 70h0"></path>
+<rect x="468" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="503.5" y="74">!" ( "</text>
+</g>
+<path d="M539 70h10"></path>
+<path d="M549 70h10"></path>
+<g class="non-terminal">
+<path d="M559 70h0"></path>
+<path d="M681 70h0"></path>
+<rect x="559" y="59" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="620" y="74">SQLFieldName</text>
+</a>
+</g>
+<path d="M681 70h10"></path>
+<path d="M691 70h10"></path>
+<g class="terminal">
+<path d="M701 70h0"></path>
+<path d="M772 70h0"></path>
+<rect x="701" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="74">!" ) "</text>
+</g>
+</g>
+<path d="M772 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M792 40h20"></path>
+</g>
+<path d="M812 40h10"></path>
+<g>
+<path d="M822 40h0"></path>
+<path d="M1088 40h0"></path>
+<path d="M852 40h10"></path>
+<g class="non-terminal">
+<path d="M862 40h0"></path>
+<path d="M941.5 40h116.5"></path>
+<rect x="862" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="901.75" y="44">SQLFrom</text>
+</a>
+</g>
+<path d="M1058 40h10"></path>
+<path d="M852 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M862 70h0"></path>
+<path d="M1058 70h0"></path>
+<path d="M862 70h20"></path>
+<g class="non-terminal">
+<path d="M882 70h0"></path>
+<path d="M1038 70h0"></path>
+<rect x="882" y="59" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoStructure"><text x="960" y="74">SQLIntoStructure</text>
+</a>
+</g>
+<path d="M1038 70h20"></path>
+<path d="M862 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M882 100h0"></path>
+<path d="M995.5 100h42.5"></path>
+<rect x="882" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoList"><text x="938.75" y="104">SQLIntoList</text>
+</a>
+</g>
+<path d="M1038 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1058 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M852 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M862 130h0"></path>
+<path d="M1041 130h17"></path>
+<g class="terminal">
+<path d="M862 130h0"></path>
+<path d="M941.5 130h0"></path>
+<rect x="862" y="119" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="901.75" y="134">"WHERE"</text>
+</g>
+<path d="M941.5 130h10"></path>
+<path d="M951.5 130h10"></path>
+<g class="non-terminal">
+<path d="M961.5 130h0"></path>
+<path d="M1041 130h0"></path>
+<rect x="961.5" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="1001.25" y="134">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M1058 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M852 40v110a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M862 160h0"></path>
+<path d="M958.5 160h99.5"></path>
+<rect x="862" y="149" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="910.25" y="164">SQLClient</text>
+</a>
+</g>
+<path d="M1058 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M852 40v140a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M862 190h0"></path>
+<path d="M1035 190h23"></path>
+<rect x="862" y="179" width="173" height="22" rx="10" ry="10"></rect>
+<text x="948.5" y="194">"BYPASSING BUFFER"</text>
+</g>
+<path d="M1058 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M852 40v170a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M862 220h0"></path>
+<path d="M967 220h91"></path>
+<rect x="862" y="209" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLGroupBy"><text x="914.5" y="224">SQLGroupBy</text>
+</a>
+</g>
+<path d="M1058 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M852 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M862 250h0"></path>
+<path d="M1016.5 250h41.5"></path>
+<g>
+<path d="M862 250h0"></path>
+<path d="M900 250h0"></path>
+<text x="881" y="255" class="comment">v750</text>
+</g>
+<path d="M900 250h10"></path>
+<path d="M910 250h10"></path>
+<g class="non-terminal">
+<path d="M920 250h0"></path>
+<path d="M1016.5 250h0"></path>
+<rect x="920" y="239" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFields"><text x="968.25" y="254">SQLFields</text>
+</a>
+</g>
+</g>
+<path d="M1058 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M852 40v230a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M862 280h0"></path>
+<path d="M1035 280h23"></path>
+<rect x="862" y="269" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="948.5" y="284">DatabaseConnection</text>
+</a>
+</g>
+<path d="M1058 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M852 40v260a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M862 310h0"></path>
+<path d="M950 310h108"></path>
+<rect x="862" y="299" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLHints"><text x="906" y="314">SQLHints</text>
+</a>
+</g>
+<path d="M1058 310a10 10 0 0 0 10 -10v-260"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 852 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="837" y="44" class="diagram-text">1+</text>
+<path d="M 1068 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1075 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1088 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v289a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 349h0"></path>
+<path d="M1039.5 349h48.5"></path>
+<g>
+<path d="M168 349h0"></path>
+<path d="M313 349h0"></path>
+<path d="M168 349a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M188 329h105"></path>
+</g>
+<path d="M293 329a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M168 349h20"></path>
+<g class="terminal">
+<path d="M188 349h0"></path>
+<path d="M293 349h0"></path>
+<rect x="188" y="338" width="105" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="353">"DISTINCT"</text>
+</g>
+<path d="M293 349h20"></path>
+</g>
+<g>
+<path d="M313 349h0"></path>
+<path d="M697 349h0"></path>
+<path d="M313 349a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M333 329h344"></path>
+</g>
+<path d="M677 329a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M313 349h20"></path>
+<g>
+<path d="M333 349h0"></path>
+<path d="M677 349h0"></path>
+<path d="M333 349h20"></path>
+<g class="non-terminal">
+<path d="M353 349h0"></path>
+<path d="M475 349h182"></path>
+<rect x="353" y="338" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldList"><text x="414" y="353">SQLFieldList</text>
+</a>
+</g>
+<path d="M657 349h20"></path>
+<path d="M333 349a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M353 379h0"></path>
+<path d="M657 379h0"></path>
+<g class="terminal">
+<path d="M353 379h0"></path>
+<path d="M424 379h0"></path>
+<rect x="353" y="368" width="71" height="22" rx="10" ry="10"></rect>
+<text x="388.5" y="383">!" ( "</text>
+</g>
+<path d="M424 379h10"></path>
+<path d="M434 379h10"></path>
+<g class="non-terminal">
+<path d="M444 379h0"></path>
+<path d="M566 379h0"></path>
+<rect x="444" y="368" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldName"><text x="505" y="383">SQLFieldName</text>
+</a>
+</g>
+<path d="M566 379h10"></path>
+<path d="M576 379h10"></path>
+<g class="terminal">
+<path d="M586 379h0"></path>
+<path d="M657 379h0"></path>
+<rect x="586" y="368" width="71" height="22" rx="10" ry="10"></rect>
+<text x="621.5" y="383">!" ) "</text>
+</g>
+</g>
+<path d="M657 379a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M677 349h20"></path>
+</g>
+<path d="M697 349h10"></path>
+<g>
+<path d="M707 349h0"></path>
+<path d="M1039.5 349h0"></path>
+<path d="M737 349h10"></path>
+<g class="non-terminal">
+<path d="M747 349h0"></path>
+<path d="M826.5 349h183"></path>
+<rect x="747" y="338" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="786.75" y="353">SQLFrom</text>
+</a>
+</g>
+<path d="M1009.5 349h10"></path>
+<path d="M737 349v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M747 379h0"></path>
+<path d="M943 379h66.5"></path>
+<path d="M747 379h20"></path>
+<g class="non-terminal">
+<path d="M767 379h0"></path>
+<path d="M889 379h34"></path>
+<rect x="767" y="368" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoTable"><text x="828" y="383">SQLIntoTable</text>
+</a>
+</g>
+<path d="M923 379h20"></path>
+<path d="M747 379a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M767 409h0"></path>
+<path d="M923 409h0"></path>
+<rect x="767" y="398" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoStructure"><text x="845" y="413">SQLIntoStructure</text>
+</a>
+</g>
+<path d="M923 409a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M747 379a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M767 439h0"></path>
+<path d="M880.5 439h42.5"></path>
+<rect x="767" y="428" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoList"><text x="823.75" y="443">SQLIntoList</text>
+</a>
+</g>
+<path d="M923 439a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1009.5 379a10 10 0 0 0 10 -10v-20"></path>
+<path d="M737 349v110a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 469h0"></path>
+<path d="M903 469h106.5"></path>
+<rect x="747" y="458" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLForAllEntries"><text x="825" y="473">SQLForAllEntries</text>
+</a>
+</g>
+<path d="M1009.5 469a10 10 0 0 0 10 -10v-110"></path>
+<path d="M737 349v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M747 499h0"></path>
+<path d="M926 499h83.5"></path>
+<g class="terminal">
+<path d="M747 499h0"></path>
+<path d="M826.5 499h0"></path>
+<rect x="747" y="488" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="786.75" y="503">"WHERE"</text>
+</g>
+<path d="M826.5 499h10"></path>
+<path d="M836.5 499h10"></path>
+<g class="non-terminal">
+<path d="M846.5 499h0"></path>
+<path d="M926 499h0"></path>
+<rect x="846.5" y="488" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="886.25" y="503">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M1009.5 499a10 10 0 0 0 10 -10v-140"></path>
+<path d="M737 349v170a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 529h0"></path>
+<path d="M852 529h157.5"></path>
+<rect x="747" y="518" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLOrderBy"><text x="799.5" y="533">SQLOrderBy</text>
+</a>
+</g>
+<path d="M1009.5 529a10 10 0 0 0 10 -10v-170"></path>
+<path d="M737 349v200a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 559h0"></path>
+<path d="M826.5 559h183"></path>
+<rect x="747" y="548" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLUpTo"><text x="786.75" y="563">SQLUpTo</text>
+</a>
+</g>
+<path d="M1009.5 559a10 10 0 0 0 10 -10v-200"></path>
+<path d="M737 349v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M747 589h0"></path>
+<path d="M1009.5 589h0"></path>
+<g>
+<path d="M747 589h0"></path>
+<path d="M785 589h0"></path>
+<text x="766" y="594" class="comment">v751</text>
+</g>
+<path d="M785 589h10"></path>
+<path d="M795 589h10"></path>
+<g>
+<path d="M805 589h0"></path>
+<path d="M1009.5 589h0"></path>
+<g class="terminal">
+<path d="M805 589h0"></path>
+<path d="M893 589h0"></path>
+<rect x="805" y="578" width="88" height="22" rx="10" ry="10"></rect>
+<text x="849" y="593">"OFFSET"</text>
+</g>
+<path d="M893 589h10"></path>
+<path d="M903 589h10"></path>
+<g class="non-terminal">
+<path d="M913 589h0"></path>
+<path d="M1009.5 589h0"></path>
+<rect x="913" y="578" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="961.25" y="593">SQLSource</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1009.5 589a10 10 0 0 0 10 -10v-230"></path>
+<path d="M737 349v260a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 619h0"></path>
+<path d="M843.5 619h166"></path>
+<rect x="747" y="608" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="795.25" y="623">SQLClient</text>
+</a>
+</g>
+<path d="M1009.5 619a10 10 0 0 0 10 -10v-260"></path>
+<path d="M737 349v290a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 649h0"></path>
+<path d="M843.5 649h166"></path>
+<rect x="747" y="638" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLHaving"><text x="795.25" y="653">SQLHaving</text>
+</a>
+</g>
+<path d="M1009.5 649a10 10 0 0 0 10 -10v-290"></path>
+<path d="M737 349v320a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M747 679h0"></path>
+<path d="M920 679h89.5"></path>
+<rect x="747" y="668" width="173" height="22" rx="10" ry="10"></rect>
+<text x="833.5" y="683">"BYPASSING BUFFER"</text>
+</g>
+<path d="M1009.5 679a10 10 0 0 0 10 -10v-320"></path>
+<path d="M737 349v350a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 709h0"></path>
+<path d="M852 709h157.5"></path>
+<rect x="747" y="698" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLGroupBy"><text x="799.5" y="713">SQLGroupBy</text>
+</a>
+</g>
+<path d="M1009.5 709a10 10 0 0 0 10 -10v-350"></path>
+<path d="M737 349v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M747 739h0"></path>
+<path d="M901.5 739h108"></path>
+<g>
+<path d="M747 739h0"></path>
+<path d="M785 739h0"></path>
+<text x="766" y="744" class="comment">v750</text>
+</g>
+<path d="M785 739h10"></path>
+<path d="M795 739h10"></path>
+<g class="non-terminal">
+<path d="M805 739h0"></path>
+<path d="M901.5 739h0"></path>
+<rect x="805" y="728" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFields"><text x="853.25" y="743">SQLFields</text>
+</a>
+</g>
+</g>
+<path d="M1009.5 739a10 10 0 0 0 10 -10v-380"></path>
+<path d="M737 349v410a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 769h0"></path>
+<path d="M920 769h89.5"></path>
+<rect x="747" y="758" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="833.5" y="773">DatabaseConnection</text>
+</a>
+</g>
+<path d="M1009.5 769a10 10 0 0 0 10 -10v-410"></path>
+<path d="M737 349v440a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M747 799h0"></path>
+<path d="M835 799h174.5"></path>
+<rect x="747" y="788" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLHints"><text x="791" y="803">SQLHints</text>
+</a>
+</g>
+<path d="M1009.5 799a10 10 0 0 0 10 -10v-440"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 737 339 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="722" y="353" class="diagram-text">1+</text>
+<path d="M 1019.5 339 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1026.5 347 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1088 349a10 10 0 0 0 10 -10v-289a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1108 40h10"></path>
+<path d="M 1118 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SelectLoop.svg b/abap/expression_SelectLoop.svg
new file mode 100644
index 00000000..4046d938
--- /dev/null
+++ b/abap/expression_SelectLoop.svg
@@ -0,0 +1,516 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1334" height="568" viewBox="0 0 1334 568">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1284 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"SELECT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M1156 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M1136 40h0"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M313 40h0"></path>
+<path d="M168 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M188 20h105"></path>
+</g>
+<path d="M293 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M168 40h20"></path>
+<g class="terminal">
+<path d="M188 40h0"></path>
+<path d="M293 40h0"></path>
+<rect x="188" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="44">"DISTINCT"</text>
+</g>
+<path d="M293 40h20"></path>
+</g>
+<path d="M313 40h10"></path>
+<g class="non-terminal">
+<path d="M323 40h0"></path>
+<path d="M479 40h0"></path>
+<rect x="323" y="29" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldListLoop"><text x="401" y="44">SQLFieldListLoop</text>
+</a>
+</g>
+<path d="M479 40h10"></path>
+<path d="M489 40h10"></path>
+<g>
+<path d="M499 40h0"></path>
+<path d="M1136 40h0"></path>
+<path d="M529 40h10"></path>
+<g class="non-terminal">
+<path d="M539 40h0"></path>
+<path d="M618.5 40h487.5"></path>
+<rect x="539" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="578.75" y="44">SQLFrom</text>
+</a>
+</g>
+<path d="M1106 40h10"></path>
+<path d="M529 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M539 70h0"></path>
+<path d="M718 70h388"></path>
+<g class="terminal">
+<path d="M539 70h0"></path>
+<path d="M618.5 70h0"></path>
+<rect x="539" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="578.75" y="74">"WHERE"</text>
+</g>
+<path d="M618.5 70h10"></path>
+<path d="M628.5 70h10"></path>
+<g class="non-terminal">
+<path d="M638.5 70h0"></path>
+<path d="M718 70h0"></path>
+<rect x="638.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="678.25" y="74">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M1106 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M529 40v50a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 100h0"></path>
+<path d="M618.5 100h487.5"></path>
+<rect x="539" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLUpTo"><text x="578.75" y="104">SQLUpTo</text>
+</a>
+</g>
+<path d="M1106 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M529 40v80a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 130h0"></path>
+<path d="M644 130h462"></path>
+<rect x="539" y="119" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLOrderBy"><text x="591.5" y="134">SQLOrderBy</text>
+</a>
+</g>
+<path d="M1106 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M529 40v110a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 160h0"></path>
+<path d="M635.5 160h470.5"></path>
+<rect x="539" y="149" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLHaving"><text x="587.25" y="164">SQLHaving</text>
+</a>
+</g>
+<path d="M1106 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M529 40v140a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 190h0"></path>
+<path d="M635.5 190h470.5"></path>
+<rect x="539" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="587.25" y="194">SQLClient</text>
+</a>
+</g>
+<path d="M1106 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M529 40v170a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M539 220h0"></path>
+<path d="M712 220h394"></path>
+<rect x="539" y="209" width="173" height="22" rx="10" ry="10"></rect>
+<text x="625.5" y="224">"BYPASSING BUFFER"</text>
+</g>
+<path d="M1106 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M529 40v200a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 250h0"></path>
+<path d="M644 250h462"></path>
+<rect x="539" y="239" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLGroupBy"><text x="591.5" y="254">SQLGroupBy</text>
+</a>
+</g>
+<path d="M1106 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M529 40v230a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M539 280h0"></path>
+<path d="M695 280h411"></path>
+<rect x="539" y="269" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLForAllEntries"><text x="617" y="284">SQLForAllEntries</text>
+</a>
+</g>
+<path d="M1106 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M529 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M539 310h0"></path>
+<path d="M1106 310h0"></path>
+<path d="M539 310h20"></path>
+<g>
+<path d="M559 310h0"></path>
+<path d="M1086 310h0"></path>
+<g class="non-terminal">
+<path d="M559 310h0"></path>
+<path d="M681 310h0"></path>
+<rect x="559" y="299" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoTable"><text x="620" y="314">SQLIntoTable</text>
+</a>
+</g>
+<path d="M681 310h10"></path>
+<g>
+<path d="M691 310h0"></path>
+<path d="M1086 310h0"></path>
+<path d="M691 310h20"></path>
+<g>
+<path d="M711 310h0"></path>
+<path d="M966.5 310h99.5"></path>
+<g class="terminal">
+<path d="M711 310h0"></path>
+<path d="M850 310h0"></path>
+<rect x="711" y="299" width="139" height="22" rx="10" ry="10"></rect>
+<text x="780.5" y="314">"PACKAGE SIZE"</text>
+</g>
+<path d="M850 310h10"></path>
+<path d="M860 310h10"></path>
+<g class="non-terminal">
+<path d="M870 310h0"></path>
+<path d="M966.5 310h0"></path>
+<rect x="870" y="299" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="918.25" y="314">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M1066 310h20"></path>
+<path d="M691 310a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 340h0"></path>
+<path d="M1066 340h0"></path>
+<g class="non-terminal">
+<path d="M711 340h0"></path>
+<path d="M790.5 340h0"></path>
+<rect x="711" y="329" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="750.75" y="344">SQLFrom</text>
+</a>
+</g>
+<path d="M790.5 340h10"></path>
+<path d="M800.5 340h10"></path>
+<g>
+<path d="M810.5 340h0"></path>
+<path d="M1066 340h0"></path>
+<g class="terminal">
+<path d="M810.5 340h0"></path>
+<path d="M949.5 340h0"></path>
+<rect x="810.5" y="329" width="139" height="22" rx="10" ry="10"></rect>
+<text x="880" y="344">"PACKAGE SIZE"</text>
+</g>
+<path d="M949.5 340h10"></path>
+<path d="M959.5 340h10"></path>
+<g class="non-terminal">
+<path d="M969.5 340h0"></path>
+<path d="M1066 340h0"></path>
+<rect x="969.5" y="329" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="1017.75" y="344">SQLSource</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1066 340a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M691 310a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 370h0"></path>
+<path d="M1066 370h0"></path>
+<g>
+<path d="M711 370h0"></path>
+<path d="M966.5 370h0"></path>
+<g class="terminal">
+<path d="M711 370h0"></path>
+<path d="M850 370h0"></path>
+<rect x="711" y="359" width="139" height="22" rx="10" ry="10"></rect>
+<text x="780.5" y="374">"PACKAGE SIZE"</text>
+</g>
+<path d="M850 370h10"></path>
+<path d="M860 370h10"></path>
+<g class="non-terminal">
+<path d="M870 370h0"></path>
+<path d="M966.5 370h0"></path>
+<rect x="870" y="359" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="918.25" y="374">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M966.5 370h10"></path>
+<path d="M976.5 370h10"></path>
+<g class="non-terminal">
+<path d="M986.5 370h0"></path>
+<path d="M1066 370h0"></path>
+<rect x="986.5" y="359" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="1026.25" y="374">SQLFrom</text>
+</a>
+</g>
+</g>
+<path d="M1066 370a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1086 310h20"></path>
+<path d="M539 310a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M559 400h0"></path>
+<path d="M755 400h331"></path>
+<path d="M559 400h20"></path>
+<g class="non-terminal">
+<path d="M579 400h0"></path>
+<path d="M735 400h0"></path>
+<rect x="579" y="389" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoStructure"><text x="657" y="404">SQLIntoStructure</text>
+</a>
+</g>
+<path d="M735 400h20"></path>
+<path d="M559 400a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M579 430h0"></path>
+<path d="M692.5 430h42.5"></path>
+<rect x="579" y="419" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoList"><text x="635.75" y="434">SQLIntoList</text>
+</a>
+</g>
+<path d="M735 430a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1086 400a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M539 310a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M559 460h0"></path>
+<path d="M956.5 460h129.5"></path>
+<g>
+<path d="M559 460h0"></path>
+<path d="M814.5 460h0"></path>
+<g class="terminal">
+<path d="M559 460h0"></path>
+<path d="M698 460h0"></path>
+<rect x="559" y="449" width="139" height="22" rx="10" ry="10"></rect>
+<text x="628.5" y="464">"PACKAGE SIZE"</text>
+</g>
+<path d="M698 460h10"></path>
+<path d="M708 460h10"></path>
+<g class="non-terminal">
+<path d="M718 460h0"></path>
+<path d="M814.5 460h0"></path>
+<rect x="718" y="449" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="766.25" y="464">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M814.5 460h10"></path>
+<path d="M824.5 460h10"></path>
+<g class="non-terminal">
+<path d="M834.5 460h0"></path>
+<path d="M956.5 460h0"></path>
+<rect x="834.5" y="449" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoTable"><text x="895.5" y="464">SQLIntoTable</text>
+</a>
+</g>
+</g>
+<path d="M1086 460a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1106 310a10 10 0 0 0 10 -10v-260"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 529 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="514" y="44" class="diagram-text">1+</text>
+<path d="M 1116 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1123 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1136 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v447a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 507h0"></path>
+<path d="M1121.5 507h14.5"></path>
+<g class="non-terminal">
+<path d="M168 507h0"></path>
+<path d="M247.5 507h0"></path>
+<rect x="168" y="496" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFrom"><text x="207.75" y="511">SQLFrom</text>
+</a>
+</g>
+<path d="M247.5 507h10"></path>
+<path d="M257.5 507h10"></path>
+<g>
+<path d="M267.5 507h0"></path>
+<path d="M422 507h0"></path>
+<g>
+<path d="M267.5 507h0"></path>
+<path d="M305.5 507h0"></path>
+<text x="286.5" y="512" class="comment">v750</text>
+</g>
+<path d="M305.5 507h10"></path>
+<path d="M315.5 507h10"></path>
+<g class="non-terminal">
+<path d="M325.5 507h0"></path>
+<path d="M422 507h0"></path>
+<rect x="325.5" y="496" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFields"><text x="373.75" y="511">SQLFields</text>
+</a>
+</g>
+</g>
+<path d="M422 507h10"></path>
+<g>
+<path d="M432 507h0"></path>
+<path d="M1121.5 507h0"></path>
+<path d="M432 507a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M452 479h649.5"></path>
+</g>
+<path d="M1101.5 479a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M432 507h20"></path>
+<g>
+<path d="M452 507h0"></path>
+<path d="M1101.5 507h0"></path>
+<g>
+<path d="M452 507h0"></path>
+<path d="M631 507h0"></path>
+<g class="terminal">
+<path d="M452 507h0"></path>
+<path d="M531.5 507h0"></path>
+<rect x="452" y="496" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="491.75" y="511">"WHERE"</text>
+</g>
+<path d="M531.5 507h10"></path>
+<path d="M541.5 507h10"></path>
+<g class="non-terminal">
+<path d="M551.5 507h0"></path>
+<path d="M631 507h0"></path>
+<rect x="551.5" y="496" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="591.25" y="511">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M631 507h10"></path>
+<g>
+<path d="M641 507h0"></path>
+<path d="M786 507h0"></path>
+<path d="M641 507a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M661 487h105"></path>
+</g>
+<path d="M766 487a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M641 507h20"></path>
+<g class="non-terminal">
+<path d="M661 507h0"></path>
+<path d="M766 507h0"></path>
+<rect x="661" y="496" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLOrderBy"><text x="713.5" y="511">SQLOrderBy</text>
+</a>
+</g>
+<path d="M766 507h20"></path>
+</g>
+<g>
+<path d="M786 507h0"></path>
+<path d="M982 507h0"></path>
+<path d="M786 507h20"></path>
+<g class="non-terminal">
+<path d="M806 507h0"></path>
+<path d="M962 507h0"></path>
+<rect x="806" y="496" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoStructure"><text x="884" y="511">SQLIntoStructure</text>
+</a>
+</g>
+<path d="M962 507h20"></path>
+<path d="M786 507a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M806 537h0"></path>
+<path d="M919.5 537h42.5"></path>
+<rect x="806" y="526" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoList"><text x="862.75" y="541">SQLIntoList</text>
+</a>
+</g>
+<path d="M962 537a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M982 507h0"></path>
+<path d="M1101.5 507h0"></path>
+<path d="M982 507a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1002 487h79.5"></path>
+</g>
+<path d="M1081.5 487a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M982 507h20"></path>
+<g class="non-terminal">
+<path d="M1002 507h0"></path>
+<path d="M1081.5 507h0"></path>
+<rect x="1002" y="496" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLUpTo"><text x="1041.75" y="511">SQLUpTo</text>
+</a>
+</g>
+<path d="M1081.5 507h20"></path>
+</g>
+</g>
+<path d="M1101.5 507h20"></path>
+</g>
+</g>
+<path d="M1136 507a10 10 0 0 0 10 -10v-447a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1156 40h0"></path>
+<path d="M1284 40h0"></path>
+<path d="M1156 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1176 20h88"></path>
+</g>
+<path d="M1264 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1156 40h20"></path>
+<g class="non-terminal">
+<path d="M1176 40h0"></path>
+<path d="M1264 40h0"></path>
+<rect x="1176" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLHints"><text x="1220" y="44">SQLHints</text>
+</a>
+</g>
+<path d="M1264 40h20"></path>
+</g>
+</g>
+<path d="M1284 40h10"></path>
+<path d="M 1294 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleFieldChain.svg b/abap/expression_SimpleFieldChain.svg
new file mode 100644
index 00000000..e592dd53
--- /dev/null
+++ b/abap/expression_SimpleFieldChain.svg
@@ -0,0 +1,137 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="734" height="101" viewBox="0 0 734 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M684 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M419.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M399.5 40h0"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M166.5 40h0"></path>
+<rect x="70" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="118.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M166.5 40h10"></path>
+<path d="M176.5 40h10"></path>
+<g class="terminal">
+<path d="M186.5 40h0"></path>
+<path d="M249 40h0"></path>
+<rect x="186.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="44">!"=>"</text>
+</g>
+<path d="M249 40h10"></path>
+<path d="M259 40h10"></path>
+<g class="non-terminal">
+<path d="M269 40h0"></path>
+<path d="M399.5 40h0"></path>
+<rect x="269" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="334.25" y="44">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M399.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M132.5 70h267"></path>
+<rect x="70" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="101.25" y="74">Field</text>
+</a>
+</g>
+<path d="M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M419.5 40h0"></path>
+<path d="M684 40h0"></path>
+<path d="M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M439.5 20h224.5"></path>
+</g>
+<path d="M664 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M419.5 40h20"></path>
+<g>
+<path d="M439.5 40h0"></path>
+<path d="M664 40h0"></path>
+<path d="M439.5 40h10"></path>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M654 40h0"></path>
+<g class="terminal">
+<path d="M449.5 40h0"></path>
+<path d="M503.5 40h0"></path>
+<rect x="449.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="476.5" y="44">!"-"</text>
+</g>
+<path d="M503.5 40h10"></path>
+<path d="M513.5 40h10"></path>
+<g class="non-terminal">
+<path d="M523.5 40h0"></path>
+<path d="M654 40h0"></path>
+<rect x="523.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="588.75" y="44">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M654 40h10"></path>
+<path d="M449.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 60h204.5"></path>
+</g>
+<path d="M654 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M664 40h20"></path>
+</g>
+</g>
+<path d="M684 40h10"></path>
+<path d="M 694 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleFieldChain2.svg b/abap/expression_SimpleFieldChain2.svg
new file mode 100644
index 00000000..acf2aefa
--- /dev/null
+++ b/abap/expression_SimpleFieldChain2.svg
@@ -0,0 +1,173 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="782.5" height="131" viewBox="0 0 782.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M732.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M419.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M399.5 40h0"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M166.5 40h0"></path>
+<rect x="70" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="118.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M166.5 40h10"></path>
+<path d="M176.5 40h10"></path>
+<g class="terminal">
+<path d="M186.5 40h0"></path>
+<path d="M249 40h0"></path>
+<rect x="186.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="44">!"=>"</text>
+</g>
+<path d="M249 40h10"></path>
+<path d="M259 40h10"></path>
+<g class="non-terminal">
+<path d="M269 40h0"></path>
+<path d="M399.5 40h0"></path>
+<rect x="269" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="334.25" y="44">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M399.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h216"></path>
+<rect x="70" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceField"><text x="126.75" y="74">SourceField</text>
+</a>
+</g>
+<path d="M399.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 100h0"></path>
+<path d="M234.5 100h165"></path>
+<rect x="70" y="89" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="152.25" y="104">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M419.5 40h0"></path>
+<path d="M732.5 40h0"></path>
+<path d="M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M439.5 20h273"></path>
+</g>
+<path d="M712.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M419.5 40h20"></path>
+<g>
+<path d="M439.5 40h0"></path>
+<path d="M712.5 40h0"></path>
+<path d="M439.5 40h10"></path>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M702.5 40h0"></path>
+<path d="M449.5 40h20"></path>
+<g>
+<path d="M469.5 40h0"></path>
+<path d="M682.5 40h0"></path>
+<g class="terminal">
+<path d="M469.5 40h0"></path>
+<path d="M532 40h0"></path>
+<rect x="469.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="500.75" y="44">!"->"</text>
+</g>
+<path d="M532 40h10"></path>
+<path d="M542 40h10"></path>
+<g class="non-terminal">
+<path d="M552 40h0"></path>
+<path d="M682.5 40h0"></path>
+<rect x="552" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="617.25" y="44">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M682.5 40h20"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M469.5 70h0"></path>
+<path d="M674 70h8.5"></path>
+<g class="terminal">
+<path d="M469.5 70h0"></path>
+<path d="M523.5 70h0"></path>
+<rect x="469.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="496.5" y="74">!"-"</text>
+</g>
+<path d="M523.5 70h10"></path>
+<path d="M533.5 70h10"></path>
+<g class="non-terminal">
+<path d="M543.5 70h0"></path>
+<path d="M674 70h0"></path>
+<rect x="543.5" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="608.75" y="74">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M682.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M702.5 40h10"></path>
+<path d="M449.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 89h253"></path>
+</g>
+<path d="M702.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M712.5 40h20"></path>
+</g>
+</g>
+<path d="M732.5 40h10"></path>
+<path d="M 742.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleName.svg b/abap/expression_SimpleName.svg
new file mode 100644
index 00000000..58130c2d
--- /dev/null
+++ b/abap/expression_SimpleName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">^&#91;\w$%&#93;+$</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleSource1.svg b/abap/expression_SimpleSource1.svg
new file mode 100644
index 00000000..4b84d566
--- /dev/null
+++ b/abap/expression_SimpleSource1.svg
@@ -0,0 +1,142 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="542" height="200" viewBox="0 0 542 200">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M502 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h334"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="104" y="35">Constant</text>
+</a>
+</g>
+<path d="M482 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M173.5 61h308.5"></path>
+<rect x="60" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="116.75" y="65">TextElement</text>
+</a>
+</g>
+<path d="M482 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 91h0"></path>
+<path d="M207.5 91h274.5"></path>
+<rect x="60" y="80" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallChain"><text x="133.75" y="95">MethodCallChain</text>
+</a>
+</g>
+<path d="M482 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 130h0"></path>
+<path d="M482 130h0"></path>
+<g class="non-terminal">
+<path d="M60 130h0"></path>
+<path d="M199 130h0"></path>
+<rect x="60" y="119" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplate"><text x="129.5" y="134">StringTemplate</text>
+</a>
+</g>
+<path d="M199 130h10"></path>
+<g>
+<path d="M209 130h0"></path>
+<path d="M482 130h0"></path>
+<path d="M209 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M229 110h233"></path>
+</g>
+<path d="M462 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M209 130h20"></path>
+<g>
+<path d="M229 130h0"></path>
+<path d="M462 130h0"></path>
+<path d="M229 130h10"></path>
+<g>
+<path d="M239 130h0"></path>
+<path d="M452 130h0"></path>
+<g class="terminal">
+<path d="M239 130h0"></path>
+<path d="M293 130h0"></path>
+<rect x="239" y="119" width="54" height="22" rx="10" ry="10"></rect>
+<text x="266" y="134">"&#38;&#38;"</text>
+</g>
+<path d="M293 130h10"></path>
+<path d="M303 130h10"></path>
+<g class="non-terminal">
+<path d="M313 130h0"></path>
+<path d="M452 130h0"></path>
+<rect x="313" y="119" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplate"><text x="382.5" y="134">StringTemplate</text>
+</a>
+</g>
+</g>
+<path d="M452 130h10"></path>
+<path d="M239 130a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M239 150h213"></path>
+</g>
+<path d="M452 150a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M462 130h20"></path>
+</g>
+</g>
+<path d="M482 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 169h0"></path>
+<path d="M165 169h317"></path>
+<rect x="60" y="158" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="112.5" y="173">FieldChain</text>
+</a>
+</g>
+<path d="M482 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 502 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleSource2.svg b/abap/expression_SimpleSource2.svg
new file mode 100644
index 00000000..1524b771
--- /dev/null
+++ b/abap/expression_SimpleSource2.svg
@@ -0,0 +1,133 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="542" height="170" viewBox="0 0 542 170">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M502 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h334"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="104" y="35">Constant</text>
+</a>
+</g>
+<path d="M482 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M173.5 61h308.5"></path>
+<rect x="60" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="116.75" y="65">TextElement</text>
+</a>
+</g>
+<path d="M482 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M482 100h0"></path>
+<g class="non-terminal">
+<path d="M60 100h0"></path>
+<path d="M199 100h0"></path>
+<rect x="60" y="89" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplate"><text x="129.5" y="104">StringTemplate</text>
+</a>
+</g>
+<path d="M199 100h10"></path>
+<g>
+<path d="M209 100h0"></path>
+<path d="M482 100h0"></path>
+<path d="M209 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M229 80h233"></path>
+</g>
+<path d="M462 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M209 100h20"></path>
+<g>
+<path d="M229 100h0"></path>
+<path d="M462 100h0"></path>
+<path d="M229 100h10"></path>
+<g>
+<path d="M239 100h0"></path>
+<path d="M452 100h0"></path>
+<g class="terminal">
+<path d="M239 100h0"></path>
+<path d="M293 100h0"></path>
+<rect x="239" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="266" y="104">"&#38;&#38;"</text>
+</g>
+<path d="M293 100h10"></path>
+<path d="M303 100h10"></path>
+<g class="non-terminal">
+<path d="M313 100h0"></path>
+<path d="M452 100h0"></path>
+<rect x="313" y="89" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplate"><text x="382.5" y="104">StringTemplate</text>
+</a>
+</g>
+</g>
+<path d="M452 100h10"></path>
+<path d="M239 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M239 120h213"></path>
+</g>
+<path d="M452 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M462 100h20"></path>
+</g>
+</g>
+<path d="M482 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v88a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 139h0"></path>
+<path d="M165 139h317"></path>
+<rect x="60" y="128" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="112.5" y="143">FieldChain</text>
+</a>
+</g>
+<path d="M482 139a10 10 0 0 0 10 -10v-88a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 502 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleSource3.svg b/abap/expression_SimpleSource3.svg
new file mode 100644
index 00000000..eb5bb514
--- /dev/null
+++ b/abap/expression_SimpleSource3.svg
@@ -0,0 +1,78 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="233.5" height="122" viewBox="0 0 233.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M193.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h25.5"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="104" y="35">Constant</text>
+</a>
+</g>
+<path d="M173.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M173.5 61h0"></path>
+<rect x="60" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="116.75" y="65">TextElement</text>
+</a>
+</g>
+<path d="M173.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 91h0"></path>
+<path d="M165 91h8.5"></path>
+<rect x="60" y="80" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="112.5" y="95">FieldChain</text>
+</a>
+</g>
+<path d="M173.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 193.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleSource4.svg b/abap/expression_SimpleSource4.svg
new file mode 100644
index 00000000..39b32d8d
--- /dev/null
+++ b/abap/expression_SimpleSource4.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="267.5" height="152" viewBox="0 0 267.5 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M227.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h59.5"></path>
+<rect x="60" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="104" y="35">Constant</text>
+</a>
+</g>
+<path d="M207.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M173.5 61h34"></path>
+<rect x="60" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="116.75" y="65">TextElement</text>
+</a>
+</g>
+<path d="M207.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 91h0"></path>
+<path d="M165 91h42.5"></path>
+<rect x="60" y="80" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="112.5" y="95">FieldChain</text>
+</a>
+</g>
+<path d="M207.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 121h0"></path>
+<path d="M207.5 121h0"></path>
+<rect x="60" y="110" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallChain"><text x="133.75" y="125">MethodCallChain</text>
+</a>
+</g>
+<path d="M207.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 227.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SimpleTarget.svg b/abap/expression_SimpleTarget.svg
new file mode 100644
index 00000000..014daa70
--- /dev/null
+++ b/abap/expression_SimpleTarget.svg
@@ -0,0 +1,291 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1129.5" height="191" viewBox="0 0 1129.5 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1079.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M419.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M387 40h12.5"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M206.5 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="non-terminal">
+<path d="M90 40h0"></path>
+<path d="M144 40h42.5"></path>
+<rect x="90" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cast"><text x="117" y="44">Cast</text>
+</a>
+</g>
+<path d="M186.5 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 70h0"></path>
+<path d="M186.5 70h0"></path>
+<rect x="90" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NewObject"><text x="138.25" y="74">NewObject</text>
+</a>
+</g>
+<path d="M186.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M206.5 40h10"></path>
+<g class="non-terminal">
+<path d="M216.5 40h0"></path>
+<path d="M279 40h0"></path>
+<rect x="216.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Arrow"><text x="247.75" y="44">Arrow</text>
+</a>
+</g>
+<path d="M279 40h10"></path>
+<path d="M289 40h10"></path>
+<g class="non-terminal">
+<path d="M299 40h0"></path>
+<path d="M387 40h0"></path>
+<rect x="299" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldAll"><text x="343" y="44">FieldAll</text>
+</a>
+</g>
+</g>
+<path d="M399.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 100h0"></path>
+<path d="M399.5 100h0"></path>
+<g class="non-terminal">
+<path d="M70 100h0"></path>
+<path d="M166.5 100h0"></path>
+<rect x="70" y="89" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="118.25" y="104">ClassName</text>
+</a>
+</g>
+<path d="M166.5 100h10"></path>
+<path d="M176.5 100h10"></path>
+<g class="terminal">
+<path d="M186.5 100h0"></path>
+<path d="M249 100h0"></path>
+<rect x="186.5" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="104">!"=>"</text>
+</g>
+<path d="M249 100h10"></path>
+<path d="M259 100h10"></path>
+<g class="non-terminal">
+<path d="M269 100h0"></path>
+<path d="M399.5 100h0"></path>
+<rect x="269" y="89" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="334.25" y="104">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M399.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 130h0"></path>
+<path d="M183.5 130h216"></path>
+<rect x="70" y="119" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="126.75" y="134">TargetField</text>
+</a>
+</g>
+<path d="M399.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 160h0"></path>
+<path d="M234.5 160h165"></path>
+<rect x="70" y="149" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="152.25" y="164">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M399.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M419.5 40h0"></path>
+<path d="M732.5 40h0"></path>
+<path d="M419.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M439.5 20h273"></path>
+</g>
+<path d="M712.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M419.5 40h20"></path>
+<g>
+<path d="M439.5 40h0"></path>
+<path d="M712.5 40h0"></path>
+<path d="M439.5 40h10"></path>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M702.5 40h0"></path>
+<path d="M449.5 40h20"></path>
+<g class="non-terminal">
+<path d="M469.5 40h0"></path>
+<path d="M583 40h99.5"></path>
+<rect x="469.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dereference"><text x="526.25" y="44">Dereference</text>
+</a>
+</g>
+<path d="M682.5 40h20"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M469.5 70h0"></path>
+<path d="M682.5 70h0"></path>
+<g class="terminal">
+<path d="M469.5 70h0"></path>
+<path d="M532 70h0"></path>
+<rect x="469.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="500.75" y="74">!"->"</text>
+</g>
+<path d="M532 70h10"></path>
+<path d="M542 70h10"></path>
+<g class="non-terminal">
+<path d="M552 70h0"></path>
+<path d="M682.5 70h0"></path>
+<rect x="552" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="617.25" y="74">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M682.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M469.5 100h0"></path>
+<path d="M674 100h8.5"></path>
+<g class="terminal">
+<path d="M469.5 100h0"></path>
+<path d="M523.5 100h0"></path>
+<rect x="469.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="496.5" y="104">!"-"</text>
+</g>
+<path d="M523.5 100h10"></path>
+<path d="M533.5 100h10"></path>
+<g class="non-terminal">
+<path d="M543.5 100h0"></path>
+<path d="M674 100h0"></path>
+<rect x="543.5" y="89" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="608.75" y="104">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M682.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M449.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M469.5 130h0"></path>
+<path d="M617 130h65.5"></path>
+<rect x="469.5" y="119" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableExpression"><text x="543.25" y="134">TableExpression</text>
+</a>
+</g>
+<path d="M682.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M702.5 40h10"></path>
+<path d="M449.5 40a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 149h253"></path>
+</g>
+<path d="M702.5 149a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M712.5 40h20"></path>
+</g>
+<g>
+<path d="M732.5 40h0"></path>
+<path d="M1079.5 40h0"></path>
+<path d="M732.5 40h20"></path>
+<g class="non-terminal">
+<path d="M752.5 40h0"></path>
+<path d="M849 40h210.5"></path>
+<rect x="752.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="800.75" y="44">TableBody</text>
+</a>
+</g>
+<path d="M1059.5 40h20"></path>
+<path d="M732.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M752.5 79h0"></path>
+<path d="M1059.5 79h0"></path>
+<g>
+<path d="M752.5 79h0"></path>
+<path d="M906 79h0"></path>
+<path d="M752.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M772.5 59h113.5"></path>
+</g>
+<path d="M886 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M752.5 79h20"></path>
+<g class="non-terminal">
+<path d="M772.5 79h0"></path>
+<path d="M886 79h0"></path>
+<rect x="772.5" y="68" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="829.25" y="83">FieldOffset</text>
+</a>
+</g>
+<path d="M886 79h20"></path>
+</g>
+<g>
+<path d="M906 79h0"></path>
+<path d="M1059.5 79h0"></path>
+<path d="M906 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M926 59h113.5"></path>
+</g>
+<path d="M1039.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M906 79h20"></path>
+<g class="non-terminal">
+<path d="M926 79h0"></path>
+<path d="M1039.5 79h0"></path>
+<rect x="926" y="68" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="982.75" y="83">FieldLength</text>
+</a>
+</g>
+<path d="M1039.5 79h20"></path>
+</g>
+</g>
+<path d="M1059.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1079.5 40h10"></path>
+<path d="M 1089.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Source.svg b/abap/expression_Source.svg
new file mode 100644
index 00000000..6b9c1aa3
--- /dev/null
+++ b/abap/expression_Source.svg
@@ -0,0 +1,1425 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1489.5" height="1100" viewBox="0 0 1489.5 1100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1439.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M221 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h131"></path>
+</g>
+<path d="M201 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M201 40h0"></path>
+<path d="M70 40h10"></path>
+<g>
+<path d="M80 40h0"></path>
+<path d="M191 40h0"></path>
+<path d="M80 40h20"></path>
+<g class="terminal">
+<path d="M100 40h0"></path>
+<path d="M171 40h0"></path>
+<rect x="100" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="135.5" y="44">!" - "</text>
+</g>
+<path d="M171 40h20"></path>
+<path d="M80 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M100 70h0"></path>
+<path d="M171 70h0"></path>
+<rect x="100" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="135.5" y="74">!" + "</text>
+</g>
+<path d="M171 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M191 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 89h111"></path>
+</g>
+<path d="M191 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M201 40h20"></path>
+</g>
+<g>
+<path d="M221 40h0"></path>
+<path d="M1439.5 40h0"></path>
+<path d="M221 40h20"></path>
+<g>
+<path d="M241 40h0"></path>
+<path d="M881 40h538.5"></path>
+<g>
+<path d="M241 40h0"></path>
+<path d="M307 40h0"></path>
+<text x="274" y="45" class="comment">v740sp08</text>
+</g>
+<path d="M307 40h10"></path>
+<path d="M317 40h10"></path>
+<g>
+<path d="M327 40h0"></path>
+<path d="M881 40h0"></path>
+<g class="terminal">
+<path d="M327 40h0"></path>
+<path d="M415 40h0"></path>
+<rect x="327" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="371" y="44">"FILTER"</text>
+</g>
+<path d="M415 40h10"></path>
+<path d="M425 40h10"></path>
+<g class="non-terminal">
+<path d="M435 40h0"></path>
+<path d="M582.5 40h0"></path>
+<rect x="435" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="508.75" y="44">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M582.5 40h10"></path>
+<path d="M592.5 40h10"></path>
+<g class="terminal">
+<path d="M602.5 40h0"></path>
+<path d="M665 40h0"></path>
+<rect x="602.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="633.75" y="44">!"( "</text>
+</g>
+<path d="M665 40h10"></path>
+<path d="M675 40h10"></path>
+<g class="non-terminal">
+<path d="M685 40h0"></path>
+<path d="M790 40h0"></path>
+<rect x="685" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FilterBody"><text x="737.5" y="44">FilterBody</text>
+</a>
+</g>
+<path d="M790 40h10"></path>
+<path d="M800 40h10"></path>
+<g class="terminal">
+<path d="M810 40h0"></path>
+<path d="M881 40h0"></path>
+<rect x="810" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="845.5" y="44">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1419.5 40h20"></path>
+<path d="M221 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 79h0"></path>
+<path d="M966.5 79h453"></path>
+<g>
+<path d="M241 79h0"></path>
+<path d="M307 79h0"></path>
+<text x="274" y="84" class="comment">v740sp02</text>
+</g>
+<path d="M307 79h10"></path>
+<path d="M317 79h10"></path>
+<g>
+<path d="M327 79h0"></path>
+<path d="M966.5 79h0"></path>
+<g class="terminal">
+<path d="M327 79h0"></path>
+<path d="M389.5 79h0"></path>
+<rect x="327" y="68" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="358.25" y="83">"REF"</text>
+</g>
+<path d="M389.5 79h10"></path>
+<path d="M399.5 79h10"></path>
+<g class="non-terminal">
+<path d="M409.5 79h0"></path>
+<path d="M557 79h0"></path>
+<rect x="409.5" y="68" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="483.25" y="83">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M557 79h10"></path>
+<path d="M567 79h10"></path>
+<g class="terminal">
+<path d="M577 79h0"></path>
+<path d="M639.5 79h0"></path>
+<rect x="577" y="68" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="608.25" y="83">!"( "</text>
+</g>
+<path d="M639.5 79h10"></path>
+<path d="M649.5 79h10"></path>
+<g class="non-terminal">
+<path d="M659.5 79h0"></path>
+<path d="M730.5 79h0"></path>
+<rect x="659.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="695" y="83">Source</text>
+</a>
+</g>
+<path d="M730.5 79h10"></path>
+<g>
+<path d="M740.5 79h0"></path>
+<path d="M885.5 79h0"></path>
+<path d="M740.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M760.5 59h105"></path>
+</g>
+<path d="M865.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M740.5 79h20"></path>
+<g class="terminal">
+<path d="M760.5 79h0"></path>
+<path d="M865.5 79h0"></path>
+<rect x="760.5" y="68" width="105" height="22" rx="10" ry="10"></rect>
+<text x="813" y="83">"OPTIONAL"</text>
+</g>
+<path d="M865.5 79h20"></path>
+</g>
+<path d="M885.5 79h10"></path>
+<g class="terminal">
+<path d="M895.5 79h0"></path>
+<path d="M966.5 79h0"></path>
+<rect x="895.5" y="68" width="71" height="22" rx="10" ry="10"></rect>
+<text x="931" y="83">!" ) "</text>
+</g>
+</g>
+</g>
+<path d="M1419.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v58a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 118h0"></path>
+<path d="M1301.5 118h118"></path>
+<g>
+<path d="M241 118h0"></path>
+<path d="M307 118h0"></path>
+<text x="274" y="123" class="comment">v740sp05</text>
+</g>
+<path d="M307 118h10"></path>
+<path d="M317 118h10"></path>
+<g>
+<path d="M327 118h0"></path>
+<path d="M1301.5 118h0"></path>
+<g class="terminal">
+<path d="M327 118h0"></path>
+<path d="M474.5 118h0"></path>
+<rect x="327" y="107" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="400.75" y="122">"CORRESPONDING"</text>
+</g>
+<path d="M474.5 118h10"></path>
+<path d="M484.5 118h10"></path>
+<g class="non-terminal">
+<path d="M494.5 118h0"></path>
+<path d="M642 118h0"></path>
+<rect x="494.5" y="107" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="568.25" y="122">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M642 118h10"></path>
+<path d="M652 118h10"></path>
+<g class="terminal">
+<path d="M662 118h0"></path>
+<path d="M724.5 118h0"></path>
+<rect x="662" y="107" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="693.25" y="122">!"( "</text>
+</g>
+<path d="M724.5 118h10"></path>
+<path d="M734.5 118h10"></path>
+<g class="non-terminal">
+<path d="M744.5 118h0"></path>
+<path d="M909 118h0"></path>
+<rect x="744.5" y="107" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CorrespondingBody"><text x="826.75" y="122">CorrespondingBody</text>
+</a>
+</g>
+<path d="M909 118h10"></path>
+<path d="M919 118h10"></path>
+<g class="terminal">
+<path d="M929 118h0"></path>
+<path d="M1000 118h0"></path>
+<rect x="929" y="107" width="71" height="22" rx="10" ry="10"></rect>
+<text x="964.5" y="122">!" ) "</text>
+</g>
+<path d="M1000 118h10"></path>
+<g>
+<path d="M1010 118h0"></path>
+<path d="M1301.5 118h0"></path>
+<path d="M1010 118a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1030 98h251.5"></path>
+</g>
+<path d="M1281.5 98a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1010 118h20"></path>
+<g>
+<path d="M1030 118h0"></path>
+<path d="M1281.5 118h0"></path>
+<g>
+<path d="M1030 118h0"></path>
+<path d="M1200.5 118h0"></path>
+<path d="M1030 118h20"></path>
+<g class="terminal">
+<path d="M1050 118h0"></path>
+<path d="M1095.5 118h85"></path>
+<rect x="1050" y="107" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1072.75" y="122">"&#38;"</text>
+</g>
+<path d="M1180.5 118h20"></path>
+<path d="M1030 118a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1050 148h0"></path>
+<path d="M1104 148h76.5"></path>
+<rect x="1050" y="137" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1077" y="152">"&#38;&#38;"</text>
+</g>
+<path d="M1180.5 148a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1030 118a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1050 178h0"></path>
+<path d="M1180.5 178h0"></path>
+<rect x="1050" y="167" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="1115.25" y="182">ArithOperator</text>
+</a>
+</g>
+<path d="M1180.5 178a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1200.5 118h10"></path>
+<g class="non-terminal">
+<path d="M1210.5 118h0"></path>
+<path d="M1281.5 118h0"></path>
+<rect x="1210.5" y="107" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1246" y="122">Source</text>
+</a>
+</g>
+</g>
+<path d="M1281.5 118h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 118a10 10 0 0 0 10 -10v-58a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v157a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 217h0"></path>
+<path d="M1188.5 217h231"></path>
+<g>
+<path d="M241 217h0"></path>
+<path d="M307 217h0"></path>
+<text x="274" y="222" class="comment">v740sp02</text>
+</g>
+<path d="M307 217h10"></path>
+<path d="M317 217h10"></path>
+<g>
+<path d="M327 217h0"></path>
+<path d="M1188.5 217h0"></path>
+<g class="terminal">
+<path d="M327 217h0"></path>
+<path d="M398 217h0"></path>
+<rect x="327" y="206" width="71" height="22" rx="10" ry="10"></rect>
+<text x="362.5" y="221">"CONV"</text>
+</g>
+<path d="M398 217h10"></path>
+<path d="M408 217h10"></path>
+<g class="non-terminal">
+<path d="M418 217h0"></path>
+<path d="M565.5 217h0"></path>
+<rect x="418" y="206" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="491.75" y="221">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M565.5 217h10"></path>
+<g>
+<path d="M575.5 217h0"></path>
+<path d="M678 217h0"></path>
+<path d="M575.5 217h20"></path>
+<g class="terminal">
+<path d="M595.5 217h0"></path>
+<path d="M649.5 217h8.5"></path>
+<rect x="595.5" y="206" width="54" height="22" rx="10" ry="10"></rect>
+<text x="622.5" y="221">!"("</text>
+</g>
+<path d="M658 217h20"></path>
+<path d="M575.5 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M595.5 247h0"></path>
+<path d="M658 247h0"></path>
+<rect x="595.5" y="236" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="626.75" y="251">!"( "</text>
+</g>
+<path d="M658 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M678 217h10"></path>
+<g class="non-terminal">
+<path d="M688 217h0"></path>
+<path d="M776 217h0"></path>
+<rect x="688" y="206" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/ConvBody"><text x="732" y="221">ConvBody</text>
+</a>
+</g>
+<path d="M776 217h10"></path>
+<g>
+<path d="M786 217h0"></path>
+<path d="M897 217h0"></path>
+<path d="M786 217h20"></path>
+<g class="terminal">
+<path d="M806 217h0"></path>
+<path d="M868.5 217h8.5"></path>
+<rect x="806" y="206" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="837.25" y="221">!") "</text>
+</g>
+<path d="M877 217h20"></path>
+<path d="M786 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M806 247h0"></path>
+<path d="M877 247h0"></path>
+<rect x="806" y="236" width="71" height="22" rx="10" ry="10"></rect>
+<text x="841.5" y="251">!" ) "</text>
+</g>
+<path d="M877 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M897 217h0"></path>
+<path d="M1188.5 217h0"></path>
+<path d="M897 217a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M917 197h251.5"></path>
+</g>
+<path d="M1168.5 197a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M897 217h20"></path>
+<g>
+<path d="M917 217h0"></path>
+<path d="M1168.5 217h0"></path>
+<g>
+<path d="M917 217h0"></path>
+<path d="M1087.5 217h0"></path>
+<path d="M917 217h20"></path>
+<g class="terminal">
+<path d="M937 217h0"></path>
+<path d="M982.5 217h85"></path>
+<rect x="937" y="206" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="959.75" y="221">"&#38;"</text>
+</g>
+<path d="M1067.5 217h20"></path>
+<path d="M917 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M937 247h0"></path>
+<path d="M991 247h76.5"></path>
+<rect x="937" y="236" width="54" height="22" rx="10" ry="10"></rect>
+<text x="964" y="251">"&#38;&#38;"</text>
+</g>
+<path d="M1067.5 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M917 217a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M937 277h0"></path>
+<path d="M1067.5 277h0"></path>
+<rect x="937" y="266" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="1002.25" y="281">ArithOperator</text>
+</a>
+</g>
+<path d="M1067.5 277a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1087.5 217h10"></path>
+<g class="non-terminal">
+<path d="M1097.5 217h0"></path>
+<path d="M1168.5 217h0"></path>
+<rect x="1097.5" y="206" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1133" y="221">Source</text>
+</a>
+</g>
+</g>
+<path d="M1168.5 217h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 217a10 10 0 0 0 10 -10v-157a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v256a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 316h0"></path>
+<path d="M1185.5 316h234"></path>
+<g>
+<path d="M241 316h0"></path>
+<path d="M307 316h0"></path>
+<text x="274" y="321" class="comment">v740sp02</text>
+</g>
+<path d="M307 316h10"></path>
+<path d="M317 316h10"></path>
+<g>
+<path d="M327 316h0"></path>
+<path d="M1185.5 316h0"></path>
+<g class="terminal">
+<path d="M327 316h0"></path>
+<path d="M406.5 316h0"></path>
+<rect x="327" y="305" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="366.75" y="320">"VALUE"</text>
+</g>
+<path d="M406.5 316h10"></path>
+<path d="M416.5 316h10"></path>
+<g class="non-terminal">
+<path d="M426.5 316h0"></path>
+<path d="M574 316h0"></path>
+<rect x="426.5" y="305" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="500.25" y="320">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M574 316h10"></path>
+<path d="M584 316h10"></path>
+<g class="terminal">
+<path d="M594 316h0"></path>
+<path d="M656.5 316h0"></path>
+<rect x="594" y="305" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="625.25" y="320">!"( "</text>
+</g>
+<path d="M656.5 316h10"></path>
+<path d="M666.5 316h10"></path>
+<g class="non-terminal">
+<path d="M676.5 316h0"></path>
+<path d="M773 316h0"></path>
+<rect x="676.5" y="305" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ValueBody"><text x="724.75" y="320">ValueBody</text>
+</a>
+</g>
+<path d="M773 316h10"></path>
+<g>
+<path d="M783 316h0"></path>
+<path d="M894 316h0"></path>
+<path d="M783 316h20"></path>
+<g class="terminal">
+<path d="M803 316h0"></path>
+<path d="M865.5 316h8.5"></path>
+<rect x="803" y="305" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="834.25" y="320">!") "</text>
+</g>
+<path d="M874 316h20"></path>
+<path d="M783 316a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M803 346h0"></path>
+<path d="M874 346h0"></path>
+<rect x="803" y="335" width="71" height="22" rx="10" ry="10"></rect>
+<text x="838.5" y="350">!" ) "</text>
+</g>
+<path d="M874 346a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M894 316h0"></path>
+<path d="M1185.5 316h0"></path>
+<path d="M894 316a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M914 296h251.5"></path>
+</g>
+<path d="M1165.5 296a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M894 316h20"></path>
+<g>
+<path d="M914 316h0"></path>
+<path d="M1165.5 316h0"></path>
+<g>
+<path d="M914 316h0"></path>
+<path d="M1084.5 316h0"></path>
+<path d="M914 316h20"></path>
+<g class="terminal">
+<path d="M934 316h0"></path>
+<path d="M979.5 316h85"></path>
+<rect x="934" y="305" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="956.75" y="320">"&#38;"</text>
+</g>
+<path d="M1064.5 316h20"></path>
+<path d="M914 316a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M934 346h0"></path>
+<path d="M988 346h76.5"></path>
+<rect x="934" y="335" width="54" height="22" rx="10" ry="10"></rect>
+<text x="961" y="350">"&#38;&#38;"</text>
+</g>
+<path d="M1064.5 346a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M914 316a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M934 376h0"></path>
+<path d="M1064.5 376h0"></path>
+<rect x="934" y="365" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="999.25" y="380">ArithOperator</text>
+</a>
+</g>
+<path d="M1064.5 376a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1084.5 316h10"></path>
+<g class="non-terminal">
+<path d="M1094.5 316h0"></path>
+<path d="M1165.5 316h0"></path>
+<rect x="1094.5" y="305" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1130" y="320">Source</text>
+</a>
+</g>
+</g>
+<path d="M1165.5 316h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 316a10 10 0 0 0 10 -10v-256a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v355a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 415h0"></path>
+<path d="M1168.5 415h251"></path>
+<g>
+<path d="M241 415h0"></path>
+<path d="M307 415h0"></path>
+<text x="274" y="420" class="comment">v740sp02</text>
+</g>
+<path d="M307 415h10"></path>
+<path d="M317 415h10"></path>
+<g>
+<path d="M327 415h0"></path>
+<path d="M1168.5 415h0"></path>
+<g class="terminal">
+<path d="M327 415h0"></path>
+<path d="M398 415h0"></path>
+<rect x="327" y="404" width="71" height="22" rx="10" ry="10"></rect>
+<text x="362.5" y="419">"COND"</text>
+</g>
+<path d="M398 415h10"></path>
+<path d="M408 415h10"></path>
+<g class="non-terminal">
+<path d="M418 415h0"></path>
+<path d="M565.5 415h0"></path>
+<rect x="418" y="404" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="491.75" y="419">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M565.5 415h10"></path>
+<path d="M575.5 415h10"></path>
+<g class="terminal">
+<path d="M585.5 415h0"></path>
+<path d="M648 415h0"></path>
+<rect x="585.5" y="404" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="616.75" y="419">!"( "</text>
+</g>
+<path d="M648 415h10"></path>
+<path d="M658 415h10"></path>
+<g class="non-terminal">
+<path d="M668 415h0"></path>
+<path d="M756 415h0"></path>
+<rect x="668" y="404" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/CondBody"><text x="712" y="419">CondBody</text>
+</a>
+</g>
+<path d="M756 415h10"></path>
+<g>
+<path d="M766 415h0"></path>
+<path d="M877 415h0"></path>
+<path d="M766 415h20"></path>
+<g class="terminal">
+<path d="M786 415h0"></path>
+<path d="M848.5 415h8.5"></path>
+<rect x="786" y="404" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="817.25" y="419">!") "</text>
+</g>
+<path d="M857 415h20"></path>
+<path d="M766 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M786 445h0"></path>
+<path d="M857 445h0"></path>
+<rect x="786" y="434" width="71" height="22" rx="10" ry="10"></rect>
+<text x="821.5" y="449">!" ) "</text>
+</g>
+<path d="M857 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M877 415h0"></path>
+<path d="M1168.5 415h0"></path>
+<path d="M877 415a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M897 395h251.5"></path>
+</g>
+<path d="M1148.5 395a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M877 415h20"></path>
+<g>
+<path d="M897 415h0"></path>
+<path d="M1148.5 415h0"></path>
+<g>
+<path d="M897 415h0"></path>
+<path d="M1067.5 415h0"></path>
+<path d="M897 415h20"></path>
+<g class="terminal">
+<path d="M917 415h0"></path>
+<path d="M962.5 415h85"></path>
+<rect x="917" y="404" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="939.75" y="419">"&#38;"</text>
+</g>
+<path d="M1047.5 415h20"></path>
+<path d="M897 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M917 445h0"></path>
+<path d="M971 445h76.5"></path>
+<rect x="917" y="434" width="54" height="22" rx="10" ry="10"></rect>
+<text x="944" y="449">"&#38;&#38;"</text>
+</g>
+<path d="M1047.5 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M897 415a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M917 475h0"></path>
+<path d="M1047.5 475h0"></path>
+<rect x="917" y="464" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="982.25" y="479">ArithOperator</text>
+</a>
+</g>
+<path d="M1047.5 475a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1067.5 415h10"></path>
+<g class="non-terminal">
+<path d="M1077.5 415h0"></path>
+<path d="M1148.5 415h0"></path>
+<rect x="1077.5" y="404" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1113" y="419">Source</text>
+</a>
+</g>
+</g>
+<path d="M1148.5 415h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 415a10 10 0 0 0 10 -10v-355a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v454a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 514h0"></path>
+<path d="M1140 514h279.5"></path>
+<g>
+<path d="M241 514h0"></path>
+<path d="M307 514h0"></path>
+<text x="274" y="519" class="comment">v740sp02</text>
+</g>
+<path d="M307 514h10"></path>
+<path d="M317 514h10"></path>
+<g>
+<path d="M327 514h0"></path>
+<path d="M1140 514h0"></path>
+<g class="terminal">
+<path d="M327 514h0"></path>
+<path d="M406.5 514h0"></path>
+<rect x="327" y="503" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="366.75" y="518">"EXACT"</text>
+</g>
+<path d="M406.5 514h10"></path>
+<path d="M416.5 514h10"></path>
+<g class="non-terminal">
+<path d="M426.5 514h0"></path>
+<path d="M574 514h0"></path>
+<rect x="426.5" y="503" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="500.25" y="518">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M574 514h10"></path>
+<path d="M584 514h10"></path>
+<g class="terminal">
+<path d="M594 514h0"></path>
+<path d="M656.5 514h0"></path>
+<rect x="594" y="503" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="625.25" y="518">!"( "</text>
+</g>
+<path d="M656.5 514h10"></path>
+<path d="M666.5 514h10"></path>
+<g class="non-terminal">
+<path d="M676.5 514h0"></path>
+<path d="M747.5 514h0"></path>
+<rect x="676.5" y="503" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="712" y="518">Source</text>
+</a>
+</g>
+<path d="M747.5 514h10"></path>
+<path d="M757.5 514h10"></path>
+<g class="terminal">
+<path d="M767.5 514h0"></path>
+<path d="M838.5 514h0"></path>
+<rect x="767.5" y="503" width="71" height="22" rx="10" ry="10"></rect>
+<text x="803" y="518">!" ) "</text>
+</g>
+<path d="M838.5 514h10"></path>
+<g>
+<path d="M848.5 514h0"></path>
+<path d="M1140 514h0"></path>
+<path d="M848.5 514a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M868.5 494h251.5"></path>
+</g>
+<path d="M1120 494a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M848.5 514h20"></path>
+<g>
+<path d="M868.5 514h0"></path>
+<path d="M1120 514h0"></path>
+<g>
+<path d="M868.5 514h0"></path>
+<path d="M1039 514h0"></path>
+<path d="M868.5 514h20"></path>
+<g class="terminal">
+<path d="M888.5 514h0"></path>
+<path d="M934 514h85"></path>
+<rect x="888.5" y="503" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="911.25" y="518">"&#38;"</text>
+</g>
+<path d="M1019 514h20"></path>
+<path d="M868.5 514a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M888.5 544h0"></path>
+<path d="M942.5 544h76.5"></path>
+<rect x="888.5" y="533" width="54" height="22" rx="10" ry="10"></rect>
+<text x="915.5" y="548">"&#38;&#38;"</text>
+</g>
+<path d="M1019 544a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M868.5 514a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M888.5 574h0"></path>
+<path d="M1019 574h0"></path>
+<rect x="888.5" y="563" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="953.75" y="578">ArithOperator</text>
+</a>
+</g>
+<path d="M1019 574a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1039 514h10"></path>
+<g class="non-terminal">
+<path d="M1049 514h0"></path>
+<path d="M1120 514h0"></path>
+<rect x="1049" y="503" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1084.5" y="518">Source</text>
+</a>
+</g>
+</g>
+<path d="M1120 514h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 514a10 10 0 0 0 10 -10v-454a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v553a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 613h0"></path>
+<path d="M1202.5 613h217"></path>
+<g>
+<path d="M241 613h0"></path>
+<path d="M307 613h0"></path>
+<text x="274" y="618" class="comment">v740sp02</text>
+</g>
+<path d="M307 613h10"></path>
+<path d="M317 613h10"></path>
+<g>
+<path d="M327 613h0"></path>
+<path d="M1202.5 613h0"></path>
+<g class="terminal">
+<path d="M327 613h0"></path>
+<path d="M415 613h0"></path>
+<rect x="327" y="602" width="88" height="22" rx="10" ry="10"></rect>
+<text x="371" y="617">"SWITCH"</text>
+</g>
+<path d="M415 613h10"></path>
+<path d="M425 613h10"></path>
+<g class="non-terminal">
+<path d="M435 613h0"></path>
+<path d="M582.5 613h0"></path>
+<rect x="435" y="602" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="508.75" y="617">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M582.5 613h10"></path>
+<path d="M592.5 613h10"></path>
+<g class="terminal">
+<path d="M602.5 613h0"></path>
+<path d="M665 613h0"></path>
+<rect x="602.5" y="602" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="633.75" y="617">!"( "</text>
+</g>
+<path d="M665 613h10"></path>
+<path d="M675 613h10"></path>
+<g class="non-terminal">
+<path d="M685 613h0"></path>
+<path d="M790 613h0"></path>
+<rect x="685" y="602" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SwitchBody"><text x="737.5" y="617">SwitchBody</text>
+</a>
+</g>
+<path d="M790 613h10"></path>
+<g>
+<path d="M800 613h0"></path>
+<path d="M911 613h0"></path>
+<path d="M800 613h20"></path>
+<g class="terminal">
+<path d="M820 613h0"></path>
+<path d="M882.5 613h8.5"></path>
+<rect x="820" y="602" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="851.25" y="617">!") "</text>
+</g>
+<path d="M891 613h20"></path>
+<path d="M800 613a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M820 643h0"></path>
+<path d="M891 643h0"></path>
+<rect x="820" y="632" width="71" height="22" rx="10" ry="10"></rect>
+<text x="855.5" y="647">!" ) "</text>
+</g>
+<path d="M891 643a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M911 613h0"></path>
+<path d="M1202.5 613h0"></path>
+<path d="M911 613a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M931 593h251.5"></path>
+</g>
+<path d="M1182.5 593a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M911 613h20"></path>
+<g>
+<path d="M931 613h0"></path>
+<path d="M1182.5 613h0"></path>
+<g>
+<path d="M931 613h0"></path>
+<path d="M1101.5 613h0"></path>
+<path d="M931 613h20"></path>
+<g class="terminal">
+<path d="M951 613h0"></path>
+<path d="M996.5 613h85"></path>
+<rect x="951" y="602" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="973.75" y="617">"&#38;"</text>
+</g>
+<path d="M1081.5 613h20"></path>
+<path d="M931 613a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M951 643h0"></path>
+<path d="M1005 643h76.5"></path>
+<rect x="951" y="632" width="54" height="22" rx="10" ry="10"></rect>
+<text x="978" y="647">"&#38;&#38;"</text>
+</g>
+<path d="M1081.5 643a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M931 613a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M951 673h0"></path>
+<path d="M1081.5 673h0"></path>
+<rect x="951" y="662" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="1016.25" y="677">ArithOperator</text>
+</a>
+</g>
+<path d="M1081.5 673a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1101.5 613h10"></path>
+<g class="non-terminal">
+<path d="M1111.5 613h0"></path>
+<path d="M1182.5 613h0"></path>
+<rect x="1111.5" y="602" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1147" y="617">Source</text>
+</a>
+</g>
+</g>
+<path d="M1182.5 613h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 613a10 10 0 0 0 10 -10v-553a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v652a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 712h0"></path>
+<path d="M1182.5 712h237"></path>
+<g>
+<path d="M241 712h0"></path>
+<path d="M307 712h0"></path>
+<text x="274" y="717" class="comment">v740sp08</text>
+</g>
+<path d="M307 712h10"></path>
+<path d="M317 712h10"></path>
+<g>
+<path d="M327 712h0"></path>
+<path d="M1182.5 712h0"></path>
+<g class="terminal">
+<path d="M327 712h0"></path>
+<path d="M415 712h0"></path>
+<rect x="327" y="701" width="88" height="22" rx="10" ry="10"></rect>
+<text x="371" y="716">"REDUCE"</text>
+</g>
+<path d="M415 712h10"></path>
+<path d="M425 712h10"></path>
+<g class="non-terminal">
+<path d="M435 712h0"></path>
+<path d="M582.5 712h0"></path>
+<rect x="435" y="701" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="508.75" y="716">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M582.5 712h10"></path>
+<path d="M592.5 712h10"></path>
+<g class="terminal">
+<path d="M602.5 712h0"></path>
+<path d="M665 712h0"></path>
+<rect x="602.5" y="701" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="633.75" y="716">!"( "</text>
+</g>
+<path d="M665 712h10"></path>
+<path d="M675 712h10"></path>
+<g class="non-terminal">
+<path d="M685 712h0"></path>
+<path d="M790 712h0"></path>
+<rect x="685" y="701" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ReduceBody"><text x="737.5" y="716">ReduceBody</text>
+</a>
+</g>
+<path d="M790 712h10"></path>
+<path d="M800 712h10"></path>
+<g class="terminal">
+<path d="M810 712h0"></path>
+<path d="M881 712h0"></path>
+<rect x="810" y="701" width="71" height="22" rx="10" ry="10"></rect>
+<text x="845.5" y="716">!" ) "</text>
+</g>
+<path d="M881 712h10"></path>
+<g>
+<path d="M891 712h0"></path>
+<path d="M1182.5 712h0"></path>
+<path d="M891 712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M911 692h251.5"></path>
+</g>
+<path d="M1162.5 692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M891 712h20"></path>
+<g>
+<path d="M911 712h0"></path>
+<path d="M1162.5 712h0"></path>
+<g>
+<path d="M911 712h0"></path>
+<path d="M1081.5 712h0"></path>
+<path d="M911 712h20"></path>
+<g class="terminal">
+<path d="M931 712h0"></path>
+<path d="M976.5 712h85"></path>
+<rect x="931" y="701" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="953.75" y="716">"&#38;"</text>
+</g>
+<path d="M1061.5 712h20"></path>
+<path d="M911 712a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M931 742h0"></path>
+<path d="M985 742h76.5"></path>
+<rect x="931" y="731" width="54" height="22" rx="10" ry="10"></rect>
+<text x="958" y="746">"&#38;&#38;"</text>
+</g>
+<path d="M1061.5 742a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M911 712a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M931 772h0"></path>
+<path d="M1061.5 772h0"></path>
+<rect x="931" y="761" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="996.25" y="776">ArithOperator</text>
+</a>
+</g>
+<path d="M1061.5 772a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1081.5 712h10"></path>
+<g class="non-terminal">
+<path d="M1091.5 712h0"></path>
+<path d="M1162.5 712h0"></path>
+<rect x="1091.5" y="701" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1127" y="716">Source</text>
+</a>
+</g>
+</g>
+<path d="M1162.5 712h20"></path>
+</g>
+</g>
+</g>
+<path d="M1419.5 712a10 10 0 0 0 10 -10v-652a10 10 0 0 1 10 -10"></path>
+<path d="M221 40a10 10 0 0 1 10 10v751a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M241 811h0"></path>
+<path d="M1419.5 811h0"></path>
+<g>
+<path d="M241 811h0"></path>
+<path d="M417.5 811h0"></path>
+<path d="M241 811a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M261 791h136.5"></path>
+</g>
+<path d="M397.5 791a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M241 811h20"></path>
+<g>
+<path d="M261 811h0"></path>
+<path d="M397.5 811h0"></path>
+<path d="M261 811h20"></path>
+<g class="terminal">
+<path d="M281 811h0"></path>
+<path d="M343.5 811h34"></path>
+<rect x="281" y="800" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="312.25" y="815">!" +"</text>
+</g>
+<path d="M377.5 811h20"></path>
+<path d="M261 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M281 841h0"></path>
+<path d="M377.5 841h0"></path>
+<rect x="281" y="830" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="329.25" y="845">"BIT-NOT"</text>
+</g>
+<path d="M377.5 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M397.5 811h20"></path>
+</g>
+<g>
+<path d="M417.5 811h0"></path>
+<path d="M1128 811h0"></path>
+<path d="M417.5 811h20"></path>
+<g class="non-terminal">
+<path d="M437.5 811h0"></path>
+<path d="M525.5 811h582.5"></path>
+<rect x="437.5" y="800" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="481.5" y="815">Constant</text>
+</a>
+</g>
+<path d="M1108 811h20"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M437.5 841h0"></path>
+<path d="M576.5 841h531.5"></path>
+<rect x="437.5" y="830" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplate"><text x="507" y="845">StringTemplate</text>
+</a>
+</g>
+<path d="M1108 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M437.5 871h0"></path>
+<path d="M551 871h557"></path>
+<rect x="437.5" y="860" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="494.25" y="875">TextElement</text>
+</a>
+</g>
+<path d="M1108 871a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437.5 901h0"></path>
+<path d="M872 901h236"></path>
+<g>
+<path d="M437.5 901h0"></path>
+<path d="M660 901h0"></path>
+<path d="M437.5 901h20"></path>
+<g>
+<path d="M457.5 901h0"></path>
+<path d="M595 901h45"></path>
+<g>
+<path d="M457.5 901h0"></path>
+<path d="M495.5 901h0"></path>
+<text x="476.5" y="906" class="comment">v702</text>
+</g>
+<path d="M495.5 901h10"></path>
+<path d="M505.5 901h10"></path>
+<g class="terminal">
+<path d="M515.5 901h0"></path>
+<path d="M595 901h0"></path>
+<rect x="515.5" y="890" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="555.25" y="905">^BOOLC$</text>
+</g>
+</g>
+<path d="M640 901h20"></path>
+<path d="M437.5 901a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M457.5 931h0"></path>
+<path d="M640 931h0"></path>
+<g>
+<path d="M457.5 931h0"></path>
+<path d="M523.5 931h0"></path>
+<text x="490.5" y="936" class="comment">v740sp08</text>
+</g>
+<path d="M523.5 931h10"></path>
+<path d="M533.5 931h10"></path>
+<g class="terminal">
+<path d="M543.5 931h0"></path>
+<path d="M640 931h0"></path>
+<rect x="543.5" y="920" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="591.75" y="935">^XSDBOOL$</text>
+</g>
+</g>
+<path d="M640 931a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M660 901h10"></path>
+<g class="terminal">
+<path d="M670 901h0"></path>
+<path d="M732.5 901h0"></path>
+<rect x="670" y="890" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="701.25" y="905">!"( "</text>
+</g>
+<path d="M732.5 901h10"></path>
+<path d="M742.5 901h10"></path>
+<g class="non-terminal">
+<path d="M752.5 901h0"></path>
+<path d="M806.5 901h0"></path>
+<rect x="752.5" y="890" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="779.5" y="905">Cond</text>
+</a>
+</g>
+<path d="M806.5 901h10"></path>
+<path d="M816.5 901h10"></path>
+<g class="terminal">
+<path d="M826.5 901h0"></path>
+<path d="M872 901h0"></path>
+<rect x="826.5" y="890" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="849.25" y="905">")"</text>
+</g>
+</g>
+<path d="M1108 901a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437.5 970h0"></path>
+<path d="M1108 970h0"></path>
+<g class="non-terminal">
+<path d="M437.5 970h0"></path>
+<path d="M585 970h0"></path>
+<rect x="437.5" y="959" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallChain"><text x="511.25" y="974">MethodCallChain</text>
+</a>
+</g>
+<path d="M585 970h10"></path>
+<g>
+<path d="M595 970h0"></path>
+<path d="M896.5 970h0"></path>
+<path d="M595 970a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M615 950h261.5"></path>
+</g>
+<path d="M876.5 950a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M595 970h20"></path>
+<g>
+<path d="M615 970h0"></path>
+<path d="M876.5 970h0"></path>
+<path d="M615 970h20"></path>
+<g>
+<path d="M635 970h0"></path>
+<path d="M856.5 970h0"></path>
+<g class="non-terminal">
+<path d="M635 970h0"></path>
+<path d="M697.5 970h0"></path>
+<rect x="635" y="959" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Arrow"><text x="666.25" y="974">Arrow</text>
+</a>
+</g>
+<path d="M697.5 970h10"></path>
+<path d="M707.5 970h10"></path>
+<g class="non-terminal">
+<path d="M717.5 970h0"></path>
+<path d="M856.5 970h0"></path>
+<rect x="717.5" y="959" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeChain"><text x="787" y="974">AttributeChain</text>
+</a>
+</g>
+</g>
+<path d="M856.5 970h20"></path>
+<path d="M615 970a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M635 1000h0"></path>
+<path d="M848 1000h8.5"></path>
+<g class="terminal">
+<path d="M635 1000h0"></path>
+<path d="M689 1000h0"></path>
+<rect x="635" y="989" width="54" height="22" rx="10" ry="10"></rect>
+<text x="662" y="1004">!"-"</text>
+</g>
+<path d="M689 1000h10"></path>
+<path d="M699 1000h10"></path>
+<g class="non-terminal">
+<path d="M709 1000h0"></path>
+<path d="M848 1000h0"></path>
+<rect x="709" y="989" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChain"><text x="778.5" y="1004">ComponentChain</text>
+</a>
+</g>
+</g>
+<path d="M856.5 1000a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M876.5 970h20"></path>
+</g>
+<g>
+<path d="M896.5 970h0"></path>
+<path d="M1108 970h0"></path>
+<path d="M896.5 970a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M916.5 950h171.5"></path>
+</g>
+<path d="M1088 950a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M896.5 970h20"></path>
+<g>
+<path d="M916.5 970h0"></path>
+<path d="M1088 970h0"></path>
+<g>
+<path d="M916.5 970h0"></path>
+<path d="M954.5 970h0"></path>
+<text x="935.5" y="975" class="comment">v756</text>
+</g>
+<path d="M954.5 970h10"></path>
+<path d="M964.5 970h10"></path>
+<g class="non-terminal">
+<path d="M974.5 970h0"></path>
+<path d="M1088 970h0"></path>
+<rect x="974.5" y="959" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dereference"><text x="1031.25" y="974">Dereference</text>
+</a>
+</g>
+</g>
+<path d="M1088 970h20"></path>
+</g>
+</g>
+<path d="M1108 970a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437.5 1039h0"></path>
+<path d="M764 1039h344"></path>
+<g class="non-terminal">
+<path d="M437.5 1039h0"></path>
+<path d="M542.5 1039h0"></path>
+<rect x="437.5" y="1028" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="490" y="1043">FieldChain</text>
+</a>
+</g>
+<path d="M542.5 1039h10"></path>
+<g>
+<path d="M552.5 1039h0"></path>
+<path d="M764 1039h0"></path>
+<path d="M552.5 1039a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M572.5 1019h171.5"></path>
+</g>
+<path d="M744 1019a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M552.5 1039h20"></path>
+<g>
+<path d="M572.5 1039h0"></path>
+<path d="M744 1039h0"></path>
+<g>
+<path d="M572.5 1039h0"></path>
+<path d="M610.5 1039h0"></path>
+<text x="591.5" y="1044" class="comment">v756</text>
+</g>
+<path d="M610.5 1039h10"></path>
+<path d="M620.5 1039h10"></path>
+<g class="non-terminal">
+<path d="M630.5 1039h0"></path>
+<path d="M744 1039h0"></path>
+<rect x="630.5" y="1028" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dereference"><text x="687.25" y="1043">Dereference</text>
+</a>
+</g>
+</g>
+<path d="M744 1039h20"></path>
+</g>
+</g>
+<path d="M1108 1039a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 811a10 10 0 0 1 10 10v238a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437.5 1069h0"></path>
+<path d="M690.5 1069h417.5"></path>
+<g class="terminal">
+<path d="M437.5 1069h0"></path>
+<path d="M508.5 1069h0"></path>
+<rect x="437.5" y="1058" width="71" height="22" rx="10" ry="10"></rect>
+<text x="473" y="1073">!" ( "</text>
+</g>
+<path d="M508.5 1069h10"></path>
+<path d="M518.5 1069h10"></path>
+<g class="non-terminal">
+<path d="M528.5 1069h0"></path>
+<path d="M599.5 1069h0"></path>
+<rect x="528.5" y="1058" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="564" y="1073">Source</text>
+</a>
+</g>
+<path d="M599.5 1069h10"></path>
+<path d="M609.5 1069h10"></path>
+<g class="terminal">
+<path d="M619.5 1069h0"></path>
+<path d="M690.5 1069h0"></path>
+<rect x="619.5" y="1058" width="71" height="22" rx="10" ry="10"></rect>
+<text x="655" y="1073">!" ) "</text>
+</g>
+</g>
+<path d="M1108 1069a10 10 0 0 0 10 -10v-238a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1128 811h0"></path>
+<path d="M1419.5 811h0"></path>
+<path d="M1128 811a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1148 791h251.5"></path>
+</g>
+<path d="M1399.5 791a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1128 811h20"></path>
+<g>
+<path d="M1148 811h0"></path>
+<path d="M1399.5 811h0"></path>
+<g>
+<path d="M1148 811h0"></path>
+<path d="M1318.5 811h0"></path>
+<path d="M1148 811h20"></path>
+<g class="terminal">
+<path d="M1168 811h0"></path>
+<path d="M1213.5 811h85"></path>
+<rect x="1168" y="800" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1190.75" y="815">"&#38;"</text>
+</g>
+<path d="M1298.5 811h20"></path>
+<path d="M1148 811a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1168 841h0"></path>
+<path d="M1222 841h76.5"></path>
+<rect x="1168" y="830" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1195" y="845">"&#38;&#38;"</text>
+</g>
+<path d="M1298.5 841a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1148 811a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1168 871h0"></path>
+<path d="M1298.5 871h0"></path>
+<rect x="1168" y="860" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArithOperator"><text x="1233.25" y="875">ArithOperator</text>
+</a>
+</g>
+<path d="M1298.5 871a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1318.5 811h10"></path>
+<g class="non-terminal">
+<path d="M1328.5 811h0"></path>
+<path d="M1399.5 811h0"></path>
+<rect x="1328.5" y="800" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1364" y="815">Source</text>
+</a>
+</g>
+</g>
+<path d="M1399.5 811h20"></path>
+</g>
+</g>
+<path d="M1419.5 811a10 10 0 0 0 10 -10v-751a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1439.5 40h10"></path>
+<path d="M 1449.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SourceField.svg b/abap/expression_SourceField.svg
new file mode 100644
index 00000000..0af8d7b9
--- /dev/null
+++ b/abap/expression_SourceField.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="81.25" y="35">Field</text>
+</a>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SourceFieldSymbol.svg b/abap/expression_SourceFieldSymbol.svg
new file mode 100644
index 00000000..71558986
--- /dev/null
+++ b/abap/expression_SourceFieldSymbol.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="213.5" height="62" viewBox="0 0 213.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="106.75" y="35">FieldSymbol</text>
+</a>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M 173.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SourceFieldSymbolChain.svg b/abap/expression_SourceFieldSymbolChain.svg
new file mode 100644
index 00000000..72e9379c
--- /dev/null
+++ b/abap/expression_SourceFieldSymbolChain.svg
@@ -0,0 +1,103 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="547.5" height="80" viewBox="0 0 547.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M497.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="106.75" y="44">FieldSymbol</text>
+</a>
+</g>
+<path d="M163.5 40h10"></path>
+<g>
+<path d="M173.5 40h0"></path>
+<path d="M497.5 40h0"></path>
+<path d="M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M193.5 20h284"></path>
+</g>
+<path d="M477.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M173.5 40h20"></path>
+<g>
+<path d="M193.5 40h0"></path>
+<path d="M477.5 40h0"></path>
+<path d="M193.5 40h10"></path>
+<g>
+<path d="M203.5 40h0"></path>
+<path d="M467.5 40h0"></path>
+<g class="non-terminal">
+<path d="M203.5 40h0"></path>
+<path d="M317 40h0"></path>
+<rect x="203.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ArrowOrDash"><text x="260.25" y="44">ArrowOrDash</text>
+</a>
+</g>
+<path d="M317 40h10"></path>
+<path d="M327 40h10"></path>
+<g class="non-terminal">
+<path d="M337 40h0"></path>
+<path d="M467.5 40h0"></path>
+<rect x="337" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="402.25" y="44">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M467.5 40h10"></path>
+<path d="M203.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M203.5 60h264"></path>
+</g>
+<path d="M467.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M477.5 40h20"></path>
+</g>
+</g>
+<path d="M497.5 40h10"></path>
+<path d="M 507.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_StringTemplate.svg b/abap/expression_StringTemplate.svg
new file mode 100644
index 00000000..db9c984a
--- /dev/null
+++ b/abap/expression_StringTemplate.svg
@@ -0,0 +1,141 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1300.5" height="110" viewBox="0 0 1300.5 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1250.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v702</text>
+</g>
+<path d="M88 40h10"></path>
+<g>
+<path d="M98 40h0"></path>
+<path d="M1250.5 40h0"></path>
+<path d="M98 40h20"></path>
+<g>
+<path d="M118 40h0"></path>
+<path d="M1230.5 40h0"></path>
+<g class="terminal">
+<path d="M118 40h0"></path>
+<path d="M325 40h0"></path>
+<rect x="118" y="29" width="207" height="22" rx="10" ry="10"></rect>
+<text x="221.5" y="44">!"STRINGTEMPLATEBEGIN"</text>
+</g>
+<path d="M325 40h10"></path>
+<path d="M335 40h10"></path>
+<g class="non-terminal">
+<path d="M345 40h0"></path>
+<path d="M535 40h0"></path>
+<rect x="345" y="29" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplateSource"><text x="440" y="44">StringTemplateSource</text>
+</a>
+</g>
+<path d="M535 40h10"></path>
+<g>
+<path d="M545 40h0"></path>
+<path d="M1030.5 40h0"></path>
+<path d="M545 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M565 20h445.5"></path>
+</g>
+<path d="M1010.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M545 40h20"></path>
+<g>
+<path d="M565 40h0"></path>
+<path d="M1010.5 40h0"></path>
+<path d="M565 40h10"></path>
+<g>
+<path d="M575 40h0"></path>
+<path d="M1000.5 40h0"></path>
+<g class="terminal">
+<path d="M575 40h0"></path>
+<path d="M790.5 40h0"></path>
+<rect x="575" y="29" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="682.75" y="44">!"STRINGTEMPLATEMIDDLE"</text>
+</g>
+<path d="M790.5 40h10"></path>
+<path d="M800.5 40h10"></path>
+<g class="non-terminal">
+<path d="M810.5 40h0"></path>
+<path d="M1000.5 40h0"></path>
+<rect x="810.5" y="29" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplateSource"><text x="905.5" y="44">StringTemplateSource</text>
+</a>
+</g>
+</g>
+<path d="M1000.5 40h10"></path>
+<path d="M575 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M575 60h425.5"></path>
+</g>
+<path d="M1000.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1010.5 40h20"></path>
+</g>
+<path d="M1030.5 40h10"></path>
+<g class="terminal">
+<path d="M1040.5 40h0"></path>
+<path d="M1230.5 40h0"></path>
+<rect x="1040.5" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="1135.5" y="44">!"STRINGTEMPLATEEND"</text>
+</g>
+</g>
+<path d="M1230.5 40h20"></path>
+<path d="M98 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M118 79h0"></path>
+<path d="M282.5 79h948"></path>
+<rect x="118" y="68" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="200.25" y="83">!"STRINGTEMPLATE"</text>
+</g>
+<path d="M1230.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1250.5 40h10"></path>
+<path d="M 1260.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_StringTemplateFormatting.svg b/abap/expression_StringTemplateFormatting.svg
new file mode 100644
index 00000000..eb9ef7c4
--- /dev/null
+++ b/abap/expression_StringTemplateFormatting.svg
@@ -0,0 +1,887 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="541.5" height="1892" viewBox="0 0 541.5 1892">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M501.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M328.5 31h153"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M148 31h0"></path>
+<rect x="60" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="35">"TIME ="</text>
+</g>
+<path d="M148 31h10"></path>
+<g>
+<path d="M158 31h0"></path>
+<path d="M328.5 31h0"></path>
+<path d="M158 31h20"></path>
+<g class="terminal">
+<path d="M178 31h0"></path>
+<path d="M240.5 31h68"></path>
+<rect x="178" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="35">"RAW"</text>
+</g>
+<path d="M308.5 31h20"></path>
+<path d="M158 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 61h0"></path>
+<path d="M240.5 61h68"></path>
+<rect x="178" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="65">"ISO"</text>
+</g>
+<path d="M308.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M158 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 91h0"></path>
+<path d="M249 91h59.5"></path>
+<rect x="178" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="213.5" y="95">"USER"</text>
+</g>
+<path d="M308.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M158 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 121h0"></path>
+<path d="M308.5 121h0"></path>
+<rect x="178" y="110" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="243.25" y="125">"ENVIRONMENT"</text>
+</g>
+<path d="M308.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M158 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 151h0"></path>
+<path d="M249 151h59.5"></path>
+<rect x="178" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="213.5" y="155">Source</text>
+</a>
+</g>
+<path d="M308.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M158 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 181h0"></path>
+<path d="M257.5 181h51"></path>
+<rect x="178" y="170" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="217.75" y="185">Dynamic</text>
+</a>
+</g>
+<path d="M308.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 211h0"></path>
+<path d="M328.5 211h153"></path>
+<g class="terminal">
+<path d="M60 211h0"></path>
+<path d="M148 211h0"></path>
+<rect x="60" y="200" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="215">"DATE ="</text>
+</g>
+<path d="M148 211h10"></path>
+<g>
+<path d="M158 211h0"></path>
+<path d="M328.5 211h0"></path>
+<path d="M158 211h20"></path>
+<g class="terminal">
+<path d="M178 211h0"></path>
+<path d="M240.5 211h68"></path>
+<rect x="178" y="200" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="215">"RAW"</text>
+</g>
+<path d="M308.5 211h20"></path>
+<path d="M158 211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 241h0"></path>
+<path d="M240.5 241h68"></path>
+<rect x="178" y="230" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="245">"ISO"</text>
+</g>
+<path d="M308.5 241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M158 211a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 271h0"></path>
+<path d="M249 271h59.5"></path>
+<rect x="178" y="260" width="71" height="22" rx="10" ry="10"></rect>
+<text x="213.5" y="275">"USER"</text>
+</g>
+<path d="M308.5 271a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M158 211a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 301h0"></path>
+<path d="M308.5 301h0"></path>
+<rect x="178" y="290" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="243.25" y="305">"ENVIRONMENT"</text>
+</g>
+<path d="M308.5 301a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M158 211a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 331h0"></path>
+<path d="M249 331h59.5"></path>
+<rect x="178" y="320" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="213.5" y="335">Source</text>
+</a>
+</g>
+<path d="M308.5 331a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M158 211a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 361h0"></path>
+<path d="M257.5 361h51"></path>
+<rect x="178" y="350" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="217.75" y="365">Dynamic</text>
+</a>
+</g>
+<path d="M308.5 361a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 391h0"></path>
+<path d="M277.5 391h204"></path>
+<g class="terminal">
+<path d="M60 391h0"></path>
+<path d="M148 391h0"></path>
+<rect x="60" y="380" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="395">"CASE ="</text>
+</g>
+<path d="M148 391h10"></path>
+<g>
+<path d="M158 391h0"></path>
+<path d="M277.5 391h0"></path>
+<path d="M158 391h20"></path>
+<g class="terminal">
+<path d="M178 391h0"></path>
+<path d="M240.5 391h17"></path>
+<rect x="178" y="380" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="395">"RAW"</text>
+</g>
+<path d="M257.5 391h20"></path>
+<path d="M158 391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 421h0"></path>
+<path d="M257.5 421h0"></path>
+<rect x="178" y="410" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="425">"UPPER"</text>
+</g>
+<path d="M257.5 421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M158 391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 451h0"></path>
+<path d="M257.5 451h0"></path>
+<rect x="178" y="440" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="455">"LOWER"</text>
+</g>
+<path d="M257.5 451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M158 391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 481h0"></path>
+<path d="M249 481h8.5"></path>
+<rect x="178" y="470" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="213.5" y="485">Source</text>
+</a>
+</g>
+<path d="M257.5 481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M158 391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 511h0"></path>
+<path d="M257.5 511h0"></path>
+<rect x="178" y="500" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="217.75" y="515">Dynamic</text>
+</a>
+</g>
+<path d="M257.5 511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 541h0"></path>
+<path d="M256 541h225.5"></path>
+<g class="terminal">
+<path d="M60 541h0"></path>
+<path d="M165 541h0"></path>
+<rect x="60" y="530" width="105" height="22" rx="10" ry="10"></rect>
+<text x="112.5" y="545">"EXPONENT"</text>
+</g>
+<path d="M165 541h10"></path>
+<path d="M175 541h10"></path>
+<g class="non-terminal">
+<path d="M185 541h0"></path>
+<path d="M256 541h0"></path>
+<rect x="185" y="530" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="220.5" y="545">Source</text>
+</a>
+</g>
+</g>
+<path d="M481.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 571h0"></path>
+<path d="M269 571h212.5"></path>
+<g class="terminal">
+<path d="M60 571h0"></path>
+<path d="M148 571h0"></path>
+<rect x="60" y="560" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="575">"ZERO ="</text>
+</g>
+<path d="M148 571h10"></path>
+<g>
+<path d="M158 571h0"></path>
+<path d="M269 571h0"></path>
+<path d="M158 571h20"></path>
+<g class="terminal">
+<path d="M178 571h0"></path>
+<path d="M240.5 571h8.5"></path>
+<rect x="178" y="560" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="575">"YES"</text>
+</g>
+<path d="M249 571h20"></path>
+<path d="M158 571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M178 601h0"></path>
+<path d="M232 601h17"></path>
+<rect x="178" y="590" width="54" height="22" rx="10" ry="10"></rect>
+<text x="205" y="605">"NO"</text>
+</g>
+<path d="M249 601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M158 571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M178 631h0"></path>
+<path d="M249 631h0"></path>
+<rect x="178" y="620" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="213.5" y="635">Source</text>
+</a>
+</g>
+<path d="M249 631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 661h0"></path>
+<path d="M346.5 661h135"></path>
+<g>
+<path d="M60 661h0"></path>
+<path d="M126 661h0"></path>
+<text x="93" y="666" class="comment">v740sp02</text>
+</g>
+<path d="M126 661h10"></path>
+<path d="M136 661h10"></path>
+<g>
+<path d="M146 661h0"></path>
+<path d="M346.5 661h0"></path>
+<g class="terminal">
+<path d="M146 661h0"></path>
+<path d="M225.5 661h0"></path>
+<rect x="146" y="650" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="185.75" y="665">"XSD ="</text>
+</g>
+<path d="M225.5 661h10"></path>
+<g>
+<path d="M235.5 661h0"></path>
+<path d="M346.5 661h0"></path>
+<path d="M235.5 661h20"></path>
+<g class="terminal">
+<path d="M255.5 661h0"></path>
+<path d="M318 661h8.5"></path>
+<rect x="255.5" y="650" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="286.75" y="665">"YES"</text>
+</g>
+<path d="M326.5 661h20"></path>
+<path d="M235.5 661a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M255.5 691h0"></path>
+<path d="M309.5 691h17"></path>
+<rect x="255.5" y="680" width="54" height="22" rx="10" ry="10"></rect>
+<text x="282.5" y="695">"NO"</text>
+</g>
+<path d="M326.5 691a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M235.5 661a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M255.5 721h0"></path>
+<path d="M326.5 721h0"></path>
+<rect x="255.5" y="710" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="291" y="725">Source</text>
+</a>
+</g>
+<path d="M326.5 721a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M481.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 751h0"></path>
+<path d="M481.5 751h0"></path>
+<g class="terminal">
+<path d="M60 751h0"></path>
+<path d="M156.5 751h0"></path>
+<rect x="60" y="740" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="755">"STYLE ="</text>
+</g>
+<path d="M156.5 751h10"></path>
+<g>
+<path d="M166.5 751h0"></path>
+<path d="M481.5 751h0"></path>
+<path d="M166.5 751h20"></path>
+<g class="terminal">
+<path d="M186.5 751h0"></path>
+<path d="M274.5 751h187"></path>
+<rect x="186.5" y="740" width="88" height="22" rx="10" ry="10"></rect>
+<text x="230.5" y="755">"SIMPLE"</text>
+</g>
+<path d="M461.5 751h20"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 781h0"></path>
+<path d="M351 781h110.5"></path>
+<rect x="186.5" y="770" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="268.75" y="785">"SIGN&#95;AS&#95;POSTFIX"</text>
+</g>
+<path d="M461.5 781a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 811h0"></path>
+<path d="M359.5 811h102"></path>
+<rect x="186.5" y="800" width="173" height="22" rx="10" ry="10"></rect>
+<text x="273" y="815">"SCALE&#95;PRESERVING"</text>
+</g>
+<path d="M461.5 811a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 841h0"></path>
+<path d="M308.5 841h153"></path>
+<rect x="186.5" y="830" width="122" height="22" rx="10" ry="10"></rect>
+<text x="247.5" y="845">"SCIENTIFIC"</text>
+</g>
+<path d="M461.5 841a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 871h0"></path>
+<path d="M461.5 871h0"></path>
+<rect x="186.5" y="860" width="275" height="22" rx="10" ry="10"></rect>
+<text x="324" y="875">"SCIENTIFIC&#95;WITH&#95;LEADING&#95;ZERO"</text>
+</g>
+<path d="M461.5 871a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 901h0"></path>
+<path d="M453 901h8.5"></path>
+<rect x="186.5" y="890" width="266.5" height="22" rx="10" ry="10"></rect>
+<text x="319.75" y="905">"SCALE&#95;PRESERVING&#95;SCIENTIFIC"</text>
+</g>
+<path d="M461.5 901a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M186.5 931h0"></path>
+<path d="M317 931h144.5"></path>
+<rect x="186.5" y="920" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="251.75" y="935">"ENGINEERING"</text>
+</g>
+<path d="M461.5 931a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M166.5 751a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M186.5 961h0"></path>
+<path d="M257.5 961h204"></path>
+<rect x="186.5" y="950" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="222" y="965">Source</text>
+</a>
+</g>
+<path d="M461.5 961a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M481.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v940a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 991h0"></path>
+<path d="M273 991h208.5"></path>
+<g class="terminal">
+<path d="M60 991h0"></path>
+<path d="M182 991h0"></path>
+<rect x="60" y="980" width="122" height="22" rx="10" ry="10"></rect>
+<text x="121" y="995">"CURRENCY ="</text>
+</g>
+<path d="M182 991h10"></path>
+<path d="M192 991h10"></path>
+<g class="non-terminal">
+<path d="M202 991h0"></path>
+<path d="M273 991h0"></path>
+<rect x="202" y="980" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="237.5" y="995">Source</text>
+</a>
+</g>
+</g>
+<path d="M481.5 991a10 10 0 0 0 10 -10v-940a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v970a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1021h0"></path>
+<path d="M264.5 1021h217"></path>
+<g class="terminal">
+<path d="M60 1021h0"></path>
+<path d="M173.5 1021h0"></path>
+<rect x="60" y="1010" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="116.75" y="1025">"COUNTRY ="</text>
+</g>
+<path d="M173.5 1021h10"></path>
+<path d="M183.5 1021h10"></path>
+<g class="non-terminal">
+<path d="M193.5 1021h0"></path>
+<path d="M264.5 1021h0"></path>
+<rect x="193.5" y="1010" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="229" y="1025">Source</text>
+</a>
+</g>
+</g>
+<path d="M481.5 1021a10 10 0 0 0 10 -10v-970a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1000a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1051h0"></path>
+<path d="M433.5 1051h48"></path>
+<path d="M90 1051h10"></path>
+<g>
+<path d="M100 1051h0"></path>
+<path d="M360 1051h43.5"></path>
+<g class="terminal">
+<path d="M100 1051h0"></path>
+<path d="M188 1051h0"></path>
+<rect x="100" y="1040" width="88" height="22" rx="10" ry="10"></rect>
+<text x="144" y="1055">"SIGN ="</text>
+</g>
+<path d="M188 1051h10"></path>
+<g>
+<path d="M198 1051h0"></path>
+<path d="M360 1051h0"></path>
+<path d="M198 1051h20"></path>
+<g class="terminal">
+<path d="M218 1051h0"></path>
+<path d="M289 1051h51"></path>
+<rect x="218" y="1040" width="71" height="22" rx="10" ry="10"></rect>
+<text x="253.5" y="1055">"LEFT"</text>
+</g>
+<path d="M340 1051h20"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1081h0"></path>
+<path d="M323 1081h17"></path>
+<rect x="218" y="1070" width="105" height="22" rx="10" ry="10"></rect>
+<text x="270.5" y="1085">"LEFTPLUS"</text>
+</g>
+<path d="M340 1081a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1111h0"></path>
+<path d="M331.5 1111h8.5"></path>
+<rect x="218" y="1100" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="274.75" y="1115">"LEFTSPACE"</text>
+</g>
+<path d="M340 1111a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1141h0"></path>
+<path d="M297.5 1141h42.5"></path>
+<rect x="218" y="1130" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="1145">"RIGHT"</text>
+</g>
+<path d="M340 1141a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1171h0"></path>
+<path d="M331.5 1171h8.5"></path>
+<rect x="218" y="1160" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="274.75" y="1175">"RIGHTPLUS"</text>
+</g>
+<path d="M340 1171a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1201h0"></path>
+<path d="M340 1201h0"></path>
+<rect x="218" y="1190" width="122" height="22" rx="10" ry="10"></rect>
+<text x="279" y="1205">"RIGHTSPACE"</text>
+</g>
+<path d="M340 1201a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M198 1051a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 1231h0"></path>
+<path d="M289 1231h51"></path>
+<rect x="218" y="1220" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="253.5" y="1235">Source</text>
+</a>
+</g>
+<path d="M340 1231a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M403.5 1051h10"></path>
+<path d="M90 1051v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1261h0"></path>
+<path d="M385.5 1261h18"></path>
+<g class="terminal">
+<path d="M100 1261h0"></path>
+<path d="M205 1261h0"></path>
+<rect x="100" y="1250" width="105" height="22" rx="10" ry="10"></rect>
+<text x="152.5" y="1265">"NUMBER ="</text>
+</g>
+<path d="M205 1261h10"></path>
+<g>
+<path d="M215 1261h0"></path>
+<path d="M385.5 1261h0"></path>
+<path d="M215 1261h20"></path>
+<g class="terminal">
+<path d="M235 1261h0"></path>
+<path d="M297.5 1261h68"></path>
+<rect x="235" y="1250" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="1265">"RAW"</text>
+</g>
+<path d="M365.5 1261h20"></path>
+<path d="M215 1261a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 1291h0"></path>
+<path d="M306 1291h59.5"></path>
+<rect x="235" y="1280" width="71" height="22" rx="10" ry="10"></rect>
+<text x="270.5" y="1295">"USER"</text>
+</g>
+<path d="M365.5 1291a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 1261a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 1321h0"></path>
+<path d="M365.5 1321h0"></path>
+<rect x="235" y="1310" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="300.25" y="1325">"ENVIRONMENT"</text>
+</g>
+<path d="M365.5 1321a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 1261a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1351h0"></path>
+<path d="M306 1351h59.5"></path>
+<rect x="235" y="1340" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="270.5" y="1355">Source</text>
+</a>
+</g>
+<path d="M365.5 1351a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M403.5 1261a10 10 0 0 0 10 -10v-200"></path>
+<path d="M90 1051v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1381h0"></path>
+<path d="M313 1381h90.5"></path>
+<g class="terminal">
+<path d="M100 1381h0"></path>
+<path d="M222 1381h0"></path>
+<rect x="100" y="1370" width="122" height="22" rx="10" ry="10"></rect>
+<text x="161" y="1385">"DECIMALS ="</text>
+</g>
+<path d="M222 1381h10"></path>
+<path d="M232 1381h10"></path>
+<g class="non-terminal">
+<path d="M242 1381h0"></path>
+<path d="M313 1381h0"></path>
+<rect x="242" y="1370" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="277.5" y="1385">Source</text>
+</a>
+</g>
+</g>
+<path d="M403.5 1381a10 10 0 0 0 10 -10v-320"></path>
+<path d="M90 1051v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1411h0"></path>
+<path d="M287.5 1411h116"></path>
+<g class="terminal">
+<path d="M100 1411h0"></path>
+<path d="M196.5 1411h0"></path>
+<rect x="100" y="1400" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="148.25" y="1415">"WIDTH ="</text>
+</g>
+<path d="M196.5 1411h10"></path>
+<path d="M206.5 1411h10"></path>
+<g class="non-terminal">
+<path d="M216.5 1411h0"></path>
+<path d="M287.5 1411h0"></path>
+<rect x="216.5" y="1400" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="252" y="1415">Source</text>
+</a>
+</g>
+</g>
+<path d="M403.5 1411a10 10 0 0 0 10 -10v-350"></path>
+<path d="M90 1051v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1441h0"></path>
+<path d="M270.5 1441h133"></path>
+<g class="terminal">
+<path d="M100 1441h0"></path>
+<path d="M179.5 1441h0"></path>
+<rect x="100" y="1430" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="139.75" y="1445">"PAD ="</text>
+</g>
+<path d="M179.5 1441h10"></path>
+<path d="M189.5 1441h10"></path>
+<g class="non-terminal">
+<path d="M199.5 1441h0"></path>
+<path d="M270.5 1441h0"></path>
+<rect x="199.5" y="1430" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="235" y="1445">Source</text>
+</a>
+</g>
+</g>
+<path d="M403.5 1441a10 10 0 0 0 10 -10v-380"></path>
+<path d="M90 1051v410a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1471h0"></path>
+<path d="M403.5 1471h0"></path>
+<g>
+<path d="M100 1471h0"></path>
+<path d="M166 1471h0"></path>
+<text x="133" y="1476" class="comment">v740sp02</text>
+</g>
+<path d="M166 1471h10"></path>
+<path d="M176 1471h10"></path>
+<g>
+<path d="M186 1471h0"></path>
+<path d="M403.5 1471h0"></path>
+<g class="terminal">
+<path d="M186 1471h0"></path>
+<path d="M282.5 1471h0"></path>
+<rect x="186" y="1460" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="234.25" y="1475">"ALPHA ="</text>
+</g>
+<path d="M282.5 1471h10"></path>
+<g>
+<path d="M292.5 1471h0"></path>
+<path d="M403.5 1471h0"></path>
+<path d="M292.5 1471h20"></path>
+<g class="terminal">
+<path d="M312.5 1471h0"></path>
+<path d="M375 1471h8.5"></path>
+<rect x="312.5" y="1460" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="343.75" y="1475">"OUT"</text>
+</g>
+<path d="M383.5 1471h20"></path>
+<path d="M292.5 1471a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M312.5 1501h0"></path>
+<path d="M375 1501h8.5"></path>
+<rect x="312.5" y="1490" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="343.75" y="1505">"RAW"</text>
+</g>
+<path d="M383.5 1501a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M292.5 1471a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M312.5 1531h0"></path>
+<path d="M366.5 1531h17"></path>
+<rect x="312.5" y="1520" width="54" height="22" rx="10" ry="10"></rect>
+<text x="339.5" y="1535">"IN"</text>
+</g>
+<path d="M383.5 1531a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M292.5 1471a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M312.5 1561h0"></path>
+<path d="M383.5 1561h0"></path>
+<rect x="312.5" y="1550" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="348" y="1565">Source</text>
+</a>
+</g>
+<path d="M383.5 1561a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M403.5 1471a10 10 0 0 0 10 -10v-410"></path>
+<path d="M90 1051v530a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1591h0"></path>
+<path d="M334.5 1591h69"></path>
+<g class="terminal">
+<path d="M100 1591h0"></path>
+<path d="M196.5 1591h0"></path>
+<rect x="100" y="1580" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="148.25" y="1595">"ALIGN ="</text>
+</g>
+<path d="M196.5 1591h10"></path>
+<g>
+<path d="M206.5 1591h0"></path>
+<path d="M334.5 1591h0"></path>
+<path d="M206.5 1591h20"></path>
+<g class="terminal">
+<path d="M226.5 1591h0"></path>
+<path d="M297.5 1591h17"></path>
+<rect x="226.5" y="1580" width="71" height="22" rx="10" ry="10"></rect>
+<text x="262" y="1595">"LEFT"</text>
+</g>
+<path d="M314.5 1591h20"></path>
+<path d="M206.5 1591a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M226.5 1621h0"></path>
+<path d="M306 1621h8.5"></path>
+<rect x="226.5" y="1610" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="1625">"RIGHT"</text>
+</g>
+<path d="M314.5 1621a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1591a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M226.5 1651h0"></path>
+<path d="M314.5 1651h0"></path>
+<rect x="226.5" y="1640" width="88" height="22" rx="10" ry="10"></rect>
+<text x="270.5" y="1655">"CENTER"</text>
+</g>
+<path d="M314.5 1651a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1591a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 1681h0"></path>
+<path d="M297.5 1681h17"></path>
+<rect x="226.5" y="1670" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="262" y="1685">Source</text>
+</a>
+</g>
+<path d="M314.5 1681a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M403.5 1591a10 10 0 0 0 10 -10v-530"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 90 1041 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="75" y="1055" class="diagram-text">1+</text>
+<path d="M 413.5 1041 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 420.5 1049 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M481.5 1051a10 10 0 0 0 10 -10v-1000a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1660a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1711h0"></path>
+<path d="M441 1711h40.5"></path>
+<path d="M90 1711h10"></path>
+<g>
+<path d="M100 1711h0"></path>
+<path d="M313 1711h98"></path>
+<g class="terminal">
+<path d="M100 1711h0"></path>
+<path d="M222 1711h0"></path>
+<rect x="100" y="1700" width="122" height="22" rx="10" ry="10"></rect>
+<text x="161" y="1715">"TIMEZONE ="</text>
+</g>
+<path d="M222 1711h10"></path>
+<path d="M232 1711h10"></path>
+<g class="non-terminal">
+<path d="M242 1711h0"></path>
+<path d="M313 1711h0"></path>
+<rect x="242" y="1700" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="277.5" y="1715">Source</text>
+</a>
+</g>
+</g>
+<path d="M411 1711h10"></path>
+<path d="M90 1711v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M100 1741h0"></path>
+<path d="M411 1741h0"></path>
+<g class="terminal">
+<path d="M100 1741h0"></path>
+<path d="M230.5 1741h0"></path>
+<rect x="100" y="1730" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="1745">"TIMESTAMP ="</text>
+</g>
+<path d="M230.5 1741h10"></path>
+<g>
+<path d="M240.5 1741h0"></path>
+<path d="M411 1741h0"></path>
+<path d="M240.5 1741h20"></path>
+<g class="terminal">
+<path d="M260.5 1741h0"></path>
+<path d="M340 1741h51"></path>
+<rect x="260.5" y="1730" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="300.25" y="1745">"SPACE"</text>
+</g>
+<path d="M391 1741h20"></path>
+<path d="M240.5 1741a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 1771h0"></path>
+<path d="M323 1771h68"></path>
+<rect x="260.5" y="1760" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="1775">"ISO"</text>
+</g>
+<path d="M391 1771a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 1741a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 1801h0"></path>
+<path d="M331.5 1801h59.5"></path>
+<rect x="260.5" y="1790" width="71" height="22" rx="10" ry="10"></rect>
+<text x="296" y="1805">"USER"</text>
+</g>
+<path d="M391 1801a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 1741a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 1831h0"></path>
+<path d="M391 1831h0"></path>
+<rect x="260.5" y="1820" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="325.75" y="1835">"ENVIRONMENT"</text>
+</g>
+<path d="M391 1831a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 1741a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 1861h0"></path>
+<path d="M331.5 1861h59.5"></path>
+<rect x="260.5" y="1850" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="296" y="1865">Source</text>
+</a>
+</g>
+<path d="M391 1861a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M411 1741a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 90 1701 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="75" y="1715" class="diagram-text">1+</text>
+<path d="M 421 1701 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 428 1709 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M481.5 1711a10 10 0 0 0 10 -10v-1660a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 501.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_StringTemplateSource.svg b/abap/expression_StringTemplateSource.svg
new file mode 100644
index 00000000..e578b3f5
--- /dev/null
+++ b/abap/expression_StringTemplateSource.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="445" height="71" viewBox="0 0 445 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M395 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="85.5" y="44">Source</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M395 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h224"></path>
+</g>
+<path d="M375 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="non-terminal">
+<path d="M151 40h0"></path>
+<path d="M375 40h0"></path>
+<rect x="151" y="29" width="224" height="22"></rect>
+<a xlink:href="#/abap/expression/StringTemplateFormatting"><text x="263" y="44">StringTemplateFormatting</text>
+</a>
+</g>
+<path d="M375 40h20"></path>
+</g>
+</g>
+<path d="M395 40h10"></path>
+<path d="M 405 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SuperClassName.svg b/abap/expression_SuperClassName.svg
new file mode 100644
index 00000000..c818476d
--- /dev/null
+++ b/abap/expression_SuperClassName.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="98.25" y="35">ClassName</text>
+</a>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_SwitchBody.svg b/abap/expression_SwitchBody.svg
new file mode 100644
index 00000000..eac07c83
--- /dev/null
+++ b/abap/expression_SwitchBody.svg
@@ -0,0 +1,228 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1127.5" height="109" viewBox="0 0 1127.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1077.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M135.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h45.5"></path>
+</g>
+<path d="M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="92.75" y="44">Let</text>
+</a>
+</g>
+<path d="M115.5 40h20"></path>
+</g>
+<path d="M135.5 40h10"></path>
+<g class="non-terminal">
+<path d="M145.5 40h0"></path>
+<path d="M216.5 40h0"></path>
+<rect x="145.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="181" y="44">Source</text>
+</a>
+</g>
+<path d="M216.5 40h10"></path>
+<path d="M226.5 40h10"></path>
+<g>
+<path d="M236.5 40h0"></path>
+<path d="M835.5 40h0"></path>
+<path d="M236.5 40h10"></path>
+<g>
+<path d="M246.5 40h0"></path>
+<path d="M825.5 40h0"></path>
+<g class="terminal">
+<path d="M246.5 40h0"></path>
+<path d="M317.5 40h0"></path>
+<rect x="246.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="282" y="44">"WHEN"</text>
+</g>
+<path d="M317.5 40h10"></path>
+<path d="M327.5 40h10"></path>
+<g class="non-terminal">
+<path d="M337.5 40h0"></path>
+<path d="M408.5 40h0"></path>
+<rect x="337.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="373" y="44">Source</text>
+</a>
+</g>
+<path d="M408.5 40h10"></path>
+<g>
+<path d="M418.5 40h0"></path>
+<path d="M623.5 40h0"></path>
+<path d="M418.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M438.5 20h165"></path>
+</g>
+<path d="M603.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M418.5 40h20"></path>
+<g>
+<path d="M438.5 40h0"></path>
+<path d="M603.5 40h0"></path>
+<path d="M438.5 40h10"></path>
+<g>
+<path d="M448.5 40h0"></path>
+<path d="M593.5 40h0"></path>
+<g class="terminal">
+<path d="M448.5 40h0"></path>
+<path d="M502.5 40h0"></path>
+<rect x="448.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="475.5" y="44">"OR"</text>
+</g>
+<path d="M502.5 40h10"></path>
+<path d="M512.5 40h10"></path>
+<g class="non-terminal">
+<path d="M522.5 40h0"></path>
+<path d="M593.5 40h0"></path>
+<rect x="522.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="558" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M593.5 40h10"></path>
+<path d="M448.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M448.5 60h145"></path>
+</g>
+<path d="M593.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M603.5 40h20"></path>
+</g>
+<path d="M623.5 40h10"></path>
+<g class="terminal">
+<path d="M633.5 40h0"></path>
+<path d="M704.5 40h0"></path>
+<rect x="633.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="669" y="44">"THEN"</text>
+</g>
+<path d="M704.5 40h10"></path>
+<g>
+<path d="M714.5 40h0"></path>
+<path d="M825.5 40h0"></path>
+<path d="M714.5 40h20"></path>
+<g class="non-terminal">
+<path d="M734.5 40h0"></path>
+<path d="M805.5 40h0"></path>
+<rect x="734.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="770" y="44">Source</text>
+</a>
+</g>
+<path d="M805.5 40h20"></path>
+<path d="M714.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M734.5 70h0"></path>
+<path d="M797 70h8.5"></path>
+<rect x="734.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Throw"><text x="765.75" y="74">Throw</text>
+</a>
+</g>
+<path d="M805.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M825.5 40h10"></path>
+<path d="M246.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M246.5 89h579"></path>
+</g>
+<path d="M825.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M835.5 40h10"></path>
+<g>
+<path d="M845.5 40h0"></path>
+<path d="M1077.5 40h0"></path>
+<path d="M845.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M865.5 20h192"></path>
+</g>
+<path d="M1057.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M845.5 40h20"></path>
+<g>
+<path d="M865.5 40h0"></path>
+<path d="M1057.5 40h0"></path>
+<g class="terminal">
+<path d="M865.5 40h0"></path>
+<path d="M936.5 40h0"></path>
+<rect x="865.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="901" y="44">"ELSE"</text>
+</g>
+<path d="M936.5 40h10"></path>
+<g>
+<path d="M946.5 40h0"></path>
+<path d="M1057.5 40h0"></path>
+<path d="M946.5 40h20"></path>
+<g class="non-terminal">
+<path d="M966.5 40h0"></path>
+<path d="M1037.5 40h0"></path>
+<rect x="966.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1002" y="44">Source</text>
+</a>
+</g>
+<path d="M1037.5 40h20"></path>
+<path d="M946.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M966.5 70h0"></path>
+<path d="M1029 70h8.5"></path>
+<rect x="966.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Throw"><text x="997.75" y="74">Throw</text>
+</a>
+</g>
+<path d="M1037.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1057.5 40h20"></path>
+</g>
+</g>
+<path d="M1077.5 40h10"></path>
+<path d="M 1087.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TableBody.svg b/abap/expression_TableBody.svg
new file mode 100644
index 00000000..f60c6491
--- /dev/null
+++ b/abap/expression_TableBody.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="236.5" height="62" viewBox="0 0 236.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M186.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">!"&#91;"</text>
+</g>
+<path d="M104 31h10"></path>
+<path d="M114 31h10"></path>
+<g class="terminal">
+<path d="M124 31h0"></path>
+<path d="M186.5 31h0"></path>
+<rect x="124" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="155.25" y="35">!"&#93; "</text>
+</g>
+</g>
+<path d="M186.5 31h10"></path>
+<path d="M 196.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TableExpression.svg b/abap/expression_TableExpression.svg
new file mode 100644
index 00000000..c4ddb670
--- /dev/null
+++ b/abap/expression_TableExpression.svg
@@ -0,0 +1,237 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1235.5" height="169" viewBox="0 0 1235.5 169">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1185.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M116 31h0"></path>
+<text x="83" y="36" class="comment">v740sp02</text>
+</g>
+<path d="M116 31h10"></path>
+<path d="M126 31h10"></path>
+<g>
+<path d="M136 31h0"></path>
+<path d="M1185.5 31h0"></path>
+<g class="terminal">
+<path d="M136 31h0"></path>
+<path d="M198.5 31h0"></path>
+<rect x="136" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="167.25" y="35">!"&#91; "</text>
+</g>
+<path d="M198.5 31h10"></path>
+<g>
+<path d="M208.5 31h0"></path>
+<path d="M1074.5 31h0"></path>
+<path d="M208.5 31h20"></path>
+<g class="non-terminal">
+<path d="M228.5 31h0"></path>
+<path d="M299.5 31h755"></path>
+<rect x="228.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="264" y="35">Source</text>
+</a>
+</g>
+<path d="M1054.5 31h20"></path>
+<path d="M208.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M228.5 70h0"></path>
+<path d="M1054.5 70h0"></path>
+<g>
+<path d="M228.5 70h0"></path>
+<path d="M456 70h0"></path>
+<path d="M228.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M248.5 50h187.5"></path>
+</g>
+<path d="M436 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M228.5 70h20"></path>
+<g>
+<path d="M248.5 70h0"></path>
+<path d="M436 70h0"></path>
+<g class="terminal">
+<path d="M248.5 70h0"></path>
+<path d="M311 70h0"></path>
+<rect x="248.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="279.75" y="74">"KEY"</text>
+</g>
+<path d="M311 70h10"></path>
+<path d="M321 70h10"></path>
+<g class="non-terminal">
+<path d="M331 70h0"></path>
+<path d="M436 70h0"></path>
+<rect x="331" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="383.5" y="74">SimpleName</text>
+</a>
+</g>
+</g>
+<path d="M436 70h20"></path>
+</g>
+<g>
+<path d="M456 70h0"></path>
+<path d="M618 70h0"></path>
+<path d="M456 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M476 50h122"></path>
+</g>
+<path d="M598 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M456 70h20"></path>
+<g class="terminal">
+<path d="M476 70h0"></path>
+<path d="M598 70h0"></path>
+<rect x="476" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="537" y="74">"COMPONENTS"</text>
+</g>
+<path d="M598 70h20"></path>
+</g>
+<g>
+<path d="M618 70h0"></path>
+<path d="M1054.5 70h0"></path>
+<path d="M618 70h20"></path>
+<g>
+<path d="M638 70h0"></path>
+<path d="M1034.5 70h0"></path>
+<path d="M638 70h10"></path>
+<g>
+<path d="M648 70h0"></path>
+<path d="M1024.5 70h0"></path>
+<g>
+<path d="M648 70h0"></path>
+<path d="M878 70h0"></path>
+<path d="M648 70h20"></path>
+<g class="non-terminal">
+<path d="M668 70h0"></path>
+<path d="M858 70h0"></path>
+<rect x="668" y="59" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="763" y="74">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M858 70h20"></path>
+<path d="M648 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M668 100h0"></path>
+<path d="M747.5 100h110.5"></path>
+<rect x="668" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="707.75" y="104">Dynamic</text>
+</a>
+</g>
+<path d="M858 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M878 70h10"></path>
+<g class="terminal">
+<path d="M888 70h0"></path>
+<path d="M933.5 70h0"></path>
+<rect x="888" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="910.75" y="74">"="</text>
+</g>
+<path d="M933.5 70h10"></path>
+<path d="M943.5 70h10"></path>
+<g class="non-terminal">
+<path d="M953.5 70h0"></path>
+<path d="M1024.5 70h0"></path>
+<rect x="953.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="989" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M1024.5 70h10"></path>
+<path d="M648 70a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M648 119h376.5"></path>
+</g>
+<path d="M1024.5 119a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1034.5 70h20"></path>
+<path d="M618 70a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M638 138h0"></path>
+<path d="M808.5 138h226"></path>
+<g class="terminal">
+<path d="M638 138h0"></path>
+<path d="M717.5 138h0"></path>
+<rect x="638" y="127" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="677.75" y="142">"INDEX"</text>
+</g>
+<path d="M717.5 138h10"></path>
+<path d="M727.5 138h10"></path>
+<g class="non-terminal">
+<path d="M737.5 138h0"></path>
+<path d="M808.5 138h0"></path>
+<rect x="737.5" y="127" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="773" y="142">Source</text>
+</a>
+</g>
+</g>
+<path d="M1034.5 138a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1054.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1074.5 31h0"></path>
+<path d="M1185.5 31h0"></path>
+<path d="M1074.5 31h20"></path>
+<g class="terminal">
+<path d="M1094.5 31h0"></path>
+<path d="M1157 31h8.5"></path>
+<rect x="1094.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1125.75" y="35">!" &#93;"</text>
+</g>
+<path d="M1165.5 31h20"></path>
+<path d="M1074.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1094.5 61h0"></path>
+<path d="M1165.5 61h0"></path>
+<rect x="1094.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1130" y="65">!" &#93; "</text>
+</g>
+<path d="M1165.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1185.5 31h10"></path>
+<path d="M 1195.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Target.svg b/abap/expression_Target.svg
new file mode 100644
index 00000000..788df5d9
--- /dev/null
+++ b/abap/expression_Target.svg
@@ -0,0 +1,286 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1149.5" height="251" viewBox="0 0 1149.5 251">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M1109.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M165 31h924.5"></path>
+<rect x="60" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineData"><text x="112.5" y="35">InlineData</text>
+</a>
+</g>
+<path d="M1089.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M148 61h941.5"></path>
+<rect x="60" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineFS"><text x="104" y="65">InlineFS</text>
+</a>
+</g>
+<path d="M1089.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M1089.5 100h0"></path>
+<g>
+<path d="M60 100h0"></path>
+<path d="M429.5 100h0"></path>
+<path d="M60 100h20"></path>
+<g class="non-terminal">
+<path d="M80 100h0"></path>
+<path d="M134 100h275.5"></path>
+<rect x="80" y="89" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cast"><text x="107" y="104">Cast</text>
+</a>
+</g>
+<path d="M409.5 100h20"></path>
+<path d="M60 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 130h0"></path>
+<path d="M176.5 130h233"></path>
+<rect x="80" y="119" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NewObject"><text x="128.25" y="134">NewObject</text>
+</a>
+</g>
+<path d="M409.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M60 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 160h0"></path>
+<path d="M409.5 160h0"></path>
+<g class="non-terminal">
+<path d="M80 160h0"></path>
+<path d="M176.5 160h0"></path>
+<rect x="80" y="149" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="128.25" y="164">ClassName</text>
+</a>
+</g>
+<path d="M176.5 160h10"></path>
+<path d="M186.5 160h10"></path>
+<g class="terminal">
+<path d="M196.5 160h0"></path>
+<path d="M259 160h0"></path>
+<rect x="196.5" y="149" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="227.75" y="164">!"=>"</text>
+</g>
+<path d="M259 160h10"></path>
+<path d="M269 160h10"></path>
+<g class="non-terminal">
+<path d="M279 160h0"></path>
+<path d="M409.5 160h0"></path>
+<rect x="279" y="149" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="344.25" y="164">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M409.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M60 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 190h0"></path>
+<path d="M193.5 190h216"></path>
+<rect x="80" y="179" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetField"><text x="136.75" y="194">TargetField</text>
+</a>
+</g>
+<path d="M409.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M60 100a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M80 220h0"></path>
+<path d="M244.5 220h165"></path>
+<rect x="80" y="209" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="162.25" y="224">TargetFieldSymbol</text>
+</a>
+</g>
+<path d="M409.5 220a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M429.5 100h0"></path>
+<path d="M742.5 100h0"></path>
+<path d="M429.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M449.5 80h273"></path>
+</g>
+<path d="M722.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M429.5 100h20"></path>
+<g>
+<path d="M449.5 100h0"></path>
+<path d="M722.5 100h0"></path>
+<path d="M449.5 100h10"></path>
+<g>
+<path d="M459.5 100h0"></path>
+<path d="M712.5 100h0"></path>
+<path d="M459.5 100h20"></path>
+<g class="non-terminal">
+<path d="M479.5 100h0"></path>
+<path d="M593 100h99.5"></path>
+<rect x="479.5" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dereference"><text x="536.25" y="104">Dereference</text>
+</a>
+</g>
+<path d="M692.5 100h20"></path>
+<path d="M459.5 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M479.5 130h0"></path>
+<path d="M692.5 130h0"></path>
+<g class="terminal">
+<path d="M479.5 130h0"></path>
+<path d="M542 130h0"></path>
+<rect x="479.5" y="119" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="510.75" y="134">!"->"</text>
+</g>
+<path d="M542 130h10"></path>
+<path d="M552 130h10"></path>
+<g class="non-terminal">
+<path d="M562 130h0"></path>
+<path d="M692.5 130h0"></path>
+<rect x="562" y="119" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="627.25" y="134">AttributeName</text>
+</a>
+</g>
+</g>
+<path d="M692.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M459.5 100a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M479.5 160h0"></path>
+<path d="M684 160h8.5"></path>
+<g class="terminal">
+<path d="M479.5 160h0"></path>
+<path d="M533.5 160h0"></path>
+<rect x="479.5" y="149" width="54" height="22" rx="10" ry="10"></rect>
+<text x="506.5" y="164">!"-"</text>
+</g>
+<path d="M533.5 160h10"></path>
+<path d="M543.5 160h10"></path>
+<g class="non-terminal">
+<path d="M553.5 160h0"></path>
+<path d="M684 160h0"></path>
+<rect x="553.5" y="149" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="618.75" y="164">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M692.5 160a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M459.5 100a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M479.5 190h0"></path>
+<path d="M627 190h65.5"></path>
+<rect x="479.5" y="179" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableExpression"><text x="553.25" y="194">TableExpression</text>
+</a>
+</g>
+<path d="M692.5 190a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M712.5 100h10"></path>
+<path d="M459.5 100a10 10 0 0 0 -10 10v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M459.5 209h253"></path>
+</g>
+<path d="M712.5 209a10 10 0 0 0 10 -10v-89a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M722.5 100h20"></path>
+</g>
+<g>
+<path d="M742.5 100h0"></path>
+<path d="M1089.5 100h0"></path>
+<path d="M742.5 100h20"></path>
+<g class="non-terminal">
+<path d="M762.5 100h0"></path>
+<path d="M859 100h210.5"></path>
+<rect x="762.5" y="89" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="810.75" y="104">TableBody</text>
+</a>
+</g>
+<path d="M1069.5 100h20"></path>
+<path d="M742.5 100a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M762.5 139h0"></path>
+<path d="M1069.5 139h0"></path>
+<g>
+<path d="M762.5 139h0"></path>
+<path d="M916 139h0"></path>
+<path d="M762.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M782.5 119h113.5"></path>
+</g>
+<path d="M896 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M762.5 139h20"></path>
+<g class="non-terminal">
+<path d="M782.5 139h0"></path>
+<path d="M896 139h0"></path>
+<rect x="782.5" y="128" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="839.25" y="143">FieldOffset</text>
+</a>
+</g>
+<path d="M896 139h20"></path>
+</g>
+<g>
+<path d="M916 139h0"></path>
+<path d="M1069.5 139h0"></path>
+<path d="M916 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M936 119h113.5"></path>
+</g>
+<path d="M1049.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M916 139h20"></path>
+<g class="non-terminal">
+<path d="M936 139h0"></path>
+<path d="M1049.5 139h0"></path>
+<rect x="936" y="128" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="992.75" y="143">FieldLength</text>
+</a>
+</g>
+<path d="M1049.5 139h20"></path>
+</g>
+</g>
+<path d="M1069.5 139a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1089.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1109.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TargetField.svg b/abap/expression_TargetField.svg
new file mode 100644
index 00000000..0af8d7b9
--- /dev/null
+++ b/abap/expression_TargetField.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="81.25" y="35">Field</text>
+</a>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TargetFieldSymbol.svg b/abap/expression_TargetFieldSymbol.svg
new file mode 100644
index 00000000..71558986
--- /dev/null
+++ b/abap/expression_TargetFieldSymbol.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="213.5" height="62" viewBox="0 0 213.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="106.75" y="35">FieldSymbol</text>
+</a>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M 173.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TestSeamName.svg b/abap/expression_TestSeamName.svg
new file mode 100644
index 00000000..92dd7736
--- /dev/null
+++ b/abap/expression_TestSeamName.svg
@@ -0,0 +1,100 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="488" height="80" viewBox="0 0 488 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M438 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">^&#91;\w%\$\&#42;&#93;+$</text>
+</g>
+<path d="M172 40h10"></path>
+<g>
+<path d="M182 40h0"></path>
+<path d="M438 40h0"></path>
+<path d="M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M202 20h216"></path>
+</g>
+<path d="M418 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M182 40h20"></path>
+<g>
+<path d="M202 40h0"></path>
+<path d="M418 40h0"></path>
+<path d="M202 40h10"></path>
+<g>
+<path d="M212 40h0"></path>
+<path d="M408 40h0"></path>
+<g class="terminal">
+<path d="M212 40h0"></path>
+<path d="M266 40h0"></path>
+<rect x="212" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="239" y="44">!"-"</text>
+</g>
+<path d="M266 40h10"></path>
+<path d="M276 40h10"></path>
+<g class="terminal">
+<path d="M286 40h0"></path>
+<path d="M408 40h0"></path>
+<rect x="286" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="347" y="44">^&#91;\w%\$\&#42;&#93;+$</text>
+</g>
+</g>
+<path d="M408 40h10"></path>
+<path d="M212 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M212 60h196"></path>
+</g>
+<path d="M408 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M418 40h20"></path>
+</g>
+</g>
+<path d="M438 40h10"></path>
+<path d="M 448 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TextElement.svg b/abap/expression_TextElement.svg
new file mode 100644
index 00000000..f9c79742
--- /dev/null
+++ b/abap/expression_TextElement.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="404" height="62" viewBox="0 0 404 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M354 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"TEXT"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g class="terminal">
+<path d="M141 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="141" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="168" y="35">!"-"</text>
+</g>
+<path d="M195 31h10"></path>
+<path d="M205 31h10"></path>
+<g class="non-terminal">
+<path d="M215 31h0"></path>
+<path d="M354 31h0"></path>
+<rect x="215" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElementKey"><text x="284.5" y="35">TextElementKey</text>
+</a>
+</g>
+</g>
+<path d="M354 31h10"></path>
+<path d="M 364 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TextElementKey.svg b/abap/expression_TextElementKey.svg
new file mode 100644
index 00000000..c847ef02
--- /dev/null
+++ b/abap/expression_TextElementKey.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="179.5" height="62" viewBox="0 0 179.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">^\w{3}$</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M 139.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TextElementString.svg b/abap/expression_TextElementString.svg
new file mode 100644
index 00000000..72040939
--- /dev/null
+++ b/abap/expression_TextElementString.svg
@@ -0,0 +1,88 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="563" height="62" viewBox="0 0 563 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M513 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M197.5 31h0"></path>
+<rect x="50" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="35">^('.&#42;')|(&#96;.&#42;&#96;)$</text>
+</g>
+<path d="M197.5 31h10"></path>
+<path d="M207.5 31h10"></path>
+<g>
+<path d="M217.5 31h0"></path>
+<path d="M513 31h0"></path>
+<g class="terminal">
+<path d="M217.5 31h0"></path>
+<path d="M271.5 31h0"></path>
+<rect x="217.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="244.5" y="35">!"("</text>
+</g>
+<path d="M271.5 31h10"></path>
+<path d="M281.5 31h10"></path>
+<g class="non-terminal">
+<path d="M291.5 31h0"></path>
+<path d="M430.5 31h0"></path>
+<rect x="291.5" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElementKey"><text x="361" y="35">TextElementKey</text>
+</a>
+</g>
+<path d="M430.5 31h10"></path>
+<path d="M440.5 31h10"></path>
+<g class="terminal">
+<path d="M450.5 31h0"></path>
+<path d="M513 31h0"></path>
+<rect x="450.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="481.75" y="35">!") "</text>
+</g>
+</g>
+</g>
+<path d="M513 31h10"></path>
+<path d="M 523 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Throw.svg b/abap/expression_Throw.svg
new file mode 100644
index 00000000..10a292f7
--- /dev/null
+++ b/abap/expression_Throw.svg
@@ -0,0 +1,159 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="892" height="101" viewBox="0 0 892 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M842 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"THROW"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M293 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h113.5"></path>
+</g>
+<path d="M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="terminal">
+<path d="M159.5 40h0"></path>
+<path d="M273 40h0"></path>
+<rect x="159.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="216.25" y="44">"RESUMABLE"</text>
+</g>
+<path d="M273 40h20"></path>
+</g>
+<path d="M293 40h10"></path>
+<g class="non-terminal">
+<path d="M303 40h0"></path>
+<path d="M399.5 40h0"></path>
+<rect x="303" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="351.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M399.5 40h10"></path>
+<g>
+<path d="M409.5 40h0"></path>
+<path d="M512 40h0"></path>
+<path d="M409.5 40h20"></path>
+<g class="terminal">
+<path d="M429.5 40h0"></path>
+<path d="M492 40h0"></path>
+<rect x="429.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="460.75" y="44">!"( "</text>
+</g>
+<path d="M492 40h20"></path>
+<path d="M409.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M429.5 70h0"></path>
+<path d="M483.5 70h8.5"></path>
+<rect x="429.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="456.5" y="74">!"("</text>
+</g>
+<path d="M492 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M512 40h0"></path>
+<path d="M731 40h0"></path>
+<path d="M512 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M532 20h179"></path>
+</g>
+<path d="M711 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M512 40h20"></path>
+<g>
+<path d="M532 40h0"></path>
+<path d="M711 40h0"></path>
+<path d="M532 40h20"></path>
+<g class="non-terminal">
+<path d="M552 40h0"></path>
+<path d="M623 40h68"></path>
+<rect x="552" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="587.5" y="44">Source</text>
+</a>
+</g>
+<path d="M691 40h20"></path>
+<path d="M532 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M552 70h0"></path>
+<path d="M691 70h0"></path>
+<rect x="552" y="59" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="621.5" y="74">ParameterListS</text>
+</a>
+</g>
+<path d="M691 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M711 40h20"></path>
+</g>
+<g>
+<path d="M731 40h0"></path>
+<path d="M842 40h0"></path>
+<path d="M731 40h20"></path>
+<g class="terminal">
+<path d="M751 40h0"></path>
+<path d="M822 40h0"></path>
+<rect x="751" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="786.5" y="44">!" ) "</text>
+</g>
+<path d="M822 40h20"></path>
+<path d="M731 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M751 70h0"></path>
+<path d="M813.5 70h8.5"></path>
+<rect x="751" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="782.25" y="74">!") "</text>
+</g>
+<path d="M822 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M842 40h10"></path>
+<path d="M 852 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TransportingFields.svg b/abap/expression_TransportingFields.svg
new file mode 100644
index 00000000..9d45fb56
--- /dev/null
+++ b/abap/expression_TransportingFields.svg
@@ -0,0 +1,106 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="367.5" height="130" viewBox="0 0 367.5 130">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M327.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M139.5 31h168"></path>
+<rect x="60" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="99.75" y="35">Dynamic</text>
+</a>
+</g>
+<path d="M307.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 61h0"></path>
+<path d="M307.5 61h0"></path>
+<path d="M60 61h10"></path>
+<g>
+<path d="M70 61h0"></path>
+<path d="M297.5 61h0"></path>
+<path d="M70 61h20"></path>
+<g>
+<path d="M90 61h0"></path>
+<path d="M277.5 61h0"></path>
+<g class="terminal">
+<path d="M90 61h0"></path>
+<path d="M161 61h0"></path>
+<rect x="90" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="125.5" y="65">"INTO"</text>
+</g>
+<path d="M161 61h10"></path>
+<path d="M171 61h10"></path>
+<g class="terminal">
+<path d="M181 61h0"></path>
+<path d="M277.5 61h0"></path>
+<rect x="181" y="50" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="229.25" y="65">!FailStar</text>
+</g>
+</g>
+<path d="M277.5 61h20"></path>
+<path d="M70 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 91h0"></path>
+<path d="M178 91h99.5"></path>
+<rect x="90" y="80" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="134" y="95">FieldSub</text>
+</a>
+</g>
+<path d="M277.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M297.5 61h10"></path>
+<path d="M70 61a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 110h227.5"></path>
+</g>
+<path d="M297.5 110a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M307.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 327.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Type.svg b/abap/expression_Type.svg
new file mode 100644
index 00000000..e51e6938
--- /dev/null
+++ b/abap/expression_Type.svg
@@ -0,0 +1,279 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="605" height="239" viewBox="0 0 605 239">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M565 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M402.5 31h142.5"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M131 31h0"></path>
+<rect x="60" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="35">"LIKE"</text>
+</g>
+<path d="M131 31h10"></path>
+<g>
+<path d="M141 31h0"></path>
+<path d="M402.5 31h0"></path>
+<path d="M141 31h20"></path>
+<g>
+<path d="M161 31h0"></path>
+<path d="M382.5 31h0"></path>
+<g class="terminal">
+<path d="M161 31h0"></path>
+<path d="M257.5 31h0"></path>
+<rect x="161" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="35">"LINE OF"</text>
+</g>
+<path d="M257.5 31h10"></path>
+<path d="M267.5 31h10"></path>
+<g class="non-terminal">
+<path d="M277.5 31h0"></path>
+<path d="M382.5 31h0"></path>
+<rect x="277.5" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="330" y="35">FieldChain</text>
+</a>
+</g>
+</g>
+<path d="M382.5 31h20"></path>
+<path d="M141 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 61h0"></path>
+<path d="M374 61h8.5"></path>
+<g class="terminal">
+<path d="M161 61h0"></path>
+<path d="M249 61h0"></path>
+<rect x="161" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="205" y="65">"REF TO"</text>
+</g>
+<path d="M249 61h10"></path>
+<path d="M259 61h10"></path>
+<g class="non-terminal">
+<path d="M269 61h0"></path>
+<path d="M374 61h0"></path>
+<rect x="269" y="50" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="321.5" y="65">FieldChain</text>
+</a>
+</g>
+</g>
+<path d="M382.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M141 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M161 91h0"></path>
+<path d="M266 91h116.5"></path>
+<rect x="161" y="80" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="213.5" y="95">FieldChain</text>
+</a>
+</g>
+<path d="M382.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M545 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 130h0"></path>
+<path d="M545 130h0"></path>
+<g class="terminal">
+<path d="M60 130h0"></path>
+<path d="M131 130h0"></path>
+<rect x="60" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="134">"TYPE"</text>
+</g>
+<path d="M131 130h10"></path>
+<g>
+<path d="M141 130h0"></path>
+<path d="M545 130h0"></path>
+<path d="M141 130h20"></path>
+<g>
+<path d="M161 130h0"></path>
+<path d="M495 130h30"></path>
+<g class="terminal">
+<path d="M161 130h0"></path>
+<path d="M257.5 130h0"></path>
+<rect x="161" y="119" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="134">"LINE OF"</text>
+</g>
+<path d="M257.5 130h10"></path>
+<path d="M267.5 130h10"></path>
+<g>
+<path d="M277.5 130h0"></path>
+<path d="M495 130h0"></path>
+<g class="non-terminal">
+<path d="M277.5 130h0"></path>
+<path d="M365.5 130h0"></path>
+<rect x="277.5" y="119" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="321.5" y="134">TypeName</text>
+</a>
+</g>
+<path d="M365.5 130h10"></path>
+<g>
+<path d="M375.5 130h0"></path>
+<path d="M495 130h0"></path>
+<path d="M375.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M395.5 110h79.5"></path>
+</g>
+<path d="M475 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M375.5 130h20"></path>
+<g class="non-terminal">
+<path d="M395.5 130h0"></path>
+<path d="M475 130h0"></path>
+<rect x="395.5" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Default"><text x="435.25" y="134">Default</text>
+</a>
+</g>
+<path d="M475 130h20"></path>
+</g>
+</g>
+</g>
+<path d="M525 130h20"></path>
+<path d="M141 130a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 169h0"></path>
+<path d="M486.5 169h38.5"></path>
+<g class="terminal">
+<path d="M161 169h0"></path>
+<path d="M249 169h0"></path>
+<rect x="161" y="158" width="88" height="22" rx="10" ry="10"></rect>
+<text x="205" y="173">"REF TO"</text>
+</g>
+<path d="M249 169h10"></path>
+<path d="M259 169h10"></path>
+<g>
+<path d="M269 169h0"></path>
+<path d="M486.5 169h0"></path>
+<g class="non-terminal">
+<path d="M269 169h0"></path>
+<path d="M357 169h0"></path>
+<rect x="269" y="158" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="313" y="173">TypeName</text>
+</a>
+</g>
+<path d="M357 169h10"></path>
+<g>
+<path d="M367 169h0"></path>
+<path d="M486.5 169h0"></path>
+<path d="M367 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M387 149h79.5"></path>
+</g>
+<path d="M466.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M367 169h20"></path>
+<g class="non-terminal">
+<path d="M387 169h0"></path>
+<path d="M466.5 169h0"></path>
+<rect x="387" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Default"><text x="426.75" y="173">Default</text>
+</a>
+</g>
+<path d="M466.5 169h20"></path>
+</g>
+</g>
+</g>
+<path d="M525 169a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M141 130a10 10 0 0 1 10 10v58a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 208h0"></path>
+<path d="M525 208h0"></path>
+<g>
+<path d="M161 208h0"></path>
+<path d="M378.5 208h0"></path>
+<g class="non-terminal">
+<path d="M161 208h0"></path>
+<path d="M249 208h0"></path>
+<rect x="161" y="197" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="205" y="212">TypeName</text>
+</a>
+</g>
+<path d="M249 208h10"></path>
+<g>
+<path d="M259 208h0"></path>
+<path d="M378.5 208h0"></path>
+<path d="M259 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M279 188h79.5"></path>
+</g>
+<path d="M358.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M259 208h20"></path>
+<g class="non-terminal">
+<path d="M279 208h0"></path>
+<path d="M358.5 208h0"></path>
+<rect x="279" y="197" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Default"><text x="318.75" y="212">Default</text>
+</a>
+</g>
+<path d="M358.5 208h20"></path>
+</g>
+</g>
+<path d="M378.5 208h10"></path>
+<g>
+<path d="M388.5 208h0"></path>
+<path d="M525 208h0"></path>
+<path d="M388.5 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M408.5 188h96.5"></path>
+</g>
+<path d="M505 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M388.5 208h20"></path>
+<g class="non-terminal">
+<path d="M408.5 208h0"></path>
+<path d="M505 208h0"></path>
+<rect x="408.5" y="197" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/LOBHandle"><text x="456.75" y="212">LOBHandle</text>
+</a>
+</g>
+<path d="M505 208h20"></path>
+</g>
+</g>
+<path d="M525 208a10 10 0 0 0 10 -10v-58a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M545 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 565 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeName.svg b/abap/expression_TypeName.svg
new file mode 100644
index 00000000..c5f9e55c
--- /dev/null
+++ b/abap/expression_TypeName.svg
@@ -0,0 +1,143 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="772.5" height="101" viewBox="0 0 772.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M722.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M324.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h234.5"></path>
+</g>
+<path d="M304.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M304.5 40h0"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M192 40h0"></path>
+<rect x="70" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="131" y="44">^&#91;\w~\/%$&#93;+$</text>
+</g>
+<path d="M192 40h10"></path>
+<g>
+<path d="M202 40h0"></path>
+<path d="M304.5 40h0"></path>
+<path d="M202 40h20"></path>
+<g class="terminal">
+<path d="M222 40h0"></path>
+<path d="M284.5 40h0"></path>
+<rect x="222" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="253.25" y="44">!"=>"</text>
+</g>
+<path d="M284.5 40h20"></path>
+<path d="M202 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M222 70h0"></path>
+<path d="M284.5 70h0"></path>
+<rect x="222" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="253.25" y="74">!"->"</text>
+</g>
+<path d="M284.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M304.5 40h20"></path>
+</g>
+<path d="M324.5 40h10"></path>
+<g class="terminal">
+<path d="M334.5 40h0"></path>
+<path d="M456.5 40h0"></path>
+<rect x="334.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="395.5" y="44">^&#91;\w~\/%$&#93;+$</text>
+</g>
+<path d="M456.5 40h10"></path>
+<g>
+<path d="M466.5 40h0"></path>
+<path d="M722.5 40h0"></path>
+<path d="M466.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M486.5 20h216"></path>
+</g>
+<path d="M702.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M466.5 40h20"></path>
+<g>
+<path d="M486.5 40h0"></path>
+<path d="M702.5 40h0"></path>
+<path d="M486.5 40h10"></path>
+<g>
+<path d="M496.5 40h0"></path>
+<path d="M692.5 40h0"></path>
+<g class="terminal">
+<path d="M496.5 40h0"></path>
+<path d="M550.5 40h0"></path>
+<rect x="496.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="523.5" y="44">!"-"</text>
+</g>
+<path d="M550.5 40h10"></path>
+<path d="M560.5 40h10"></path>
+<g class="terminal">
+<path d="M570.5 40h0"></path>
+<path d="M692.5 40h0"></path>
+<rect x="570.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="631.5" y="44">^&#91;\w~\/%$&#93;+$</text>
+</g>
+</g>
+<path d="M692.5 40h10"></path>
+<path d="M496.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M496.5 60h196"></path>
+</g>
+<path d="M692.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M702.5 40h20"></path>
+</g>
+</g>
+<path d="M722.5 40h10"></path>
+<path d="M 732.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeNameOrInfer.svg b/abap/expression_TypeNameOrInfer.svg
new file mode 100644
index 00000000..27a346db
--- /dev/null
+++ b/abap/expression_TypeNameOrInfer.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="208" height="92" viewBox="0 0 208 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M168 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M105.5 31h42.5"></path>
+<rect x="60" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="82.75" y="35">"#"</text>
+</g>
+<path d="M148 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M148 61h0"></path>
+<rect x="60" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="104" y="65">TypeName</text>
+</a>
+</g>
+<path d="M148 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 168 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeParam.svg b/abap/expression_TypeParam.svg
new file mode 100644
index 00000000..e4961fdf
--- /dev/null
+++ b/abap/expression_TypeParam.svg
@@ -0,0 +1,328 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1044.5" height="410" viewBox="0 0 1044.5 410">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M1004.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M984.5 31h0"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M131 31h0"></path>
+<rect x="60" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="35">"TYPE"</text>
+</g>
+<path d="M131 31h10"></path>
+<g>
+<path d="M141 31h0"></path>
+<path d="M984.5 31h0"></path>
+<path d="M141 31h20"></path>
+<g>
+<path d="M161 31h0"></path>
+<path d="M395.5 31h569"></path>
+<g>
+<path d="M161 31h0"></path>
+<path d="M306 31h0"></path>
+<path d="M161 31h20"></path>
+<g class="terminal">
+<path d="M181 31h0"></path>
+<path d="M286 31h0"></path>
+<rect x="181" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="233.5" y="35">"STANDARD"</text>
+</g>
+<path d="M286 31h20"></path>
+<path d="M161 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 61h0"></path>
+<path d="M269 61h17"></path>
+<rect x="181" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="65">"HASHED"</text>
+</g>
+<path d="M286 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M161 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 91h0"></path>
+<path d="M260.5 91h25.5"></path>
+<rect x="181" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="220.75" y="95">"INDEX"</text>
+</g>
+<path d="M286 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M161 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 121h0"></path>
+<path d="M269 121h17"></path>
+<rect x="181" y="110" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="125">"SORTED"</text>
+</g>
+<path d="M286 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M161 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 151h0"></path>
+<path d="M243.5 151h42.5"></path>
+<rect x="181" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="212.25" y="155">"ANY"</text>
+</g>
+<path d="M286 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M306 31h10"></path>
+<g class="terminal">
+<path d="M316 31h0"></path>
+<path d="M395.5 31h0"></path>
+<rect x="316" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="355.75" y="35">"TABLE"</text>
+</g>
+</g>
+<path d="M964.5 31h20"></path>
+<path d="M141 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 190h0"></path>
+<path d="M964.5 190h0"></path>
+<g>
+<path d="M161 190h0"></path>
+<path d="M677.5 190h0"></path>
+<path d="M161 190h20"></path>
+<g>
+<path d="M181 190h0"></path>
+<path d="M657.5 190h0"></path>
+<g>
+<path d="M181 190h0"></path>
+<path d="M529.5 190h0"></path>
+<path d="M181 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M201 170h308.5"></path>
+</g>
+<path d="M509.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M181 190h20"></path>
+<g>
+<path d="M201 190h0"></path>
+<path d="M509.5 190h0"></path>
+<g>
+<path d="M201 190h0"></path>
+<path d="M435.5 190h0"></path>
+<g>
+<path d="M201 190h0"></path>
+<path d="M346 190h0"></path>
+<path d="M201 190h20"></path>
+<g class="terminal">
+<path d="M221 190h0"></path>
+<path d="M326 190h0"></path>
+<rect x="221" y="179" width="105" height="22" rx="10" ry="10"></rect>
+<text x="273.5" y="194">"STANDARD"</text>
+</g>
+<path d="M326 190h20"></path>
+<path d="M201 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 220h0"></path>
+<path d="M309 220h17"></path>
+<rect x="221" y="209" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="224">"HASHED"</text>
+</g>
+<path d="M326 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M201 190a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 250h0"></path>
+<path d="M300.5 250h25.5"></path>
+<rect x="221" y="239" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="260.75" y="254">"INDEX"</text>
+</g>
+<path d="M326 250a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M201 190a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 280h0"></path>
+<path d="M309 280h17"></path>
+<rect x="221" y="269" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="284">"SORTED"</text>
+</g>
+<path d="M326 280a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M201 190a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 310h0"></path>
+<path d="M283.5 310h42.5"></path>
+<rect x="221" y="299" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="252.25" y="314">"ANY"</text>
+</g>
+<path d="M326 310a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M346 190h10"></path>
+<g class="terminal">
+<path d="M356 190h0"></path>
+<path d="M435.5 190h0"></path>
+<rect x="356" y="179" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="395.75" y="194">"TABLE"</text>
+</g>
+</g>
+<path d="M435.5 190h10"></path>
+<path d="M445.5 190h10"></path>
+<g class="terminal">
+<path d="M455.5 190h0"></path>
+<path d="M509.5 190h0"></path>
+<rect x="455.5" y="179" width="54" height="22" rx="10" ry="10"></rect>
+<text x="482.5" y="194">"OF"</text>
+</g>
+</g>
+<path d="M509.5 190h20"></path>
+</g>
+<g>
+<path d="M529.5 190h0"></path>
+<path d="M657.5 190h0"></path>
+<path d="M529.5 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M549.5 170h88"></path>
+</g>
+<path d="M637.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M529.5 190h20"></path>
+<g class="terminal">
+<path d="M549.5 190h0"></path>
+<path d="M637.5 190h0"></path>
+<rect x="549.5" y="179" width="88" height="22" rx="10" ry="10"></rect>
+<text x="593.5" y="194">"REF TO"</text>
+</g>
+<path d="M637.5 190h20"></path>
+</g>
+</g>
+<path d="M657.5 190h20"></path>
+<path d="M161 190a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 340h0"></path>
+<path d="M277.5 340h380"></path>
+<rect x="181" y="329" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="229.25" y="344">"LINE OF"</text>
+</g>
+<path d="M657.5 340a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M677.5 190h10"></path>
+<g class="non-terminal">
+<path d="M687.5 190h0"></path>
+<path d="M835 190h0"></path>
+<rect x="687.5" y="179" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeNameOrInfer"><text x="761.25" y="194">TypeNameOrInfer</text>
+</a>
+</g>
+<path d="M835 190h10"></path>
+<g>
+<path d="M845 190h0"></path>
+<path d="M964.5 190h0"></path>
+<path d="M845 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M865 170h79.5"></path>
+</g>
+<path d="M944.5 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M845 190h20"></path>
+<g class="non-terminal">
+<path d="M865 190h0"></path>
+<path d="M944.5 190h0"></path>
+<rect x="865" y="179" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Default"><text x="904.75" y="194">Default</text>
+</a>
+</g>
+<path d="M944.5 190h20"></path>
+</g>
+</g>
+<path d="M964.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M984.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v328a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 379h0"></path>
+<path d="M522 379h462.5"></path>
+<g class="terminal">
+<path d="M60 379h0"></path>
+<path d="M131 379h0"></path>
+<rect x="60" y="368" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="383">"LIKE"</text>
+</g>
+<path d="M131 379h10"></path>
+<g>
+<path d="M141 379h0"></path>
+<path d="M277.5 379h0"></path>
+<path d="M141 379a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M161 359h96.5"></path>
+</g>
+<path d="M257.5 359a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M141 379h20"></path>
+<g class="terminal">
+<path d="M161 379h0"></path>
+<path d="M257.5 379h0"></path>
+<rect x="161" y="368" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="383">"LINE OF"</text>
+</g>
+<path d="M257.5 379h20"></path>
+</g>
+<path d="M277.5 379h10"></path>
+<g class="non-terminal">
+<path d="M287.5 379h0"></path>
+<path d="M392.5 379h0"></path>
+<rect x="287.5" y="368" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="340" y="383">FieldChain</text>
+</a>
+</g>
+<path d="M392.5 379h10"></path>
+<g>
+<path d="M402.5 379h0"></path>
+<path d="M522 379h0"></path>
+<path d="M402.5 379a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M422.5 359h79.5"></path>
+</g>
+<path d="M502 359a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M402.5 379h20"></path>
+<g class="non-terminal">
+<path d="M422.5 379h0"></path>
+<path d="M502 379h0"></path>
+<rect x="422.5" y="368" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Default"><text x="462.25" y="383">Default</text>
+</a>
+</g>
+<path d="M502 379h20"></path>
+</g>
+</g>
+<path d="M984.5 379a10 10 0 0 0 10 -10v-328a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1004.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeStructure.svg b/abap/expression_TypeStructure.svg
new file mode 100644
index 00000000..09ae3be5
--- /dev/null
+++ b/abap/expression_TypeStructure.svg
@@ -0,0 +1,106 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="655" height="92" viewBox="0 0 655 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M605 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">"TYPE STRUCTURE FOR"</text>
+</g>
+<path d="M240 31h10"></path>
+<g>
+<path d="M250 31h0"></path>
+<path d="M605 31h0"></path>
+<path d="M250 31h20"></path>
+<g>
+<path d="M270 31h0"></path>
+<path d="M585 31h0"></path>
+<g class="terminal">
+<path d="M270 31h0"></path>
+<path d="M383.5 31h0"></path>
+<rect x="270" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="326.75" y="35">"HIERARCHY"</text>
+</g>
+<path d="M383.5 31h10"></path>
+<path d="M393.5 31h10"></path>
+<g class="non-terminal">
+<path d="M403.5 31h0"></path>
+<path d="M585 31h0"></path>
+<rect x="403.5" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="494.25" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M585 31h20"></path>
+<path d="M250 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M270 61h0"></path>
+<path d="M466 61h119"></path>
+<g class="terminal">
+<path d="M270 61h0"></path>
+<path d="M349.5 61h0"></path>
+<rect x="270" y="50" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="309.75" y="65">"EVENT"</text>
+</g>
+<path d="M349.5 61h10"></path>
+<path d="M359.5 61h10"></path>
+<g class="non-terminal">
+<path d="M369.5 61h0"></path>
+<path d="M466 61h0"></path>
+<rect x="369.5" y="50" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EventName"><text x="417.75" y="65">EventName</text>
+</a>
+</g>
+</g>
+<path d="M585 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M605 31h10"></path>
+<path d="M 615 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeTable.svg b/abap/expression_TypeTable.svg
new file mode 100644
index 00000000..5804da8e
--- /dev/null
+++ b/abap/expression_TypeTable.svg
@@ -0,0 +1,1104 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1306" height="1034" viewBox="0 0 1306 1034">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M1266 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M470.5 40h775.5"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M247.5 40h0"></path>
+<g class="terminal">
+<path d="M60 40h0"></path>
+<path d="M148 40h0"></path>
+<rect x="60" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="44">"OCCURS"</text>
+</g>
+<path d="M148 40h10"></path>
+<path d="M158 40h10"></path>
+<g class="non-terminal">
+<path d="M168 40h0"></path>
+<path d="M247.5 40h0"></path>
+<rect x="168" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="207.75" y="44">Integer</text>
+</a>
+</g>
+</g>
+<path d="M247.5 40h10"></path>
+<g>
+<path d="M257.5 40h0"></path>
+<path d="M470.5 40h0"></path>
+<path d="M257.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M277.5 20h173"></path>
+</g>
+<path d="M450.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M257.5 40h20"></path>
+<g class="terminal">
+<path d="M277.5 40h0"></path>
+<path d="M450.5 40h0"></path>
+<rect x="277.5" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="364" y="44">"WITH HEADER LINE"</text>
+</g>
+<path d="M450.5 40h20"></path>
+</g>
+</g>
+<path d="M1246 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 79h0"></path>
+<path d="M1134 79h112"></path>
+<g class="terminal">
+<path d="M60 79h0"></path>
+<path d="M131 79h0"></path>
+<rect x="60" y="68" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="83">"LIKE"</text>
+</g>
+<path d="M131 79h10"></path>
+<g>
+<path d="M141 79h0"></path>
+<path d="M1134 79h0"></path>
+<path d="M141 79h20"></path>
+<g>
+<path d="M161 79h0"></path>
+<path d="M864.5 79h249.5"></path>
+<g>
+<path d="M161 79h0"></path>
+<path d="M289 79h0"></path>
+<path d="M161 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 59h88"></path>
+</g>
+<path d="M269 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 79h20"></path>
+<g class="terminal">
+<path d="M181 79h0"></path>
+<path d="M269 79h0"></path>
+<rect x="181" y="68" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="83">"REF TO"</text>
+</g>
+<path d="M269 79h20"></path>
+</g>
+<path d="M289 79h10"></path>
+<g class="non-terminal">
+<path d="M299 79h0"></path>
+<path d="M404 79h0"></path>
+<rect x="299" y="68" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="351.5" y="83">FieldChain</text>
+</a>
+</g>
+<path d="M404 79h10"></path>
+<g>
+<path d="M414 79h0"></path>
+<path d="M864.5 79h0"></path>
+<path d="M414 79h20"></path>
+<g>
+<path d="M434 79h0"></path>
+<path d="M844.5 79h0"></path>
+<g>
+<path d="M434 79h0"></path>
+<path d="M621.5 79h0"></path>
+<g class="terminal">
+<path d="M434 79h0"></path>
+<path d="M522 79h0"></path>
+<rect x="434" y="68" width="88" height="22" rx="10" ry="10"></rect>
+<text x="478" y="83">"OCCURS"</text>
+</g>
+<path d="M522 79h10"></path>
+<path d="M532 79h10"></path>
+<g class="non-terminal">
+<path d="M542 79h0"></path>
+<path d="M621.5 79h0"></path>
+<rect x="542" y="68" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="581.75" y="83">Integer</text>
+</a>
+</g>
+</g>
+<path d="M621.5 79h10"></path>
+<g>
+<path d="M631.5 79h0"></path>
+<path d="M844.5 79h0"></path>
+<path d="M631.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M651.5 59h173"></path>
+</g>
+<path d="M824.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M631.5 79h20"></path>
+<g class="terminal">
+<path d="M651.5 79h0"></path>
+<path d="M824.5 79h0"></path>
+<rect x="651.5" y="68" width="173" height="22" rx="10" ry="10"></rect>
+<text x="738" y="83">"WITH HEADER LINE"</text>
+</g>
+<path d="M824.5 79h20"></path>
+</g>
+</g>
+<path d="M844.5 79h20"></path>
+<path d="M414 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M434 109h0"></path>
+<path d="M607 109h237.5"></path>
+<rect x="434" y="98" width="173" height="22" rx="10" ry="10"></rect>
+<text x="520.5" y="113">"WITH HEADER LINE"</text>
+</g>
+<path d="M844.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1114 79h20"></path>
+<path d="M141 79a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 148h0"></path>
+<path d="M1101 148h13"></path>
+<g>
+<path d="M161 148h0"></path>
+<path d="M346 148h0"></path>
+<path d="M161 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 128h145"></path>
+</g>
+<path d="M326 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 148h20"></path>
+<g>
+<path d="M181 148h0"></path>
+<path d="M326 148h0"></path>
+<path d="M181 148h20"></path>
+<g class="terminal">
+<path d="M201 148h0"></path>
+<path d="M306 148h0"></path>
+<rect x="201" y="137" width="105" height="22" rx="10" ry="10"></rect>
+<text x="253.5" y="152">"STANDARD"</text>
+</g>
+<path d="M306 148h20"></path>
+<path d="M181 148a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M201 178h0"></path>
+<path d="M289 178h17"></path>
+<rect x="201" y="167" width="88" height="22" rx="10" ry="10"></rect>
+<text x="245" y="182">"HASHED"</text>
+</g>
+<path d="M306 178a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M181 148a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M201 208h0"></path>
+<path d="M280.5 208h25.5"></path>
+<rect x="201" y="197" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="240.75" y="212">"INDEX"</text>
+</g>
+<path d="M306 208a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M181 148a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M201 238h0"></path>
+<path d="M289 238h17"></path>
+<rect x="201" y="227" width="88" height="22" rx="10" ry="10"></rect>
+<text x="245" y="242">"SORTED"</text>
+</g>
+<path d="M306 238a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M181 148a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M201 268h0"></path>
+<path d="M263.5 268h42.5"></path>
+<rect x="201" y="257" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="232.25" y="272">"ANY"</text>
+</g>
+<path d="M306 268a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M326 148h20"></path>
+</g>
+<path d="M346 148h10"></path>
+<g class="terminal">
+<path d="M356 148h0"></path>
+<path d="M461 148h0"></path>
+<rect x="356" y="137" width="105" height="22" rx="10" ry="10"></rect>
+<text x="408.5" y="152">"TABLE OF"</text>
+</g>
+<path d="M461 148h10"></path>
+<g>
+<path d="M471 148h0"></path>
+<path d="M599 148h0"></path>
+<path d="M471 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M491 128h88"></path>
+</g>
+<path d="M579 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M471 148h20"></path>
+<g class="terminal">
+<path d="M491 148h0"></path>
+<path d="M579 148h0"></path>
+<rect x="491" y="137" width="88" height="22" rx="10" ry="10"></rect>
+<text x="535" y="152">"REF TO"</text>
+</g>
+<path d="M579 148h20"></path>
+</g>
+<g>
+<path d="M599 148h0"></path>
+<path d="M744 148h0"></path>
+<path d="M599 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M619 128h105"></path>
+</g>
+<path d="M724 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M599 148h20"></path>
+<g class="non-terminal">
+<path d="M619 148h0"></path>
+<path d="M724 148h0"></path>
+<rect x="619" y="137" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="671.5" y="152">FieldChain</text>
+</a>
+</g>
+<path d="M724 148h20"></path>
+</g>
+<g>
+<path d="M744 148h0"></path>
+<path d="M1101 148h0"></path>
+<path d="M744 148a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M764 128h317"></path>
+</g>
+<path d="M1081 128a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M744 148h20"></path>
+<g>
+<path d="M764 148h0"></path>
+<path d="M1081 148h0"></path>
+<path d="M794 148h10"></path>
+<g class="terminal">
+<path d="M804 148h0"></path>
+<path d="M977 148h74"></path>
+<rect x="804" y="137" width="173" height="22" rx="10" ry="10"></rect>
+<text x="890.5" y="152">"WITH HEADER LINE"</text>
+</g>
+<path d="M1051 148h10"></path>
+<path d="M794 148v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M804 178h0"></path>
+<path d="M1051 178h0"></path>
+<g class="terminal">
+<path d="M804 178h0"></path>
+<path d="M943 178h0"></path>
+<rect x="804" y="167" width="139" height="22" rx="10" ry="10"></rect>
+<text x="873.5" y="182">"INITIAL SIZE"</text>
+</g>
+<path d="M943 178h10"></path>
+<path d="M953 178h10"></path>
+<g class="non-terminal">
+<path d="M963 178h0"></path>
+<path d="M1051 178h0"></path>
+<rect x="963" y="167" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1007" y="182">Constant</text>
+</a>
+</g>
+</g>
+<path d="M1051 178a10 10 0 0 0 10 -10v-20"></path>
+<path d="M794 148v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M804 208h0"></path>
+<path d="M946 208h105"></path>
+<path d="M804 208h10"></path>
+<g class="non-terminal">
+<path d="M814 208h0"></path>
+<path d="M936 208h0"></path>
+<rect x="814" y="197" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTableKey"><text x="875" y="212">TypeTableKey</text>
+</a>
+</g>
+<path d="M936 208h10"></path>
+<path d="M814 208a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M814 228h122"></path>
+</g>
+<path d="M936 228a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1051 208a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 794 138 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="779" y="152" class="diagram-text">1+</text>
+<path d="M 1061 138 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1068 146 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1081 148h20"></path>
+</g>
+</g>
+<path d="M1114 148a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M141 79a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 307h0"></path>
+<path d="M1114 307h0"></path>
+<g class="terminal">
+<path d="M161 307h0"></path>
+<path d="M266 307h0"></path>
+<rect x="161" y="296" width="105" height="22" rx="10" ry="10"></rect>
+<text x="213.5" y="311">"RANGE OF"</text>
+</g>
+<path d="M266 307h10"></path>
+<path d="M276 307h10"></path>
+<g class="non-terminal">
+<path d="M286 307h0"></path>
+<path d="M391 307h0"></path>
+<rect x="286" y="296" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="338.5" y="311">FieldChain</text>
+</a>
+</g>
+<path d="M391 307h10"></path>
+<g>
+<path d="M401 307h0"></path>
+<path d="M614 307h0"></path>
+<path d="M401 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M421 287h173"></path>
+</g>
+<path d="M594 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M401 307h20"></path>
+<g class="terminal">
+<path d="M421 307h0"></path>
+<path d="M594 307h0"></path>
+<rect x="421" y="296" width="173" height="22" rx="10" ry="10"></rect>
+<text x="507.5" y="311">"WITH HEADER LINE"</text>
+</g>
+<path d="M594 307h20"></path>
+</g>
+<g>
+<path d="M614 307h0"></path>
+<path d="M901 307h0"></path>
+<path d="M614 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M634 287h247"></path>
+</g>
+<path d="M881 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M614 307h20"></path>
+<g>
+<path d="M634 307h0"></path>
+<path d="M881 307h0"></path>
+<g class="terminal">
+<path d="M634 307h0"></path>
+<path d="M773 307h0"></path>
+<rect x="634" y="296" width="139" height="22" rx="10" ry="10"></rect>
+<text x="703.5" y="311">"INITIAL SIZE"</text>
+</g>
+<path d="M773 307h10"></path>
+<path d="M783 307h10"></path>
+<g class="non-terminal">
+<path d="M793 307h0"></path>
+<path d="M881 307h0"></path>
+<rect x="793" y="296" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="837" y="311">Constant</text>
+</a>
+</g>
+</g>
+<path d="M881 307h20"></path>
+</g>
+<g>
+<path d="M901 307h0"></path>
+<path d="M1114 307h0"></path>
+<path d="M901 307a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M921 287h173"></path>
+</g>
+<path d="M1094 287a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M901 307h20"></path>
+<g class="terminal">
+<path d="M921 307h0"></path>
+<path d="M1094 307h0"></path>
+<rect x="921" y="296" width="173" height="22" rx="10" ry="10"></rect>
+<text x="1007.5" y="311">"VALUE IS INITIAL"</text>
+</g>
+<path d="M1094 307h20"></path>
+</g>
+</g>
+<path d="M1114 307a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1246 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M40 40a10 10 0 0 1 10 10v286a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 346h0"></path>
+<path d="M1246 346h0"></path>
+<g class="terminal">
+<path d="M60 346h0"></path>
+<path d="M131 346h0"></path>
+<rect x="60" y="335" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="350">"TYPE"</text>
+</g>
+<path d="M131 346h10"></path>
+<g>
+<path d="M141 346h0"></path>
+<path d="M1246 346h0"></path>
+<path d="M141 346h20"></path>
+<g>
+<path d="M161 346h0"></path>
+<path d="M847.5 346h378.5"></path>
+<g>
+<path d="M161 346h0"></path>
+<path d="M289 346h0"></path>
+<path d="M161 346a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 326h88"></path>
+</g>
+<path d="M269 326a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 346h20"></path>
+<g class="terminal">
+<path d="M181 346h0"></path>
+<path d="M269 346h0"></path>
+<rect x="181" y="335" width="88" height="22" rx="10" ry="10"></rect>
+<text x="225" y="350">"REF TO"</text>
+</g>
+<path d="M269 346h20"></path>
+</g>
+<path d="M289 346h10"></path>
+<g class="non-terminal">
+<path d="M299 346h0"></path>
+<path d="M387 346h0"></path>
+<rect x="299" y="335" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="343" y="350">TypeName</text>
+</a>
+</g>
+<path d="M387 346h10"></path>
+<g>
+<path d="M397 346h0"></path>
+<path d="M847.5 346h0"></path>
+<path d="M397 346h20"></path>
+<g>
+<path d="M417 346h0"></path>
+<path d="M827.5 346h0"></path>
+<g>
+<path d="M417 346h0"></path>
+<path d="M604.5 346h0"></path>
+<g class="terminal">
+<path d="M417 346h0"></path>
+<path d="M505 346h0"></path>
+<rect x="417" y="335" width="88" height="22" rx="10" ry="10"></rect>
+<text x="461" y="350">"OCCURS"</text>
+</g>
+<path d="M505 346h10"></path>
+<path d="M515 346h10"></path>
+<g class="non-terminal">
+<path d="M525 346h0"></path>
+<path d="M604.5 346h0"></path>
+<rect x="525" y="335" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="564.75" y="350">Integer</text>
+</a>
+</g>
+</g>
+<path d="M604.5 346h10"></path>
+<g>
+<path d="M614.5 346h0"></path>
+<path d="M827.5 346h0"></path>
+<path d="M614.5 346a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M634.5 326h173"></path>
+</g>
+<path d="M807.5 326a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M614.5 346h20"></path>
+<g class="terminal">
+<path d="M634.5 346h0"></path>
+<path d="M807.5 346h0"></path>
+<rect x="634.5" y="335" width="173" height="22" rx="10" ry="10"></rect>
+<text x="721" y="350">"WITH HEADER LINE"</text>
+</g>
+<path d="M807.5 346h20"></path>
+</g>
+</g>
+<path d="M827.5 346h20"></path>
+<path d="M397 346a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M417 376h0"></path>
+<path d="M590 376h237.5"></path>
+<rect x="417" y="365" width="173" height="22" rx="10" ry="10"></rect>
+<text x="503.5" y="380">"WITH HEADER LINE"</text>
+</g>
+<path d="M827.5 376a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1226 346h20"></path>
+<path d="M141 346a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 415h0"></path>
+<path d="M1226 415h0"></path>
+<path d="M161 415h20"></path>
+<g>
+<path d="M181 415h0"></path>
+<path d="M455.5 415h750.5"></path>
+<g>
+<path d="M181 415h0"></path>
+<path d="M366 415h0"></path>
+<path d="M181 415a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M201 395h145"></path>
+</g>
+<path d="M346 395a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M181 415h20"></path>
+<g>
+<path d="M201 415h0"></path>
+<path d="M346 415h0"></path>
+<path d="M201 415h20"></path>
+<g class="terminal">
+<path d="M221 415h0"></path>
+<path d="M326 415h0"></path>
+<rect x="221" y="404" width="105" height="22" rx="10" ry="10"></rect>
+<text x="273.5" y="419">"STANDARD"</text>
+</g>
+<path d="M326 415h20"></path>
+<path d="M201 415a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 445h0"></path>
+<path d="M309 445h17"></path>
+<rect x="221" y="434" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="449">"HASHED"</text>
+</g>
+<path d="M326 445a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M201 415a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 475h0"></path>
+<path d="M300.5 475h25.5"></path>
+<rect x="221" y="464" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="260.75" y="479">"INDEX"</text>
+</g>
+<path d="M326 475a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M201 415a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 505h0"></path>
+<path d="M309 505h17"></path>
+<rect x="221" y="494" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="509">"SORTED"</text>
+</g>
+<path d="M326 505a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M201 415a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 535h0"></path>
+<path d="M283.5 535h42.5"></path>
+<rect x="221" y="524" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="252.25" y="539">"ANY"</text>
+</g>
+<path d="M326 535a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M346 415h20"></path>
+</g>
+<path d="M366 415h10"></path>
+<g class="terminal">
+<path d="M376 415h0"></path>
+<path d="M455.5 415h0"></path>
+<rect x="376" y="404" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="415.75" y="419">"TABLE"</text>
+</g>
+</g>
+<path d="M1206 415h20"></path>
+<path d="M161 415a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M181 574h0"></path>
+<path d="M1206 574h0"></path>
+<g>
+<path d="M181 574h0"></path>
+<path d="M717 574h0"></path>
+<g>
+<path d="M181 574h0"></path>
+<path d="M366 574h0"></path>
+<path d="M181 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M201 554h145"></path>
+</g>
+<path d="M346 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M181 574h20"></path>
+<g>
+<path d="M201 574h0"></path>
+<path d="M346 574h0"></path>
+<path d="M201 574h20"></path>
+<g class="terminal">
+<path d="M221 574h0"></path>
+<path d="M326 574h0"></path>
+<rect x="221" y="563" width="105" height="22" rx="10" ry="10"></rect>
+<text x="273.5" y="578">"STANDARD"</text>
+</g>
+<path d="M326 574h20"></path>
+<path d="M201 574a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 604h0"></path>
+<path d="M309 604h17"></path>
+<rect x="221" y="593" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="608">"HASHED"</text>
+</g>
+<path d="M326 604a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M201 574a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 634h0"></path>
+<path d="M300.5 634h25.5"></path>
+<rect x="221" y="623" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="260.75" y="638">"INDEX"</text>
+</g>
+<path d="M326 634a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M201 574a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 664h0"></path>
+<path d="M309 664h17"></path>
+<rect x="221" y="653" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="668">"SORTED"</text>
+</g>
+<path d="M326 664a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M201 574a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M221 694h0"></path>
+<path d="M283.5 694h42.5"></path>
+<rect x="221" y="683" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="252.25" y="698">"ANY"</text>
+</g>
+<path d="M326 694a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M346 574h20"></path>
+</g>
+<path d="M366 574h10"></path>
+<g class="terminal">
+<path d="M376 574h0"></path>
+<path d="M481 574h0"></path>
+<rect x="376" y="563" width="105" height="22" rx="10" ry="10"></rect>
+<text x="428.5" y="578">"TABLE OF"</text>
+</g>
+<path d="M481 574h10"></path>
+<g>
+<path d="M491 574h0"></path>
+<path d="M619 574h0"></path>
+<path d="M491 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M511 554h88"></path>
+</g>
+<path d="M599 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M491 574h20"></path>
+<g class="terminal">
+<path d="M511 574h0"></path>
+<path d="M599 574h0"></path>
+<rect x="511" y="563" width="88" height="22" rx="10" ry="10"></rect>
+<text x="555" y="578">"REF TO"</text>
+</g>
+<path d="M599 574h20"></path>
+</g>
+<path d="M619 574h10"></path>
+<g class="non-terminal">
+<path d="M629 574h0"></path>
+<path d="M717 574h0"></path>
+<rect x="629" y="563" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="673" y="578">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M717 574h10"></path>
+<g>
+<path d="M727 574h0"></path>
+<path d="M1206 574h0"></path>
+<path d="M727 574h20"></path>
+<g>
+<path d="M747 574h0"></path>
+<path d="M1104 574h82"></path>
+<path d="M747 574a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M767 554h317"></path>
+</g>
+<path d="M1084 554a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M747 574h20"></path>
+<g>
+<path d="M767 574h0"></path>
+<path d="M1084 574h0"></path>
+<path d="M797 574h10"></path>
+<g class="terminal">
+<path d="M807 574h0"></path>
+<path d="M980 574h74"></path>
+<rect x="807" y="563" width="173" height="22" rx="10" ry="10"></rect>
+<text x="893.5" y="578">"WITH HEADER LINE"</text>
+</g>
+<path d="M1054 574h10"></path>
+<path d="M797 574v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M807 604h0"></path>
+<path d="M1054 604h0"></path>
+<g class="terminal">
+<path d="M807 604h0"></path>
+<path d="M946 604h0"></path>
+<rect x="807" y="593" width="139" height="22" rx="10" ry="10"></rect>
+<text x="876.5" y="608">"INITIAL SIZE"</text>
+</g>
+<path d="M946 604h10"></path>
+<path d="M956 604h10"></path>
+<g class="non-terminal">
+<path d="M966 604h0"></path>
+<path d="M1054 604h0"></path>
+<rect x="966" y="593" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1010" y="608">Constant</text>
+</a>
+</g>
+</g>
+<path d="M1054 604a10 10 0 0 0 10 -10v-20"></path>
+<path d="M797 574v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M807 634h0"></path>
+<path d="M949 634h105"></path>
+<path d="M807 634h10"></path>
+<g class="non-terminal">
+<path d="M817 634h0"></path>
+<path d="M939 634h0"></path>
+<rect x="817" y="623" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTableKey"><text x="878" y="638">TypeTableKey</text>
+</a>
+</g>
+<path d="M939 634h10"></path>
+<path d="M817 634a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M817 654h122"></path>
+</g>
+<path d="M939 654a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1054 634a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 797 564 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="782" y="578" class="diagram-text">1+</text>
+<path d="M 1064 564 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1071 572 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1084 574h20"></path>
+</g>
+<path d="M1186 574h20"></path>
+<path d="M727 574a10 10 0 0 1 10 10v88a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M747 682h0"></path>
+<path d="M1186 682h0"></path>
+<g>
+<path d="M747 682h0"></path>
+<path d="M889 682h0"></path>
+<path d="M747 682h10"></path>
+<g class="non-terminal">
+<path d="M757 682h0"></path>
+<path d="M879 682h0"></path>
+<rect x="757" y="671" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTableKey"><text x="818" y="686">TypeTableKey</text>
+</a>
+</g>
+<path d="M879 682h10"></path>
+<path d="M757 682a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M757 702h122"></path>
+</g>
+<path d="M879 702a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M889 682h10"></path>
+<g>
+<path d="M899 682h0"></path>
+<path d="M1186 682h0"></path>
+<path d="M899 682a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M919 662h247"></path>
+</g>
+<path d="M1166 662a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M899 682h20"></path>
+<g>
+<path d="M919 682h0"></path>
+<path d="M1166 682h0"></path>
+<g class="terminal">
+<path d="M919 682h0"></path>
+<path d="M1058 682h0"></path>
+<rect x="919" y="671" width="139" height="22" rx="10" ry="10"></rect>
+<text x="988.5" y="686">"INITIAL SIZE"</text>
+</g>
+<path d="M1058 682h10"></path>
+<path d="M1068 682h10"></path>
+<g class="non-terminal">
+<path d="M1078 682h0"></path>
+<path d="M1166 682h0"></path>
+<rect x="1078" y="671" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1122" y="686">Constant</text>
+</a>
+</g>
+</g>
+<path d="M1166 682h20"></path>
+</g>
+</g>
+<path d="M1186 682a10 10 0 0 0 10 -10v-88a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1206 574a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1226 415a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M141 346a10 10 0 0 1 10 10v367a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 733h0"></path>
+<path d="M1097 733h129"></path>
+<g class="terminal">
+<path d="M161 733h0"></path>
+<path d="M266 733h0"></path>
+<rect x="161" y="722" width="105" height="22" rx="10" ry="10"></rect>
+<text x="213.5" y="737">"RANGE OF"</text>
+</g>
+<path d="M266 733h10"></path>
+<path d="M276 733h10"></path>
+<g class="non-terminal">
+<path d="M286 733h0"></path>
+<path d="M374 733h0"></path>
+<rect x="286" y="722" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="330" y="737">TypeName</text>
+</a>
+</g>
+<path d="M374 733h10"></path>
+<g>
+<path d="M384 733h0"></path>
+<path d="M597 733h0"></path>
+<path d="M384 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M404 713h173"></path>
+</g>
+<path d="M577 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M384 733h20"></path>
+<g class="terminal">
+<path d="M404 733h0"></path>
+<path d="M577 733h0"></path>
+<rect x="404" y="722" width="173" height="22" rx="10" ry="10"></rect>
+<text x="490.5" y="737">"WITH HEADER LINE"</text>
+</g>
+<path d="M577 733h20"></path>
+</g>
+<g>
+<path d="M597 733h0"></path>
+<path d="M884 733h0"></path>
+<path d="M597 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M617 713h247"></path>
+</g>
+<path d="M864 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M597 733h20"></path>
+<g>
+<path d="M617 733h0"></path>
+<path d="M864 733h0"></path>
+<g class="terminal">
+<path d="M617 733h0"></path>
+<path d="M756 733h0"></path>
+<rect x="617" y="722" width="139" height="22" rx="10" ry="10"></rect>
+<text x="686.5" y="737">"INITIAL SIZE"</text>
+</g>
+<path d="M756 733h10"></path>
+<path d="M766 733h10"></path>
+<g class="non-terminal">
+<path d="M776 733h0"></path>
+<path d="M864 733h0"></path>
+<rect x="776" y="722" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="820" y="737">Constant</text>
+</a>
+</g>
+</g>
+<path d="M864 733h20"></path>
+</g>
+<g>
+<path d="M884 733h0"></path>
+<path d="M1097 733h0"></path>
+<path d="M884 733a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M904 713h173"></path>
+</g>
+<path d="M1077 713a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M884 733h20"></path>
+<g class="terminal">
+<path d="M904 733h0"></path>
+<path d="M1077 733h0"></path>
+<rect x="904" y="722" width="173" height="22" rx="10" ry="10"></rect>
+<text x="990.5" y="737">"VALUE IS INITIAL"</text>
+</g>
+<path d="M1077 733h20"></path>
+</g>
+</g>
+<path d="M1226 733a10 10 0 0 0 10 -10v-367a10 10 0 0 1 10 -10"></path>
+<path d="M141 346a10 10 0 0 1 10 10v397a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 763h0"></path>
+<path d="M766 763h460"></path>
+<g class="terminal">
+<path d="M161 763h0"></path>
+<path d="M257.5 763h0"></path>
+<rect x="161" y="752" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="209.25" y="767">"LINE OF"</text>
+</g>
+<path d="M257.5 763h10"></path>
+<path d="M267.5 763h10"></path>
+<g class="non-terminal">
+<path d="M277.5 763h0"></path>
+<path d="M365.5 763h0"></path>
+<rect x="277.5" y="752" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="321.5" y="767">TypeName</text>
+</a>
+</g>
+<path d="M365.5 763h10"></path>
+<path d="M375.5 763h10"></path>
+<g>
+<path d="M385.5 763h0"></path>
+<path d="M573 763h0"></path>
+<g class="terminal">
+<path d="M385.5 763h0"></path>
+<path d="M473.5 763h0"></path>
+<rect x="385.5" y="752" width="88" height="22" rx="10" ry="10"></rect>
+<text x="429.5" y="767">"OCCURS"</text>
+</g>
+<path d="M473.5 763h10"></path>
+<path d="M483.5 763h10"></path>
+<g class="non-terminal">
+<path d="M493.5 763h0"></path>
+<path d="M573 763h0"></path>
+<rect x="493.5" y="752" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="533.25" y="767">Integer</text>
+</a>
+</g>
+</g>
+<path d="M573 763h10"></path>
+<path d="M583 763h10"></path>
+<g class="terminal">
+<path d="M593 763h0"></path>
+<path d="M766 763h0"></path>
+<rect x="593" y="752" width="173" height="22" rx="10" ry="10"></rect>
+<text x="679.5" y="767">"WITH HEADER LINE"</text>
+</g>
+</g>
+<path d="M1226 763a10 10 0 0 0 10 -10v-397a10 10 0 0 1 10 -10"></path>
+<path d="M141 346a10 10 0 0 1 10 10v427a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 793h0"></path>
+<path d="M628 793h598"></path>
+<g>
+<path d="M161 793h0"></path>
+<path d="M199 793h0"></path>
+<text x="180" y="798" class="comment">v754</text>
+</g>
+<path d="M199 793h10"></path>
+<path d="M209 793h10"></path>
+<g>
+<path d="M219 793h0"></path>
+<path d="M628 793h0"></path>
+<g class="terminal">
+<path d="M219 793h0"></path>
+<path d="M332.5 793h0"></path>
+<rect x="219" y="782" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="275.75" y="797">"TABLE FOR"</text>
+</g>
+<path d="M332.5 793h10"></path>
+<g>
+<path d="M342.5 793h0"></path>
+<path d="M530 793h0"></path>
+<path d="M342.5 793h20"></path>
+<g class="terminal">
+<path d="M362.5 793h0"></path>
+<path d="M510 793h0"></path>
+<rect x="362.5" y="782" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="436.25" y="797">"ACTION IMPORT"</text>
+</g>
+<path d="M510 793h20"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 823h0"></path>
+<path d="M510 823h0"></path>
+<rect x="362.5" y="812" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="436.25" y="827">"ACTION RESULT"</text>
+</g>
+<path d="M510 823a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 853h0"></path>
+<path d="M450.5 853h59.5"></path>
+<rect x="362.5" y="842" width="88" height="22" rx="10" ry="10"></rect>
+<text x="406.5" y="857">"CREATE"</text>
+</g>
+<path d="M510 853a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 883h0"></path>
+<path d="M442 883h68"></path>
+<rect x="362.5" y="872" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="402.25" y="887">"EVENT"</text>
+</g>
+<path d="M510 883a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 913h0"></path>
+<path d="M450.5 913h59.5"></path>
+<rect x="362.5" y="902" width="88" height="22" rx="10" ry="10"></rect>
+<text x="406.5" y="917">"FAILED"</text>
+</g>
+<path d="M510 913a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 943h0"></path>
+<path d="M433.5 943h76.5"></path>
+<rect x="362.5" y="932" width="71" height="22" rx="10" ry="10"></rect>
+<text x="398" y="947">"LOCK"</text>
+</g>
+<path d="M510 943a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 973h0"></path>
+<path d="M493 973h17"></path>
+<rect x="362.5" y="962" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="427.75" y="977">"READ RESULT"</text>
+</g>
+<path d="M510 973a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 793a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 1003h0"></path>
+<path d="M450.5 1003h59.5"></path>
+<rect x="362.5" y="992" width="88" height="22" rx="10" ry="10"></rect>
+<text x="406.5" y="1007">"UPDATE"</text>
+</g>
+<path d="M510 1003a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M530 793h10"></path>
+<g class="non-terminal">
+<path d="M540 793h0"></path>
+<path d="M628 793h0"></path>
+<rect x="540" y="782" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="584" y="797">TypeName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1226 793a10 10 0 0 0 10 -10v-427a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1246 346a10 10 0 0 0 10 -10v-286a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1266 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_TypeTableKey.svg b/abap/expression_TypeTableKey.svg
new file mode 100644
index 00000000..182f2f6f
--- /dev/null
+++ b/abap/expression_TypeTableKey.svg
@@ -0,0 +1,343 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1749.5" height="246" viewBox="0 0 1749.5 246">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1699.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"WITH"</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M333 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h162"></path>
+</g>
+<path d="M313 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M313 40h0"></path>
+<path d="M151 40h20"></path>
+<g class="terminal">
+<path d="M171 40h0"></path>
+<path d="M293 40h0"></path>
+<rect x="171" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="232" y="44">"NON-UNIQUE"</text>
+</g>
+<path d="M293 40h20"></path>
+<path d="M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M171 70h0"></path>
+<path d="M259 70h34"></path>
+<rect x="171" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="215" y="74">"UNIQUE"</text>
+</g>
+<path d="M293 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M313 40h20"></path>
+</g>
+<g>
+<path d="M333 40h0"></path>
+<path d="M1135.5 40h0"></path>
+<path d="M333 40h20"></path>
+<g class="terminal">
+<path d="M353 40h0"></path>
+<path d="M483.5 40h632"></path>
+<rect x="353" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="418.25" y="44">"DEFAULT KEY"</text>
+</g>
+<path d="M1115.5 40h20"></path>
+<path d="M333 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M353 70h0"></path>
+<path d="M552.5 70h563"></path>
+<g>
+<path d="M353 70h0"></path>
+<path d="M419 70h0"></path>
+<text x="386" y="75" class="comment">v740sp02</text>
+</g>
+<path d="M419 70h10"></path>
+<path d="M429 70h10"></path>
+<g class="terminal">
+<path d="M439 70h0"></path>
+<path d="M552.5 70h0"></path>
+<rect x="439" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="495.75" y="74">"EMPTY KEY"</text>
+</g>
+</g>
+<path d="M1115.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M333 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M353 109h0"></path>
+<path d="M1115.5 109h0"></path>
+<g>
+<path d="M353 109h0"></path>
+<path d="M521 109h0"></path>
+<path d="M353 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M373 89h128"></path>
+</g>
+<path d="M501 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M353 109h20"></path>
+<g>
+<path d="M373 109h0"></path>
+<path d="M501 109h0"></path>
+<path d="M373 109h20"></path>
+<g class="terminal">
+<path d="M393 109h0"></path>
+<path d="M481 109h0"></path>
+<rect x="393" y="98" width="88" height="22" rx="10" ry="10"></rect>
+<text x="437" y="113">"SORTED"</text>
+</g>
+<path d="M481 109h20"></path>
+<path d="M373 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M393 139h0"></path>
+<path d="M481 139h0"></path>
+<rect x="393" y="128" width="88" height="22" rx="10" ry="10"></rect>
+<text x="437" y="143">"HASHED"</text>
+</g>
+<path d="M481 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M501 109h20"></path>
+</g>
+<path d="M521 109h10"></path>
+<g class="terminal">
+<path d="M531 109h0"></path>
+<path d="M593.5 109h0"></path>
+<rect x="531" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="562.25" y="113">"KEY"</text>
+</g>
+<path d="M593.5 109h10"></path>
+<g>
+<path d="M603.5 109h0"></path>
+<path d="M1115.5 109h0"></path>
+<path d="M603.5 109h20"></path>
+<g>
+<path d="M623.5 109h0"></path>
+<path d="M1095.5 109h0"></path>
+<g class="non-terminal">
+<path d="M623.5 109h0"></path>
+<path d="M686 109h0"></path>
+<rect x="623.5" y="98" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="654.75" y="113">Field</text>
+</a>
+</g>
+<path d="M686 109h10"></path>
+<path d="M696 109h10"></path>
+<g class="terminal">
+<path d="M706 109h0"></path>
+<path d="M828 109h0"></path>
+<rect x="706" y="98" width="122" height="22" rx="10" ry="10"></rect>
+<text x="767" y="113">"COMPONENTS"</text>
+</g>
+<path d="M828 109h10"></path>
+<path d="M838 109h10"></path>
+<g>
+<path d="M848 109h0"></path>
+<path d="M1095.5 109h0"></path>
+<path d="M848 109h10"></path>
+<g>
+<path d="M858 109h0"></path>
+<path d="M1085.5 109h0"></path>
+<path d="M858 109h20"></path>
+<g>
+<path d="M878 109h0"></path>
+<path d="M1065.5 109h0"></path>
+<g class="terminal">
+<path d="M878 109h0"></path>
+<path d="M949 109h0"></path>
+<rect x="878" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="913.5" y="113">"WITH"</text>
+</g>
+<path d="M949 109h10"></path>
+<path d="M959 109h10"></path>
+<g class="terminal">
+<path d="M969 109h0"></path>
+<path d="M1065.5 109h0"></path>
+<rect x="969" y="98" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.25" y="113">!FailStar</text>
+</g>
+</g>
+<path d="M1065.5 109h20"></path>
+<path d="M858 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M878 139h0"></path>
+<path d="M966 139h99.5"></path>
+<rect x="878" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="922" y="143">FieldSub</text>
+</a>
+</g>
+<path d="M1065.5 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1085.5 109h10"></path>
+<path d="M858 109a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 158h227.5"></path>
+</g>
+<path d="M1085.5 158a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1095.5 109h20"></path>
+<path d="M603.5 109a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 177h0"></path>
+<path d="M871 177h224.5"></path>
+<path d="M623.5 177h10"></path>
+<g>
+<path d="M633.5 177h0"></path>
+<path d="M861 177h0"></path>
+<path d="M633.5 177h20"></path>
+<g>
+<path d="M653.5 177h0"></path>
+<path d="M841 177h0"></path>
+<g class="terminal">
+<path d="M653.5 177h0"></path>
+<path d="M724.5 177h0"></path>
+<rect x="653.5" y="166" width="71" height="22" rx="10" ry="10"></rect>
+<text x="689" y="181">"WITH"</text>
+</g>
+<path d="M724.5 177h10"></path>
+<path d="M734.5 177h10"></path>
+<g class="terminal">
+<path d="M744.5 177h0"></path>
+<path d="M841 177h0"></path>
+<rect x="744.5" y="166" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="792.75" y="181">!FailStar</text>
+</g>
+</g>
+<path d="M841 177h20"></path>
+<path d="M633.5 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M653.5 207h0"></path>
+<path d="M741.5 207h99.5"></path>
+<rect x="653.5" y="196" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="697.5" y="211">FieldSub</text>
+</a>
+</g>
+<path d="M841 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M861 177h10"></path>
+<path d="M633.5 177a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 226h227.5"></path>
+</g>
+<path d="M861 226a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1095.5 177a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1115.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1135.5 40h0"></path>
+<path d="M1546 40h0"></path>
+<path d="M1135.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1155.5 20h370.5"></path>
+</g>
+<path d="M1526 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1135.5 40h20"></path>
+<g>
+<path d="M1155.5 40h0"></path>
+<path d="M1526 40h0"></path>
+<g>
+<path d="M1155.5 40h0"></path>
+<path d="M1292 40h0"></path>
+<path d="M1155.5 40h20"></path>
+<g class="terminal">
+<path d="M1175.5 40h0"></path>
+<path d="M1272 40h0"></path>
+<rect x="1175.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1223.75" y="44">"WITHOUT"</text>
+</g>
+<path d="M1272 40h20"></path>
+<path d="M1155.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1175.5 70h0"></path>
+<path d="M1246.5 70h25.5"></path>
+<rect x="1175.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1211" y="74">"WITH"</text>
+</g>
+<path d="M1272 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1292 40h10"></path>
+<g class="terminal">
+<path d="M1302 40h0"></path>
+<path d="M1526 40h0"></path>
+<rect x="1302" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="1414" y="44">"FURTHER SECONDARY KEYS"</text>
+</g>
+</g>
+<path d="M1526 40h20"></path>
+</g>
+<g>
+<path d="M1546 40h0"></path>
+<path d="M1699.5 40h0"></path>
+<path d="M1546 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1566 20h113.5"></path>
+</g>
+<path d="M1679.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1546 40h20"></path>
+<g class="terminal">
+<path d="M1566 40h0"></path>
+<path d="M1679.5 40h0"></path>
+<rect x="1566" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1622.75" y="44">"READ-ONLY"</text>
+</g>
+<path d="M1679.5 40h20"></path>
+</g>
+</g>
+<path d="M1699.5 40h10"></path>
+<path d="M 1709.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_Value.svg b/abap/expression_Value.svg
new file mode 100644
index 00000000..ec51903d
--- /dev/null
+++ b/abap/expression_Value.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="385.5" height="122" viewBox="0 0 385.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M335.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"VALUE"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<g>
+<path d="M139.5 31h0"></path>
+<path d="M335.5 31h0"></path>
+<path d="M139.5 31h20"></path>
+<g class="non-terminal">
+<path d="M159.5 31h0"></path>
+<path d="M247.5 31h68"></path>
+<rect x="159.5" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="203.5" y="35">Constant</text>
+</a>
+</g>
+<path d="M315.5 31h20"></path>
+<path d="M139.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M159.5 61h0"></path>
+<path d="M315.5 61h0"></path>
+<rect x="159.5" y="50" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="237.5" y="65">SimpleFieldChain</text>
+</a>
+</g>
+<path d="M315.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M139.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M159.5 91h0"></path>
+<path d="M281.5 91h34"></path>
+<rect x="159.5" y="80" width="122" height="22" rx="10" ry="10"></rect>
+<text x="220.5" y="95">"IS INITIAL"</text>
+</g>
+<path d="M315.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M335.5 31h10"></path>
+<path d="M 345.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ValueBody.svg b/abap/expression_ValueBody.svg
new file mode 100644
index 00000000..a09c80ed
--- /dev/null
+++ b/abap/expression_ValueBody.svg
@@ -0,0 +1,247 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="770.5" height="186" viewBox="0 0 770.5 186">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 48h0"></path>
+<path d="M730.5 48h0"></path>
+<path d="M40 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h650.5"></path>
+</g>
+<path d="M710.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M40 48h20"></path>
+<g>
+<path d="M60 48h0"></path>
+<path d="M710.5 48h0"></path>
+<path d="M60 48h20"></path>
+<g>
+<path d="M80 48h0"></path>
+<path d="M690.5 48h0"></path>
+<g>
+<path d="M80 48h0"></path>
+<path d="M165.5 48h0"></path>
+<path d="M80 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M100 28h45.5"></path>
+</g>
+<path d="M145.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M80 48h20"></path>
+<g class="non-terminal">
+<path d="M100 48h0"></path>
+<path d="M145.5 48h0"></path>
+<rect x="100" y="37" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Let"><text x="122.75" y="52">Let</text>
+</a>
+</g>
+<path d="M145.5 48h20"></path>
+</g>
+<g>
+<path d="M165.5 48h0"></path>
+<path d="M367.5 48h0"></path>
+<path d="M165.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M185.5 28h162"></path>
+</g>
+<path d="M347.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M165.5 48h20"></path>
+<g>
+<path d="M185.5 48h0"></path>
+<path d="M347.5 48h0"></path>
+<g class="terminal">
+<path d="M185.5 48h0"></path>
+<path d="M256.5 48h0"></path>
+<rect x="185.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="221" y="52">"BASE"</text>
+</g>
+<path d="M256.5 48h10"></path>
+<path d="M266.5 48h10"></path>
+<g class="non-terminal">
+<path d="M276.5 48h0"></path>
+<path d="M347.5 48h0"></path>
+<rect x="276.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="312" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M347.5 48h20"></path>
+</g>
+<g>
+<path d="M367.5 48h0"></path>
+<path d="M473 48h0"></path>
+<path d="M367.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M387.5 28h65.5"></path>
+</g>
+<path d="M453 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M367.5 48h20"></path>
+<g>
+<path d="M387.5 48h0"></path>
+<path d="M453 48h0"></path>
+<path d="M387.5 48h10"></path>
+<g class="non-terminal">
+<path d="M397.5 48h0"></path>
+<path d="M443 48h0"></path>
+<rect x="397.5" y="37" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/expression/For"><text x="420.25" y="52">For</text>
+</a>
+</g>
+<path d="M443 48h10"></path>
+<path d="M397.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M397.5 68h45.5"></path>
+</g>
+<path d="M443 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M453 48h20"></path>
+</g>
+<path d="M473 48h10"></path>
+<g>
+<path d="M483 48h0"></path>
+<path d="M690.5 48h0"></path>
+<path d="M483 48h10"></path>
+<g>
+<path d="M493 48h0"></path>
+<path d="M680.5 48h0"></path>
+<path d="M493 48h20"></path>
+<g class="non-terminal">
+<path d="M513 48h0"></path>
+<path d="M660.5 48h0"></path>
+<rect x="513" y="37" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldAssignment"><text x="586.75" y="52">FieldAssignment</text>
+</a>
+</g>
+<path d="M660.5 48h20"></path>
+<path d="M493 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M513 78h0"></path>
+<path d="M643.5 78h17"></path>
+<rect x="513" y="67" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ValueBodyLine"><text x="578.25" y="82">ValueBodyLine</text>
+</a>
+</g>
+<path d="M660.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M680.5 48h10"></path>
+<path d="M493 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M493 97h187.5"></path>
+</g>
+<path d="M680.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M690.5 48h20"></path>
+<path d="M60 48a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 125h0"></path>
+<path d="M504.5 125h186"></path>
+<g class="non-terminal">
+<path d="M80 125h0"></path>
+<path d="M151 125h0"></path>
+<rect x="80" y="114" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="115.5" y="129">Source</text>
+</a>
+</g>
+<path d="M151 125h10"></path>
+<g>
+<path d="M161 125h0"></path>
+<path d="M504.5 125h0"></path>
+<path d="M161 125a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 105h303.5"></path>
+</g>
+<path d="M484.5 105a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 125h20"></path>
+<g>
+<path d="M181 125h0"></path>
+<path d="M484.5 125h0"></path>
+<g>
+<path d="M181 125h0"></path>
+<path d="M247 125h0"></path>
+<text x="214" y="130" class="comment">v740sp08</text>
+</g>
+<path d="M247 125h10"></path>
+<g>
+<path d="M257 125h0"></path>
+<path d="M484.5 125h0"></path>
+<path d="M257 125h20"></path>
+<g class="terminal">
+<path d="M277 125h0"></path>
+<path d="M382 125h82.5"></path>
+<rect x="277" y="114" width="105" height="22" rx="10" ry="10"></rect>
+<text x="329.5" y="129">"OPTIONAL"</text>
+</g>
+<path d="M464.5 125h20"></path>
+<path d="M257 125a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M277 155h0"></path>
+<path d="M464.5 155h0"></path>
+<g class="terminal">
+<path d="M277 155h0"></path>
+<path d="M373.5 155h0"></path>
+<rect x="277" y="144" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="325.25" y="159">"DEFAULT"</text>
+</g>
+<path d="M373.5 155h10"></path>
+<path d="M383.5 155h10"></path>
+<g class="non-terminal">
+<path d="M393.5 155h0"></path>
+<path d="M464.5 155h0"></path>
+<rect x="393.5" y="144" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="429" y="159">Source</text>
+</a>
+</g>
+</g>
+<path d="M464.5 155a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M484.5 125h20"></path>
+</g>
+</g>
+<path d="M690.5 125a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M710.5 48h20"></path>
+</g>
+<path d="M 730.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ValueBodyLine.svg b/abap/expression_ValueBodyLine.svg
new file mode 100644
index 00000000..ac4cf379
--- /dev/null
+++ b/abap/expression_ValueBodyLine.svg
@@ -0,0 +1,146 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="569.5" height="140" viewBox="0 0 569.5 140">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M519.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M161 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M141 40h0"></path>
+<rect x="70" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="105.5" y="44">!" ( "</text>
+</g>
+<path d="M141 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M132.5 70h8.5"></path>
+<rect x="70" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="74">!" ("</text>
+</g>
+<path d="M141 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M161 40h0"></path>
+<path d="M408.5 40h0"></path>
+<path d="M161 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M181 20h207.5"></path>
+</g>
+<path d="M388.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M161 40h20"></path>
+<g>
+<path d="M181 40h0"></path>
+<path d="M388.5 40h0"></path>
+<path d="M181 40h20"></path>
+<g>
+<path d="M201 40h0"></path>
+<path d="M368.5 40h0"></path>
+<path d="M201 40h10"></path>
+<g class="non-terminal">
+<path d="M211 40h0"></path>
+<path d="M358.5 40h0"></path>
+<rect x="211" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldAssignment"><text x="284.75" y="44">FieldAssignment</text>
+</a>
+</g>
+<path d="M358.5 40h10"></path>
+<path d="M211 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M211 60h147.5"></path>
+</g>
+<path d="M358.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M368.5 40h20"></path>
+<path d="M181 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M201 79h0"></path>
+<path d="M340 79h28.5"></path>
+<rect x="201" y="68" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ValueBodyLines"><text x="270.5" y="83">ValueBodyLines</text>
+</a>
+</g>
+<path d="M368.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M181 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M201 109h0"></path>
+<path d="M272 109h96.5"></path>
+<rect x="201" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="236.5" y="113">Source</text>
+</a>
+</g>
+<path d="M368.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M388.5 40h20"></path>
+</g>
+<g>
+<path d="M408.5 40h0"></path>
+<path d="M519.5 40h0"></path>
+<path d="M408.5 40h20"></path>
+<g class="terminal">
+<path d="M428.5 40h0"></path>
+<path d="M499.5 40h0"></path>
+<rect x="428.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="464" y="44">!" ) "</text>
+</g>
+<path d="M499.5 40h20"></path>
+<path d="M408.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M428.5 70h0"></path>
+<path d="M491 70h8.5"></path>
+<rect x="428.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="459.75" y="74">!") "</text>
+</g>
+<path d="M499.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M519.5 40h10"></path>
+<path d="M 529.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_ValueBodyLines.svg b/abap/expression_ValueBodyLines.svg
new file mode 100644
index 00000000..e4b8940d
--- /dev/null
+++ b/abap/expression_ValueBodyLines.svg
@@ -0,0 +1,134 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="703" height="71" viewBox="0 0 703 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M653 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M155 40h0"></path>
+<rect x="50" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="44">"LINES OF"</text>
+</g>
+<path d="M155 40h10"></path>
+<path d="M165 40h10"></path>
+<g class="non-terminal">
+<path d="M175 40h0"></path>
+<path d="M246 40h0"></path>
+<rect x="175" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="210.5" y="44">Source</text>
+</a>
+</g>
+<path d="M246 40h10"></path>
+<path d="M256 40h10"></path>
+<g>
+<path d="M266 40h0"></path>
+<path d="M653 40h0"></path>
+<g>
+<path d="M266 40h0"></path>
+<path d="M468 40h0"></path>
+<path d="M266 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M286 20h162"></path>
+</g>
+<path d="M448 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M266 40h20"></path>
+<g>
+<path d="M286 40h0"></path>
+<path d="M448 40h0"></path>
+<g class="terminal">
+<path d="M286 40h0"></path>
+<path d="M357 40h0"></path>
+<rect x="286" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="321.5" y="44">"FROM"</text>
+</g>
+<path d="M357 40h10"></path>
+<path d="M367 40h10"></path>
+<g class="non-terminal">
+<path d="M377 40h0"></path>
+<path d="M448 40h0"></path>
+<rect x="377" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="412.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M448 40h20"></path>
+</g>
+<g>
+<path d="M468 40h0"></path>
+<path d="M653 40h0"></path>
+<path d="M468 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M488 20h145"></path>
+</g>
+<path d="M633 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M468 40h20"></path>
+<g>
+<path d="M488 40h0"></path>
+<path d="M633 40h0"></path>
+<g class="terminal">
+<path d="M488 40h0"></path>
+<path d="M542 40h0"></path>
+<rect x="488" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="515" y="44">"TO"</text>
+</g>
+<path d="M542 40h10"></path>
+<path d="M552 40h10"></path>
+<g class="non-terminal">
+<path d="M562 40h0"></path>
+<path d="M633 40h0"></path>
+<rect x="562" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="597.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M633 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M653 40h10"></path>
+<path d="M 663 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_WithName.svg b/abap/expression_WithName.svg
new file mode 100644
index 00000000..2c93e231
--- /dev/null
+++ b/abap/expression_WithName.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="245" height="62" viewBox="0 0 245 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M195 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">!" +"</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M122.5 31h10"></path>
+<g class="terminal">
+<path d="M132.5 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="132.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="163.75" y="35">^\w+$</text>
+</g>
+</g>
+<path d="M195 31h10"></path>
+<path d="M 205 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/expression_WriteOffsetLength.svg b/abap/expression_WriteOffsetLength.svg
new file mode 100644
index 00000000..2f5eafac
--- /dev/null
+++ b/abap/expression_WriteOffsetLength.svg
@@ -0,0 +1,252 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="859.5" height="230" viewBox="0 0 859.5 230">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M809.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M144 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h54"></path>
+</g>
+<path d="M124 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M124 40h0"></path>
+<rect x="70" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="97" y="44">"AT"</text>
+</g>
+<path d="M124 40h20"></path>
+</g>
+<g>
+<path d="M144 40h0"></path>
+<path d="M809.5 40h0"></path>
+<path d="M144 40h20"></path>
+<g>
+<path d="M164 40h0"></path>
+<path d="M553.5 40h236"></path>
+<g class="terminal">
+<path d="M164 40h0"></path>
+<path d="M226.5 40h0"></path>
+<rect x="164" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="195.25" y="44">!" ("</text>
+</g>
+<path d="M226.5 40h10"></path>
+<path d="M236.5 40h10"></path>
+<g>
+<path d="M246.5 40h0"></path>
+<path d="M553.5 40h0"></path>
+<g>
+<path d="M246.5 40h0"></path>
+<path d="M451 40h0"></path>
+<path d="M246.5 40h20"></path>
+<g class="non-terminal">
+<path d="M266.5 40h0"></path>
+<path d="M431 40h0"></path>
+<rect x="266.5" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="348.75" y="44">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M431 40h20"></path>
+<path d="M246.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M266.5 70h0"></path>
+<path d="M346 70h85"></path>
+<rect x="266.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="306.25" y="74">^&#91;\d&#93;+$</text>
+</g>
+<path d="M431 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M246.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M266.5 100h0"></path>
+<path d="M320.5 100h110.5"></path>
+<rect x="266.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="293.5" y="104">^\&#42;$</text>
+</g>
+<path d="M431 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M451 40h0"></path>
+<path d="M553.5 40h0"></path>
+<path d="M451 40h20"></path>
+<g class="terminal">
+<path d="M471 40h0"></path>
+<path d="M533.5 40h0"></path>
+<rect x="471" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="502.25" y="44">!") "</text>
+</g>
+<path d="M533.5 40h20"></path>
+<path d="M451 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M471 70h0"></path>
+<path d="M525 70h8.5"></path>
+<rect x="471" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="498" y="74">!")"</text>
+</g>
+<path d="M533.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M789.5 40h20"></path>
+<path d="M144 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M164 139h0"></path>
+<path d="M789.5 139h0"></path>
+<g>
+<path d="M164 139h0"></path>
+<path d="M368.5 139h0"></path>
+<path d="M164 139h20"></path>
+<g class="non-terminal">
+<path d="M184 139h0"></path>
+<path d="M348.5 139h0"></path>
+<rect x="184" y="128" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="266.25" y="143">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M348.5 139h20"></path>
+<path d="M164 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M184 169h0"></path>
+<path d="M306 169h42.5"></path>
+<rect x="184" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="245" y="173">^\/?&#91;\w\d&#93;+$</text>
+</g>
+<path d="M348.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M164 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M184 199h0"></path>
+<path d="M229.5 199h119"></path>
+<rect x="184" y="188" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="206.75" y="203">"/"</text>
+</g>
+<path d="M348.5 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M368.5 139h0"></path>
+<path d="M789.5 139h0"></path>
+<path d="M368.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M388.5 119h381"></path>
+</g>
+<path d="M769.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M368.5 139h20"></path>
+<g>
+<path d="M388.5 139h0"></path>
+<path d="M769.5 139h0"></path>
+<g class="terminal">
+<path d="M388.5 139h0"></path>
+<path d="M442.5 139h0"></path>
+<rect x="388.5" y="128" width="54" height="22" rx="10" ry="10"></rect>
+<text x="415.5" y="143">!"("</text>
+</g>
+<path d="M442.5 139h10"></path>
+<path d="M452.5 139h10"></path>
+<g>
+<path d="M462.5 139h0"></path>
+<path d="M769.5 139h0"></path>
+<g>
+<path d="M462.5 139h0"></path>
+<path d="M667 139h0"></path>
+<path d="M462.5 139h20"></path>
+<g class="non-terminal">
+<path d="M482.5 139h0"></path>
+<path d="M647 139h0"></path>
+<rect x="482.5" y="128" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="564.75" y="143">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M647 139h20"></path>
+<path d="M462.5 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M482.5 169h0"></path>
+<path d="M562 169h85"></path>
+<rect x="482.5" y="158" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="522.25" y="173">^&#91;\d&#93;+$</text>
+</g>
+<path d="M647 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M462.5 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M482.5 199h0"></path>
+<path d="M536.5 199h110.5"></path>
+<rect x="482.5" y="188" width="54" height="22" rx="10" ry="10"></rect>
+<text x="509.5" y="203">^\&#42;$</text>
+</g>
+<path d="M647 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M667 139h0"></path>
+<path d="M769.5 139h0"></path>
+<path d="M667 139h20"></path>
+<g class="terminal">
+<path d="M687 139h0"></path>
+<path d="M749.5 139h0"></path>
+<rect x="687" y="128" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="718.25" y="143">!") "</text>
+</g>
+<path d="M749.5 139h20"></path>
+<path d="M667 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M687 169h0"></path>
+<path d="M741 169h8.5"></path>
+<rect x="687" y="158" width="54" height="22" rx="10" ry="10"></rect>
+<text x="714" y="173">!")"</text>
+</g>
+<path d="M749.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M769.5 139h20"></path>
+</g>
+</g>
+<path d="M789.5 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M809.5 40h10"></path>
+<path d="M 819.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Add.svg b/abap/statement_Add.svg
new file mode 100644
index 00000000..6719c3c9
--- /dev/null
+++ b/abap/statement_Add.svg
@@ -0,0 +1,149 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="906" height="92" viewBox="0 0 906 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M856 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">"ADD"</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M122.5 31h10"></path>
+<g class="non-terminal">
+<path d="M132.5 31h0"></path>
+<path d="M203.5 31h0"></path>
+<rect x="132.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="168" y="35">Source</text>
+</a>
+</g>
+<path d="M203.5 31h10"></path>
+<g>
+<path d="M213.5 31h0"></path>
+<path d="M856 31h0"></path>
+<path d="M213.5 31h20"></path>
+<g>
+<path d="M233.5 31h0"></path>
+<path d="M378.5 31h457.5"></path>
+<g class="terminal">
+<path d="M233.5 31h0"></path>
+<path d="M287.5 31h0"></path>
+<rect x="233.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="260.5" y="35">"TO"</text>
+</g>
+<path d="M287.5 31h10"></path>
+<path d="M297.5 31h10"></path>
+<g class="non-terminal">
+<path d="M307.5 31h0"></path>
+<path d="M378.5 31h0"></path>
+<rect x="307.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="343" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M836 31h20"></path>
+<path d="M213.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M233.5 61h0"></path>
+<path d="M836 61h0"></path>
+<g class="terminal">
+<path d="M233.5 61h0"></path>
+<path d="M304.5 61h0"></path>
+<rect x="233.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="269" y="65">"THEN"</text>
+</g>
+<path d="M304.5 61h10"></path>
+<path d="M314.5 61h10"></path>
+<g class="non-terminal">
+<path d="M324.5 61h0"></path>
+<path d="M412.5 61h0"></path>
+<rect x="324.5" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="368.5" y="65">FieldSub</text>
+</a>
+</g>
+<path d="M412.5 61h10"></path>
+<path d="M422.5 61h10"></path>
+<g class="terminal">
+<path d="M432.5 61h0"></path>
+<path d="M512 61h0"></path>
+<rect x="432.5" y="50" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="472.25" y="65">"UNTIL"</text>
+</g>
+<path d="M512 61h10"></path>
+<path d="M522 61h10"></path>
+<g class="non-terminal">
+<path d="M532 61h0"></path>
+<path d="M620 61h0"></path>
+<rect x="532" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="576" y="65">FieldSub</text>
+</a>
+</g>
+<path d="M620 61h10"></path>
+<path d="M630 61h10"></path>
+<g class="terminal">
+<path d="M640 61h0"></path>
+<path d="M728 61h0"></path>
+<rect x="640" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="684" y="65">"GIVING"</text>
+</g>
+<path d="M728 61h10"></path>
+<path d="M738 61h10"></path>
+<g class="non-terminal">
+<path d="M748 61h0"></path>
+<path d="M836 61h0"></path>
+<rect x="748" y="50" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="792" y="65">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M836 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M856 31h10"></path>
+<path d="M 866 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AddCorresponding.svg b/abap/statement_AddCorresponding.svg
new file mode 100644
index 00000000..a029ebed
--- /dev/null
+++ b/abap/statement_AddCorresponding.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="630.5" height="62" viewBox="0 0 630.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M580.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M580.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M324.5 31h0"></path>
+<rect x="143" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="35">"ADD-CORRESPONDING"</text>
+</g>
+<path d="M324.5 31h10"></path>
+<path d="M334.5 31h10"></path>
+<g class="non-terminal">
+<path d="M344.5 31h0"></path>
+<path d="M415.5 31h0"></path>
+<rect x="344.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="380" y="35">Source</text>
+</a>
+</g>
+<path d="M415.5 31h10"></path>
+<path d="M425.5 31h10"></path>
+<g class="terminal">
+<path d="M435.5 31h0"></path>
+<path d="M489.5 31h0"></path>
+<rect x="435.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="462.5" y="35">"TO"</text>
+</g>
+<path d="M489.5 31h10"></path>
+<path d="M499.5 31h10"></path>
+<g class="non-terminal">
+<path d="M509.5 31h0"></path>
+<path d="M580.5 31h0"></path>
+<rect x="509.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="545" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M580.5 31h10"></path>
+<path d="M 590.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Aliases.svg b/abap/statement_Aliases.svg
new file mode 100644
index 00000000..7a3c764b
--- /dev/null
+++ b/abap/statement_Aliases.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="486.5" height="62" viewBox="0 0 486.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M436.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"ALIASES"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g class="non-terminal">
+<path d="M166.5 31h0"></path>
+<path d="M271.5 31h0"></path>
+<rect x="166.5" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="219" y="35">SimpleName</text>
+</a>
+</g>
+<path d="M271.5 31h10"></path>
+<path d="M281.5 31h10"></path>
+<g class="terminal">
+<path d="M291.5 31h0"></path>
+<path d="M354 31h0"></path>
+<rect x="291.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="322.75" y="35">"FOR"</text>
+</g>
+<path d="M354 31h10"></path>
+<path d="M364 31h10"></path>
+<g class="non-terminal">
+<path d="M374 31h0"></path>
+<path d="M436.5 31h0"></path>
+<rect x="374" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="405.25" y="35">Field</text>
+</a>
+</g>
+</g>
+<path d="M436.5 31h10"></path>
+<path d="M 446.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Append.svg b/abap/statement_Append.svg
new file mode 100644
index 00000000..886a284a
--- /dev/null
+++ b/abap/statement_Append.svg
@@ -0,0 +1,344 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1871.5" height="140" viewBox="0 0 1871.5 140">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1821.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"APPEND"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M530 40h0"></path>
+<path d="M148 40h20"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M307 40h203"></path>
+<rect x="168" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="237.5" y="44">"INITIAL LINE"</text>
+</g>
+<path d="M510 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 79h0"></path>
+<path d="M510 79h0"></path>
+<g>
+<path d="M168 79h0"></path>
+<path d="M313 79h0"></path>
+<path d="M168 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M188 59h105"></path>
+</g>
+<path d="M293 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M168 79h20"></path>
+<g class="terminal">
+<path d="M188 79h0"></path>
+<path d="M293 79h0"></path>
+<rect x="188" y="68" width="105" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="83">"LINES OF"</text>
+</g>
+<path d="M293 79h20"></path>
+</g>
+<g>
+<path d="M313 79h0"></path>
+<path d="M510 79h0"></path>
+<path d="M313 79h20"></path>
+<g class="non-terminal">
+<path d="M333 79h0"></path>
+<path d="M463.5 79h26.5"></path>
+<rect x="333" y="68" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource4"><text x="398.25" y="83">SimpleSource4</text>
+</a>
+</g>
+<path d="M490 79h20"></path>
+<path d="M313 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M333 109h0"></path>
+<path d="M490 109h0"></path>
+<g>
+<path d="M333 109h0"></path>
+<path d="M399 109h0"></path>
+<text x="366" y="114" class="comment">v740sp02</text>
+</g>
+<path d="M399 109h10"></path>
+<path d="M409 109h10"></path>
+<g class="non-terminal">
+<path d="M419 109h0"></path>
+<path d="M490 109h0"></path>
+<rect x="419" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="454.5" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M490 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M510 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M530 40h0"></path>
+<path d="M732 40h0"></path>
+<path d="M530 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M550 20h162"></path>
+</g>
+<path d="M712 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M530 40h20"></path>
+<g>
+<path d="M550 40h0"></path>
+<path d="M712 40h0"></path>
+<g class="terminal">
+<path d="M550 40h0"></path>
+<path d="M621 40h0"></path>
+<rect x="550" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="585.5" y="44">"FROM"</text>
+</g>
+<path d="M621 40h10"></path>
+<path d="M631 40h10"></path>
+<g class="non-terminal">
+<path d="M641 40h0"></path>
+<path d="M712 40h0"></path>
+<rect x="641" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="676.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M712 40h20"></path>
+</g>
+<g>
+<path d="M732 40h0"></path>
+<path d="M1122 40h0"></path>
+<path d="M732 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M752 20h350"></path>
+</g>
+<path d="M1102 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M732 40h20"></path>
+<g>
+<path d="M752 40h0"></path>
+<path d="M1102 40h0"></path>
+<path d="M752 40h20"></path>
+<g>
+<path d="M772 40h0"></path>
+<path d="M1082 40h0"></path>
+<g>
+<path d="M772 40h0"></path>
+<path d="M917 40h0"></path>
+<g class="terminal">
+<path d="M772 40h0"></path>
+<path d="M826 40h0"></path>
+<rect x="772" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="799" y="44">"TO"</text>
+</g>
+<path d="M826 40h10"></path>
+<path d="M836 40h10"></path>
+<g class="non-terminal">
+<path d="M846 40h0"></path>
+<path d="M917 40h0"></path>
+<rect x="846" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="881.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M917 40h10"></path>
+<path d="M927 40h10"></path>
+<g>
+<path d="M937 40h0"></path>
+<path d="M1082 40h0"></path>
+<g class="terminal">
+<path d="M937 40h0"></path>
+<path d="M991 40h0"></path>
+<rect x="937" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="964" y="44">"TO"</text>
+</g>
+<path d="M991 40h10"></path>
+<path d="M1001 40h10"></path>
+<g class="non-terminal">
+<path d="M1011 40h0"></path>
+<path d="M1082 40h0"></path>
+<rect x="1011" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1046.5" y="44">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1082 40h20"></path>
+<path d="M752 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M772 70h0"></path>
+<path d="M917 70h165"></path>
+<g class="terminal">
+<path d="M772 70h0"></path>
+<path d="M826 70h0"></path>
+<rect x="772" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="799" y="74">"TO"</text>
+</g>
+<path d="M826 70h10"></path>
+<path d="M836 70h10"></path>
+<g class="non-terminal">
+<path d="M846 70h0"></path>
+<path d="M917 70h0"></path>
+<rect x="846" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="881.5" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M1082 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1102 40h20"></path>
+</g>
+<g>
+<path d="M1122 40h0"></path>
+<path d="M1449 40h0"></path>
+<path d="M1122 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1142 20h287"></path>
+</g>
+<path d="M1429 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1122 40h20"></path>
+<g>
+<path d="M1142 40h0"></path>
+<path d="M1429 40h0"></path>
+<path d="M1142 40h20"></path>
+<g>
+<path d="M1162 40h0"></path>
+<path d="M1383.5 40h25.5"></path>
+<g class="terminal">
+<path d="M1162 40h0"></path>
+<path d="M1275.5 40h0"></path>
+<rect x="1162" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1218.75" y="44">"ASSIGNING"</text>
+</g>
+<path d="M1275.5 40h10"></path>
+<path d="M1285.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1295.5 40h0"></path>
+<path d="M1383.5 40h0"></path>
+<rect x="1295.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="1339.5" y="44">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M1409 40h20"></path>
+<path d="M1142 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1162 70h0"></path>
+<path d="M1409 70h0"></path>
+<g class="terminal">
+<path d="M1162 70h0"></path>
+<path d="M1318 70h0"></path>
+<rect x="1162" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1240" y="74">"REFERENCE INTO"</text>
+</g>
+<path d="M1318 70h10"></path>
+<path d="M1328 70h10"></path>
+<g class="non-terminal">
+<path d="M1338 70h0"></path>
+<path d="M1409 70h0"></path>
+<rect x="1338" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1373.5" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M1409 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1429 40h20"></path>
+</g>
+<g>
+<path d="M1449 40h0"></path>
+<path d="M1585.5 40h0"></path>
+<path d="M1449 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1469 20h96.5"></path>
+</g>
+<path d="M1565.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1449 40h20"></path>
+<g class="terminal">
+<path d="M1469 40h0"></path>
+<path d="M1565.5 40h0"></path>
+<rect x="1469" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1517.25" y="44">"CASTING"</text>
+</g>
+<path d="M1565.5 40h20"></path>
+</g>
+<g>
+<path d="M1585.5 40h0"></path>
+<path d="M1821.5 40h0"></path>
+<path d="M1585.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1605.5 20h196"></path>
+</g>
+<path d="M1801.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1585.5 40h20"></path>
+<g>
+<path d="M1605.5 40h0"></path>
+<path d="M1801.5 40h0"></path>
+<g class="terminal">
+<path d="M1605.5 40h0"></path>
+<path d="M1719 40h0"></path>
+<rect x="1605.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1662.25" y="44">"SORTED BY"</text>
+</g>
+<path d="M1719 40h10"></path>
+<path d="M1729 40h10"></path>
+<g class="non-terminal">
+<path d="M1739 40h0"></path>
+<path d="M1801.5 40h0"></path>
+<rect x="1739" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1770.25" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M1801.5 40h20"></path>
+</g>
+</g>
+<path d="M1821.5 40h10"></path>
+<path d="M 1831.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Assert.svg b/abap/statement_Assert.svg
new file mode 100644
index 00000000..057925c3
--- /dev/null
+++ b/abap/statement_Assert.svg
@@ -0,0 +1,186 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1169" height="80" viewBox="0 0 1169 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1119 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"ASSERT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M443.5 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h255.5"></path>
+</g>
+<path d="M423.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M423.5 40h0"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M222 40h0"></path>
+<rect x="168" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="195" y="44">"ID"</text>
+</g>
+<path d="M222 40h10"></path>
+<path d="M232 40h10"></path>
+<g class="non-terminal">
+<path d="M242 40h0"></path>
+<path d="M423.5 40h0"></path>
+<rect x="242" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="332.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M423.5 40h20"></path>
+</g>
+<g>
+<path d="M443.5 40h0"></path>
+<path d="M662.5 40h0"></path>
+<path d="M443.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M463.5 20h179"></path>
+</g>
+<path d="M642.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M443.5 40h20"></path>
+<g>
+<path d="M463.5 40h0"></path>
+<path d="M642.5 40h0"></path>
+<g class="terminal">
+<path d="M463.5 40h0"></path>
+<path d="M551.5 40h0"></path>
+<rect x="463.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="507.5" y="44">"SUBKEY"</text>
+</g>
+<path d="M551.5 40h10"></path>
+<path d="M561.5 40h10"></path>
+<g class="non-terminal">
+<path d="M571.5 40h0"></path>
+<path d="M642.5 40h0"></path>
+<rect x="571.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="607" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M642.5 40h20"></path>
+</g>
+<g>
+<path d="M662.5 40h0"></path>
+<path d="M901.5 40h0"></path>
+<path d="M662.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M682.5 20h199"></path>
+</g>
+<path d="M881.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M662.5 40h20"></path>
+<g>
+<path d="M682.5 40h0"></path>
+<path d="M881.5 40h0"></path>
+<g class="terminal">
+<path d="M682.5 40h0"></path>
+<path d="M770.5 40h0"></path>
+<rect x="682.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="726.5" y="44">"FIELDS"</text>
+</g>
+<path d="M770.5 40h10"></path>
+<path d="M780.5 40h10"></path>
+<g>
+<path d="M790.5 40h0"></path>
+<path d="M881.5 40h0"></path>
+<path d="M790.5 40h10"></path>
+<g class="non-terminal">
+<path d="M800.5 40h0"></path>
+<path d="M871.5 40h0"></path>
+<rect x="800.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="836" y="44">Source</text>
+</a>
+</g>
+<path d="M871.5 40h10"></path>
+<path d="M800.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M800.5 60h71"></path>
+</g>
+<path d="M871.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M881.5 40h20"></path>
+</g>
+<g>
+<path d="M901.5 40h0"></path>
+<path d="M1055 40h0"></path>
+<path d="M901.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M921.5 20h113.5"></path>
+</g>
+<path d="M1035 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M901.5 40h20"></path>
+<g class="terminal">
+<path d="M921.5 40h0"></path>
+<path d="M1035 40h0"></path>
+<rect x="921.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="978.25" y="44">"CONDITION"</text>
+</g>
+<path d="M1035 40h20"></path>
+</g>
+<path d="M1055 40h10"></path>
+<g class="non-terminal">
+<path d="M1065 40h0"></path>
+<path d="M1119 40h0"></path>
+<rect x="1065" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="1092" y="44">Cond</text>
+</a>
+</g>
+</g>
+<path d="M1119 40h10"></path>
+<path d="M 1129 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Assign.svg b/abap/statement_Assign.svg
new file mode 100644
index 00000000..a5fc7896
--- /dev/null
+++ b/abap/statement_Assign.svg
@@ -0,0 +1,394 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1768" height="268" viewBox="0 0 1768 268">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1718 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M138 48h0"></path>
+<rect x="50" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="52">"ASSIGN"</text>
+</g>
+<path d="M138 48h10"></path>
+<g>
+<path d="M148 48h0"></path>
+<path d="M392.5 48h0"></path>
+<path d="M148 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 28h204.5"></path>
+</g>
+<path d="M372.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 48h20"></path>
+<g>
+<path d="M168 48h0"></path>
+<path d="M372.5 48h0"></path>
+<g class="non-terminal">
+<path d="M168 48h0"></path>
+<path d="M239 48h0"></path>
+<rect x="168" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="203.5" y="52">Target</text>
+</a>
+</g>
+<path d="M239 48h10"></path>
+<path d="M249 48h10"></path>
+<g class="terminal">
+<path d="M259 48h0"></path>
+<path d="M372.5 48h0"></path>
+<rect x="259" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="315.75" y="52">"INCREMENT"</text>
+</g>
+</g>
+<path d="M372.5 48h20"></path>
+</g>
+<path d="M392.5 48h10"></path>
+<g class="non-terminal">
+<path d="M402.5 48h0"></path>
+<path d="M524.5 48h0"></path>
+<rect x="402.5" y="37" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/AssignSource"><text x="463.5" y="52">AssignSource</text>
+</a>
+</g>
+<path d="M524.5 48h10"></path>
+<path d="M534.5 48h10"></path>
+<g class="terminal">
+<path d="M544.5 48h0"></path>
+<path d="M598.5 48h0"></path>
+<rect x="544.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="571.5" y="52">"TO"</text>
+</g>
+<path d="M598.5 48h10"></path>
+<path d="M608.5 48h10"></path>
+<g class="non-terminal">
+<path d="M618.5 48h0"></path>
+<path d="M706.5 48h0"></path>
+<rect x="618.5" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="662.5" y="52">FSTarget</text>
+</a>
+</g>
+<path d="M706.5 48h10"></path>
+<g>
+<path d="M716.5 48h0"></path>
+<path d="M1262 48h0"></path>
+<path d="M716.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M736.5 20h505.5"></path>
+</g>
+<path d="M1242 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M716.5 48h20"></path>
+<g>
+<path d="M736.5 48h0"></path>
+<path d="M1242 48h0"></path>
+<path d="M736.5 48h20"></path>
+<g>
+<path d="M756.5 48h0"></path>
+<path d="M1222 48h0"></path>
+<g class="terminal">
+<path d="M756.5 48h0"></path>
+<path d="M853 48h0"></path>
+<rect x="756.5" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="804.75" y="52">"CASTING"</text>
+</g>
+<path d="M853 48h10"></path>
+<g>
+<path d="M863 48h0"></path>
+<path d="M1222 48h0"></path>
+<path d="M863 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M883 28h319"></path>
+</g>
+<path d="M1202 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M863 48h20"></path>
+<g>
+<path d="M883 48h0"></path>
+<path d="M1202 48h0"></path>
+<path d="M883 48h20"></path>
+<g>
+<path d="M903 48h0"></path>
+<path d="M1103.5 48h78.5"></path>
+<g class="terminal">
+<path d="M903 48h0"></path>
+<path d="M974 48h0"></path>
+<rect x="903" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="938.5" y="52">"LIKE"</text>
+</g>
+<path d="M974 48h10"></path>
+<g>
+<path d="M984 48h0"></path>
+<path d="M1103.5 48h0"></path>
+<path d="M984 48h20"></path>
+<g class="non-terminal">
+<path d="M1004 48h0"></path>
+<path d="M1083.5 48h0"></path>
+<rect x="1004" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1043.75" y="52">Dynamic</text>
+</a>
+</g>
+<path d="M1083.5 48h20"></path>
+<path d="M984 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1004 78h0"></path>
+<path d="M1075 78h8.5"></path>
+<rect x="1004" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1039.5" y="82">Source</text>
+</a>
+</g>
+<path d="M1083.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1182 48h20"></path>
+<path d="M883 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M903 108h0"></path>
+<path d="M1124.5 108h57.5"></path>
+<g class="terminal">
+<path d="M903 108h0"></path>
+<path d="M1033.5 108h0"></path>
+<rect x="903" y="97" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="968.25" y="112">"TYPE HANDLE"</text>
+</g>
+<path d="M1033.5 108h10"></path>
+<path d="M1043.5 108h10"></path>
+<g class="non-terminal">
+<path d="M1053.5 108h0"></path>
+<path d="M1124.5 108h0"></path>
+<rect x="1053.5" y="97" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1089" y="112">Source</text>
+</a>
+</g>
+</g>
+<path d="M1182 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M883 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M903 138h0"></path>
+<path d="M1182 138h0"></path>
+<path d="M933 138h10"></path>
+<g>
+<path d="M943 138h0"></path>
+<path d="M1152 138h0"></path>
+<g class="terminal">
+<path d="M943 138h0"></path>
+<path d="M1014 138h0"></path>
+<rect x="943" y="127" width="71" height="22" rx="10" ry="10"></rect>
+<text x="978.5" y="142">"TYPE"</text>
+</g>
+<path d="M1014 138h10"></path>
+<g>
+<path d="M1024 138h0"></path>
+<path d="M1152 138h0"></path>
+<path d="M1024 138h20"></path>
+<g class="non-terminal">
+<path d="M1044 138h0"></path>
+<path d="M1123.5 138h8.5"></path>
+<rect x="1044" y="127" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1083.75" y="142">Dynamic</text>
+</a>
+</g>
+<path d="M1132 138h20"></path>
+<path d="M1024 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1044 168h0"></path>
+<path d="M1132 168h0"></path>
+<rect x="1044" y="157" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1088" y="172">TypeName</text>
+</a>
+</g>
+<path d="M1132 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1152 138h10"></path>
+<path d="M933 138v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M943 198h0"></path>
+<path d="M1139 198h13"></path>
+<g class="terminal">
+<path d="M943 198h0"></path>
+<path d="M1048 198h0"></path>
+<rect x="943" y="187" width="105" height="22" rx="10" ry="10"></rect>
+<text x="995.5" y="202">"DECIMALS"</text>
+</g>
+<path d="M1048 198h10"></path>
+<path d="M1058 198h10"></path>
+<g class="non-terminal">
+<path d="M1068 198h0"></path>
+<path d="M1139 198h0"></path>
+<rect x="1068" y="187" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1103.5" y="202">Source</text>
+</a>
+</g>
+</g>
+<path d="M1152 198a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 933 128 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="918" y="142" class="diagram-text">1+</text>
+<path d="M 1162 128 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1169 136 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1182 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1202 48h20"></path>
+</g>
+</g>
+<path d="M1222 48h20"></path>
+<path d="M736.5 48a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M756.5 237h0"></path>
+<path d="M1164.5 237h57.5"></path>
+<g class="terminal">
+<path d="M756.5 237h0"></path>
+<path d="M827.5 237h0"></path>
+<rect x="756.5" y="226" width="71" height="22" rx="10" ry="10"></rect>
+<text x="792" y="241">"TYPE"</text>
+</g>
+<path d="M827.5 237h10"></path>
+<path d="M837.5 237h10"></path>
+<g class="non-terminal">
+<path d="M847.5 237h0"></path>
+<path d="M918.5 237h0"></path>
+<rect x="847.5" y="226" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="883" y="241">Source</text>
+</a>
+</g>
+<path d="M918.5 237h10"></path>
+<g>
+<path d="M928.5 237h0"></path>
+<path d="M1164.5 237h0"></path>
+<path d="M928.5 237a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M948.5 217h196"></path>
+</g>
+<path d="M1144.5 217a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M928.5 237h20"></path>
+<g>
+<path d="M948.5 237h0"></path>
+<path d="M1144.5 237h0"></path>
+<g class="terminal">
+<path d="M948.5 237h0"></path>
+<path d="M1053.5 237h0"></path>
+<rect x="948.5" y="226" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1001" y="241">"DECIMALS"</text>
+</g>
+<path d="M1053.5 237h10"></path>
+<path d="M1063.5 237h10"></path>
+<g class="non-terminal">
+<path d="M1073.5 237h0"></path>
+<path d="M1144.5 237h0"></path>
+<rect x="1073.5" y="226" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1109" y="241">Source</text>
+</a>
+</g>
+</g>
+<path d="M1144.5 237h20"></path>
+</g>
+</g>
+<path d="M1222 237a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1242 48h20"></path>
+</g>
+<g>
+<path d="M1262 48h0"></path>
+<path d="M1472.5 48h0"></path>
+<path d="M1262 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1282 28h170.5"></path>
+</g>
+<path d="M1452.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1262 48h20"></path>
+<g>
+<path d="M1282 48h0"></path>
+<path d="M1452.5 48h0"></path>
+<g class="terminal">
+<path d="M1282 48h0"></path>
+<path d="M1361.5 48h0"></path>
+<rect x="1282" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1321.75" y="52">"RANGE"</text>
+</g>
+<path d="M1361.5 48h10"></path>
+<path d="M1371.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1381.5 48h0"></path>
+<path d="M1452.5 48h0"></path>
+<rect x="1381.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1417" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1452.5 48h20"></path>
+</g>
+<g>
+<path d="M1472.5 48h0"></path>
+<path d="M1718 48h0"></path>
+<path d="M1472.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1492.5 28h205.5"></path>
+</g>
+<path d="M1698 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1472.5 48h20"></path>
+<g>
+<path d="M1492.5 48h0"></path>
+<path d="M1698 48h0"></path>
+<g>
+<path d="M1492.5 48h0"></path>
+<path d="M1530.5 48h0"></path>
+<text x="1511.5" y="53" class="comment">v757</text>
+</g>
+<path d="M1530.5 48h10"></path>
+<path d="M1540.5 48h10"></path>
+<g class="terminal">
+<path d="M1550.5 48h0"></path>
+<path d="M1698 48h0"></path>
+<rect x="1550.5" y="37" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1624.25" y="52">"ELSE UNASSIGN"</text>
+</g>
+</g>
+<path d="M1698 48h20"></path>
+</g>
+</g>
+<path d="M1718 48h10"></path>
+<path d="M 1728 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AssignLocalCopy.svg b/abap/statement_AssignLocalCopy.svg
new file mode 100644
index 00000000..aeffdcc8
--- /dev/null
+++ b/abap/statement_AssignLocalCopy.svg
@@ -0,0 +1,148 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1061" height="109" viewBox="0 0 1061 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1011 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1011 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M350 48h0"></path>
+<rect x="143" y="37" width="207" height="22" rx="10" ry="10"></rect>
+<text x="246.5" y="52">"ASSIGN LOCAL COPY OF"</text>
+</g>
+<path d="M350 48h10"></path>
+<g>
+<path d="M360 48h0"></path>
+<path d="M643 48h0"></path>
+<path d="M360 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M380 20h243"></path>
+</g>
+<path d="M623 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M360 48h20"></path>
+<g>
+<path d="M380 48h0"></path>
+<path d="M623 48h0"></path>
+<g class="terminal">
+<path d="M380 48h0"></path>
+<path d="M476.5 48h0"></path>
+<rect x="380" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="428.25" y="52">"INITIAL"</text>
+</g>
+<path d="M476.5 48h10"></path>
+<g>
+<path d="M486.5 48h0"></path>
+<path d="M623 48h0"></path>
+<path d="M486.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M506.5 28h96.5"></path>
+</g>
+<path d="M603 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M486.5 48h20"></path>
+<g class="terminal">
+<path d="M506.5 48h0"></path>
+<path d="M603 48h0"></path>
+<rect x="506.5" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="554.75" y="52">"LINE OF"</text>
+</g>
+<path d="M603 48h20"></path>
+</g>
+</g>
+<path d="M623 48h20"></path>
+</g>
+<g>
+<path d="M643 48h0"></path>
+<path d="M762.5 48h0"></path>
+<path d="M643 48h20"></path>
+<g class="non-terminal">
+<path d="M663 48h0"></path>
+<path d="M734 48h8.5"></path>
+<rect x="663" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="698.5" y="52">Source</text>
+</a>
+</g>
+<path d="M742.5 48h20"></path>
+<path d="M643 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M663 78h0"></path>
+<path d="M742.5 78h0"></path>
+<rect x="663" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="702.75" y="82">Dynamic</text>
+</a>
+</g>
+<path d="M742.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M762.5 48h10"></path>
+<g class="terminal">
+<path d="M772.5 48h0"></path>
+<path d="M826.5 48h0"></path>
+<rect x="772.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="799.5" y="52">"TO"</text>
+</g>
+<path d="M826.5 48h10"></path>
+<path d="M836.5 48h10"></path>
+<g class="non-terminal">
+<path d="M846.5 48h0"></path>
+<path d="M1011 48h0"></path>
+<rect x="846.5" y="37" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="928.75" y="52">TargetFieldSymbol</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1011 48h10"></path>
+<path d="M 1021 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_At.svg b/abap/statement_At.svg
new file mode 100644
index 00000000..826c1b56
--- /dev/null
+++ b/abap/statement_At.svg
@@ -0,0 +1,242 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="747" height="260" viewBox="0 0 747 260">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M697 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="44">"AT"</text>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M697 40h0"></path>
+<path d="M114 40h20"></path>
+<g>
+<path d="M134 40h0"></path>
+<path d="M651.5 40h25.5"></path>
+<g class="terminal">
+<path d="M134 40h0"></path>
+<path d="M196.5 40h0"></path>
+<rect x="134" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="44">"NEW"</text>
+</g>
+<path d="M196.5 40h10"></path>
+<g>
+<path d="M206.5 40h0"></path>
+<path d="M651.5 40h0"></path>
+<path d="M206.5 40h20"></path>
+<g>
+<path d="M226.5 40h0"></path>
+<path d="M631.5 40h0"></path>
+<g class="non-terminal">
+<path d="M226.5 40h0"></path>
+<path d="M314.5 40h0"></path>
+<rect x="226.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="270.5" y="44">FieldSub</text>
+</a>
+</g>
+<path d="M314.5 40h10"></path>
+<g>
+<path d="M324.5 40h0"></path>
+<path d="M478 40h0"></path>
+<path d="M324.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 20h113.5"></path>
+</g>
+<path d="M458 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 40h20"></path>
+<g class="non-terminal">
+<path d="M344.5 40h0"></path>
+<path d="M458 40h0"></path>
+<rect x="344.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="401.25" y="44">FieldOffset</text>
+</a>
+</g>
+<path d="M458 40h20"></path>
+</g>
+<g>
+<path d="M478 40h0"></path>
+<path d="M631.5 40h0"></path>
+<path d="M478 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M498 20h113.5"></path>
+</g>
+<path d="M611.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M478 40h20"></path>
+<g class="non-terminal">
+<path d="M498 40h0"></path>
+<path d="M611.5 40h0"></path>
+<rect x="498" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="554.75" y="44">FieldLength</text>
+</a>
+</g>
+<path d="M611.5 40h20"></path>
+</g>
+</g>
+<path d="M631.5 40h20"></path>
+<path d="M206.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 70h0"></path>
+<path d="M306 70h325.5"></path>
+<rect x="226.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="266.25" y="74">Dynamic</text>
+</a>
+</g>
+<path d="M631.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 100h0"></path>
+<path d="M391 100h240.5"></path>
+<rect x="226.5" y="89" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="308.75" y="104">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M631.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M677 40h20"></path>
+<path d="M114 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M134 139h0"></path>
+<path d="M677 139h0"></path>
+<g class="terminal">
+<path d="M134 139h0"></path>
+<path d="M222 139h0"></path>
+<rect x="134" y="128" width="88" height="22" rx="10" ry="10"></rect>
+<text x="178" y="143">"END OF"</text>
+</g>
+<path d="M222 139h10"></path>
+<g>
+<path d="M232 139h0"></path>
+<path d="M677 139h0"></path>
+<path d="M232 139h20"></path>
+<g>
+<path d="M252 139h0"></path>
+<path d="M657 139h0"></path>
+<g class="non-terminal">
+<path d="M252 139h0"></path>
+<path d="M340 139h0"></path>
+<rect x="252" y="128" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="296" y="143">FieldSub</text>
+</a>
+</g>
+<path d="M340 139h10"></path>
+<g>
+<path d="M350 139h0"></path>
+<path d="M503.5 139h0"></path>
+<path d="M350 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M370 119h113.5"></path>
+</g>
+<path d="M483.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M350 139h20"></path>
+<g class="non-terminal">
+<path d="M370 139h0"></path>
+<path d="M483.5 139h0"></path>
+<rect x="370" y="128" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="426.75" y="143">FieldOffset</text>
+</a>
+</g>
+<path d="M483.5 139h20"></path>
+</g>
+<g>
+<path d="M503.5 139h0"></path>
+<path d="M657 139h0"></path>
+<path d="M503.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M523.5 119h113.5"></path>
+</g>
+<path d="M637 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M503.5 139h20"></path>
+<g class="non-terminal">
+<path d="M523.5 139h0"></path>
+<path d="M637 139h0"></path>
+<rect x="523.5" y="128" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="580.25" y="143">FieldLength</text>
+</a>
+</g>
+<path d="M637 139h20"></path>
+</g>
+</g>
+<path d="M657 139h20"></path>
+<path d="M232 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M252 169h0"></path>
+<path d="M331.5 169h325.5"></path>
+<rect x="252" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="291.75" y="173">Dynamic</text>
+</a>
+</g>
+<path d="M657 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M232 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M252 199h0"></path>
+<path d="M416.5 199h240.5"></path>
+<rect x="252" y="188" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="334.25" y="203">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M657 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M677 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M114 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M134 229h0"></path>
+<path d="M196.5 229h480.5"></path>
+<rect x="134" y="218" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="233">^\w+$</text>
+</g>
+<path d="M677 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M697 40h10"></path>
+<path d="M 707 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AtFirst.svg b/abap/statement_AtFirst.svg
new file mode 100644
index 00000000..a60ebccd
--- /dev/null
+++ b/abap/statement_AtFirst.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"AT FIRST"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AtLast.svg b/abap/statement_AtLast.svg
new file mode 100644
index 00000000..c4ec94ed
--- /dev/null
+++ b/abap/statement_AtLast.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"AT LAST"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AtLineSelection.svg b/abap/statement_AtLineSelection.svg
new file mode 100644
index 00000000..8b2eff92
--- /dev/null
+++ b/abap/statement_AtLineSelection.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="374.5" height="62" viewBox="0 0 374.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M324.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M324.5 31h0"></path>
+<rect x="143" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="35">"AT LINE-SELECTION"</text>
+</g>
+</g>
+<path d="M324.5 31h10"></path>
+<path d="M 334.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AtSelectionScreen.svg b/abap/statement_AtSelectionScreen.svg
new file mode 100644
index 00000000..0bae6ade
--- /dev/null
+++ b/abap/statement_AtSelectionScreen.svg
@@ -0,0 +1,227 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="796.5" height="281" viewBox="0 0 796.5 281">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M746.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M746.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M341.5 40h0"></path>
+<rect x="143" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="44">"AT SELECTION-SCREEN"</text>
+</g>
+<path d="M341.5 40h10"></path>
+<g>
+<path d="M351.5 40h0"></path>
+<path d="M746.5 40h0"></path>
+<path d="M351.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M371.5 20h355"></path>
+</g>
+<path d="M726.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M351.5 40h20"></path>
+<g>
+<path d="M371.5 40h0"></path>
+<path d="M726.5 40h0"></path>
+<path d="M371.5 40h20"></path>
+<g class="terminal">
+<path d="M391.5 40h0"></path>
+<path d="M479.5 40h227"></path>
+<rect x="391.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="435.5" y="44">"OUTPUT"</text>
+</g>
+<path d="M706.5 40h20"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 70h0"></path>
+<path d="M706.5 70h0"></path>
+<g class="terminal">
+<path d="M391.5 70h0"></path>
+<path d="M598.5 70h0"></path>
+<rect x="391.5" y="59" width="207" height="22" rx="10" ry="10"></rect>
+<text x="495" y="74">"ON VALUE-REQUEST FOR"</text>
+</g>
+<path d="M598.5 70h10"></path>
+<path d="M608.5 70h10"></path>
+<g class="non-terminal">
+<path d="M618.5 70h0"></path>
+<path d="M706.5 70h0"></path>
+<rect x="618.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="662.5" y="74">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M706.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 100h0"></path>
+<path d="M681 100h25.5"></path>
+<g class="terminal">
+<path d="M391.5 100h0"></path>
+<path d="M598.5 100h0"></path>
+<rect x="391.5" y="89" width="207" height="22" rx="10" ry="10"></rect>
+<text x="495" y="104">"ON RADIOBUTTON GROUP"</text>
+</g>
+<path d="M598.5 100h10"></path>
+<path d="M608.5 100h10"></path>
+<g class="non-terminal">
+<path d="M618.5 100h0"></path>
+<path d="M681 100h0"></path>
+<rect x="618.5" y="89" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="649.75" y="104">Field</text>
+</a>
+</g>
+</g>
+<path d="M706.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M391.5 130h0"></path>
+<path d="M556 130h150.5"></path>
+<rect x="391.5" y="119" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="473.75" y="134">"ON EXIT-COMMAND"</text>
+</g>
+<path d="M706.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 160h0"></path>
+<path d="M553.5 160h153"></path>
+<g class="terminal">
+<path d="M391.5 160h0"></path>
+<path d="M445.5 160h0"></path>
+<rect x="391.5" y="149" width="54" height="22" rx="10" ry="10"></rect>
+<text x="418.5" y="164">"ON"</text>
+</g>
+<path d="M445.5 160h10"></path>
+<path d="M455.5 160h10"></path>
+<g class="non-terminal">
+<path d="M465.5 160h0"></path>
+<path d="M553.5 160h0"></path>
+<rect x="465.5" y="149" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="509.5" y="164">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M706.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 190h0"></path>
+<path d="M587.5 190h119"></path>
+<g class="terminal">
+<path d="M391.5 190h0"></path>
+<path d="M505 190h0"></path>
+<rect x="391.5" y="179" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="448.25" y="194">"ON END OF"</text>
+</g>
+<path d="M505 190h10"></path>
+<path d="M515 190h10"></path>
+<g class="non-terminal">
+<path d="M525 190h0"></path>
+<path d="M587.5 190h0"></path>
+<rect x="525" y="179" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="556.25" y="194">Field</text>
+</a>
+</g>
+</g>
+<path d="M706.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 220h0"></path>
+<path d="M698 220h8.5"></path>
+<g class="terminal">
+<path d="M391.5 220h0"></path>
+<path d="M590 220h0"></path>
+<rect x="391.5" y="209" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="490.75" y="224">"ON HELP-REQUEST FOR"</text>
+</g>
+<path d="M590 220h10"></path>
+<path d="M600 220h10"></path>
+<g class="non-terminal">
+<path d="M610 220h0"></path>
+<path d="M698 220h0"></path>
+<rect x="610" y="209" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="654" y="224">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M706.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M371.5 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M391.5 250h0"></path>
+<path d="M579 250h127.5"></path>
+<g class="terminal">
+<path d="M391.5 250h0"></path>
+<path d="M496.5 250h0"></path>
+<rect x="391.5" y="239" width="105" height="22" rx="10" ry="10"></rect>
+<text x="444" y="254">"ON BLOCK"</text>
+</g>
+<path d="M496.5 250h10"></path>
+<path d="M506.5 250h10"></path>
+<g class="terminal">
+<path d="M516.5 250h0"></path>
+<path d="M579 250h0"></path>
+<rect x="516.5" y="239" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="254">^\w+$</text>
+</g>
+</g>
+<path d="M706.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M726.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M746.5 40h10"></path>
+<path d="M 756.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AtUserCommand.svg b/abap/statement_AtUserCommand.svg
new file mode 100644
index 00000000..f398dc88
--- /dev/null
+++ b/abap/statement_AtUserCommand.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="357.5" height="62" viewBox="0 0 357.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M307.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"AT USER-COMMAND"</text>
+</g>
+</g>
+<path d="M307.5 31h10"></path>
+<path d="M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_AuthorityCheck.svg b/abap/statement_AuthorityCheck.svg
new file mode 100644
index 00000000..b3737a0e
--- /dev/null
+++ b/abap/statement_AuthorityCheck.svg
@@ -0,0 +1,164 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1056.5" height="109" viewBox="0 0 1056.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1006.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M274 40h0"></path>
+<rect x="50" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="162" y="44">"AUTHORITY-CHECK OBJECT"</text>
+</g>
+<path d="M274 40h10"></path>
+<path d="M284 40h10"></path>
+<g class="non-terminal">
+<path d="M294 40h0"></path>
+<path d="M365 40h0"></path>
+<rect x="294" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329.5" y="44">Source</text>
+</a>
+</g>
+<path d="M365 40h10"></path>
+<g>
+<path d="M375 40h0"></path>
+<path d="M611 40h0"></path>
+<path d="M375 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M395 20h196"></path>
+</g>
+<path d="M591 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M375 40h20"></path>
+<g>
+<path d="M395 40h0"></path>
+<path d="M591 40h0"></path>
+<g class="terminal">
+<path d="M395 40h0"></path>
+<path d="M500 40h0"></path>
+<rect x="395" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="447.5" y="44">"FOR USER"</text>
+</g>
+<path d="M500 40h10"></path>
+<path d="M510 40h10"></path>
+<g class="non-terminal">
+<path d="M520 40h0"></path>
+<path d="M591 40h0"></path>
+<rect x="520" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="555.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M591 40h20"></path>
+</g>
+<path d="M611 40h10"></path>
+<g>
+<path d="M621 40h0"></path>
+<path d="M1006.5 40h0"></path>
+<path d="M621 40h10"></path>
+<g>
+<path d="M631 40h0"></path>
+<path d="M996.5 40h0"></path>
+<g class="terminal">
+<path d="M631 40h0"></path>
+<path d="M685 40h0"></path>
+<rect x="631" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="658" y="44">"ID"</text>
+</g>
+<path d="M685 40h10"></path>
+<path d="M695 40h10"></path>
+<g class="non-terminal">
+<path d="M705 40h0"></path>
+<path d="M776 40h0"></path>
+<rect x="705" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="740.5" y="44">Source</text>
+</a>
+</g>
+<path d="M776 40h10"></path>
+<g>
+<path d="M786 40h0"></path>
+<path d="M996.5 40h0"></path>
+<path d="M786 40h20"></path>
+<g>
+<path d="M806 40h0"></path>
+<path d="M976.5 40h0"></path>
+<g class="terminal">
+<path d="M806 40h0"></path>
+<path d="M885.5 40h0"></path>
+<rect x="806" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="845.75" y="44">"FIELD"</text>
+</g>
+<path d="M885.5 40h10"></path>
+<path d="M895.5 40h10"></path>
+<g class="non-terminal">
+<path d="M905.5 40h0"></path>
+<path d="M976.5 40h0"></path>
+<rect x="905.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="941" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M976.5 40h20"></path>
+<path d="M786 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M806 70h0"></path>
+<path d="M885.5 70h91"></path>
+<rect x="806" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="845.75" y="74">"DUMMY"</text>
+</g>
+<path d="M976.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M996.5 40h10"></path>
+<path d="M631 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M631 89h365.5"></path>
+</g>
+<path d="M996.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1006.5 40h10"></path>
+<path d="M 1016.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Back.svg b/abap/statement_Back.svg
new file mode 100644
index 00000000..481c17dc
--- /dev/null
+++ b/abap/statement_Back.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="264" height="62" viewBox="0 0 264 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M214 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M214 31h0"></path>
+<rect x="143" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="35">"BACK"</text>
+</g>
+</g>
+<path d="M214 31h10"></path>
+<path d="M 224 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Break.svg b/abap/statement_Break.svg
new file mode 100644
index 00000000..90f0c0f8
--- /dev/null
+++ b/abap/statement_Break.svg
@@ -0,0 +1,129 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="727" height="131" viewBox="0 0 727 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M677 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<g>
+<path d="M133 40h0"></path>
+<path d="M677 40h0"></path>
+<path d="M133 40h20"></path>
+<g>
+<path d="M153 40h0"></path>
+<path d="M657 40h0"></path>
+<g class="terminal">
+<path d="M153 40h0"></path>
+<path d="M283.5 40h0"></path>
+<rect x="153" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="218.25" y="44">"BREAK-POINT"</text>
+</g>
+<path d="M283.5 40h10"></path>
+<g>
+<path d="M293.5 40h0"></path>
+<path d="M657 40h0"></path>
+<path d="M293.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M313.5 20h323.5"></path>
+</g>
+<path d="M637 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M293.5 40h20"></path>
+<g>
+<path d="M313.5 40h0"></path>
+<path d="M637 40h0"></path>
+<path d="M313.5 40h20"></path>
+<g class="terminal">
+<path d="M333.5 40h0"></path>
+<path d="M617 40h0"></path>
+<rect x="333.5" y="29" width="283.5" height="22" rx="10" ry="10"></rect>
+<text x="475.25" y="44">"AT NEXT APPLICATION STATEMENT"</text>
+</g>
+<path d="M617 40h20"></path>
+<path d="M313.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M333.5 70h0"></path>
+<path d="M404.5 70h212.5"></path>
+<rect x="333.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="369" y="74">Source</text>
+</a>
+</g>
+<path d="M617 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M637 40h20"></path>
+</g>
+</g>
+<path d="M657 40h20"></path>
+<path d="M133 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M153 100h0"></path>
+<path d="M340.5 100h316.5"></path>
+<g class="terminal">
+<path d="M153 100h0"></path>
+<path d="M232.5 100h0"></path>
+<rect x="153" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="192.75" y="104">"BREAK"</text>
+</g>
+<path d="M232.5 100h10"></path>
+<path d="M242.5 100h10"></path>
+<g class="non-terminal">
+<path d="M252.5 100h0"></path>
+<path d="M340.5 100h0"></path>
+<rect x="252.5" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="296.5" y="104">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M657 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M677 40h10"></path>
+<path d="M 687 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_BreakId.svg b/abap/statement_BreakId.svg
new file mode 100644
index 00000000..9b00c25b
--- /dev/null
+++ b/abap/statement_BreakId.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="480" height="62" viewBox="0 0 480 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M430 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M430 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"BREAK-POINT"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g>
+<path d="M293.5 31h0"></path>
+<path d="M430 31h0"></path>
+<g class="terminal">
+<path d="M293.5 31h0"></path>
+<path d="M347.5 31h0"></path>
+<rect x="293.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="320.5" y="35">"ID"</text>
+</g>
+<path d="M347.5 31h10"></path>
+<path d="M357.5 31h10"></path>
+<g class="non-terminal">
+<path d="M367.5 31h0"></path>
+<path d="M430 31h0"></path>
+<rect x="367.5" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="398.75" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+</g>
+<path d="M430 31h10"></path>
+<path d="M 440 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Call.svg b/abap/statement_Call.svg
new file mode 100644
index 00000000..024576cc
--- /dev/null
+++ b/abap/statement_Call.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="551.5" height="92" viewBox="0 0 551.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M511.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M491.5 31h0"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M190.5 31h0"></path>
+<rect x="60" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="125.25" y="35">"CALL METHOD"</text>
+</g>
+<path d="M190.5 31h10"></path>
+<path d="M200.5 31h10"></path>
+<g class="non-terminal">
+<path d="M210.5 31h0"></path>
+<path d="M332.5 31h0"></path>
+<rect x="210.5" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodSource"><text x="271.5" y="35">MethodSource</text>
+</a>
+</g>
+<path d="M332.5 31h10"></path>
+<path d="M342.5 31h10"></path>
+<g class="non-terminal">
+<path d="M352.5 31h0"></path>
+<path d="M491.5 31h0"></path>
+<rect x="352.5" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallBody"><text x="422" y="35">MethodCallBody</text>
+</a>
+</g>
+</g>
+<path d="M491.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 61h0"></path>
+<path d="M207.5 61h284"></path>
+<rect x="60" y="50" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallChain"><text x="133.75" y="65">MethodCallChain</text>
+</a>
+</g>
+<path d="M491.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 511.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallBadi.svg b/abap/statement_CallBadi.svg
new file mode 100644
index 00000000..f1ba2867
--- /dev/null
+++ b/abap/statement_CallBadi.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="656" height="62" viewBox="0 0 656 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M606 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M606 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M214 31h0"></path>
+<rect x="143" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="35">"CALL"</text>
+</g>
+<path d="M214 31h10"></path>
+<path d="M224 31h10"></path>
+<g class="terminal">
+<path d="M234 31h0"></path>
+<path d="M305 31h0"></path>
+<rect x="234" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="269.5" y="35">"BADI"</text>
+</g>
+<path d="M305 31h10"></path>
+<path d="M315 31h10"></path>
+<g class="non-terminal">
+<path d="M325 31h0"></path>
+<path d="M447 31h0"></path>
+<rect x="325" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodSource"><text x="386" y="35">MethodSource</text>
+</a>
+</g>
+<path d="M447 31h10"></path>
+<path d="M457 31h10"></path>
+<g class="non-terminal">
+<path d="M467 31h0"></path>
+<path d="M606 31h0"></path>
+<rect x="467" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodCallBody"><text x="536.5" y="35">MethodCallBody</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M606 31h10"></path>
+<path d="M 616 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallDatabase.svg b/abap/statement_CallDatabase.svg
new file mode 100644
index 00000000..97fa216d
--- /dev/null
+++ b/abap/statement_CallDatabase.svg
@@ -0,0 +1,189 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1413" height="101" viewBox="0 0 1413 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1363 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1363 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M375.5 40h0"></path>
+<rect x="143" y="29" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="259.25" y="44">"CALL DATABASE PROCEDURE"</text>
+</g>
+<path d="M375.5 40h10"></path>
+<path d="M385.5 40h10"></path>
+<g class="non-terminal">
+<path d="M395.5 40h0"></path>
+<path d="M475 40h0"></path>
+<rect x="395.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="435.25" y="44">Dynamic</text>
+</a>
+</g>
+<path d="M475 40h10"></path>
+<g>
+<path d="M485 40h0"></path>
+<path d="M698 40h0"></path>
+<path d="M485 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M505 20h173"></path>
+</g>
+<path d="M678 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M485 40h20"></path>
+<g class="non-terminal">
+<path d="M505 40h0"></path>
+<path d="M678 40h0"></path>
+<rect x="505" y="29" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="591.5" y="44">DatabaseConnection</text>
+</a>
+</g>
+<path d="M678 40h20"></path>
+</g>
+<g>
+<path d="M698 40h0"></path>
+<path d="M1363 40h0"></path>
+<path d="M698 40h20"></path>
+<g>
+<path d="M718 40h0"></path>
+<path d="M1343 40h0"></path>
+<g>
+<path d="M718 40h0"></path>
+<path d="M1030.5 40h0"></path>
+<path d="M718 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M738 20h272.5"></path>
+</g>
+<path d="M1010.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M718 40h20"></path>
+<g>
+<path d="M738 40h0"></path>
+<path d="M1010.5 40h0"></path>
+<g class="terminal">
+<path d="M738 40h0"></path>
+<path d="M851.5 40h0"></path>
+<rect x="738" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="794.75" y="44">"EXPORTING"</text>
+</g>
+<path d="M851.5 40h10"></path>
+<path d="M861.5 40h10"></path>
+<g class="non-terminal">
+<path d="M871.5 40h0"></path>
+<path d="M1010.5 40h0"></path>
+<rect x="871.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="941" y="44">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 40h20"></path>
+</g>
+<g>
+<path d="M1030.5 40h0"></path>
+<path d="M1343 40h0"></path>
+<path d="M1030.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1050.5 20h272.5"></path>
+</g>
+<path d="M1323 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1030.5 40h20"></path>
+<g>
+<path d="M1050.5 40h0"></path>
+<path d="M1323 40h0"></path>
+<g class="terminal">
+<path d="M1050.5 40h0"></path>
+<path d="M1164 40h0"></path>
+<rect x="1050.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1107.25" y="44">"IMPORTING"</text>
+</g>
+<path d="M1164 40h10"></path>
+<path d="M1174 40h10"></path>
+<g class="non-terminal">
+<path d="M1184 40h0"></path>
+<path d="M1323 40h0"></path>
+<rect x="1184" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListT"><text x="1253.5" y="44">ParameterListT</text>
+</a>
+</g>
+</g>
+<path d="M1323 40h20"></path>
+</g>
+</g>
+<path d="M1343 40h20"></path>
+<path d="M698 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M718 70h0"></path>
+<path d="M973.5 70h369.5"></path>
+<g class="terminal">
+<path d="M718 70h0"></path>
+<path d="M882.5 70h0"></path>
+<rect x="718" y="59" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="800.25" y="74">"PARAMETER-TABLE"</text>
+</g>
+<path d="M882.5 70h10"></path>
+<path d="M892.5 70h10"></path>
+<g class="non-terminal">
+<path d="M902.5 70h0"></path>
+<path d="M973.5 70h0"></path>
+<rect x="902.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="938" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M1343 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1363 40h10"></path>
+<path d="M 1373 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallDialog.svg b/abap/statement_CallDialog.svg
new file mode 100644
index 00000000..7c899970
--- /dev/null
+++ b/abap/statement_CallDialog.svg
@@ -0,0 +1,232 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1377.5" height="88" viewBox="0 0 1377.5 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1327.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1327.5 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M273.5 48h0"></path>
+<rect x="143" y="37" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="52">"CALL DIALOG"</text>
+</g>
+<path d="M273.5 48h10"></path>
+<path d="M283.5 48h10"></path>
+<g class="non-terminal">
+<path d="M293.5 48h0"></path>
+<path d="M381.5 48h0"></path>
+<rect x="293.5" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="337.5" y="52">Constant</text>
+</a>
+</g>
+<path d="M381.5 48h10"></path>
+<g>
+<path d="M391.5 48h0"></path>
+<path d="M885 48h0"></path>
+<path d="M391.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M411.5 20h453.5"></path>
+</g>
+<path d="M865 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M391.5 48h20"></path>
+<g>
+<path d="M411.5 48h0"></path>
+<path d="M865 48h0"></path>
+<g class="terminal">
+<path d="M411.5 48h0"></path>
+<path d="M525 48h0"></path>
+<rect x="411.5" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="468.25" y="52">"EXPORTING"</text>
+</g>
+<path d="M525 48h10"></path>
+<path d="M535 48h10"></path>
+<g>
+<path d="M545 48h0"></path>
+<path d="M865 48h0"></path>
+<path d="M545 48h10"></path>
+<g>
+<path d="M555 48h0"></path>
+<path d="M855 48h0"></path>
+<g class="non-terminal">
+<path d="M555 48h0"></path>
+<path d="M643 48h0"></path>
+<rect x="555" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="599" y="52">FieldSub</text>
+</a>
+</g>
+<path d="M643 48h10"></path>
+<g>
+<path d="M653 48h0"></path>
+<path d="M855 48h0"></path>
+<path d="M653 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M673 28h162"></path>
+</g>
+<path d="M835 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M653 48h20"></path>
+<g>
+<path d="M673 48h0"></path>
+<path d="M835 48h0"></path>
+<g class="terminal">
+<path d="M673 48h0"></path>
+<path d="M744 48h0"></path>
+<rect x="673" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="708.5" y="52">"FROM"</text>
+</g>
+<path d="M744 48h10"></path>
+<path d="M754 48h10"></path>
+<g class="non-terminal">
+<path d="M764 48h0"></path>
+<path d="M835 48h0"></path>
+<rect x="764" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="799.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M835 48h20"></path>
+</g>
+</g>
+<path d="M855 48h10"></path>
+<path d="M555 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M555 68h300"></path>
+</g>
+<path d="M855 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M865 48h20"></path>
+</g>
+<g>
+<path d="M885 48h0"></path>
+<path d="M1327.5 48h0"></path>
+<path d="M885 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M905 20h402.5"></path>
+</g>
+<path d="M1307.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M885 48h20"></path>
+<g>
+<path d="M905 48h0"></path>
+<path d="M1307.5 48h0"></path>
+<g class="terminal">
+<path d="M905 48h0"></path>
+<path d="M1018.5 48h0"></path>
+<rect x="905" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="961.75" y="52">"IMPORTING"</text>
+</g>
+<path d="M1018.5 48h10"></path>
+<path d="M1028.5 48h10"></path>
+<g>
+<path d="M1038.5 48h0"></path>
+<path d="M1307.5 48h0"></path>
+<path d="M1038.5 48h10"></path>
+<g>
+<path d="M1048.5 48h0"></path>
+<path d="M1297.5 48h0"></path>
+<g class="non-terminal">
+<path d="M1048.5 48h0"></path>
+<path d="M1111 48h0"></path>
+<rect x="1048.5" y="37" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1079.75" y="52">Field</text>
+</a>
+</g>
+<path d="M1111 48h10"></path>
+<g>
+<path d="M1121 48h0"></path>
+<path d="M1297.5 48h0"></path>
+<path d="M1121 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1141 28h136.5"></path>
+</g>
+<path d="M1277.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1121 48h20"></path>
+<g>
+<path d="M1141 48h0"></path>
+<path d="M1277.5 48h0"></path>
+<g class="terminal">
+<path d="M1141 48h0"></path>
+<path d="M1195 48h0"></path>
+<rect x="1141" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1168" y="52">"TO"</text>
+</g>
+<path d="M1195 48h10"></path>
+<path d="M1205 48h10"></path>
+<g class="non-terminal">
+<path d="M1215 48h0"></path>
+<path d="M1277.5 48h0"></path>
+<rect x="1215" y="37" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1246.25" y="52">Field</text>
+</a>
+</g>
+</g>
+<path d="M1277.5 48h20"></path>
+</g>
+</g>
+<path d="M1297.5 48h10"></path>
+<path d="M1048.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1048.5 68h249"></path>
+</g>
+<path d="M1297.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1307.5 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1327.5 48h10"></path>
+<path d="M 1337.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallFunction.svg b/abap/statement_CallFunction.svg
new file mode 100644
index 00000000..b70a1121
--- /dev/null
+++ b/abap/statement_CallFunction.svg
@@ -0,0 +1,405 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1841" height="311" viewBox="0 0 1841 311">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1791 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"CALL"</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M445.5 40h0"></path>
+<path d="M131 40h20"></path>
+<g class="terminal">
+<path d="M151 40h0"></path>
+<path d="M256 40h169.5"></path>
+<rect x="151" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="203.5" y="44">"FUNCTION"</text>
+</g>
+<path d="M425.5 40h20"></path>
+<path d="M131 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M151 70h0"></path>
+<path d="M425.5 70h0"></path>
+<g>
+<path d="M151 70h0"></path>
+<path d="M224 70h0"></path>
+<text x="187.5" y="75" class="comment">not Cloud</text>
+</g>
+<path d="M224 70h10"></path>
+<path d="M234 70h10"></path>
+<g class="terminal">
+<path d="M244 70h0"></path>
+<path d="M425.5 70h0"></path>
+<rect x="244" y="59" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="334.75" y="74">"CUSTOMER-FUNCTION"</text>
+</g>
+</g>
+<path d="M425.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M445.5 40h10"></path>
+<g class="non-terminal">
+<path d="M455.5 40h0"></path>
+<path d="M577.5 40h0"></path>
+<rect x="455.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/FunctionName"><text x="516.5" y="44">FunctionName</text>
+</a>
+</g>
+<path d="M577.5 40h10"></path>
+<g>
+<path d="M587.5 40h0"></path>
+<path d="M1150 40h0"></path>
+<path d="M587.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M607.5 20h522.5"></path>
+</g>
+<path d="M1130 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M587.5 40h20"></path>
+<g>
+<path d="M607.5 40h0"></path>
+<path d="M1130 40h0"></path>
+<path d="M637.5 40h10"></path>
+<g>
+<path d="M647.5 40h0"></path>
+<path d="M1072.5 40h27.5"></path>
+<g>
+<path d="M647.5 40h0"></path>
+<path d="M720.5 40h0"></path>
+<text x="684" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M720.5 40h10"></path>
+<path d="M730.5 40h10"></path>
+<g>
+<path d="M740.5 40h0"></path>
+<path d="M1072.5 40h0"></path>
+<g class="terminal">
+<path d="M740.5 40h0"></path>
+<path d="M922 40h0"></path>
+<rect x="740.5" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="831.25" y="44">"STARTING NEW TASK"</text>
+</g>
+<path d="M922 40h10"></path>
+<path d="M932 40h10"></path>
+<g class="non-terminal">
+<path d="M942 40h0"></path>
+<path d="M1072.5 40h0"></path>
+<rect x="942" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource2"><text x="1007.25" y="44">SimpleSource2</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1100 40h10"></path>
+<path d="M637.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M647.5 70h0"></path>
+<path d="M896.5 70h203.5"></path>
+<g>
+<path d="M647.5 70h0"></path>
+<path d="M720.5 70h0"></path>
+<text x="684" y="75" class="comment">not Cloud</text>
+</g>
+<path d="M720.5 70h10"></path>
+<path d="M730.5 70h10"></path>
+<g class="terminal">
+<path d="M740.5 70h0"></path>
+<path d="M896.5 70h0"></path>
+<rect x="740.5" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="818.5" y="74">"IN UPDATE TASK"</text>
+</g>
+</g>
+<path d="M1100 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M637.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M647.5 100h0"></path>
+<path d="M1100 100h0"></path>
+<g>
+<path d="M647.5 100h0"></path>
+<path d="M720.5 100h0"></path>
+<text x="684" y="105" class="comment">not Cloud</text>
+</g>
+<path d="M720.5 100h10"></path>
+<path d="M730.5 100h10"></path>
+<g>
+<path d="M740.5 100h0"></path>
+<path d="M1100 100h0"></path>
+<g class="terminal">
+<path d="M740.5 100h0"></path>
+<path d="M888 100h0"></path>
+<rect x="740.5" y="89" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="814.25" y="104">"IN BACKGROUND"</text>
+</g>
+<path d="M888 100h10"></path>
+<g>
+<path d="M898 100h0"></path>
+<path d="M1100 100h0"></path>
+<path d="M898 100h20"></path>
+<g class="terminal">
+<path d="M918 100h0"></path>
+<path d="M989 100h91"></path>
+<rect x="918" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="953.5" y="104">"TASK"</text>
+</g>
+<path d="M1080 100h20"></path>
+<path d="M898 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M918 130h0"></path>
+<path d="M1080 130h0"></path>
+<g class="terminal">
+<path d="M918 130h0"></path>
+<path d="M989 130h0"></path>
+<rect x="918" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="953.5" y="134">"UNIT"</text>
+</g>
+<path d="M989 130h10"></path>
+<path d="M999 130h10"></path>
+<g class="non-terminal">
+<path d="M1009 130h0"></path>
+<path d="M1080 130h0"></path>
+<rect x="1009" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1044.5" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M1080 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1100 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M637.5 40v110a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M647.5 160h0"></path>
+<path d="M761 160h339"></path>
+<rect x="647.5" y="149" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Destination"><text x="704.25" y="164">Destination</text>
+</a>
+</g>
+<path d="M1100 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M637.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M647.5 190h0"></path>
+<path d="M1062 190h38"></path>
+<g class="terminal">
+<path d="M647.5 190h0"></path>
+<path d="M744 190h0"></path>
+<rect x="647.5" y="179" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="695.75" y="194">"CALLING"</text>
+</g>
+<path d="M744 190h10"></path>
+<path d="M754 190h10"></path>
+<g class="non-terminal">
+<path d="M764 190h0"></path>
+<path d="M886 190h0"></path>
+<rect x="764" y="179" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodSource"><text x="825" y="194">MethodSource</text>
+</a>
+</g>
+<path d="M886 190h10"></path>
+<path d="M896 190h10"></path>
+<g class="terminal">
+<path d="M906 190h0"></path>
+<path d="M1062 190h0"></path>
+<rect x="906" y="179" width="156" height="22" rx="10" ry="10"></rect>
+<text x="984" y="194">"ON END OF TASK"</text>
+</g>
+</g>
+<path d="M1100 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M637.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M647.5 220h0"></path>
+<path d="M1053.5 220h46.5"></path>
+<g class="terminal">
+<path d="M647.5 220h0"></path>
+<path d="M769.5 220h0"></path>
+<rect x="647.5" y="209" width="122" height="22" rx="10" ry="10"></rect>
+<text x="708.5" y="224">"PERFORMING"</text>
+</g>
+<path d="M769.5 220h10"></path>
+<path d="M779.5 220h10"></path>
+<g class="non-terminal">
+<path d="M789.5 220h0"></path>
+<path d="M877.5 220h0"></path>
+<rect x="789.5" y="209" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="833.5" y="224">FormName</text>
+</a>
+</g>
+<path d="M877.5 220h10"></path>
+<path d="M887.5 220h10"></path>
+<g class="terminal">
+<path d="M897.5 220h0"></path>
+<path d="M1053.5 220h0"></path>
+<rect x="897.5" y="209" width="156" height="22" rx="10" ry="10"></rect>
+<text x="975.5" y="224">"ON END OF TASK"</text>
+</g>
+</g>
+<path d="M1100 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M637.5 40v200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M647.5 250h0"></path>
+<path d="M820.5 250h279.5"></path>
+<rect x="647.5" y="239" width="173" height="22" rx="10" ry="10"></rect>
+<text x="734" y="254">"AS SEPARATE UNIT"</text>
+</g>
+<path d="M1100 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M637.5 40v230a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M647.5 280h0"></path>
+<path d="M922.5 280h177.5"></path>
+<rect x="647.5" y="269" width="275" height="22" rx="10" ry="10"></rect>
+<text x="785" y="284">"KEEPING LOGICAL UNIT OF WORK"</text>
+</g>
+<path d="M1100 280a10 10 0 0 0 10 -10v-230"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 637.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="622.5" y="44" class="diagram-text">1+</text>
+<path d="M 1110 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1117 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1130 40h20"></path>
+</g>
+<g>
+<path d="M1150 40h0"></path>
+<path d="M1791 40h0"></path>
+<path d="M1150 40h20"></path>
+<g class="non-terminal">
+<path d="M1170 40h0"></path>
+<path d="M1343 40h428"></path>
+<rect x="1170" y="29" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/FunctionParameters"><text x="1256.5" y="44">FunctionParameters</text>
+</a>
+</g>
+<path d="M1771 40h20"></path>
+<path d="M1150 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1170 79h0"></path>
+<path d="M1771 79h0"></path>
+<path d="M1170 79h20"></path>
+<g>
+<path d="M1190 79h0"></path>
+<path d="M1751 79h0"></path>
+<g class="terminal">
+<path d="M1190 79h0"></path>
+<path d="M1354.5 79h0"></path>
+<rect x="1190" y="68" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1272.25" y="83">"PARAMETER-TABLE"</text>
+</g>
+<path d="M1354.5 79h10"></path>
+<path d="M1364.5 79h10"></path>
+<g class="non-terminal">
+<path d="M1374.5 79h0"></path>
+<path d="M1445.5 79h0"></path>
+<rect x="1374.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1410" y="83">Source</text>
+</a>
+</g>
+<path d="M1445.5 79h10"></path>
+<g>
+<path d="M1455.5 79h0"></path>
+<path d="M1751 79h0"></path>
+<path d="M1455.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1475.5 59h255.5"></path>
+</g>
+<path d="M1731 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1455.5 79h20"></path>
+<g>
+<path d="M1475.5 79h0"></path>
+<path d="M1731 79h0"></path>
+<g class="terminal">
+<path d="M1475.5 79h0"></path>
+<path d="M1640 79h0"></path>
+<rect x="1475.5" y="68" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1557.75" y="83">"EXCEPTION-TABLE"</text>
+</g>
+<path d="M1640 79h10"></path>
+<path d="M1650 79h10"></path>
+<g class="non-terminal">
+<path d="M1660 79h0"></path>
+<path d="M1731 79h0"></path>
+<rect x="1660" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1695.5" y="83">Source</text>
+</a>
+</g>
+</g>
+<path d="M1731 79h20"></path>
+</g>
+</g>
+<path d="M1751 79h20"></path>
+<path d="M1170 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1190 109h0"></path>
+<path d="M1445.5 109h305.5"></path>
+<g class="terminal">
+<path d="M1190 109h0"></path>
+<path d="M1354.5 109h0"></path>
+<rect x="1190" y="98" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1272.25" y="113">"EXCEPTION-TABLE"</text>
+</g>
+<path d="M1354.5 109h10"></path>
+<path d="M1364.5 109h10"></path>
+<g class="non-terminal">
+<path d="M1374.5 109h0"></path>
+<path d="M1445.5 109h0"></path>
+<rect x="1374.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1410" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M1751 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1771 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1791 40h10"></path>
+<path d="M 1801 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallKernel.svg b/abap/statement_CallKernel.svg
new file mode 100644
index 00000000..da7b7d31
--- /dev/null
+++ b/abap/statement_CallKernel.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="550" height="101" viewBox="0 0 550 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M500 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M500 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M214 40h0"></path>
+<rect x="143" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="44">"CALL"</text>
+</g>
+<path d="M214 40h10"></path>
+<g>
+<path d="M224 40h0"></path>
+<path d="M352 40h0"></path>
+<path d="M224 40h20"></path>
+<g class="non-terminal">
+<path d="M244 40h0"></path>
+<path d="M332 40h0"></path>
+<rect x="244" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="288" y="44">Constant</text>
+</a>
+</g>
+<path d="M332 40h20"></path>
+<path d="M224 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M244 70h0"></path>
+<path d="M306.5 70h25.5"></path>
+<rect x="244" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="275.25" y="74">Field</text>
+</a>
+</g>
+<path d="M332 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M352 40h0"></path>
+<path d="M500 40h0"></path>
+<path d="M352 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M372 20h108"></path>
+</g>
+<path d="M480 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M352 40h20"></path>
+<g>
+<path d="M372 40h0"></path>
+<path d="M480 40h0"></path>
+<path d="M372 40h10"></path>
+<g class="non-terminal">
+<path d="M382 40h0"></path>
+<path d="M470 40h0"></path>
+<rect x="382" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/KernelId"><text x="426" y="44">KernelId</text>
+</a>
+</g>
+<path d="M470 40h10"></path>
+<path d="M382 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382 60h88"></path>
+</g>
+<path d="M470 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M480 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M500 40h10"></path>
+<path d="M 510 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallOLE.svg b/abap/statement_CallOLE.svg
new file mode 100644
index 00000000..e6eff9a1
--- /dev/null
+++ b/abap/statement_CallOLE.svg
@@ -0,0 +1,171 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1178" height="71" viewBox="0 0 1178 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1128 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1128 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M299 40h0"></path>
+<rect x="143" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="44">"CALL METHOD OF"</text>
+</g>
+<path d="M299 40h10"></path>
+<path d="M309 40h10"></path>
+<g class="non-terminal">
+<path d="M319 40h0"></path>
+<path d="M390 40h0"></path>
+<rect x="319" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="354.5" y="44">Source</text>
+</a>
+</g>
+<path d="M390 40h10"></path>
+<path d="M400 40h10"></path>
+<g class="non-terminal">
+<path d="M410 40h0"></path>
+<path d="M481 40h0"></path>
+<rect x="410" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="445.5" y="44">Source</text>
+</a>
+</g>
+<path d="M481 40h10"></path>
+<g>
+<path d="M491 40h0"></path>
+<path d="M667.5 40h0"></path>
+<path d="M491 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M511 20h136.5"></path>
+</g>
+<path d="M647.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M491 40h20"></path>
+<g>
+<path d="M511 40h0"></path>
+<path d="M647.5 40h0"></path>
+<g class="terminal">
+<path d="M511 40h0"></path>
+<path d="M556.5 40h0"></path>
+<rect x="511" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="533.75" y="44">"="</text>
+</g>
+<path d="M556.5 40h10"></path>
+<path d="M566.5 40h10"></path>
+<g class="non-terminal">
+<path d="M576.5 40h0"></path>
+<path d="M647.5 40h0"></path>
+<rect x="576.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="612" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M647.5 40h20"></path>
+</g>
+<g>
+<path d="M667.5 40h0"></path>
+<path d="M812.5 40h0"></path>
+<path d="M667.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M687.5 20h105"></path>
+</g>
+<path d="M792.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M667.5 40h20"></path>
+<g class="terminal">
+<path d="M687.5 40h0"></path>
+<path d="M792.5 40h0"></path>
+<rect x="687.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="740" y="44">"NO FLUSH"</text>
+</g>
+<path d="M792.5 40h20"></path>
+</g>
+<g>
+<path d="M812.5 40h0"></path>
+<path d="M966 40h0"></path>
+<path d="M812.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M832.5 20h113.5"></path>
+</g>
+<path d="M946 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M812.5 40h20"></path>
+<g class="terminal">
+<path d="M832.5 40h0"></path>
+<path d="M946 40h0"></path>
+<rect x="832.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="889.25" y="44">"QUEUEONLY"</text>
+</g>
+<path d="M946 40h20"></path>
+</g>
+<g>
+<path d="M966 40h0"></path>
+<path d="M1128 40h0"></path>
+<path d="M966 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M986 20h122"></path>
+</g>
+<path d="M1108 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M966 40h20"></path>
+<g class="non-terminal">
+<path d="M986 40h0"></path>
+<path d="M1108 40h0"></path>
+<rect x="986" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/OLEExporting"><text x="1047" y="44">OLEExporting</text>
+</a>
+</g>
+<path d="M1108 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1128 40h10"></path>
+<path d="M 1138 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallScreen.svg b/abap/statement_CallScreen.svg
new file mode 100644
index 00000000..eb6399ef
--- /dev/null
+++ b/abap/statement_CallScreen.svg
@@ -0,0 +1,163 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1122.5" height="79" viewBox="0 0 1122.5 79">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1072.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1072.5 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M273.5 48h0"></path>
+<rect x="143" y="37" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="52">"CALL SCREEN"</text>
+</g>
+<path d="M273.5 48h10"></path>
+<path d="M283.5 48h10"></path>
+<g class="non-terminal">
+<path d="M293.5 48h0"></path>
+<path d="M364.5 48h0"></path>
+<rect x="293.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329" y="52">Source</text>
+</a>
+</g>
+<path d="M364.5 48h10"></path>
+<g>
+<path d="M374.5 48h0"></path>
+<path d="M1072.5 48h0"></path>
+<path d="M374.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M394.5 20h658"></path>
+</g>
+<path d="M1052.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M374.5 48h20"></path>
+<g>
+<path d="M394.5 48h0"></path>
+<path d="M1052.5 48h0"></path>
+<g>
+<path d="M394.5 48h0"></path>
+<path d="M707 48h0"></path>
+<g class="terminal">
+<path d="M394.5 48h0"></path>
+<path d="M525 48h0"></path>
+<rect x="394.5" y="37" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="459.75" y="52">"STARTING AT"</text>
+</g>
+<path d="M525 48h10"></path>
+<path d="M535 48h10"></path>
+<g class="non-terminal">
+<path d="M545 48h0"></path>
+<path d="M616 48h0"></path>
+<rect x="545" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="580.5" y="52">Source</text>
+</a>
+</g>
+<path d="M616 48h10"></path>
+<path d="M626 48h10"></path>
+<g class="non-terminal">
+<path d="M636 48h0"></path>
+<path d="M707 48h0"></path>
+<rect x="636" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="671.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M707 48h10"></path>
+<g>
+<path d="M717 48h0"></path>
+<path d="M1052.5 48h0"></path>
+<path d="M717 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M737 28h295.5"></path>
+</g>
+<path d="M1032.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M717 48h20"></path>
+<g>
+<path d="M737 48h0"></path>
+<path d="M1032.5 48h0"></path>
+<g class="terminal">
+<path d="M737 48h0"></path>
+<path d="M850.5 48h0"></path>
+<rect x="737" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="793.75" y="52">"ENDING AT"</text>
+</g>
+<path d="M850.5 48h10"></path>
+<path d="M860.5 48h10"></path>
+<g class="non-terminal">
+<path d="M870.5 48h0"></path>
+<path d="M941.5 48h0"></path>
+<rect x="870.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="906" y="52">Source</text>
+</a>
+</g>
+<path d="M941.5 48h10"></path>
+<path d="M951.5 48h10"></path>
+<g class="non-terminal">
+<path d="M961.5 48h0"></path>
+<path d="M1032.5 48h0"></path>
+<rect x="961.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="997" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1032.5 48h20"></path>
+</g>
+</g>
+<path d="M1052.5 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1072.5 48h10"></path>
+<path d="M 1082.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallSelectionScreen.svg b/abap/statement_CallSelectionScreen.svg
new file mode 100644
index 00000000..0ecf2071
--- /dev/null
+++ b/abap/statement_CallSelectionScreen.svg
@@ -0,0 +1,193 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1537" height="79" viewBox="0 0 1537 79">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1487 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1487 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M358.5 48h0"></path>
+<rect x="143" y="37" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="250.75" y="52">"CALL SELECTION-SCREEN"</text>
+</g>
+<path d="M358.5 48h10"></path>
+<path d="M368.5 48h10"></path>
+<g class="non-terminal">
+<path d="M378.5 48h0"></path>
+<path d="M449.5 48h0"></path>
+<rect x="378.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="414" y="52">Source</text>
+</a>
+</g>
+<path d="M449.5 48h10"></path>
+<g>
+<path d="M459.5 48h0"></path>
+<path d="M1157.5 48h0"></path>
+<path d="M459.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M479.5 20h658"></path>
+</g>
+<path d="M1137.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M459.5 48h20"></path>
+<g>
+<path d="M479.5 48h0"></path>
+<path d="M1137.5 48h0"></path>
+<g>
+<path d="M479.5 48h0"></path>
+<path d="M792 48h0"></path>
+<g class="terminal">
+<path d="M479.5 48h0"></path>
+<path d="M610 48h0"></path>
+<rect x="479.5" y="37" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="544.75" y="52">"STARTING AT"</text>
+</g>
+<path d="M610 48h10"></path>
+<path d="M620 48h10"></path>
+<g class="non-terminal">
+<path d="M630 48h0"></path>
+<path d="M701 48h0"></path>
+<rect x="630" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="665.5" y="52">Source</text>
+</a>
+</g>
+<path d="M701 48h10"></path>
+<path d="M711 48h10"></path>
+<g class="non-terminal">
+<path d="M721 48h0"></path>
+<path d="M792 48h0"></path>
+<rect x="721" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="756.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M792 48h10"></path>
+<g>
+<path d="M802 48h0"></path>
+<path d="M1137.5 48h0"></path>
+<path d="M802 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M822 28h295.5"></path>
+</g>
+<path d="M1117.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M802 48h20"></path>
+<g>
+<path d="M822 48h0"></path>
+<path d="M1117.5 48h0"></path>
+<g class="terminal">
+<path d="M822 48h0"></path>
+<path d="M935.5 48h0"></path>
+<rect x="822" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="878.75" y="52">"ENDING AT"</text>
+</g>
+<path d="M935.5 48h10"></path>
+<path d="M945.5 48h10"></path>
+<g class="non-terminal">
+<path d="M955.5 48h0"></path>
+<path d="M1026.5 48h0"></path>
+<rect x="955.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="991" y="52">Source</text>
+</a>
+</g>
+<path d="M1026.5 48h10"></path>
+<path d="M1036.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1046.5 48h0"></path>
+<path d="M1117.5 48h0"></path>
+<rect x="1046.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1082" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1117.5 48h20"></path>
+</g>
+</g>
+<path d="M1137.5 48h20"></path>
+</g>
+<g>
+<path d="M1157.5 48h0"></path>
+<path d="M1487 48h0"></path>
+<path d="M1157.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1177.5 28h289.5"></path>
+</g>
+<path d="M1467 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1157.5 48h20"></path>
+<g>
+<path d="M1177.5 48h0"></path>
+<path d="M1467 48h0"></path>
+<g class="terminal">
+<path d="M1177.5 48h0"></path>
+<path d="M1376 48h0"></path>
+<rect x="1177.5" y="37" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="1276.75" y="52">"USING SELECTION-SET"</text>
+</g>
+<path d="M1376 48h10"></path>
+<path d="M1386 48h10"></path>
+<g class="non-terminal">
+<path d="M1396 48h0"></path>
+<path d="M1467 48h0"></path>
+<rect x="1396" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1431.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1467 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1487 48h10"></path>
+<path d="M 1497 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallTransaction.svg b/abap/statement_CallTransaction.svg
new file mode 100644
index 00000000..3a557ad0
--- /dev/null
+++ b/abap/statement_CallTransaction.svg
@@ -0,0 +1,266 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1377" height="191" viewBox="0 0 1377 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1327 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1327 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M316 40h0"></path>
+<rect x="143" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="44">"CALL TRANSACTION"</text>
+</g>
+<path d="M316 40h10"></path>
+<path d="M326 40h10"></path>
+<g class="non-terminal">
+<path d="M336 40h0"></path>
+<path d="M407 40h0"></path>
+<rect x="336" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="44">Source</text>
+</a>
+</g>
+<path d="M407 40h10"></path>
+<g>
+<path d="M417 40h0"></path>
+<path d="M768 40h0"></path>
+<path d="M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M437 20h311"></path>
+</g>
+<path d="M748 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M417 40h20"></path>
+<g>
+<path d="M437 40h0"></path>
+<path d="M748 40h0"></path>
+<g>
+<path d="M437 40h0"></path>
+<path d="M573.5 40h0"></path>
+<path d="M437 40h20"></path>
+<g class="terminal">
+<path d="M457 40h0"></path>
+<path d="M528 40h25.5"></path>
+<rect x="457" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="492.5" y="44">"WITH"</text>
+</g>
+<path d="M553.5 40h20"></path>
+<path d="M437 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M457 70h0"></path>
+<path d="M553.5 70h0"></path>
+<rect x="457" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="505.25" y="74">"WITHOUT"</text>
+</g>
+<path d="M553.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M573.5 40h10"></path>
+<g class="terminal">
+<path d="M583.5 40h0"></path>
+<path d="M748 40h0"></path>
+<rect x="583.5" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="665.75" y="44">"AUTHORITY-CHECK"</text>
+</g>
+</g>
+<path d="M748 40h20"></path>
+</g>
+<g>
+<path d="M768 40h0"></path>
+<path d="M978.5 40h0"></path>
+<path d="M768 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M788 20h170.5"></path>
+</g>
+<path d="M958.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M768 40h20"></path>
+<g>
+<path d="M788 40h0"></path>
+<path d="M958.5 40h0"></path>
+<g class="terminal">
+<path d="M788 40h0"></path>
+<path d="M867.5 40h0"></path>
+<rect x="788" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="827.75" y="44">"USING"</text>
+</g>
+<path d="M867.5 40h10"></path>
+<path d="M877.5 40h10"></path>
+<g class="non-terminal">
+<path d="M887.5 40h0"></path>
+<path d="M958.5 40h0"></path>
+<rect x="887.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="923" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M958.5 40h20"></path>
+</g>
+<g>
+<path d="M978.5 40h0"></path>
+<path d="M1327 40h0"></path>
+<path d="M978.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M998.5 20h308.5"></path>
+</g>
+<path d="M1307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M978.5 40h20"></path>
+<g>
+<path d="M998.5 40h0"></path>
+<path d="M1307 40h0"></path>
+<path d="M1028.5 40h10"></path>
+<g>
+<path d="M1038.5 40h0"></path>
+<path d="M1217.5 40h59.5"></path>
+<g class="terminal">
+<path d="M1038.5 40h0"></path>
+<path d="M1126.5 40h0"></path>
+<rect x="1038.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1082.5" y="44">"UPDATE"</text>
+</g>
+<path d="M1126.5 40h10"></path>
+<path d="M1136.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1146.5 40h0"></path>
+<path d="M1217.5 40h0"></path>
+<rect x="1146.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1182" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1277 40h10"></path>
+<path d="M1028.5 40v20a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1038.5 70h0"></path>
+<path d="M1254 70h23"></path>
+<rect x="1038.5" y="59" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="1146.25" y="74">"AND SKIP FIRST SCREEN"</text>
+</g>
+<path d="M1277 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1028.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1038.5 100h0"></path>
+<path d="M1268.5 100h8.5"></path>
+<g class="terminal">
+<path d="M1038.5 100h0"></path>
+<path d="M1177.5 100h0"></path>
+<rect x="1038.5" y="89" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1108" y="104">"OPTIONS FROM"</text>
+</g>
+<path d="M1177.5 100h10"></path>
+<path d="M1187.5 100h10"></path>
+<g class="non-terminal">
+<path d="M1197.5 100h0"></path>
+<path d="M1268.5 100h0"></path>
+<rect x="1197.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1233" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M1277 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1028.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1038.5 130h0"></path>
+<path d="M1277 130h0"></path>
+<g class="terminal">
+<path d="M1038.5 130h0"></path>
+<path d="M1186 130h0"></path>
+<rect x="1038.5" y="119" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1112.25" y="134">"MESSAGES INTO"</text>
+</g>
+<path d="M1186 130h10"></path>
+<path d="M1196 130h10"></path>
+<g class="non-terminal">
+<path d="M1206 130h0"></path>
+<path d="M1277 130h0"></path>
+<rect x="1206" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1241.5" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M1277 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M1028.5 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1038.5 160h0"></path>
+<path d="M1200.5 160h76.5"></path>
+<g class="terminal">
+<path d="M1038.5 160h0"></path>
+<path d="M1109.5 160h0"></path>
+<rect x="1038.5" y="149" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1074" y="164">"MODE"</text>
+</g>
+<path d="M1109.5 160h10"></path>
+<path d="M1119.5 160h10"></path>
+<g class="non-terminal">
+<path d="M1129.5 160h0"></path>
+<path d="M1200.5 160h0"></path>
+<rect x="1129.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1165" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M1277 160a10 10 0 0 0 10 -10v-110"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1028.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1013.5" y="44" class="diagram-text">1+</text>
+<path d="M 1287 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1294 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1307 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1327 40h10"></path>
+<path d="M 1337 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CallTransformation.svg b/abap/statement_CallTransformation.svg
new file mode 100644
index 00000000..37e395d9
--- /dev/null
+++ b/abap/statement_CallTransformation.svg
@@ -0,0 +1,251 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1010" height="242" viewBox="0 0 1010 242">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M960 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M248.5 31h0"></path>
+<rect x="50" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="149.25" y="35">"CALL TRANSFORMATION"</text>
+</g>
+<path d="M248.5 31h10"></path>
+<g>
+<path d="M258.5 31h0"></path>
+<path d="M480 31h0"></path>
+<path d="M258.5 31h20"></path>
+<g class="non-terminal">
+<path d="M278.5 31h0"></path>
+<path d="M460 31h0"></path>
+<rect x="278.5" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="369.25" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M460 31h20"></path>
+<path d="M258.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M278.5 61h0"></path>
+<path d="M358 61h102"></path>
+<rect x="278.5" y="50" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="318.25" y="65">Dynamic</text>
+</a>
+</g>
+<path d="M460 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M480 31h10"></path>
+<g>
+<path d="M490 31h0"></path>
+<path d="M960 31h0"></path>
+<path d="M520 31h10"></path>
+<g>
+<path d="M530 31h0"></path>
+<path d="M879 31h51"></path>
+<g class="terminal">
+<path d="M530 31h0"></path>
+<path d="M626.5 31h0"></path>
+<rect x="530" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="578.25" y="35">"OPTIONS"</text>
+</g>
+<path d="M626.5 31h10"></path>
+<path d="M636.5 31h10"></path>
+<g class="non-terminal">
+<path d="M646.5 31h0"></path>
+<path d="M879 31h0"></path>
+<rect x="646.5" y="20" width="232.5" height="22"></rect>
+<a xlink:href="#/abap/expression/CallTransformationOptions"><text x="762.75" y="35">CallTransformationOptions</text>
+</a>
+</g>
+</g>
+<path d="M930 31h10"></path>
+<path d="M520 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M530 61h0"></path>
+<path d="M930 61h0"></path>
+<g class="terminal">
+<path d="M530 61h0"></path>
+<path d="M652 61h0"></path>
+<rect x="530" y="50" width="122" height="22" rx="10" ry="10"></rect>
+<text x="591" y="65">"PARAMETERS"</text>
+</g>
+<path d="M652 61h10"></path>
+<path d="M662 61h10"></path>
+<g class="non-terminal">
+<path d="M672 61h0"></path>
+<path d="M930 61h0"></path>
+<rect x="672" y="50" width="258" height="22"></rect>
+<a xlink:href="#/abap/expression/CallTransformationParameters"><text x="801" y="65">CallTransformationParameters</text>
+</a>
+</g>
+</g>
+<path d="M930 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M520 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M530 91h0"></path>
+<path d="M904.5 91h25.5"></path>
+<g class="terminal">
+<path d="M530 91h0"></path>
+<path d="M626.5 91h0"></path>
+<rect x="530" y="80" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="578.25" y="95">"OBJECTS"</text>
+</g>
+<path d="M626.5 91h10"></path>
+<path d="M636.5 91h10"></path>
+<g class="non-terminal">
+<path d="M646.5 91h0"></path>
+<path d="M904.5 91h0"></path>
+<rect x="646.5" y="80" width="258" height="22"></rect>
+<a xlink:href="#/abap/expression/CallTransformationParameters"><text x="775.5" y="95">CallTransformationParameters</text>
+</a>
+</g>
+</g>
+<path d="M930 91a10 10 0 0 0 10 -10v-50"></path>
+<path d="M520 31v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M530 121h0"></path>
+<path d="M926 121h4"></path>
+<g class="terminal">
+<path d="M530 121h0"></path>
+<path d="M618 121h0"></path>
+<rect x="530" y="110" width="88" height="22" rx="10" ry="10"></rect>
+<text x="574" y="125">"SOURCE"</text>
+</g>
+<path d="M618 121h10"></path>
+<g>
+<path d="M628 121h0"></path>
+<path d="M926 121h0"></path>
+<path d="M628 121h20"></path>
+<g class="non-terminal">
+<path d="M648 121h0"></path>
+<path d="M906 121h0"></path>
+<rect x="648" y="110" width="258" height="22"></rect>
+<a xlink:href="#/abap/expression/CallTransformationParameters"><text x="777" y="125">CallTransformationParameters</text>
+</a>
+</g>
+<path d="M906 121h20"></path>
+<path d="M628 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M648 151h0"></path>
+<path d="M861 151h45"></path>
+<g class="terminal">
+<path d="M648 151h0"></path>
+<path d="M710.5 151h0"></path>
+<rect x="648" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="679.25" y="155">"XML"</text>
+</g>
+<path d="M710.5 151h10"></path>
+<path d="M720.5 151h10"></path>
+<g class="non-terminal">
+<path d="M730.5 151h0"></path>
+<path d="M861 151h0"></path>
+<rect x="730.5" y="140" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="795.75" y="155">SimpleSource3</text>
+</a>
+</g>
+</g>
+<path d="M906 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M930 121a10 10 0 0 0 10 -10v-80"></path>
+<path d="M520 31v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M530 181h0"></path>
+<path d="M926 181h4"></path>
+<g class="terminal">
+<path d="M530 181h0"></path>
+<path d="M618 181h0"></path>
+<rect x="530" y="170" width="88" height="22" rx="10" ry="10"></rect>
+<text x="574" y="185">"RESULT"</text>
+</g>
+<path d="M618 181h10"></path>
+<g>
+<path d="M628 181h0"></path>
+<path d="M926 181h0"></path>
+<path d="M628 181h20"></path>
+<g class="non-terminal">
+<path d="M648 181h0"></path>
+<path d="M906 181h0"></path>
+<rect x="648" y="170" width="258" height="22"></rect>
+<a xlink:href="#/abap/expression/CallTransformationParameters"><text x="777" y="185">CallTransformationParameters</text>
+</a>
+</g>
+<path d="M906 181h20"></path>
+<path d="M628 181a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M648 211h0"></path>
+<path d="M801.5 211h104.5"></path>
+<g class="terminal">
+<path d="M648 211h0"></path>
+<path d="M710.5 211h0"></path>
+<rect x="648" y="200" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="679.25" y="215">"XML"</text>
+</g>
+<path d="M710.5 211h10"></path>
+<path d="M720.5 211h10"></path>
+<g class="non-terminal">
+<path d="M730.5 211h0"></path>
+<path d="M801.5 211h0"></path>
+<rect x="730.5" y="200" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="766" y="215">Target</text>
+</a>
+</g>
+</g>
+<path d="M906 211a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M930 181a10 10 0 0 0 10 -10v-140"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 520 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="505" y="35" class="diagram-text">1+</text>
+<path d="M 940 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 947 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M960 31h10"></path>
+<path d="M 970 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Case.svg b/abap/statement_Case.svg
new file mode 100644
index 00000000..fb059e99
--- /dev/null
+++ b/abap/statement_Case.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="262" height="62" viewBox="0 0 262 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M212 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"CASE"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g class="non-terminal">
+<path d="M141 31h0"></path>
+<path d="M212 31h0"></path>
+<rect x="141" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="176.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M212 31h10"></path>
+<path d="M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CaseType.svg b/abap/statement_CaseType.svg
new file mode 100644
index 00000000..2633f743
--- /dev/null
+++ b/abap/statement_CaseType.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="479" height="62" viewBox="0 0 479 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M429 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M179 31h0"></path>
+<text x="114.5" y="36" class="comment">v750 or open-abap</text>
+</g>
+<path d="M179 31h10"></path>
+<path d="M189 31h10"></path>
+<g>
+<path d="M199 31h0"></path>
+<path d="M429 31h0"></path>
+<g class="terminal">
+<path d="M199 31h0"></path>
+<path d="M338 31h0"></path>
+<rect x="199" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="268.5" y="35">"CASE TYPE OF"</text>
+</g>
+<path d="M338 31h10"></path>
+<path d="M348 31h10"></path>
+<g class="non-terminal">
+<path d="M358 31h0"></path>
+<path d="M429 31h0"></path>
+<rect x="358" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="393.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M429 31h10"></path>
+<path d="M 439 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Catch.svg b/abap/statement_Catch.svg
new file mode 100644
index 00000000..28031b66
--- /dev/null
+++ b/abap/statement_Catch.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="715.5" height="80" viewBox="0 0 715.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M665.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"CATCH"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M327 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h147.5"></path>
+</g>
+<path d="M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="terminal">
+<path d="M159.5 40h0"></path>
+<path d="M307 40h0"></path>
+<rect x="159.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="233.25" y="44">"BEFORE UNWIND"</text>
+</g>
+<path d="M307 40h20"></path>
+</g>
+<path d="M327 40h10"></path>
+<g>
+<path d="M337 40h0"></path>
+<path d="M453.5 40h0"></path>
+<path d="M337 40h10"></path>
+<g class="non-terminal">
+<path d="M347 40h0"></path>
+<path d="M443.5 40h0"></path>
+<rect x="347" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="395.25" y="44">ClassName</text>
+</a>
+</g>
+<path d="M443.5 40h10"></path>
+<path d="M347 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M347 60h96.5"></path>
+</g>
+<path d="M443.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M453.5 40h10"></path>
+<g>
+<path d="M463.5 40h0"></path>
+<path d="M665.5 40h0"></path>
+<path d="M463.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M483.5 20h162"></path>
+</g>
+<path d="M645.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M463.5 40h20"></path>
+<g>
+<path d="M483.5 40h0"></path>
+<path d="M645.5 40h0"></path>
+<g class="terminal">
+<path d="M483.5 40h0"></path>
+<path d="M554.5 40h0"></path>
+<rect x="483.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="519" y="44">"INTO"</text>
+</g>
+<path d="M554.5 40h10"></path>
+<path d="M564.5 40h10"></path>
+<g class="non-terminal">
+<path d="M574.5 40h0"></path>
+<path d="M645.5 40h0"></path>
+<rect x="574.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="610" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M645.5 40h20"></path>
+</g>
+</g>
+<path d="M665.5 40h10"></path>
+<path d="M 675.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CatchSystemExceptions.svg b/abap/statement_CatchSystemExceptions.svg
new file mode 100644
index 00000000..bb64f03d
--- /dev/null
+++ b/abap/statement_CatchSystemExceptions.svg
@@ -0,0 +1,111 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="684.5" height="71" viewBox="0 0 684.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M634.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M634.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M375.5 31h0"></path>
+<rect x="143" y="20" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="259.25" y="35">"CATCH SYSTEM-EXCEPTIONS"</text>
+</g>
+<path d="M375.5 31h10"></path>
+<path d="M385.5 31h10"></path>
+<g>
+<path d="M395.5 31h0"></path>
+<path d="M634.5 31h0"></path>
+<path d="M395.5 31h10"></path>
+<g>
+<path d="M405.5 31h0"></path>
+<path d="M624.5 31h0"></path>
+<g class="non-terminal">
+<path d="M405.5 31h0"></path>
+<path d="M468 31h0"></path>
+<rect x="405.5" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="436.75" y="35">Field</text>
+</a>
+</g>
+<path d="M468 31h10"></path>
+<path d="M478 31h10"></path>
+<g class="terminal">
+<path d="M488 31h0"></path>
+<path d="M533.5 31h0"></path>
+<rect x="488" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="510.75" y="35">"="</text>
+</g>
+<path d="M533.5 31h10"></path>
+<path d="M543.5 31h10"></path>
+<g class="non-terminal">
+<path d="M553.5 31h0"></path>
+<path d="M624.5 31h0"></path>
+<rect x="553.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="589" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M624.5 31h10"></path>
+<path d="M405.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M405.5 51h219"></path>
+</g>
+<path d="M624.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M634.5 31h10"></path>
+<path d="M 644.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Check.svg b/abap/statement_Check.svg
new file mode 100644
index 00000000..d808a855
--- /dev/null
+++ b/abap/statement_Check.svg
@@ -0,0 +1,82 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="292" height="92" viewBox="0 0 292 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M242 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"CHECK"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<g>
+<path d="M139.5 31h0"></path>
+<path d="M242 31h0"></path>
+<path d="M139.5 31h20"></path>
+<g class="non-terminal">
+<path d="M159.5 31h0"></path>
+<path d="M213.5 31h8.5"></path>
+<rect x="159.5" y="20" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="186.5" y="35">Cond</text>
+</a>
+</g>
+<path d="M222 31h20"></path>
+<path d="M139.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M159.5 61h0"></path>
+<path d="M222 61h0"></path>
+<rect x="159.5" y="50" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="190.75" y="65">Field</text>
+</a>
+</g>
+<path d="M222 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M242 31h10"></path>
+<path d="M 252 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CheckSelectOptions.svg b/abap/statement_CheckSelectOptions.svg
new file mode 100644
index 00000000..4f50aac6
--- /dev/null
+++ b/abap/statement_CheckSelectOptions.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="400" height="62" viewBox="0 0 400 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M350 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M350 31h0"></path>
+<rect x="143" y="20" width="207" height="22" rx="10" ry="10"></rect>
+<text x="246.5" y="35">"CHECK SELECT-OPTIONS"</text>
+</g>
+</g>
+<path d="M350 31h10"></path>
+<path d="M 360 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassData.svg b/abap/statement_ClassData.svg
new file mode 100644
index 00000000..cf065d3a
--- /dev/null
+++ b/abap/statement_ClassData.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="381" height="62" viewBox="0 0 381 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M331 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M172 31h0"></path>
+<rect x="50" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="35">"CLASS-DATA"</text>
+</g>
+<path d="M172 31h10"></path>
+<path d="M182 31h10"></path>
+<g class="non-terminal">
+<path d="M192 31h0"></path>
+<path d="M331 31h0"></path>
+<rect x="192" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DataDefinition"><text x="261.5" y="35">DataDefinition</text>
+</a>
+</g>
+</g>
+<path d="M331 31h10"></path>
+<path d="M 341 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassDataBegin.svg b/abap/statement_ClassDataBegin.svg
new file mode 100644
index 00000000..ae19cd16
--- /dev/null
+++ b/abap/statement_ClassDataBegin.svg
@@ -0,0 +1,145 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1110" height="71" viewBox="0 0 1110 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1060 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">"CLASS-DATA"</text>
+</g>
+<path d="M172 40h10"></path>
+<path d="M182 40h10"></path>
+<g>
+<path d="M192 40h0"></path>
+<path d="M1060 40h0"></path>
+<g class="terminal">
+<path d="M192 40h0"></path>
+<path d="M297 40h0"></path>
+<rect x="192" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="244.5" y="44">"BEGIN OF"</text>
+</g>
+<path d="M297 40h10"></path>
+<g>
+<path d="M307 40h0"></path>
+<path d="M477.5 40h0"></path>
+<path d="M307 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M327 20h130.5"></path>
+</g>
+<path d="M457.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M307 40h20"></path>
+<g class="terminal">
+<path d="M327 40h0"></path>
+<path d="M457.5 40h0"></path>
+<rect x="327" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="392.25" y="44">"COMMON PART"</text>
+</g>
+<path d="M457.5 40h20"></path>
+</g>
+<path d="M477.5 40h10"></path>
+<g class="non-terminal">
+<path d="M487.5 40h0"></path>
+<path d="M669 40h0"></path>
+<rect x="487.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="578.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M669 40h10"></path>
+<g>
+<path d="M679 40h0"></path>
+<path d="M832.5 40h0"></path>
+<path d="M679 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M699 20h113.5"></path>
+</g>
+<path d="M812.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M679 40h20"></path>
+<g class="terminal">
+<path d="M699 40h0"></path>
+<path d="M812.5 40h0"></path>
+<rect x="699" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="755.75" y="44">"READ-ONLY"</text>
+</g>
+<path d="M812.5 40h20"></path>
+</g>
+<g>
+<path d="M832.5 40h0"></path>
+<path d="M1060 40h0"></path>
+<path d="M832.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M852.5 20h187.5"></path>
+</g>
+<path d="M1040 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M832.5 40h20"></path>
+<g>
+<path d="M852.5 40h0"></path>
+<path d="M1040 40h0"></path>
+<g class="terminal">
+<path d="M852.5 40h0"></path>
+<path d="M940.5 40h0"></path>
+<rect x="852.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="896.5" y="44">"OCCURS"</text>
+</g>
+<path d="M940.5 40h10"></path>
+<path d="M950.5 40h10"></path>
+<g class="non-terminal">
+<path d="M960.5 40h0"></path>
+<path d="M1040 40h0"></path>
+<rect x="960.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="1000.25" y="44">Integer</text>
+</a>
+</g>
+</g>
+<path d="M1040 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1060 40h10"></path>
+<path d="M 1070 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassDataEnd.svg b/abap/statement_ClassDataEnd.svg
new file mode 100644
index 00000000..b2717883
--- /dev/null
+++ b/abap/statement_ClassDataEnd.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="742" height="101" viewBox="0 0 742 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M692 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">"CLASS-DATA"</text>
+</g>
+<path d="M172 40h10"></path>
+<path d="M182 40h10"></path>
+<g>
+<path d="M192 40h0"></path>
+<path d="M692 40h0"></path>
+<g class="terminal">
+<path d="M192 40h0"></path>
+<path d="M280 40h0"></path>
+<rect x="192" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="236" y="44">"END OF"</text>
+</g>
+<path d="M280 40h10"></path>
+<g>
+<path d="M290 40h0"></path>
+<path d="M692 40h0"></path>
+<path d="M290 40h20"></path>
+<g>
+<path d="M310 40h0"></path>
+<path d="M672 40h0"></path>
+<g class="terminal">
+<path d="M310 40h0"></path>
+<path d="M440.5 40h0"></path>
+<rect x="310" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="375.25" y="44">"COMMON PART"</text>
+</g>
+<path d="M440.5 40h10"></path>
+<g>
+<path d="M450.5 40h0"></path>
+<path d="M672 40h0"></path>
+<path d="M450.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M470.5 20h181.5"></path>
+</g>
+<path d="M652 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M450.5 40h20"></path>
+<g class="non-terminal">
+<path d="M470.5 40h0"></path>
+<path d="M652 40h0"></path>
+<rect x="470.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="561.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M652 40h20"></path>
+</g>
+</g>
+<path d="M672 40h20"></path>
+<path d="M290 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M310 70h0"></path>
+<path d="M491.5 70h180.5"></path>
+<rect x="310" y="59" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="400.75" y="74">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M672 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M692 40h10"></path>
+<path d="M 702 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassDeferred.svg b/abap/statement_ClassDeferred.svg
new file mode 100644
index 00000000..e708f105
--- /dev/null
+++ b/abap/statement_ClassDeferred.svg
@@ -0,0 +1,94 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="652.5" height="71" viewBox="0 0 652.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M602.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"CLASS"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M246 40h0"></path>
+<rect x="149.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="197.75" y="44">ClassName</text>
+</a>
+</g>
+<path d="M246 40h10"></path>
+<path d="M256 40h10"></path>
+<g class="terminal">
+<path d="M266 40h0"></path>
+<path d="M464.5 40h0"></path>
+<rect x="266" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="365.25" y="44">"DEFINITION DEFERRED"</text>
+</g>
+<path d="M464.5 40h10"></path>
+<g>
+<path d="M474.5 40h0"></path>
+<path d="M602.5 40h0"></path>
+<path d="M474.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M494.5 20h88"></path>
+</g>
+<path d="M582.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M474.5 40h20"></path>
+<g class="terminal">
+<path d="M494.5 40h0"></path>
+<path d="M582.5 40h0"></path>
+<rect x="494.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="538.5" y="44">"PUBLIC"</text>
+</g>
+<path d="M582.5 40h20"></path>
+</g>
+</g>
+<path d="M602.5 40h10"></path>
+<path d="M 612.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassDefinition.svg b/abap/statement_ClassDefinition.svg
new file mode 100644
index 00000000..df892a7a
--- /dev/null
+++ b/abap/statement_ClassDefinition.svg
@@ -0,0 +1,330 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1007.5" height="551" viewBox="0 0 1007.5 551">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M957.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"CLASS"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M246 40h0"></path>
+<rect x="149.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="197.75" y="44">ClassName</text>
+</a>
+</g>
+<path d="M246 40h10"></path>
+<path d="M256 40h10"></path>
+<g>
+<path d="M266 40h0"></path>
+<path d="M957.5 40h0"></path>
+<g class="terminal">
+<path d="M266 40h0"></path>
+<path d="M388 40h0"></path>
+<rect x="266" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="327" y="44">"DEFINITION"</text>
+</g>
+<path d="M388 40h10"></path>
+<g>
+<path d="M398 40h0"></path>
+<path d="M957.5 40h0"></path>
+<path d="M398 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M418 20h519.5"></path>
+</g>
+<path d="M937.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M398 40h20"></path>
+<g>
+<path d="M418 40h0"></path>
+<path d="M937.5 40h0"></path>
+<path d="M448 40h10"></path>
+<g class="non-terminal">
+<path d="M458 40h0"></path>
+<path d="M571.5 40h336"></path>
+<rect x="458" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassGlobal"><text x="514.75" y="44">ClassGlobal</text>
+</a>
+</g>
+<path d="M907.5 40h10"></path>
+<path d="M448 40v20a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M458 70h0"></path>
+<path d="M563 70h344.5"></path>
+<rect x="458" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassFinal"><text x="510.5" y="74">ClassFinal</text>
+</a>
+</g>
+<path d="M907.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M448 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M458 100h0"></path>
+<path d="M563 100h344.5"></path>
+<rect x="458" y="89" width="105" height="22" rx="10" ry="10"></rect>
+<text x="510.5" y="104">"ABSTRACT"</text>
+</g>
+<path d="M907.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M448 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458 130h0"></path>
+<path d="M781.5 130h126"></path>
+<g class="terminal">
+<path d="M458 130h0"></path>
+<path d="M622.5 130h0"></path>
+<rect x="458" y="119" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="540.25" y="134">"INHERITING FROM"</text>
+</g>
+<path d="M622.5 130h10"></path>
+<path d="M632.5 130h10"></path>
+<g class="non-terminal">
+<path d="M642.5 130h0"></path>
+<path d="M781.5 130h0"></path>
+<rect x="642.5" y="119" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/SuperClassName"><text x="712" y="134">SuperClassName</text>
+</a>
+</g>
+</g>
+<path d="M907.5 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M448 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458 160h0"></path>
+<path d="M709.5 160h198"></path>
+<g class="terminal">
+<path d="M458 160h0"></path>
+<path d="M546 160h0"></path>
+<rect x="458" y="149" width="88" height="22" rx="10" ry="10"></rect>
+<text x="502" y="164">"CREATE"</text>
+</g>
+<path d="M546 160h10"></path>
+<g>
+<path d="M556 160h0"></path>
+<path d="M709.5 160h0"></path>
+<path d="M556 160h20"></path>
+<g class="terminal">
+<path d="M576 160h0"></path>
+<path d="M664 160h25.5"></path>
+<rect x="576" y="149" width="88" height="22" rx="10" ry="10"></rect>
+<text x="620" y="164">"PUBLIC"</text>
+</g>
+<path d="M689.5 160h20"></path>
+<path d="M556 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M576 190h0"></path>
+<path d="M689.5 190h0"></path>
+<rect x="576" y="179" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="632.75" y="194">"PROTECTED"</text>
+</g>
+<path d="M689.5 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M556 160a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M576 220h0"></path>
+<path d="M672.5 220h17"></path>
+<rect x="576" y="209" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="624.25" y="224">"PRIVATE"</text>
+</g>
+<path d="M689.5 220a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M907.5 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M448 40v200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M458 250h0"></path>
+<path d="M588.5 250h319"></path>
+<rect x="458" y="239" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="523.25" y="254">"FOR TESTING"</text>
+</g>
+<path d="M907.5 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M448 40v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458 280h0"></path>
+<path d="M743.5 280h164"></path>
+<g class="terminal">
+<path d="M458 280h0"></path>
+<path d="M580 280h0"></path>
+<rect x="458" y="269" width="122" height="22" rx="10" ry="10"></rect>
+<text x="519" y="284">"RISK LEVEL"</text>
+</g>
+<path d="M580 280h10"></path>
+<g>
+<path d="M590 280h0"></path>
+<path d="M743.5 280h0"></path>
+<path d="M590 280h20"></path>
+<g class="terminal">
+<path d="M610 280h0"></path>
+<path d="M715 280h8.5"></path>
+<rect x="610" y="269" width="105" height="22" rx="10" ry="10"></rect>
+<text x="662.5" y="284">"CRITICAL"</text>
+</g>
+<path d="M723.5 280h20"></path>
+<path d="M590 280a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M610 310h0"></path>
+<path d="M715 310h8.5"></path>
+<rect x="610" y="299" width="105" height="22" rx="10" ry="10"></rect>
+<text x="662.5" y="314">"HARMLESS"</text>
+</g>
+<path d="M723.5 310a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M590 280a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M610 340h0"></path>
+<path d="M723.5 340h0"></path>
+<rect x="610" y="329" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="666.75" y="344">"DANGEROUS"</text>
+</g>
+<path d="M723.5 340a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M907.5 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M448 40v320a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M458 370h0"></path>
+<path d="M673.5 370h234"></path>
+<rect x="458" y="359" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="565.75" y="374">"SHARED MEMORY ENABLED"</text>
+</g>
+<path d="M907.5 370a10 10 0 0 0 10 -10v-320"></path>
+<path d="M448 40v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458 400h0"></path>
+<path d="M701 400h206.5"></path>
+<g class="terminal">
+<path d="M458 400h0"></path>
+<path d="M563 400h0"></path>
+<rect x="458" y="389" width="105" height="22" rx="10" ry="10"></rect>
+<text x="510.5" y="404">"DURATION"</text>
+</g>
+<path d="M563 400h10"></path>
+<g>
+<path d="M573 400h0"></path>
+<path d="M701 400h0"></path>
+<path d="M573 400h20"></path>
+<g class="terminal">
+<path d="M593 400h0"></path>
+<path d="M664 400h17"></path>
+<rect x="593" y="389" width="71" height="22" rx="10" ry="10"></rect>
+<text x="628.5" y="404">"LONG"</text>
+</g>
+<path d="M681 400h20"></path>
+<path d="M573 400a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M593 430h0"></path>
+<path d="M681 430h0"></path>
+<rect x="593" y="419" width="88" height="22" rx="10" ry="10"></rect>
+<text x="637" y="434">"MEDIUM"</text>
+</g>
+<path d="M681 430a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M573 400a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M593 460h0"></path>
+<path d="M672.5 460h8.5"></path>
+<rect x="593" y="449" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="632.75" y="464">"SHORT"</text>
+</g>
+<path d="M681 460a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M907.5 400a10 10 0 0 0 10 -10v-350"></path>
+<path d="M448 40v440a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M458 490h0"></path>
+<path d="M907.5 490h0"></path>
+<g>
+<path d="M458 490h0"></path>
+<path d="M496 490h0"></path>
+<text x="477" y="495" class="comment">v754</text>
+</g>
+<path d="M496 490h10"></path>
+<path d="M506 490h10"></path>
+<g>
+<path d="M516 490h0"></path>
+<path d="M907.5 490h0"></path>
+<g class="terminal">
+<path d="M516 490h0"></path>
+<path d="M680.5 490h0"></path>
+<rect x="516" y="479" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="598.25" y="494">"FOR BEHAVIOR OF"</text>
+</g>
+<path d="M680.5 490h10"></path>
+<path d="M690.5 490h10"></path>
+<g class="non-terminal">
+<path d="M700.5 490h0"></path>
+<path d="M907.5 490h0"></path>
+<rect x="700.5" y="479" width="207" height="22"></rect>
+<a xlink:href="#/abap/expression/BehaviorDefinitionName"><text x="804" y="494">BehaviorDefinitionName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M907.5 490a10 10 0 0 0 10 -10v-440"></path>
+<path d="M448 40v470a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M458 520h0"></path>
+<path d="M580 520h327.5"></path>
+<rect x="458" y="509" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassFriends"><text x="519" y="524">ClassFriends</text>
+</a>
+</g>
+<path d="M907.5 520a10 10 0 0 0 10 -10v-470"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 448 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="433" y="44" class="diagram-text">1+</text>
+<path d="M 917.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 924.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M937.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M957.5 40h10"></path>
+<path d="M 967.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassDefinitionLoad.svg b/abap/statement_ClassDefinitionLoad.svg
new file mode 100644
index 00000000..c66dcf97
--- /dev/null
+++ b/abap/statement_ClassDefinitionLoad.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="480.5" height="62" viewBox="0 0 480.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M430.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"CLASS"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="non-terminal">
+<path d="M149.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="149.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="197.75" y="35">ClassName</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M430.5 31h0"></path>
+<rect x="266" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="348.25" y="35">"DEFINITION LOAD"</text>
+</g>
+</g>
+<path d="M430.5 31h10"></path>
+<path d="M 440.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassImplementation.svg b/abap/statement_ClassImplementation.svg
new file mode 100644
index 00000000..0c2d9e42
--- /dev/null
+++ b/abap/statement_ClassImplementation.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="472" height="62" viewBox="0 0 472 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M422 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"CLASS"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="non-terminal">
+<path d="M149.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="149.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="197.75" y="35">ClassName</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M422 31h0"></path>
+<rect x="266" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="344" y="35">"IMPLEMENTATION"</text>
+</g>
+</g>
+<path d="M422 31h10"></path>
+<path d="M 432 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ClassLocalFriends.svg b/abap/statement_ClassLocalFriends.svg
new file mode 100644
index 00000000..3ee2ebcb
--- /dev/null
+++ b/abap/statement_ClassLocalFriends.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="693.5" height="71" viewBox="0 0 693.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M643.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"CLASS"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="non-terminal">
+<path d="M149.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="149.5" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="197.75" y="35">ClassName</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M507 31h0"></path>
+<rect x="266" y="20" width="241" height="22" rx="10" ry="10"></rect>
+<text x="386.5" y="35">"DEFINITION LOCAL FRIENDS"</text>
+</g>
+<path d="M507 31h10"></path>
+<path d="M517 31h10"></path>
+<g>
+<path d="M527 31h0"></path>
+<path d="M643.5 31h0"></path>
+<path d="M527 31h10"></path>
+<g class="non-terminal">
+<path d="M537 31h0"></path>
+<path d="M633.5 31h0"></path>
+<rect x="537" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="585.25" y="35">ClassName</text>
+</a>
+</g>
+<path d="M633.5 31h10"></path>
+<path d="M537 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M537 51h96.5"></path>
+</g>
+<path d="M633.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M643.5 31h10"></path>
+<path d="M 653.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Cleanup.svg b/abap/statement_Cleanup.svg
new file mode 100644
index 00000000..3440a559
--- /dev/null
+++ b/abap/statement_Cleanup.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="408.5" height="71" viewBox="0 0 408.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M358.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"CLEANUP"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M358.5 40h0"></path>
+<path d="M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M176.5 20h162"></path>
+</g>
+<path d="M338.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M156.5 40h20"></path>
+<g>
+<path d="M176.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<g class="terminal">
+<path d="M176.5 40h0"></path>
+<path d="M247.5 40h0"></path>
+<rect x="176.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="212" y="44">"INTO"</text>
+</g>
+<path d="M247.5 40h10"></path>
+<path d="M257.5 40h10"></path>
+<g class="non-terminal">
+<path d="M267.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<rect x="267.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="303" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M338.5 40h20"></path>
+</g>
+</g>
+<path d="M358.5 40h10"></path>
+<path d="M 368.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Clear.svg b/abap/statement_Clear.svg
new file mode 100644
index 00000000..64062e92
--- /dev/null
+++ b/abap/statement_Clear.svg
@@ -0,0 +1,130 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="744" height="101" viewBox="0 0 744 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M694 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"CLEAR"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M220.5 40h0"></path>
+<rect x="149.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="185" y="44">Target</text>
+</a>
+</g>
+<path d="M220.5 40h10"></path>
+<g>
+<path d="M230.5 40h0"></path>
+<path d="M432.5 40h0"></path>
+<path d="M230.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M250.5 20h162"></path>
+</g>
+<path d="M412.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M230.5 40h20"></path>
+<g>
+<path d="M250.5 40h0"></path>
+<path d="M412.5 40h0"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M321.5 40h0"></path>
+<rect x="250.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="286" y="44">"WITH"</text>
+</g>
+<path d="M321.5 40h10"></path>
+<path d="M331.5 40h10"></path>
+<g class="non-terminal">
+<path d="M341.5 40h0"></path>
+<path d="M412.5 40h0"></path>
+<rect x="341.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="377" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M412.5 40h20"></path>
+</g>
+<g>
+<path d="M432.5 40h0"></path>
+<path d="M694 40h0"></path>
+<path d="M432.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M452.5 20h221.5"></path>
+</g>
+<path d="M674 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M432.5 40h20"></path>
+<g>
+<path d="M452.5 40h0"></path>
+<path d="M674 40h0"></path>
+<path d="M452.5 40h20"></path>
+<g class="terminal">
+<path d="M472.5 40h0"></path>
+<path d="M654 40h0"></path>
+<rect x="472.5" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="563.25" y="44">"IN CHARACTER MODE"</text>
+</g>
+<path d="M654 40h20"></path>
+<path d="M452.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M472.5 70h0"></path>
+<path d="M611.5 70h42.5"></path>
+<rect x="472.5" y="59" width="139" height="22" rx="10" ry="10"></rect>
+<text x="542" y="74">"IN BYTE MODE"</text>
+</g>
+<path d="M654 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M674 40h20"></path>
+</g>
+</g>
+<path d="M694 40h10"></path>
+<path d="M 704 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CloseCursor.svg b/abap/statement_CloseCursor.svg
new file mode 100644
index 00000000..e8fe3eb6
--- /dev/null
+++ b/abap/statement_CloseCursor.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="499.5" height="62" viewBox="0 0 499.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M449.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M449.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M282 31h0"></path>
+<rect x="143" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="35">"CLOSE CURSOR"</text>
+</g>
+<path d="M282 31h10"></path>
+<path d="M292 31h10"></path>
+<g class="non-terminal">
+<path d="M302 31h0"></path>
+<path d="M449.5 31h0"></path>
+<rect x="302" y="20" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="375.75" y="35">SQLSourceSimple</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M449.5 31h10"></path>
+<path d="M 459.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CloseDataset.svg b/abap/statement_CloseDataset.svg
new file mode 100644
index 00000000..6ce95db1
--- /dev/null
+++ b/abap/statement_CloseDataset.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="431.5" height="62" viewBox="0 0 431.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M381.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M381.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"CLOSE DATASET"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<path d="M300.5 31h10"></path>
+<g class="non-terminal">
+<path d="M310.5 31h0"></path>
+<path d="M381.5 31h0"></path>
+<rect x="310.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M381.5 31h10"></path>
+<path d="M 391.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Collect.svg b/abap/statement_Collect.svg
new file mode 100644
index 00000000..a204b227
--- /dev/null
+++ b/abap/statement_Collect.svg
@@ -0,0 +1,129 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="761" height="71" viewBox="0 0 761 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M711 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"COLLECT"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<path d="M156.5 40h10"></path>
+<g class="non-terminal">
+<path d="M166.5 40h0"></path>
+<path d="M237.5 40h0"></path>
+<rect x="166.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="202" y="44">Source</text>
+</a>
+</g>
+<path d="M237.5 40h10"></path>
+<g>
+<path d="M247.5 40h0"></path>
+<path d="M449.5 40h0"></path>
+<path d="M247.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M267.5 20h162"></path>
+</g>
+<path d="M429.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M247.5 40h20"></path>
+<g>
+<path d="M267.5 40h0"></path>
+<path d="M429.5 40h0"></path>
+<g class="terminal">
+<path d="M267.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<rect x="267.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="303" y="44">"INTO"</text>
+</g>
+<path d="M338.5 40h10"></path>
+<path d="M348.5 40h10"></path>
+<g class="non-terminal">
+<path d="M358.5 40h0"></path>
+<path d="M429.5 40h0"></path>
+<rect x="358.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="394" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M429.5 40h20"></path>
+</g>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M711 40h0"></path>
+<path d="M449.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M469.5 20h221.5"></path>
+</g>
+<path d="M691 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M449.5 40h20"></path>
+<g>
+<path d="M469.5 40h0"></path>
+<path d="M691 40h0"></path>
+<g class="terminal">
+<path d="M469.5 40h0"></path>
+<path d="M583 40h0"></path>
+<rect x="469.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="526.25" y="44">"ASSIGNING"</text>
+</g>
+<path d="M583 40h10"></path>
+<path d="M593 40h10"></path>
+<g class="non-terminal">
+<path d="M603 40h0"></path>
+<path d="M691 40h0"></path>
+<rect x="603" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="647" y="44">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M691 40h20"></path>
+</g>
+</g>
+<path d="M711 40h10"></path>
+<path d="M 721 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Commit.svg b/abap/statement_Commit.svg
new file mode 100644
index 00000000..334f88b9
--- /dev/null
+++ b/abap/statement_Commit.svg
@@ -0,0 +1,103 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="464" height="101" viewBox="0 0 464 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M414 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"COMMIT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M414 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M394 40h0"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M239 40h0"></path>
+<rect x="168" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="203.5" y="44">"WORK"</text>
+</g>
+<path d="M239 40h10"></path>
+<g>
+<path d="M249 40h0"></path>
+<path d="M394 40h0"></path>
+<path d="M249 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M269 20h105"></path>
+</g>
+<path d="M374 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M249 40h20"></path>
+<g class="terminal">
+<path d="M269 40h0"></path>
+<path d="M374 40h0"></path>
+<rect x="269" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="321.5" y="44">"AND WAIT"</text>
+</g>
+<path d="M374 40h20"></path>
+</g>
+</g>
+<path d="M394 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M168 70h0"></path>
+<path d="M341 70h53"></path>
+<rect x="168" y="59" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="254.5" y="74">DatabaseConnection</text>
+</a>
+</g>
+<path d="M394 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M414 40h10"></path>
+<path d="M 424 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CommitEntities.svg b/abap/statement_CommitEntities.svg
new file mode 100644
index 00000000..b65dd335
--- /dev/null
+++ b/abap/statement_CommitEntities.svg
@@ -0,0 +1,163 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1369.5" height="80" viewBox="0 0 1369.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1319.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v754</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M1319.5 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M272.5 40h0"></path>
+<rect x="108" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="190.25" y="44">"COMMIT ENTITIES"</text>
+</g>
+<path d="M272.5 40h10"></path>
+<g>
+<path d="M282.5 40h0"></path>
+<path d="M512.5 40h0"></path>
+<path d="M282.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M302.5 20h190"></path>
+</g>
+<path d="M492.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M282.5 40h20"></path>
+<g class="terminal">
+<path d="M302.5 40h0"></path>
+<path d="M492.5 40h0"></path>
+<rect x="302.5" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="397.5" y="44">"IN SIMULATION MODE"</text>
+</g>
+<path d="M492.5 40h20"></path>
+</g>
+<g>
+<path d="M512.5 40h0"></path>
+<path d="M1319.5 40h0"></path>
+<path d="M512.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M532.5 20h767"></path>
+</g>
+<path d="M1299.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M512.5 40h20"></path>
+<g>
+<path d="M532.5 40h0"></path>
+<path d="M1299.5 40h0"></path>
+<path d="M532.5 40h10"></path>
+<g>
+<path d="M542.5 40h0"></path>
+<path d="M1289.5 40h0"></path>
+<g class="terminal">
+<path d="M542.5 40h0"></path>
+<path d="M673 40h0"></path>
+<rect x="542.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="607.75" y="44">"RESPONSE OF"</text>
+</g>
+<path d="M673 40h10"></path>
+<path d="M683 40h10"></path>
+<g class="non-terminal">
+<path d="M693 40h0"></path>
+<path d="M874.5 40h0"></path>
+<rect x="693" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="783.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M874.5 40h10"></path>
+<path d="M884.5 40h10"></path>
+<g class="terminal">
+<path d="M894.5 40h0"></path>
+<path d="M982.5 40h0"></path>
+<rect x="894.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="938.5" y="44">"FAILED"</text>
+</g>
+<path d="M982.5 40h10"></path>
+<path d="M992.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1002.5 40h0"></path>
+<path d="M1073.5 40h0"></path>
+<rect x="1002.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1038" y="44">Target</text>
+</a>
+</g>
+<path d="M1073.5 40h10"></path>
+<path d="M1083.5 40h10"></path>
+<g class="terminal">
+<path d="M1093.5 40h0"></path>
+<path d="M1198.5 40h0"></path>
+<rect x="1093.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1146" y="44">"REPORTED"</text>
+</g>
+<path d="M1198.5 40h10"></path>
+<path d="M1208.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1218.5 40h0"></path>
+<path d="M1289.5 40h0"></path>
+<rect x="1218.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1254" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1289.5 40h10"></path>
+<path d="M542.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M542.5 60h747"></path>
+</g>
+<path d="M1289.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1299.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1319.5 40h10"></path>
+<path d="M 1329.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Communication.svg b/abap/statement_Communication.svg
new file mode 100644
index 00000000..18cc7972
--- /dev/null
+++ b/abap/statement_Communication.svg
@@ -0,0 +1,364 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1686.5" height="230" viewBox="0 0 1686.5 230">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1636.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M1636.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"COMMUNICATION"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<g>
+<path d="M300.5 31h0"></path>
+<path d="M1636.5 31h0"></path>
+<path d="M300.5 31h20"></path>
+<g>
+<path d="M320.5 31h0"></path>
+<path d="M749.5 31h867"></path>
+<g class="terminal">
+<path d="M320.5 31h0"></path>
+<path d="M417 31h0"></path>
+<rect x="320.5" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="368.75" y="35">"INIT ID"</text>
+</g>
+<path d="M417 31h10"></path>
+<path d="M427 31h10"></path>
+<g class="non-terminal">
+<path d="M437 31h0"></path>
+<path d="M508 31h0"></path>
+<rect x="437" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="472.5" y="35">Source</text>
+</a>
+</g>
+<path d="M508 31h10"></path>
+<path d="M518 31h10"></path>
+<g class="terminal">
+<path d="M528 31h0"></path>
+<path d="M658.5 31h0"></path>
+<rect x="528" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="593.25" y="35">"DESTINATION"</text>
+</g>
+<path d="M658.5 31h10"></path>
+<path d="M668.5 31h10"></path>
+<g class="non-terminal">
+<path d="M678.5 31h0"></path>
+<path d="M749.5 31h0"></path>
+<rect x="678.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="714" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M1616.5 31h20"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 61h0"></path>
+<path d="M542 61h1074.5"></path>
+<g class="terminal">
+<path d="M320.5 61h0"></path>
+<path d="M451 61h0"></path>
+<rect x="320.5" y="50" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="385.75" y="65">"ALLOCATE ID"</text>
+</g>
+<path d="M451 61h10"></path>
+<path d="M461 61h10"></path>
+<g class="non-terminal">
+<path d="M471 61h0"></path>
+<path d="M542 61h0"></path>
+<rect x="471" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="506.5" y="65">Source</text>
+</a>
+</g>
+</g>
+<path d="M1616.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 100h0"></path>
+<path d="M936 100h680.5"></path>
+<g class="terminal">
+<path d="M320.5 100h0"></path>
+<path d="M417 100h0"></path>
+<rect x="320.5" y="89" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="368.75" y="104">"SEND ID"</text>
+</g>
+<path d="M417 100h10"></path>
+<path d="M427 100h10"></path>
+<g class="non-terminal">
+<path d="M437 100h0"></path>
+<path d="M508 100h0"></path>
+<rect x="437" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="472.5" y="104">Source</text>
+</a>
+</g>
+<path d="M508 100h10"></path>
+<path d="M518 100h10"></path>
+<g class="terminal">
+<path d="M528 100h0"></path>
+<path d="M616 100h0"></path>
+<rect x="528" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="572" y="104">"BUFFER"</text>
+</g>
+<path d="M616 100h10"></path>
+<path d="M626 100h10"></path>
+<g class="non-terminal">
+<path d="M636 100h0"></path>
+<path d="M707 100h0"></path>
+<rect x="636" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="671.5" y="104">Target</text>
+</a>
+</g>
+<path d="M707 100h10"></path>
+<g>
+<path d="M717 100h0"></path>
+<path d="M936 100h0"></path>
+<path d="M717 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M737 80h179"></path>
+</g>
+<path d="M916 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M717 100h20"></path>
+<g>
+<path d="M737 100h0"></path>
+<path d="M916 100h0"></path>
+<g class="terminal">
+<path d="M737 100h0"></path>
+<path d="M825 100h0"></path>
+<rect x="737" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="781" y="104">"LENGTH"</text>
+</g>
+<path d="M825 100h10"></path>
+<path d="M835 100h10"></path>
+<g class="non-terminal">
+<path d="M845 100h0"></path>
+<path d="M916 100h0"></path>
+<rect x="845" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="880.5" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M916 100h20"></path>
+</g>
+</g>
+<path d="M1616.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 130h0"></path>
+<path d="M559 130h1057.5"></path>
+<g class="terminal">
+<path d="M320.5 130h0"></path>
+<path d="M468 130h0"></path>
+<rect x="320.5" y="119" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="394.25" y="134">"DEALLOCATE ID"</text>
+</g>
+<path d="M468 130h10"></path>
+<path d="M478 130h10"></path>
+<g class="non-terminal">
+<path d="M488 130h0"></path>
+<path d="M559 130h0"></path>
+<rect x="488" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="523.5" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M1616.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 169h0"></path>
+<path d="M1616.5 169h0"></path>
+<g class="terminal">
+<path d="M320.5 169h0"></path>
+<path d="M442.5 169h0"></path>
+<rect x="320.5" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="381.5" y="173">"RECEIVE ID"</text>
+</g>
+<path d="M442.5 169h10"></path>
+<path d="M452.5 169h10"></path>
+<g class="non-terminal">
+<path d="M462.5 169h0"></path>
+<path d="M533.5 169h0"></path>
+<rect x="462.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="498" y="173">Source</text>
+</a>
+</g>
+<path d="M533.5 169h10"></path>
+<path d="M543.5 169h10"></path>
+<g class="terminal">
+<path d="M553.5 169h0"></path>
+<path d="M641.5 169h0"></path>
+<rect x="553.5" y="158" width="88" height="22" rx="10" ry="10"></rect>
+<text x="597.5" y="173">"BUFFER"</text>
+</g>
+<path d="M641.5 169h10"></path>
+<path d="M651.5 169h10"></path>
+<g class="non-terminal">
+<path d="M661.5 169h0"></path>
+<path d="M732.5 169h0"></path>
+<rect x="661.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="697" y="173">Source</text>
+</a>
+</g>
+<path d="M732.5 169h10"></path>
+<g>
+<path d="M742.5 169h0"></path>
+<path d="M961.5 169h0"></path>
+<path d="M742.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M762.5 149h179"></path>
+</g>
+<path d="M941.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M742.5 169h20"></path>
+<g>
+<path d="M762.5 169h0"></path>
+<path d="M941.5 169h0"></path>
+<g class="terminal">
+<path d="M762.5 169h0"></path>
+<path d="M850.5 169h0"></path>
+<rect x="762.5" y="158" width="88" height="22" rx="10" ry="10"></rect>
+<text x="806.5" y="173">"LENGTH"</text>
+</g>
+<path d="M850.5 169h10"></path>
+<path d="M860.5 169h10"></path>
+<g class="non-terminal">
+<path d="M870.5 169h0"></path>
+<path d="M941.5 169h0"></path>
+<rect x="870.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="906" y="173">Target</text>
+</a>
+</g>
+</g>
+<path d="M941.5 169h20"></path>
+</g>
+<path d="M961.5 169h10"></path>
+<g class="terminal">
+<path d="M971.5 169h0"></path>
+<path d="M1076.5 169h0"></path>
+<rect x="971.5" y="158" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1024" y="173">"DATAINFO"</text>
+</g>
+<path d="M1076.5 169h10"></path>
+<path d="M1086.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1096.5 169h0"></path>
+<path d="M1167.5 169h0"></path>
+<rect x="1096.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1132" y="173">Target</text>
+</a>
+</g>
+<path d="M1167.5 169h10"></path>
+<path d="M1177.5 169h10"></path>
+<g class="terminal">
+<path d="M1187.5 169h0"></path>
+<path d="M1309.5 169h0"></path>
+<rect x="1187.5" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1248.5" y="173">"STATUSINFO"</text>
+</g>
+<path d="M1309.5 169h10"></path>
+<path d="M1319.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1329.5 169h0"></path>
+<path d="M1400.5 169h0"></path>
+<rect x="1329.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1365" y="173">Target</text>
+</a>
+</g>
+<path d="M1400.5 169h10"></path>
+<path d="M1410.5 169h10"></path>
+<g class="terminal">
+<path d="M1420.5 169h0"></path>
+<path d="M1525.5 169h0"></path>
+<rect x="1420.5" y="158" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1473" y="173">"RECEIVED"</text>
+</g>
+<path d="M1525.5 169h10"></path>
+<path d="M1535.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1545.5 169h0"></path>
+<path d="M1616.5 169h0"></path>
+<rect x="1545.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1581" y="173">Target</text>
+</a>
+</g>
+</g>
+<path d="M1616.5 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 199h0"></path>
+<path d="M525 199h1091.5"></path>
+<g class="terminal">
+<path d="M320.5 199h0"></path>
+<path d="M434 199h0"></path>
+<rect x="320.5" y="188" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="377.25" y="203">"ACCEPT ID"</text>
+</g>
+<path d="M434 199h10"></path>
+<path d="M444 199h10"></path>
+<g class="non-terminal">
+<path d="M454 199h0"></path>
+<path d="M525 199h0"></path>
+<rect x="454" y="188" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="489.5" y="203">Source</text>
+</a>
+</g>
+</g>
+<path d="M1616.5 199a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1636.5 31h10"></path>
+<path d="M 1646.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Compute.svg b/abap/statement_Compute.svg
new file mode 100644
index 00000000..d6e0e3d4
--- /dev/null
+++ b/abap/statement_Compute.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="656.5" height="71" viewBox="0 0 656.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M606.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M606.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M239.5 40h0"></path>
+<rect x="143" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="44">"COMPUTE"</text>
+</g>
+<path d="M239.5 40h10"></path>
+<g>
+<path d="M249.5 40h0"></path>
+<path d="M369 40h0"></path>
+<path d="M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M269.5 20h79.5"></path>
+</g>
+<path d="M349 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M249.5 40h20"></path>
+<g class="terminal">
+<path d="M269.5 40h0"></path>
+<path d="M349 40h0"></path>
+<rect x="269.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="309.25" y="44">"EXACT"</text>
+</g>
+<path d="M349 40h20"></path>
+</g>
+<path d="M369 40h10"></path>
+<g class="non-terminal">
+<path d="M379 40h0"></path>
+<path d="M450 40h0"></path>
+<rect x="379" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="414.5" y="44">Target</text>
+</a>
+</g>
+<path d="M450 40h10"></path>
+<path d="M460 40h10"></path>
+<g class="terminal">
+<path d="M470 40h0"></path>
+<path d="M515.5 40h0"></path>
+<rect x="470" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="492.75" y="44">"="</text>
+</g>
+<path d="M515.5 40h10"></path>
+<path d="M525.5 40h10"></path>
+<g class="non-terminal">
+<path d="M535.5 40h0"></path>
+<path d="M606.5 40h0"></path>
+<rect x="535.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="571" y="44">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M606.5 40h10"></path>
+<path d="M 616.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Concatenate.svg b/abap/statement_Concatenate.svg
new file mode 100644
index 00000000..a7c6f031
--- /dev/null
+++ b/abap/statement_Concatenate.svg
@@ -0,0 +1,226 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1172" height="161" viewBox="0 0 1172 161">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1122 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"CONCATENATE"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M531.5 40h0"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M406.5 40h105"></path>
+<g class="terminal">
+<path d="M210.5 40h0"></path>
+<path d="M315.5 40h0"></path>
+<rect x="210.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="263" y="44">"LINES OF"</text>
+</g>
+<path d="M315.5 40h10"></path>
+<path d="M325.5 40h10"></path>
+<g class="non-terminal">
+<path d="M335.5 40h0"></path>
+<path d="M406.5 40h0"></path>
+<rect x="335.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M511.5 40h20"></path>
+<path d="M190.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M210.5 70h0"></path>
+<path d="M511.5 70h0"></path>
+<g class="non-terminal">
+<path d="M210.5 70h0"></path>
+<path d="M341 70h0"></path>
+<rect x="210.5" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="275.75" y="74">SimpleSource3</text>
+</a>
+</g>
+<path d="M341 70h10"></path>
+<path d="M351 70h10"></path>
+<g>
+<path d="M361 70h0"></path>
+<path d="M511.5 70h0"></path>
+<path d="M361 70h10"></path>
+<g class="non-terminal">
+<path d="M371 70h0"></path>
+<path d="M501.5 70h0"></path>
+<rect x="371" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="436.25" y="74">SimpleSource3</text>
+</a>
+</g>
+<path d="M501.5 70h10"></path>
+<path d="M371 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M371 90h130.5"></path>
+</g>
+<path d="M501.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M511.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M531.5 40h10"></path>
+<g class="terminal">
+<path d="M541.5 40h0"></path>
+<path d="M612.5 40h0"></path>
+<rect x="541.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="577" y="44">"INTO"</text>
+</g>
+<path d="M612.5 40h10"></path>
+<path d="M622.5 40h10"></path>
+<g class="non-terminal">
+<path d="M632.5 40h0"></path>
+<path d="M703.5 40h0"></path>
+<rect x="632.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="668" y="44">Target</text>
+</a>
+</g>
+<path d="M703.5 40h10"></path>
+<g>
+<path d="M713.5 40h0"></path>
+<path d="M1122 40h0"></path>
+<path d="M713.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M733.5 20h368.5"></path>
+</g>
+<path d="M1102 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M713.5 40h20"></path>
+<g>
+<path d="M733.5 40h0"></path>
+<path d="M1102 40h0"></path>
+<path d="M763.5 40h10"></path>
+<g>
+<path d="M773.5 40h0"></path>
+<path d="M1072 40h0"></path>
+<g class="terminal">
+<path d="M773.5 40h0"></path>
+<path d="M827.5 40h0"></path>
+<rect x="773.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="800.5" y="44">"IN"</text>
+</g>
+<path d="M827.5 40h10"></path>
+<g>
+<path d="M837.5 40h0"></path>
+<path d="M991 40h0"></path>
+<path d="M837.5 40h20"></path>
+<g class="terminal">
+<path d="M857.5 40h0"></path>
+<path d="M928.5 40h42.5"></path>
+<rect x="857.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="893" y="44">"BYTE"</text>
+</g>
+<path d="M971 40h20"></path>
+<path d="M837.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M857.5 70h0"></path>
+<path d="M971 70h0"></path>
+<rect x="857.5" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="914.25" y="74">"CHARACTER"</text>
+</g>
+<path d="M971 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M991 40h10"></path>
+<g class="terminal">
+<path d="M1001 40h0"></path>
+<path d="M1072 40h0"></path>
+<rect x="1001" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1036.5" y="44">"MODE"</text>
+</g>
+</g>
+<path d="M1072 40h10"></path>
+<path d="M763.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M773.5 100h0"></path>
+<path d="M955 100h117"></path>
+<rect x="773.5" y="89" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="864.25" y="104">"RESPECTING BLANKS"</text>
+</g>
+<path d="M1072 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M763.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M773.5 130h0"></path>
+<path d="M1063 130h9"></path>
+<g class="terminal">
+<path d="M773.5 130h0"></path>
+<path d="M912.5 130h0"></path>
+<rect x="773.5" y="119" width="139" height="22" rx="10" ry="10"></rect>
+<text x="843" y="134">"SEPARATED BY"</text>
+</g>
+<path d="M912.5 130h10"></path>
+<path d="M922.5 130h10"></path>
+<g class="non-terminal">
+<path d="M932.5 130h0"></path>
+<path d="M1063 130h0"></path>
+<rect x="932.5" y="119" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="997.75" y="134">SimpleSource3</text>
+</a>
+</g>
+</g>
+<path d="M1072 130a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 763.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="748.5" y="44" class="diagram-text">1+</text>
+<path d="M 1082 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1089 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1102 40h20"></path>
+</g>
+</g>
+<path d="M1122 40h10"></path>
+<path d="M 1132 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Condense.svg b/abap/statement_Condense.svg
new file mode 100644
index 00000000..b30ed58b
--- /dev/null
+++ b/abap/statement_Condense.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="442.5" height="71" viewBox="0 0 442.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M392.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M155 40h0"></path>
+<rect x="50" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="44">"CONDENSE"</text>
+</g>
+<path d="M155 40h10"></path>
+<path d="M165 40h10"></path>
+<g class="non-terminal">
+<path d="M175 40h0"></path>
+<path d="M246 40h0"></path>
+<rect x="175" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="210.5" y="44">Target</text>
+</a>
+</g>
+<path d="M246 40h10"></path>
+<g>
+<path d="M256 40h0"></path>
+<path d="M392.5 40h0"></path>
+<path d="M256 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M276 20h96.5"></path>
+</g>
+<path d="M372.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M256 40h20"></path>
+<g class="terminal">
+<path d="M276 40h0"></path>
+<path d="M372.5 40h0"></path>
+<rect x="276" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="324.25" y="44">"NO-GAPS"</text>
+</g>
+<path d="M372.5 40h20"></path>
+</g>
+</g>
+<path d="M392.5 40h10"></path>
+<path d="M 402.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Constant.svg b/abap/statement_Constant.svg
new file mode 100644
index 00000000..4bdc72c9
--- /dev/null
+++ b/abap/statement_Constant.svg
@@ -0,0 +1,170 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="991" height="161" viewBox="0 0 991 161">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M941 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M203.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M175 40h8.5"></path>
+<rect x="70" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="122.5" y="44">"CONSTANT"</text>
+</g>
+<path d="M183.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M183.5 70h0"></path>
+<rect x="70" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="126.75" y="74">"CONSTANTS"</text>
+</g>
+<path d="M183.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M203.5 40h10"></path>
+<g>
+<path d="M213.5 40h0"></path>
+<path d="M752 40h0"></path>
+<g class="non-terminal">
+<path d="M213.5 40h0"></path>
+<path d="M352.5 40h0"></path>
+<rect x="213.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="283" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M352.5 40h10"></path>
+<g>
+<path d="M362.5 40h0"></path>
+<path d="M584 40h0"></path>
+<path d="M362.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M382.5 20h181.5"></path>
+</g>
+<path d="M564 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M362.5 40h20"></path>
+<g class="non-terminal">
+<path d="M382.5 40h0"></path>
+<path d="M564 40h0"></path>
+<rect x="382.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantFieldLength"><text x="473.25" y="44">ConstantFieldLength</text>
+</a>
+</g>
+<path d="M564 40h20"></path>
+</g>
+<path d="M584 40h10"></path>
+<g>
+<path d="M594 40h0"></path>
+<path d="M752 40h0"></path>
+<path d="M624 40h10"></path>
+<g class="non-terminal">
+<path d="M634 40h0"></path>
+<path d="M688 40h34"></path>
+<rect x="634" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Type"><text x="661" y="44">Type</text>
+</a>
+</g>
+<path d="M722 40h10"></path>
+<path d="M624 40v20a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M634 70h0"></path>
+<path d="M696.5 70h25.5"></path>
+<rect x="634" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Value"><text x="665.25" y="74">Value</text>
+</a>
+</g>
+<path d="M722 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M624 40v50a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M634 100h0"></path>
+<path d="M722 100h0"></path>
+<rect x="634" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Decimals"><text x="678" y="104">Decimals</text>
+</a>
+</g>
+<path d="M722 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M624 40v80a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M634 130h0"></path>
+<path d="M705 130h17"></path>
+<rect x="634" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Length"><text x="669.5" y="134">Length</text>
+</a>
+</g>
+<path d="M722 130a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 624 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="609" y="44" class="diagram-text">1+</text>
+<path d="M 732 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 739 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M752 40h10"></path>
+<g>
+<path d="M762 40h0"></path>
+<path d="M941 40h0"></path>
+<path d="M762 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M782 20h139"></path>
+</g>
+<path d="M921 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M762 40h20"></path>
+<g class="terminal">
+<path d="M782 40h0"></path>
+<path d="M921 40h0"></path>
+<rect x="782" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="851.5" y="44">"%&#95;PREDEFINED"</text>
+</g>
+<path d="M921 40h20"></path>
+</g>
+</g>
+<path d="M941 40h10"></path>
+<path d="M 951 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ConstantBegin.svg b/abap/statement_ConstantBegin.svg
new file mode 100644
index 00000000..86606fa4
--- /dev/null
+++ b/abap/statement_ConstantBegin.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="638" height="71" viewBox="0 0 638 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M588 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M240 40h0"></path>
+<rect x="50" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="44">"CONSTANTS BEGIN OF"</text>
+</g>
+<path d="M240 40h10"></path>
+<path d="M250 40h10"></path>
+<g class="non-terminal">
+<path d="M260 40h0"></path>
+<path d="M399 40h0"></path>
+<rect x="260" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="329.5" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M399 40h10"></path>
+<g>
+<path d="M409 40h0"></path>
+<path d="M588 40h0"></path>
+<path d="M409 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M429 20h139"></path>
+</g>
+<path d="M568 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M409 40h20"></path>
+<g class="terminal">
+<path d="M429 40h0"></path>
+<path d="M568 40h0"></path>
+<rect x="429" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="498.5" y="44">"%&#95;PREDEFINED"</text>
+</g>
+<path d="M568 40h20"></path>
+</g>
+</g>
+<path d="M588 40h10"></path>
+<path d="M 598 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ConstantEnd.svg b/abap/statement_ConstantEnd.svg
new file mode 100644
index 00000000..3aadd277
--- /dev/null
+++ b/abap/statement_ConstantEnd.svg
@@ -0,0 +1,84 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="529" height="62" viewBox="0 0 529 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M479 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"CONSTANTS"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g class="terminal">
+<path d="M183.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="183.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="214.75" y="35">"END"</text>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M320 31h0"></path>
+<rect x="266" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="293" y="35">"OF"</text>
+</g>
+<path d="M320 31h10"></path>
+<path d="M330 31h10"></path>
+<g class="non-terminal">
+<path d="M340 31h0"></path>
+<path d="M479 31h0"></path>
+<rect x="340" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="409.5" y="35">DefinitionName</text>
+</a>
+</g>
+</g>
+<path d="M479 31h10"></path>
+<path d="M 489 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Contexts.svg b/abap/statement_Contexts.svg
new file mode 100644
index 00000000..732e595a
--- /dev/null
+++ b/abap/statement_Contexts.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="380.5" height="62" viewBox="0 0 380.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M330.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M330.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M248 31h0"></path>
+<rect x="143" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="35">"CONTEXTS"</text>
+</g>
+<path d="M248 31h10"></path>
+<path d="M258 31h10"></path>
+<g class="non-terminal">
+<path d="M268 31h0"></path>
+<path d="M330.5 31h0"></path>
+<rect x="268" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="299.25" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M330.5 31h10"></path>
+<path d="M 340.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Continue.svg b/abap/statement_Continue.svg
new file mode 100644
index 00000000..9f0bf69d
--- /dev/null
+++ b/abap/statement_Continue.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"CONTINUE"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Controls.svg b/abap/statement_Controls.svg
new file mode 100644
index 00000000..54fb4baf
--- /dev/null
+++ b/abap/statement_Controls.svg
@@ -0,0 +1,125 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="955.5" height="92" viewBox="0 0 955.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M905.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M905.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M248 31h0"></path>
+<rect x="143" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="35">"CONTROLS"</text>
+</g>
+<path d="M248 31h10"></path>
+<path d="M258 31h10"></path>
+<g class="non-terminal">
+<path d="M268 31h0"></path>
+<path d="M449.5 31h0"></path>
+<rect x="268" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="358.75" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M449.5 31h10"></path>
+<path d="M459.5 31h10"></path>
+<g>
+<path d="M469.5 31h0"></path>
+<path d="M905.5 31h0"></path>
+<g class="terminal">
+<path d="M469.5 31h0"></path>
+<path d="M540.5 31h0"></path>
+<rect x="469.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="505" y="35">"TYPE"</text>
+</g>
+<path d="M540.5 31h10"></path>
+<g>
+<path d="M550.5 31h0"></path>
+<path d="M905.5 31h0"></path>
+<path d="M550.5 31h20"></path>
+<g>
+<path d="M570.5 31h0"></path>
+<path d="M885.5 31h0"></path>
+<g class="terminal">
+<path d="M570.5 31h0"></path>
+<path d="M794.5 31h0"></path>
+<rect x="570.5" y="20" width="224" height="22" rx="10" ry="10"></rect>
+<text x="682.5" y="35">"TABLEVIEW USING SCREEN"</text>
+</g>
+<path d="M794.5 31h10"></path>
+<path d="M804.5 31h10"></path>
+<g class="non-terminal">
+<path d="M814.5 31h0"></path>
+<path d="M885.5 31h0"></path>
+<rect x="814.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="850" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M885.5 31h20"></path>
+<path d="M550.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M570.5 61h0"></path>
+<path d="M675.5 61h210"></path>
+<rect x="570.5" y="50" width="105" height="22" rx="10" ry="10"></rect>
+<text x="623" y="65">"TABSTRIP"</text>
+</g>
+<path d="M885.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M905.5 31h10"></path>
+<path d="M 915.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Convert.svg b/abap/statement_Convert.svg
new file mode 100644
index 00000000..69c4ddce
--- /dev/null
+++ b/abap/statement_Convert.svg
@@ -0,0 +1,401 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="872.5" height="302" viewBox="0 0 872.5 302">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M822.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"CONVERT"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<g>
+<path d="M156.5 31h0"></path>
+<path d="M822.5 31h0"></path>
+<path d="M156.5 31h20"></path>
+<g>
+<path d="M176.5 31h0"></path>
+<path d="M802.5 31h0"></path>
+<g class="terminal">
+<path d="M176.5 31h0"></path>
+<path d="M298.5 31h0"></path>
+<rect x="176.5" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="237.5" y="35">"TIME STAMP"</text>
+</g>
+<path d="M298.5 31h10"></path>
+<path d="M308.5 31h10"></path>
+<g class="non-terminal">
+<path d="M318.5 31h0"></path>
+<path d="M389.5 31h0"></path>
+<rect x="318.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="354" y="35">Source</text>
+</a>
+</g>
+<path d="M389.5 31h10"></path>
+<path d="M399.5 31h10"></path>
+<g>
+<path d="M409.5 31h0"></path>
+<path d="M802.5 31h0"></path>
+<path d="M439.5 31h10"></path>
+<g>
+<path d="M449.5 31h0"></path>
+<path d="M654 31h118.5"></path>
+<g class="terminal">
+<path d="M449.5 31h0"></path>
+<path d="M563 31h0"></path>
+<rect x="449.5" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="506.25" y="35">"TIME ZONE"</text>
+</g>
+<path d="M563 31h10"></path>
+<path d="M573 31h10"></path>
+<g class="non-terminal">
+<path d="M583 31h0"></path>
+<path d="M654 31h0"></path>
+<rect x="583" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="618.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M772.5 31h10"></path>
+<path d="M439.5 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 61h0"></path>
+<path d="M772.5 61h0"></path>
+<g class="terminal">
+<path d="M449.5 61h0"></path>
+<path d="M520.5 61h0"></path>
+<rect x="449.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="485" y="65">"INTO"</text>
+</g>
+<path d="M520.5 61h10"></path>
+<path d="M530.5 61h10"></path>
+<g>
+<path d="M540.5 61h0"></path>
+<path d="M772.5 61h0"></path>
+<path d="M570.5 61h10"></path>
+<g>
+<path d="M580.5 61h0"></path>
+<path d="M742.5 61h0"></path>
+<g class="terminal">
+<path d="M580.5 61h0"></path>
+<path d="M651.5 61h0"></path>
+<rect x="580.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="616" y="65">"TIME"</text>
+</g>
+<path d="M651.5 61h10"></path>
+<path d="M661.5 61h10"></path>
+<g class="non-terminal">
+<path d="M671.5 61h0"></path>
+<path d="M742.5 61h0"></path>
+<rect x="671.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="707" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M742.5 61h10"></path>
+<path d="M570.5 61v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M580.5 91h0"></path>
+<path d="M742.5 91h0"></path>
+<g class="terminal">
+<path d="M580.5 91h0"></path>
+<path d="M651.5 91h0"></path>
+<rect x="580.5" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="616" y="95">"DATE"</text>
+</g>
+<path d="M651.5 91h10"></path>
+<path d="M661.5 91h10"></path>
+<g class="non-terminal">
+<path d="M671.5 91h0"></path>
+<path d="M742.5 91h0"></path>
+<rect x="671.5" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="707" y="95">Target</text>
+</a>
+</g>
+</g>
+<path d="M742.5 91a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 570.5 51 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="555.5" y="65" class="diagram-text">1+</text>
+<path d="M 752.5 51 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 759.5 59 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M772.5 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M439.5 31v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M449.5 121h0"></path>
+<path d="M747.5 121h25"></path>
+<g class="terminal">
+<path d="M449.5 121h0"></path>
+<path d="M656.5 121h0"></path>
+<rect x="449.5" y="110" width="207" height="22" rx="10" ry="10"></rect>
+<text x="553" y="125">"DAYLIGHT SAVING TIME"</text>
+</g>
+<path d="M656.5 121h10"></path>
+<path d="M666.5 121h10"></path>
+<g class="non-terminal">
+<path d="M676.5 121h0"></path>
+<path d="M747.5 121h0"></path>
+<rect x="676.5" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="712" y="125">Source</text>
+</a>
+</g>
+</g>
+<path d="M772.5 121a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 439.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="424.5" y="35" class="diagram-text">1+</text>
+<path d="M 782.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 789.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M802.5 31h20"></path>
+<path d="M156.5 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 151h0"></path>
+<path d="M796.5 151h6"></path>
+<g>
+<path d="M176.5 151h0"></path>
+<path d="M408.5 151h0"></path>
+<path d="M206.5 151h10"></path>
+<g>
+<path d="M216.5 151h0"></path>
+<path d="M378.5 151h0"></path>
+<g class="terminal">
+<path d="M216.5 151h0"></path>
+<path d="M287.5 151h0"></path>
+<rect x="216.5" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="252" y="155">"DATE"</text>
+</g>
+<path d="M287.5 151h10"></path>
+<path d="M297.5 151h10"></path>
+<g class="non-terminal">
+<path d="M307.5 151h0"></path>
+<path d="M378.5 151h0"></path>
+<rect x="307.5" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="343" y="155">Source</text>
+</a>
+</g>
+</g>
+<path d="M378.5 151h10"></path>
+<path d="M206.5 151v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M216.5 181h0"></path>
+<path d="M378.5 181h0"></path>
+<g class="terminal">
+<path d="M216.5 181h0"></path>
+<path d="M287.5 181h0"></path>
+<rect x="216.5" y="170" width="71" height="22" rx="10" ry="10"></rect>
+<text x="252" y="185">"TIME"</text>
+</g>
+<path d="M287.5 181h10"></path>
+<path d="M297.5 181h10"></path>
+<g class="non-terminal">
+<path d="M307.5 181h0"></path>
+<path d="M378.5 181h0"></path>
+<rect x="307.5" y="170" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="343" y="185">Source</text>
+</a>
+</g>
+</g>
+<path d="M378.5 181a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 206.5 141 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="191.5" y="155" class="diagram-text">1+</text>
+<path d="M 388.5 141 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 395.5 149 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M408.5 151h10"></path>
+<path d="M418.5 151h10"></path>
+<g>
+<path d="M428.5 151h0"></path>
+<path d="M796.5 151h0"></path>
+<path d="M458.5 151h10"></path>
+<g>
+<path d="M468.5 151h0"></path>
+<path d="M766.5 151h0"></path>
+<g class="terminal">
+<path d="M468.5 151h0"></path>
+<path d="M675.5 151h0"></path>
+<rect x="468.5" y="140" width="207" height="22" rx="10" ry="10"></rect>
+<text x="572" y="155">"DAYLIGHT SAVING TIME"</text>
+</g>
+<path d="M675.5 151h10"></path>
+<path d="M685.5 151h10"></path>
+<g class="non-terminal">
+<path d="M695.5 151h0"></path>
+<path d="M766.5 151h0"></path>
+<rect x="695.5" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="731" y="155">Source</text>
+</a>
+</g>
+</g>
+<path d="M766.5 151h10"></path>
+<path d="M458.5 151v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 181h0"></path>
+<path d="M724 181h42.5"></path>
+<g class="terminal">
+<path d="M468.5 181h0"></path>
+<path d="M633 181h0"></path>
+<rect x="468.5" y="170" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="550.75" y="185">"INTO TIME STAMP"</text>
+</g>
+<path d="M633 181h10"></path>
+<path d="M643 181h10"></path>
+<g class="non-terminal">
+<path d="M653 181h0"></path>
+<path d="M724 181h0"></path>
+<rect x="653" y="170" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="688.5" y="185">Target</text>
+</a>
+</g>
+</g>
+<path d="M766.5 181a10 10 0 0 0 10 -10v-20"></path>
+<path d="M458.5 151v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 211h0"></path>
+<path d="M673 211h93.5"></path>
+<g class="terminal">
+<path d="M468.5 211h0"></path>
+<path d="M582 211h0"></path>
+<rect x="468.5" y="200" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="525.25" y="215">"TIME ZONE"</text>
+</g>
+<path d="M582 211h10"></path>
+<path d="M592 211h10"></path>
+<g class="non-terminal">
+<path d="M602 211h0"></path>
+<path d="M673 211h0"></path>
+<rect x="602" y="200" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="637.5" y="215">Source</text>
+</a>
+</g>
+</g>
+<path d="M766.5 211a10 10 0 0 0 10 -10v-50"></path>
+<path d="M458.5 151v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 241h0"></path>
+<path d="M749.5 241h17"></path>
+<g class="terminal">
+<path d="M468.5 241h0"></path>
+<path d="M658.5 241h0"></path>
+<rect x="468.5" y="230" width="190" height="22" rx="10" ry="10"></rect>
+<text x="563.5" y="245">"INTO INVERTED-DATE"</text>
+</g>
+<path d="M658.5 241h10"></path>
+<path d="M668.5 241h10"></path>
+<g class="non-terminal">
+<path d="M678.5 241h0"></path>
+<path d="M749.5 241h0"></path>
+<rect x="678.5" y="230" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="714" y="245">Target</text>
+</a>
+</g>
+</g>
+<path d="M766.5 241a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 458.5 141 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="443.5" y="155" class="diagram-text">1+</text>
+<path d="M 776.5 141 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 783.5 149 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M802.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M156.5 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 271h0"></path>
+<path d="M639.5 271h163"></path>
+<g class="terminal">
+<path d="M176.5 271h0"></path>
+<path d="M324 271h0"></path>
+<rect x="176.5" y="260" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="275">"INVERTED-DATE"</text>
+</g>
+<path d="M324 271h10"></path>
+<path d="M334 271h10"></path>
+<g class="non-terminal">
+<path d="M344 271h0"></path>
+<path d="M415 271h0"></path>
+<rect x="344" y="260" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="379.5" y="275">Source</text>
+</a>
+</g>
+<path d="M415 271h10"></path>
+<path d="M425 271h10"></path>
+<g class="terminal">
+<path d="M435 271h0"></path>
+<path d="M548.5 271h0"></path>
+<rect x="435" y="260" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="491.75" y="275">"INTO DATE"</text>
+</g>
+<path d="M548.5 271h10"></path>
+<path d="M558.5 271h10"></path>
+<g class="non-terminal">
+<path d="M568.5 271h0"></path>
+<path d="M639.5 271h0"></path>
+<rect x="568.5" y="260" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="604" y="275">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M822.5 31h10"></path>
+<path d="M 832.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ConvertText.svg b/abap/statement_ConvertText.svg
new file mode 100644
index 00000000..3b17d6de
--- /dev/null
+++ b/abap/statement_ConvertText.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="631" height="62" viewBox="0 0 631 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M581 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M189 31h0"></path>
+<rect x="50" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="119.5" y="35">"CONVERT TEXT"</text>
+</g>
+<path d="M189 31h10"></path>
+<path d="M199 31h10"></path>
+<g class="non-terminal">
+<path d="M209 31h0"></path>
+<path d="M280 31h0"></path>
+<rect x="209" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="244.5" y="35">Source</text>
+</a>
+</g>
+<path d="M280 31h10"></path>
+<path d="M290 31h10"></path>
+<g class="terminal">
+<path d="M300 31h0"></path>
+<path d="M490 31h0"></path>
+<rect x="300" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="395" y="35">"INTO SORTABLE CODE"</text>
+</g>
+<path d="M490 31h10"></path>
+<path d="M500 31h10"></path>
+<g class="non-terminal">
+<path d="M510 31h0"></path>
+<path d="M581 31h0"></path>
+<rect x="510" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="545.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M581 31h10"></path>
+<path d="M 591 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CreateData.svg b/abap/statement_CreateData.svg
new file mode 100644
index 00000000..50924b3a
--- /dev/null
+++ b/abap/statement_CreateData.svg
@@ -0,0 +1,588 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2442.5" height="508" viewBox="0 0 2442.5 508">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2392.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"CREATE DATA"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<path d="M190.5 40h10"></path>
+<g class="non-terminal">
+<path d="M200.5 40h0"></path>
+<path d="M271.5 40h0"></path>
+<rect x="200.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="236" y="44">Target</text>
+</a>
+</g>
+<path d="M271.5 40h10"></path>
+<g>
+<path d="M281.5 40h0"></path>
+<path d="M2392.5 40h0"></path>
+<path d="M281.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M301.5 20h2071"></path>
+</g>
+<path d="M2372.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M281.5 40h20"></path>
+<g>
+<path d="M301.5 40h0"></path>
+<path d="M2372.5 40h0"></path>
+<path d="M301.5 40h20"></path>
+<g>
+<path d="M321.5 40h0"></path>
+<path d="M543 40h1809.5"></path>
+<g class="terminal">
+<path d="M321.5 40h0"></path>
+<path d="M452 40h0"></path>
+<rect x="321.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="386.75" y="44">"TYPE HANDLE"</text>
+</g>
+<path d="M452 40h10"></path>
+<path d="M462 40h10"></path>
+<g class="non-terminal">
+<path d="M472 40h0"></path>
+<path d="M543 40h0"></path>
+<rect x="472" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="507.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M2352.5 40h20"></path>
+<path d="M301.5 40a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M321.5 87h0"></path>
+<path d="M2352.5 87h0"></path>
+<g>
+<path d="M321.5 87h0"></path>
+<path d="M583 87h0"></path>
+<path d="M321.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M341.5 67h221.5"></path>
+</g>
+<path d="M563 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M321.5 87h20"></path>
+<g>
+<path d="M341.5 87h0"></path>
+<path d="M563 87h0"></path>
+<g class="terminal">
+<path d="M341.5 87h0"></path>
+<path d="M472 87h0"></path>
+<rect x="341.5" y="76" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="406.75" y="91">"AREA HANDLE"</text>
+</g>
+<path d="M472 87h10"></path>
+<path d="M482 87h10"></path>
+<g class="non-terminal">
+<path d="M492 87h0"></path>
+<path d="M563 87h0"></path>
+<rect x="492" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="527.5" y="91">Source</text>
+</a>
+</g>
+</g>
+<path d="M563 87h20"></path>
+</g>
+<path d="M583 87h10"></path>
+<g>
+<path d="M593 87h0"></path>
+<path d="M2352.5 87h0"></path>
+<g>
+<path d="M593 87h0"></path>
+<path d="M1025 87h0"></path>
+<path d="M593 87h20"></path>
+<g>
+<path d="M613 87h0"></path>
+<path d="M1005 87h0"></path>
+<g>
+<path d="M613 87h0"></path>
+<path d="M877 87h0"></path>
+<path d="M613 87h20"></path>
+<g class="terminal">
+<path d="M633 87h0"></path>
+<path d="M704 87h153"></path>
+<rect x="633" y="76" width="71" height="22" rx="10" ry="10"></rect>
+<text x="668.5" y="91">"TYPE"</text>
+</g>
+<path d="M857 87h20"></path>
+<path d="M613 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 117h0"></path>
+<path d="M763.5 117h93.5"></path>
+<rect x="633" y="106" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="698.25" y="121">"TYPE REF TO"</text>
+</g>
+<path d="M857 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 147h0"></path>
+<path d="M780.5 147h76.5"></path>
+<rect x="633" y="136" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="706.75" y="151">"TYPE TABLE OF"</text>
+</g>
+<path d="M857 147a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 177h0"></path>
+<path d="M840 177h17"></path>
+<rect x="633" y="166" width="207" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="181">"TYPE TABLE OF REF TO"</text>
+</g>
+<path d="M857 177a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 207h0"></path>
+<path d="M840 207h17"></path>
+<rect x="633" y="196" width="207" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="211">"TYPE SORTED TABLE OF"</text>
+</g>
+<path d="M857 207a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 237h0"></path>
+<path d="M840 237h17"></path>
+<rect x="633" y="226" width="207" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="241">"TYPE HASHED TABLE OF"</text>
+</g>
+<path d="M857 237a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 267h0"></path>
+<path d="M857 267h0"></path>
+<rect x="633" y="256" width="224" height="22" rx="10" ry="10"></rect>
+<text x="745" y="271">"TYPE STANDARD TABLE OF"</text>
+</g>
+<path d="M857 267a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M613 87a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 297h0"></path>
+<path d="M772 297h85"></path>
+<rect x="633" y="286" width="139" height="22" rx="10" ry="10"></rect>
+<text x="702.5" y="301">"TYPE LINE OF"</text>
+</g>
+<path d="M857 297a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M877 87h0"></path>
+<path d="M1005 87h0"></path>
+<path d="M877 87h20"></path>
+<g class="non-terminal">
+<path d="M897 87h0"></path>
+<path d="M985 87h0"></path>
+<rect x="897" y="76" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="941" y="91">TypeName</text>
+</a>
+</g>
+<path d="M985 87h20"></path>
+<path d="M877 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M897 117h0"></path>
+<path d="M976.5 117h8.5"></path>
+<rect x="897" y="106" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="936.75" y="121">Dynamic</text>
+</a>
+</g>
+<path d="M985 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1005 87h20"></path>
+<path d="M593 87a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M613 327h0"></path>
+<path d="M996.5 327h8.5"></path>
+<g>
+<path d="M613 327h0"></path>
+<path d="M877 327h0"></path>
+<path d="M613 327h20"></path>
+<g class="terminal">
+<path d="M633 327h0"></path>
+<path d="M704 327h153"></path>
+<rect x="633" y="316" width="71" height="22" rx="10" ry="10"></rect>
+<text x="668.5" y="331">"LIKE"</text>
+</g>
+<path d="M857 327h20"></path>
+<path d="M613 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 357h0"></path>
+<path d="M840 357h17"></path>
+<rect x="633" y="346" width="207" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="361">"LIKE HASHED TABLE OF"</text>
+</g>
+<path d="M857 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M613 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 387h0"></path>
+<path d="M772 387h85"></path>
+<rect x="633" y="376" width="139" height="22" rx="10" ry="10"></rect>
+<text x="702.5" y="391">"LIKE LINE OF"</text>
+</g>
+<path d="M857 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M613 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 417h0"></path>
+<path d="M857 417h0"></path>
+<rect x="633" y="406" width="224" height="22" rx="10" ry="10"></rect>
+<text x="745" y="421">"LIKE STANDARD TABLE OF"</text>
+</g>
+<path d="M857 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M613 327a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 447h0"></path>
+<path d="M840 447h17"></path>
+<rect x="633" y="436" width="207" height="22" rx="10" ry="10"></rect>
+<text x="736.5" y="451">"LIKE SORTED TABLE OF"</text>
+</g>
+<path d="M857 447a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M613 327a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633 477h0"></path>
+<path d="M780.5 477h76.5"></path>
+<rect x="633" y="466" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="706.75" y="481">"LIKE TABLE OF"</text>
+</g>
+<path d="M857 477a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M877 327h0"></path>
+<path d="M996.5 327h0"></path>
+<path d="M877 327h20"></path>
+<g class="non-terminal">
+<path d="M897 327h0"></path>
+<path d="M968 327h8.5"></path>
+<rect x="897" y="316" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="932.5" y="331">Source</text>
+</a>
+</g>
+<path d="M976.5 327h20"></path>
+<path d="M877 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M897 357h0"></path>
+<path d="M976.5 357h0"></path>
+<rect x="897" y="346" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="936.75" y="361">Dynamic</text>
+</a>
+</g>
+<path d="M976.5 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1005 327a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1025 87h0"></path>
+<path d="M1627.5 87h0"></path>
+<path d="M1025 87a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1045 59h562.5"></path>
+</g>
+<path d="M1607.5 59a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1025 87h20"></path>
+<g>
+<path d="M1045 87h0"></path>
+<path d="M1607.5 87h0"></path>
+<g class="terminal">
+<path d="M1045 87h0"></path>
+<path d="M1116 87h0"></path>
+<rect x="1045" y="76" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1080.5" y="91">"WITH"</text>
+</g>
+<path d="M1116 87h10"></path>
+<g>
+<path d="M1126 87h0"></path>
+<path d="M1607.5 87h0"></path>
+<path d="M1126 87h20"></path>
+<g>
+<path d="M1146 87h0"></path>
+<path d="M1587.5 87h0"></path>
+<g>
+<path d="M1146 87h0"></path>
+<path d="M1348 87h0"></path>
+<path d="M1146 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1166 67h162"></path>
+</g>
+<path d="M1328 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1146 87h20"></path>
+<g>
+<path d="M1166 87h0"></path>
+<path d="M1328 87h0"></path>
+<path d="M1166 87h20"></path>
+<g class="terminal">
+<path d="M1186 87h0"></path>
+<path d="M1274 87h34"></path>
+<rect x="1186" y="76" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1230" y="91">"UNIQUE"</text>
+</g>
+<path d="M1308 87h20"></path>
+<path d="M1166 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1186 117h0"></path>
+<path d="M1308 117h0"></path>
+<rect x="1186" y="106" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1247" y="121">"NON-UNIQUE"</text>
+</g>
+<path d="M1308 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1328 87h20"></path>
+</g>
+<g>
+<path d="M1348 87h0"></path>
+<path d="M1587.5 87h0"></path>
+<path d="M1348 87h20"></path>
+<g class="terminal">
+<path d="M1368 87h0"></path>
+<path d="M1498.5 87h69"></path>
+<rect x="1368" y="76" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1433.25" y="91">"DEFAULT KEY"</text>
+</g>
+<path d="M1567.5 87h20"></path>
+<path d="M1348 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1368 117h0"></path>
+<path d="M1567.5 117h0"></path>
+<g>
+<path d="M1368 117h0"></path>
+<path d="M1434 117h0"></path>
+<text x="1401" y="122" class="comment">v740sp02</text>
+</g>
+<path d="M1434 117h10"></path>
+<path d="M1444 117h10"></path>
+<g class="terminal">
+<path d="M1454 117h0"></path>
+<path d="M1567.5 117h0"></path>
+<rect x="1454" y="106" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1510.75" y="121">"EMPTY KEY"</text>
+</g>
+</g>
+<path d="M1567.5 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1587.5 87h20"></path>
+<path d="M1126 87a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1146 156h0"></path>
+<path d="M1553 156h34.5"></path>
+<g>
+<path d="M1146 156h0"></path>
+<path d="M1348 156h0"></path>
+<path d="M1146 156a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1166 136h162"></path>
+</g>
+<path d="M1328 136a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1146 156h20"></path>
+<g>
+<path d="M1166 156h0"></path>
+<path d="M1328 156h0"></path>
+<path d="M1166 156h20"></path>
+<g class="terminal">
+<path d="M1186 156h0"></path>
+<path d="M1274 156h34"></path>
+<rect x="1186" y="145" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1230" y="160">"UNIQUE"</text>
+</g>
+<path d="M1308 156h20"></path>
+<path d="M1166 156a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1186 186h0"></path>
+<path d="M1308 186h0"></path>
+<rect x="1186" y="175" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1247" y="190">"NON-UNIQUE"</text>
+</g>
+<path d="M1308 186a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1328 156h20"></path>
+</g>
+<path d="M1348 156h10"></path>
+<g class="terminal">
+<path d="M1358 156h0"></path>
+<path d="M1420.5 156h0"></path>
+<rect x="1358" y="145" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1389.25" y="160">"KEY"</text>
+</g>
+<path d="M1420.5 156h10"></path>
+<g>
+<path d="M1430.5 156h0"></path>
+<path d="M1553 156h0"></path>
+<path d="M1430.5 156h20"></path>
+<g>
+<path d="M1450.5 156h0"></path>
+<path d="M1533 156h0"></path>
+<path d="M1450.5 156h10"></path>
+<g class="non-terminal">
+<path d="M1460.5 156h0"></path>
+<path d="M1523 156h0"></path>
+<rect x="1460.5" y="145" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1491.75" y="160">Field</text>
+</a>
+</g>
+<path d="M1523 156h10"></path>
+<path d="M1460.5 156a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1460.5 176h62.5"></path>
+</g>
+<path d="M1523 176a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1533 156h20"></path>
+<path d="M1430.5 156a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1450.5 195h0"></path>
+<path d="M1530 195h3"></path>
+<rect x="1450.5" y="184" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1490.25" y="199">Dynamic</text>
+</a>
+</g>
+<path d="M1533 195a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1587.5 156a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1607.5 87h20"></path>
+</g>
+<g>
+<path d="M1627.5 87h0"></path>
+<path d="M1897.5 87h0"></path>
+<path d="M1627.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1647.5 67h230"></path>
+</g>
+<path d="M1877.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1627.5 87h20"></path>
+<g>
+<path d="M1647.5 87h0"></path>
+<path d="M1877.5 87h0"></path>
+<g class="terminal">
+<path d="M1647.5 87h0"></path>
+<path d="M1786.5 87h0"></path>
+<rect x="1647.5" y="76" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1717" y="91">"INITIAL SIZE"</text>
+</g>
+<path d="M1786.5 87h10"></path>
+<path d="M1796.5 87h10"></path>
+<g class="non-terminal">
+<path d="M1806.5 87h0"></path>
+<path d="M1877.5 87h0"></path>
+<rect x="1806.5" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1842" y="91">Source</text>
+</a>
+</g>
+</g>
+<path d="M1877.5 87h20"></path>
+</g>
+<g>
+<path d="M1897.5 87h0"></path>
+<path d="M2116.5 87h0"></path>
+<path d="M1897.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1917.5 67h179"></path>
+</g>
+<path d="M2096.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1897.5 87h20"></path>
+<g>
+<path d="M1917.5 87h0"></path>
+<path d="M2096.5 87h0"></path>
+<g class="terminal">
+<path d="M1917.5 87h0"></path>
+<path d="M2005.5 87h0"></path>
+<rect x="1917.5" y="76" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1961.5" y="91">"LENGTH"</text>
+</g>
+<path d="M2005.5 87h10"></path>
+<path d="M2015.5 87h10"></path>
+<g class="non-terminal">
+<path d="M2025.5 87h0"></path>
+<path d="M2096.5 87h0"></path>
+<rect x="2025.5" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="2061" y="91">Source</text>
+</a>
+</g>
+</g>
+<path d="M2096.5 87h20"></path>
+</g>
+<g>
+<path d="M2116.5 87h0"></path>
+<path d="M2352.5 87h0"></path>
+<path d="M2116.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2136.5 67h196"></path>
+</g>
+<path d="M2332.5 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2116.5 87h20"></path>
+<g>
+<path d="M2136.5 87h0"></path>
+<path d="M2332.5 87h0"></path>
+<g class="terminal">
+<path d="M2136.5 87h0"></path>
+<path d="M2241.5 87h0"></path>
+<rect x="2136.5" y="76" width="105" height="22" rx="10" ry="10"></rect>
+<text x="2189" y="91">"DECIMALS"</text>
+</g>
+<path d="M2241.5 87h10"></path>
+<path d="M2251.5 87h10"></path>
+<g class="non-terminal">
+<path d="M2261.5 87h0"></path>
+<path d="M2332.5 87h0"></path>
+<rect x="2261.5" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="2297" y="91">Source</text>
+</a>
+</g>
+</g>
+<path d="M2332.5 87h20"></path>
+</g>
+</g>
+</g>
+<path d="M2352.5 87a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2372.5 40h20"></path>
+</g>
+</g>
+<path d="M2392.5 40h10"></path>
+<path d="M 2402.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CreateOLE.svg b/abap/statement_CreateOLE.svg
new file mode 100644
index 00000000..d9f261d0
--- /dev/null
+++ b/abap/statement_CreateOLE.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="839.5" height="71" viewBox="0 0 839.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M789.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M789.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"CREATE OBJECT"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<path d="M300.5 40h10"></path>
+<g class="non-terminal">
+<path d="M310.5 40h0"></path>
+<path d="M381.5 40h0"></path>
+<rect x="310.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="346" y="44">Target</text>
+</a>
+</g>
+<path d="M381.5 40h10"></path>
+<path d="M391.5 40h10"></path>
+<g class="non-terminal">
+<path d="M401.5 40h0"></path>
+<path d="M472.5 40h0"></path>
+<rect x="401.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="437" y="44">Source</text>
+</a>
+</g>
+<path d="M472.5 40h10"></path>
+<g>
+<path d="M482.5 40h0"></path>
+<path d="M627.5 40h0"></path>
+<path d="M482.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M502.5 20h105"></path>
+</g>
+<path d="M607.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M482.5 40h20"></path>
+<g class="terminal">
+<path d="M502.5 40h0"></path>
+<path d="M607.5 40h0"></path>
+<rect x="502.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="555" y="44">"NO FLUSH"</text>
+</g>
+<path d="M607.5 40h20"></path>
+</g>
+<g>
+<path d="M627.5 40h0"></path>
+<path d="M789.5 40h0"></path>
+<path d="M627.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M647.5 20h122"></path>
+</g>
+<path d="M769.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M627.5 40h20"></path>
+<g class="terminal">
+<path d="M647.5 40h0"></path>
+<path d="M769.5 40h0"></path>
+<rect x="647.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="708.5" y="44">"QUEUE-ONLY"</text>
+</g>
+<path d="M769.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M789.5 40h10"></path>
+<path d="M 799.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_CreateObject.svg b/abap/statement_CreateObject.svg
new file mode 100644
index 00000000..74ea80e4
--- /dev/null
+++ b/abap/statement_CreateObject.svg
@@ -0,0 +1,261 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1470" height="131" viewBox="0 0 1470 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1420 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M197.5 40h0"></path>
+<rect x="50" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="44">"CREATE OBJECT"</text>
+</g>
+<path d="M197.5 40h10"></path>
+<path d="M207.5 40h10"></path>
+<g class="non-terminal">
+<path d="M217.5 40h0"></path>
+<path d="M288.5 40h0"></path>
+<rect x="217.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="253" y="44">Target</text>
+</a>
+</g>
+<path d="M288.5 40h10"></path>
+<g>
+<path d="M298.5 40h0"></path>
+<path d="M630 40h0"></path>
+<path d="M298.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M318.5 20h291.5"></path>
+</g>
+<path d="M610 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M298.5 40h20"></path>
+<g>
+<path d="M318.5 40h0"></path>
+<path d="M610 40h0"></path>
+<path d="M348.5 40h10"></path>
+<g>
+<path d="M358.5 40h0"></path>
+<path d="M576 40h4"></path>
+<g class="terminal">
+<path d="M358.5 40h0"></path>
+<path d="M429.5 40h0"></path>
+<rect x="358.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="394" y="44">"TYPE"</text>
+</g>
+<path d="M429.5 40h10"></path>
+<g>
+<path d="M439.5 40h0"></path>
+<path d="M576 40h0"></path>
+<path d="M439.5 40h20"></path>
+<g class="non-terminal">
+<path d="M459.5 40h0"></path>
+<path d="M556 40h0"></path>
+<rect x="459.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="507.75" y="44">ClassName</text>
+</a>
+</g>
+<path d="M556 40h20"></path>
+<path d="M439.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M459.5 70h0"></path>
+<path d="M539 70h17"></path>
+<rect x="459.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="499.25" y="74">Dynamic</text>
+</a>
+</g>
+<path d="M556 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M580 40h10"></path>
+<path d="M348.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M358.5 100h0"></path>
+<path d="M580 100h0"></path>
+<g class="terminal">
+<path d="M358.5 100h0"></path>
+<path d="M489 100h0"></path>
+<rect x="358.5" y="89" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="423.75" y="104">"AREA HANDLE"</text>
+</g>
+<path d="M489 100h10"></path>
+<path d="M499 100h10"></path>
+<g class="non-terminal">
+<path d="M509 100h0"></path>
+<path d="M580 100h0"></path>
+<rect x="509" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="544.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M580 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 348.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="333.5" y="44" class="diagram-text">1+</text>
+<path d="M 590 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 597 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M610 40h20"></path>
+</g>
+<g>
+<path d="M630 40h0"></path>
+<path d="M982.5 40h0"></path>
+<path d="M630 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M650 20h312.5"></path>
+</g>
+<path d="M962.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M630 40h20"></path>
+<g>
+<path d="M650 40h0"></path>
+<path d="M962.5 40h0"></path>
+<path d="M650 40h20"></path>
+<g>
+<path d="M670 40h0"></path>
+<path d="M942.5 40h0"></path>
+<g class="terminal">
+<path d="M670 40h0"></path>
+<path d="M783.5 40h0"></path>
+<rect x="670" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="726.75" y="44">"EXPORTING"</text>
+</g>
+<path d="M783.5 40h10"></path>
+<path d="M793.5 40h10"></path>
+<g class="non-terminal">
+<path d="M803.5 40h0"></path>
+<path d="M942.5 40h0"></path>
+<rect x="803.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="873" y="44">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M942.5 40h20"></path>
+<path d="M650 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M670 70h0"></path>
+<path d="M925.5 70h17"></path>
+<g class="terminal">
+<path d="M670 70h0"></path>
+<path d="M834.5 70h0"></path>
+<rect x="670" y="59" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="752.25" y="74">"PARAMETER-TABLE"</text>
+</g>
+<path d="M834.5 70h10"></path>
+<path d="M844.5 70h10"></path>
+<g class="non-terminal">
+<path d="M854.5 70h0"></path>
+<path d="M925.5 70h0"></path>
+<rect x="854.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="890" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M942.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M962.5 40h20"></path>
+</g>
+<g>
+<path d="M982.5 40h0"></path>
+<path d="M1420 40h0"></path>
+<path d="M982.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1002.5 20h397.5"></path>
+</g>
+<path d="M1400 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M982.5 40h20"></path>
+<g>
+<path d="M1002.5 40h0"></path>
+<path d="M1400 40h0"></path>
+<path d="M1002.5 40h20"></path>
+<g>
+<path d="M1022.5 40h0"></path>
+<path d="M1380 40h0"></path>
+<g class="terminal">
+<path d="M1022.5 40h0"></path>
+<path d="M1144.5 40h0"></path>
+<rect x="1022.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1083.5" y="44">"EXCEPTIONS"</text>
+</g>
+<path d="M1144.5 40h10"></path>
+<path d="M1154.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1164.5 40h0"></path>
+<path d="M1380 40h0"></path>
+<rect x="1164.5" y="29" width="215.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListExceptions"><text x="1272.25" y="44">ParameterListExceptions</text>
+</a>
+</g>
+</g>
+<path d="M1380 40h20"></path>
+<path d="M1002.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1022.5 70h0"></path>
+<path d="M1278 70h102"></path>
+<g class="terminal">
+<path d="M1022.5 70h0"></path>
+<path d="M1187 70h0"></path>
+<rect x="1022.5" y="59" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1104.75" y="74">"EXCEPTION-TABLE"</text>
+</g>
+<path d="M1187 70h10"></path>
+<path d="M1197 70h10"></path>
+<g class="non-terminal">
+<path d="M1207 70h0"></path>
+<path d="M1278 70h0"></path>
+<rect x="1207" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1242.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M1380 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1400 40h20"></path>
+</g>
+</g>
+<path d="M1420 40h10"></path>
+<path d="M 1430 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Data.svg b/abap/statement_Data.svg
new file mode 100644
index 00000000..c7372fb0
--- /dev/null
+++ b/abap/statement_Data.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="519" height="71" viewBox="0 0 519 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M469 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"DATA"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g class="non-terminal">
+<path d="M141 40h0"></path>
+<path d="M280 40h0"></path>
+<rect x="141" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DataDefinition"><text x="210.5" y="44">DataDefinition</text>
+</a>
+</g>
+<path d="M280 40h10"></path>
+<g>
+<path d="M290 40h0"></path>
+<path d="M469 40h0"></path>
+<path d="M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M310 20h139"></path>
+</g>
+<path d="M449 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M290 40h20"></path>
+<g class="terminal">
+<path d="M310 40h0"></path>
+<path d="M449 40h0"></path>
+<rect x="310" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="379.5" y="44">"%&#95;PREDEFINED"</text>
+</g>
+<path d="M449 40h20"></path>
+</g>
+</g>
+<path d="M469 40h10"></path>
+<path d="M 479 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DataBegin.svg b/abap/statement_DataBegin.svg
new file mode 100644
index 00000000..8937729c
--- /dev/null
+++ b/abap/statement_DataBegin.svg
@@ -0,0 +1,172 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="876" height="131" viewBox="0 0 876 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M826 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"DATA"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g>
+<path d="M141 31h0"></path>
+<path d="M826 31h0"></path>
+<g class="terminal">
+<path d="M141 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="141" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="193.5" y="35">"BEGIN OF"</text>
+</g>
+<path d="M246 31h10"></path>
+<g>
+<path d="M256 31h0"></path>
+<path d="M826 31h0"></path>
+<path d="M256 31h20"></path>
+<g>
+<path d="M276 31h0"></path>
+<path d="M605.5 31h200.5"></path>
+<path d="M276 31h20"></path>
+<g>
+<path d="M296 31h0"></path>
+<path d="M585.5 31h0"></path>
+<g class="terminal">
+<path d="M296 31h0"></path>
+<path d="M426.5 31h0"></path>
+<rect x="296" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="361.25" y="35">"COMMON PART"</text>
+</g>
+<path d="M426.5 31h10"></path>
+<path d="M436.5 31h10"></path>
+<g class="non-terminal">
+<path d="M446.5 31h0"></path>
+<path d="M585.5 31h0"></path>
+<rect x="446.5" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="516" y="35">DefinitionName</text>
+</a>
+</g>
+</g>
+<path d="M585.5 31h20"></path>
+<path d="M276 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M296 61h0"></path>
+<path d="M426.5 61h159"></path>
+<rect x="296" y="50" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="361.25" y="65">"COMMON PART"</text>
+</g>
+<path d="M585.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M806 31h20"></path>
+<path d="M256 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M276 100h0"></path>
+<path d="M806 100h0"></path>
+<g class="non-terminal">
+<path d="M276 100h0"></path>
+<path d="M415 100h0"></path>
+<rect x="276" y="89" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="345.5" y="104">DefinitionName</text>
+</a>
+</g>
+<path d="M415 100h10"></path>
+<g>
+<path d="M425 100h0"></path>
+<path d="M578.5 100h0"></path>
+<path d="M425 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M445 80h113.5"></path>
+</g>
+<path d="M558.5 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M425 100h20"></path>
+<g class="terminal">
+<path d="M445 100h0"></path>
+<path d="M558.5 100h0"></path>
+<rect x="445" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="501.75" y="104">"READ-ONLY"</text>
+</g>
+<path d="M558.5 100h20"></path>
+</g>
+<g>
+<path d="M578.5 100h0"></path>
+<path d="M806 100h0"></path>
+<path d="M578.5 100a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M598.5 80h187.5"></path>
+</g>
+<path d="M786 80a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M578.5 100h20"></path>
+<g>
+<path d="M598.5 100h0"></path>
+<path d="M786 100h0"></path>
+<g class="terminal">
+<path d="M598.5 100h0"></path>
+<path d="M686.5 100h0"></path>
+<rect x="598.5" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="642.5" y="104">"OCCURS"</text>
+</g>
+<path d="M686.5 100h10"></path>
+<path d="M696.5 100h10"></path>
+<g class="non-terminal">
+<path d="M706.5 100h0"></path>
+<path d="M786 100h0"></path>
+<rect x="706.5" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="746.25" y="104">Integer</text>
+</a>
+</g>
+</g>
+<path d="M786 100h20"></path>
+</g>
+</g>
+<path d="M806 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M826 31h10"></path>
+<path d="M 836 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DataEnd.svg b/abap/statement_DataEnd.svg
new file mode 100644
index 00000000..11199239
--- /dev/null
+++ b/abap/statement_DataEnd.svg
@@ -0,0 +1,164 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1229.5" height="101" viewBox="0 0 1229.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1179.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"DATA"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M598.5 40h0"></path>
+<g class="terminal">
+<path d="M141 40h0"></path>
+<path d="M229 40h0"></path>
+<rect x="141" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="185" y="44">"END OF"</text>
+</g>
+<path d="M229 40h10"></path>
+<g>
+<path d="M239 40h0"></path>
+<path d="M598.5 40h0"></path>
+<path d="M239 40h20"></path>
+<g>
+<path d="M259 40h0"></path>
+<path d="M578.5 40h0"></path>
+<g class="terminal">
+<path d="M259 40h0"></path>
+<path d="M389.5 40h0"></path>
+<rect x="259" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="324.25" y="44">"COMMON PART"</text>
+</g>
+<path d="M389.5 40h10"></path>
+<g>
+<path d="M399.5 40h0"></path>
+<path d="M578.5 40h0"></path>
+<path d="M399.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M419.5 20h139"></path>
+</g>
+<path d="M558.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M399.5 40h20"></path>
+<g class="non-terminal">
+<path d="M419.5 40h0"></path>
+<path d="M558.5 40h0"></path>
+<rect x="419.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="489" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M558.5 40h20"></path>
+</g>
+</g>
+<path d="M578.5 40h20"></path>
+<path d="M239 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M259 70h0"></path>
+<path d="M398 70h180.5"></path>
+<rect x="259" y="59" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="328.5" y="74">DefinitionName</text>
+</a>
+</g>
+<path d="M578.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M598.5 40h10"></path>
+<g>
+<path d="M608.5 40h0"></path>
+<path d="M1179.5 40h0"></path>
+<path d="M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M628.5 20h531"></path>
+</g>
+<path d="M1159.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M608.5 40h20"></path>
+<g>
+<path d="M628.5 40h0"></path>
+<path d="M1159.5 40h0"></path>
+<g class="terminal">
+<path d="M628.5 40h0"></path>
+<path d="M776 40h0"></path>
+<rect x="628.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="702.25" y="44">"VALID BETWEEN"</text>
+</g>
+<path d="M776 40h10"></path>
+<path d="M786 40h10"></path>
+<g class="non-terminal">
+<path d="M796 40h0"></path>
+<path d="M926.5 40h0"></path>
+<rect x="796" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="861.25" y="44">ComponentName</text>
+</a>
+</g>
+<path d="M926.5 40h10"></path>
+<path d="M936.5 40h10"></path>
+<g class="terminal">
+<path d="M946.5 40h0"></path>
+<path d="M1009 40h0"></path>
+<rect x="946.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="977.75" y="44">"AND"</text>
+</g>
+<path d="M1009 40h10"></path>
+<path d="M1019 40h10"></path>
+<g class="non-terminal">
+<path d="M1029 40h0"></path>
+<path d="M1159.5 40h0"></path>
+<rect x="1029" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="1094.25" y="44">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M1159.5 40h20"></path>
+</g>
+</g>
+<path d="M1179.5 40h10"></path>
+<path d="M 1189.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Define.svg b/abap/statement_Define.svg
new file mode 100644
index 00000000..b700c1cf
--- /dev/null
+++ b/abap/statement_Define.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="397.5" height="62" viewBox="0 0 397.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M347.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M347.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"DEFINE"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g class="non-terminal">
+<path d="M251 31h0"></path>
+<path d="M347.5 31h0"></path>
+<rect x="251" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MacroName"><text x="299.25" y="35">MacroName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M347.5 31h10"></path>
+<path d="M 357.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteCluster.svg b/abap/statement_DeleteCluster.svg
new file mode 100644
index 00000000..8cb17f18
--- /dev/null
+++ b/abap/statement_DeleteCluster.svg
@@ -0,0 +1,151 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1267" height="71" viewBox="0 0 1267 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1217 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1217 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M350 40h0"></path>
+<rect x="143" y="29" width="207" height="22" rx="10" ry="10"></rect>
+<text x="246.5" y="44">"DELETE FROM DATABASE"</text>
+</g>
+<path d="M350 40h10"></path>
+<path d="M360 40h10"></path>
+<g class="non-terminal">
+<path d="M370 40h0"></path>
+<path d="M551.5 40h0"></path>
+<rect x="370" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="460.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M551.5 40h10"></path>
+<path d="M561.5 40h10"></path>
+<g class="terminal">
+<path d="M571.5 40h0"></path>
+<path d="M625.5 40h0"></path>
+<rect x="571.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="598.5" y="44">!"("</text>
+</g>
+<path d="M625.5 40h10"></path>
+<path d="M635.5 40h10"></path>
+<g class="non-terminal">
+<path d="M645.5 40h0"></path>
+<path d="M750.5 40h0"></path>
+<rect x="645.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="698" y="44">SimpleName</text>
+</a>
+</g>
+<path d="M750.5 40h10"></path>
+<path d="M760.5 40h10"></path>
+<g class="terminal">
+<path d="M770.5 40h0"></path>
+<path d="M833 40h0"></path>
+<rect x="770.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="801.75" y="44">!") "</text>
+</g>
+<path d="M833 40h10"></path>
+<g>
+<path d="M843 40h0"></path>
+<path d="M1062 40h0"></path>
+<path d="M843 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M863 20h179"></path>
+</g>
+<path d="M1042 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M843 40h20"></path>
+<g>
+<path d="M863 40h0"></path>
+<path d="M1042 40h0"></path>
+<g class="terminal">
+<path d="M863 40h0"></path>
+<path d="M951 40h0"></path>
+<rect x="863" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="907" y="44">"CLIENT"</text>
+</g>
+<path d="M951 40h10"></path>
+<path d="M961 40h10"></path>
+<g class="non-terminal">
+<path d="M971 40h0"></path>
+<path d="M1042 40h0"></path>
+<rect x="971" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1006.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1042 40h20"></path>
+</g>
+<path d="M1062 40h10"></path>
+<g class="terminal">
+<path d="M1072 40h0"></path>
+<path d="M1126 40h0"></path>
+<rect x="1072" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1099" y="44">"ID"</text>
+</g>
+<path d="M1126 40h10"></path>
+<path d="M1136 40h10"></path>
+<g class="non-terminal">
+<path d="M1146 40h0"></path>
+<path d="M1217 40h0"></path>
+<rect x="1146" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1181.5" y="44">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1217 40h10"></path>
+<path d="M 1227 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteDatabase.svg b/abap/statement_DeleteDatabase.svg
new file mode 100644
index 00000000..e38a2008
--- /dev/null
+++ b/abap/statement_DeleteDatabase.svg
@@ -0,0 +1,249 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1096" height="140" viewBox="0 0 1096 140">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1046 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"DELETE"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M1046 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M998 40h28"></path>
+<g class="terminal">
+<path d="M168 40h0"></path>
+<path d="M239 40h0"></path>
+<rect x="168" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="203.5" y="44">"FROM"</text>
+</g>
+<path d="M239 40h10"></path>
+<path d="M249 40h10"></path>
+<g class="non-terminal">
+<path d="M259 40h0"></path>
+<path d="M389.5 40h0"></path>
+<rect x="259" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="324.25" y="44">DatabaseTable</text>
+</a>
+</g>
+<path d="M389.5 40h10"></path>
+<g>
+<path d="M399.5 40h0"></path>
+<path d="M536 40h0"></path>
+<path d="M399.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M419.5 20h96.5"></path>
+</g>
+<path d="M516 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M399.5 40h20"></path>
+<g class="non-terminal">
+<path d="M419.5 40h0"></path>
+<path d="M516 40h0"></path>
+<rect x="419.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="467.75" y="44">SQLClient</text>
+</a>
+</g>
+<path d="M516 40h20"></path>
+</g>
+<g>
+<path d="M536 40h0"></path>
+<path d="M749 40h0"></path>
+<path d="M536 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M556 20h173"></path>
+</g>
+<path d="M729 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M536 40h20"></path>
+<g class="non-terminal">
+<path d="M556 40h0"></path>
+<path d="M729 40h0"></path>
+<rect x="556" y="29" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="642.5" y="44">DatabaseConnection</text>
+</a>
+</g>
+<path d="M729 40h20"></path>
+</g>
+<g>
+<path d="M749 40h0"></path>
+<path d="M998 40h0"></path>
+<path d="M749 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M769 20h209"></path>
+</g>
+<path d="M978 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M749 40h20"></path>
+<g>
+<path d="M769 40h0"></path>
+<path d="M978 40h0"></path>
+<g class="terminal">
+<path d="M769 40h0"></path>
+<path d="M848.5 40h0"></path>
+<rect x="769" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="808.75" y="44">"WHERE"</text>
+</g>
+<path d="M848.5 40h10"></path>
+<g>
+<path d="M858.5 40h0"></path>
+<path d="M978 40h0"></path>
+<path d="M858.5 40h20"></path>
+<g class="non-terminal">
+<path d="M878.5 40h0"></path>
+<path d="M958 40h0"></path>
+<rect x="878.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="918.25" y="44">SQLCond</text>
+</a>
+</g>
+<path d="M958 40h20"></path>
+<path d="M858.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M878.5 70h0"></path>
+<path d="M958 70h0"></path>
+<rect x="878.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="918.25" y="74">Dynamic</text>
+</a>
+</g>
+<path d="M958 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M978 40h20"></path>
+</g>
+</g>
+<path d="M1026 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 109h0"></path>
+<path d="M1026 109h0"></path>
+<g class="non-terminal">
+<path d="M168 109h0"></path>
+<path d="M298.5 109h0"></path>
+<rect x="168" y="98" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="233.25" y="113">DatabaseTable</text>
+</a>
+</g>
+<path d="M298.5 109h10"></path>
+<g>
+<path d="M308.5 109h0"></path>
+<path d="M445 109h0"></path>
+<path d="M308.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M328.5 89h96.5"></path>
+</g>
+<path d="M425 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M308.5 109h20"></path>
+<g class="non-terminal">
+<path d="M328.5 109h0"></path>
+<path d="M425 109h0"></path>
+<rect x="328.5" y="98" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="376.75" y="113">SQLClient</text>
+</a>
+</g>
+<path d="M425 109h20"></path>
+</g>
+<g>
+<path d="M445 109h0"></path>
+<path d="M658 109h0"></path>
+<path d="M445 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M465 89h173"></path>
+</g>
+<path d="M638 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M445 109h20"></path>
+<g class="non-terminal">
+<path d="M465 109h0"></path>
+<path d="M638 109h0"></path>
+<rect x="465" y="98" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="551.5" y="113">DatabaseConnection</text>
+</a>
+</g>
+<path d="M638 109h20"></path>
+</g>
+<path d="M658 109h10"></path>
+<g class="terminal">
+<path d="M668 109h0"></path>
+<path d="M739 109h0"></path>
+<rect x="668" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="703.5" y="113">"FROM"</text>
+</g>
+<path d="M739 109h10"></path>
+<g>
+<path d="M749 109h0"></path>
+<path d="M868.5 109h0"></path>
+<path d="M749 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M769 89h79.5"></path>
+</g>
+<path d="M848.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M749 109h20"></path>
+<g class="terminal">
+<path d="M769 109h0"></path>
+<path d="M848.5 109h0"></path>
+<rect x="769" y="98" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="808.75" y="113">"TABLE"</text>
+</g>
+<path d="M848.5 109h20"></path>
+</g>
+<path d="M868.5 109h10"></path>
+<g class="non-terminal">
+<path d="M878.5 109h0"></path>
+<path d="M1026 109h0"></path>
+<rect x="878.5" y="98" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="952.25" y="113">SQLSourceSimple</text>
+</a>
+</g>
+</g>
+<path d="M1026 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1046 40h10"></path>
+<path d="M 1056 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteDataset.svg b/abap/statement_DeleteDataset.svg
new file mode 100644
index 00000000..40e259e3
--- /dev/null
+++ b/abap/statement_DeleteDataset.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="440" height="62" viewBox="0 0 440 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M390 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M390 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M299 31h0"></path>
+<rect x="143" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="35">"DELETE DATASET"</text>
+</g>
+<path d="M299 31h10"></path>
+<path d="M309 31h10"></path>
+<g class="non-terminal">
+<path d="M319 31h0"></path>
+<path d="M390 31h0"></path>
+<rect x="319" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="354.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M390 31h10"></path>
+<path d="M 400 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteDynpro.svg b/abap/statement_DeleteDynpro.svg
new file mode 100644
index 00000000..3ad6d6a5
--- /dev/null
+++ b/abap/statement_DeleteDynpro.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="431.5" height="62" viewBox="0 0 431.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M381.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M381.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"DELETE DYNPRO"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<path d="M300.5 31h10"></path>
+<g class="non-terminal">
+<path d="M310.5 31h0"></path>
+<path d="M381.5 31h0"></path>
+<rect x="310.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M381.5 31h10"></path>
+<path d="M 391.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteInternal.svg b/abap/statement_DeleteInternal.svg
new file mode 100644
index 00000000..264aa4d9
--- /dev/null
+++ b/abap/statement_DeleteInternal.svg
@@ -0,0 +1,760 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1865.5" height="553" viewBox="0 0 1865.5 553">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1815.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"DELETE"</text>
+</g>
+<path d="M138 31h10"></path>
+<g>
+<path d="M148 31h0"></path>
+<path d="M1815.5 31h0"></path>
+<path d="M148 31h20"></path>
+<g>
+<path d="M168 31h0"></path>
+<path d="M1057.5 31h738"></path>
+<g class="terminal">
+<path d="M168 31h0"></path>
+<path d="M247.5 31h0"></path>
+<rect x="168" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="35">"TABLE"</text>
+</g>
+<path d="M247.5 31h10"></path>
+<path d="M257.5 31h10"></path>
+<g class="non-terminal">
+<path d="M267.5 31h0"></path>
+<path d="M338.5 31h0"></path>
+<rect x="267.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="303" y="35">Target</text>
+</a>
+</g>
+<path d="M338.5 31h10"></path>
+<g>
+<path d="M348.5 31h0"></path>
+<path d="M1057.5 31h0"></path>
+<path d="M348.5 31h20"></path>
+<g>
+<path d="M368.5 31h0"></path>
+<path d="M707 31h330.5"></path>
+<path d="M398.5 31h10"></path>
+<g>
+<path d="M408.5 31h0"></path>
+<path d="M579 31h98"></path>
+<g class="terminal">
+<path d="M408.5 31h0"></path>
+<path d="M488 31h0"></path>
+<rect x="408.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="448.25" y="35">"INDEX"</text>
+</g>
+<path d="M488 31h10"></path>
+<path d="M498 31h10"></path>
+<g class="non-terminal">
+<path d="M508 31h0"></path>
+<path d="M579 31h0"></path>
+<rect x="508" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="543.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M677 31h10"></path>
+<path d="M398.5 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M408.5 61h0"></path>
+<path d="M677 61h0"></path>
+<g class="terminal">
+<path d="M408.5 61h0"></path>
+<path d="M522 61h0"></path>
+<rect x="408.5" y="50" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="465.25" y="65">"USING KEY"</text>
+</g>
+<path d="M522 61h10"></path>
+<g>
+<path d="M532 61h0"></path>
+<path d="M677 61h0"></path>
+<path d="M532 61h20"></path>
+<g class="non-terminal">
+<path d="M552 61h0"></path>
+<path d="M657 61h0"></path>
+<rect x="552" y="50" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="604.5" y="65">SimpleName</text>
+</a>
+</g>
+<path d="M657 61h20"></path>
+<path d="M532 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M552 91h0"></path>
+<path d="M631.5 91h25.5"></path>
+<rect x="552" y="80" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="591.75" y="95">Dynamic</text>
+</a>
+</g>
+<path d="M657 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M677 61a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 398.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="383.5" y="35" class="diagram-text">1+</text>
+<path d="M 687 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 694 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1037.5 31h20"></path>
+<path d="M348.5 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M368.5 130h0"></path>
+<path d="M570.5 130h467"></path>
+<path d="M368.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M388.5 110h162"></path>
+</g>
+<path d="M550.5 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M368.5 130h20"></path>
+<g>
+<path d="M388.5 130h0"></path>
+<path d="M550.5 130h0"></path>
+<g class="terminal">
+<path d="M388.5 130h0"></path>
+<path d="M459.5 130h0"></path>
+<rect x="388.5" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="424" y="134">"FROM"</text>
+</g>
+<path d="M459.5 130h10"></path>
+<path d="M469.5 130h10"></path>
+<g class="non-terminal">
+<path d="M479.5 130h0"></path>
+<path d="M550.5 130h0"></path>
+<rect x="479.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="515" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M550.5 130h20"></path>
+</g>
+<path d="M1037.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M348.5 31a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M368.5 169h0"></path>
+<path d="M1037.5 169h0"></path>
+<g class="terminal">
+<path d="M368.5 169h0"></path>
+<path d="M524.5 169h0"></path>
+<rect x="368.5" y="158" width="156" height="22" rx="10" ry="10"></rect>
+<text x="446.5" y="173">"WITH TABLE KEY"</text>
+</g>
+<path d="M524.5 169h10"></path>
+<g>
+<path d="M534.5 169h0"></path>
+<path d="M851.5 169h0"></path>
+<path d="M534.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M554.5 149h277"></path>
+</g>
+<path d="M831.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M534.5 169h20"></path>
+<g>
+<path d="M554.5 169h0"></path>
+<path d="M831.5 169h0"></path>
+<g>
+<path d="M554.5 169h0"></path>
+<path d="M699.5 169h0"></path>
+<path d="M554.5 169h20"></path>
+<g class="non-terminal">
+<path d="M574.5 169h0"></path>
+<path d="M679.5 169h0"></path>
+<rect x="574.5" y="158" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="627" y="173">SimpleName</text>
+</a>
+</g>
+<path d="M679.5 169h20"></path>
+<path d="M554.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M574.5 199h0"></path>
+<path d="M654 199h25.5"></path>
+<rect x="574.5" y="188" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="614.25" y="203">Dynamic</text>
+</a>
+</g>
+<path d="M679.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M699.5 169h10"></path>
+<g class="terminal">
+<path d="M709.5 169h0"></path>
+<path d="M831.5 169h0"></path>
+<rect x="709.5" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="770.5" y="173">"COMPONENTS"</text>
+</g>
+</g>
+<path d="M831.5 169h20"></path>
+</g>
+<path d="M851.5 169h10"></path>
+<g>
+<path d="M861.5 169h0"></path>
+<path d="M1037.5 169h0"></path>
+<path d="M861.5 169h10"></path>
+<g class="non-terminal">
+<path d="M871.5 169h0"></path>
+<path d="M1027.5 169h0"></path>
+<rect x="871.5" y="158" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompare"><text x="949.5" y="173">ComponentCompare</text>
+</a>
+</g>
+<path d="M1027.5 169h10"></path>
+<path d="M871.5 169a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M871.5 189h156"></path>
+</g>
+<path d="M1027.5 189a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1037.5 169a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1795.5 31h20"></path>
+<path d="M148 31a10 10 0 0 1 10 10v187a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 238h0"></path>
+<path d="M1795.5 238h0"></path>
+<g class="terminal">
+<path d="M168 238h0"></path>
+<path d="M409 238h0"></path>
+<rect x="168" y="227" width="241" height="22" rx="10" ry="10"></rect>
+<text x="288.5" y="242">"ADJACENT DUPLICATES FROM"</text>
+</g>
+<path d="M409 238h10"></path>
+<path d="M419 238h10"></path>
+<g class="non-terminal">
+<path d="M429 238h0"></path>
+<path d="M500 238h0"></path>
+<rect x="429" y="227" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="464.5" y="242">Target</text>
+</a>
+</g>
+<path d="M500 238h10"></path>
+<g>
+<path d="M510 238h0"></path>
+<path d="M818.5 238h0"></path>
+<path d="M510 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M530 218h268.5"></path>
+</g>
+<path d="M798.5 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M510 238h20"></path>
+<g>
+<path d="M530 238h0"></path>
+<path d="M798.5 238h0"></path>
+<g class="terminal">
+<path d="M530 238h0"></path>
+<path d="M643.5 238h0"></path>
+<rect x="530" y="227" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="586.75" y="242">"USING KEY"</text>
+</g>
+<path d="M643.5 238h10"></path>
+<g>
+<path d="M653.5 238h0"></path>
+<path d="M798.5 238h0"></path>
+<path d="M653.5 238h20"></path>
+<g class="non-terminal">
+<path d="M673.5 238h0"></path>
+<path d="M778.5 238h0"></path>
+<rect x="673.5" y="227" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="726" y="242">SimpleName</text>
+</a>
+</g>
+<path d="M778.5 238h20"></path>
+<path d="M653.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M673.5 268h0"></path>
+<path d="M753 268h25.5"></path>
+<rect x="673.5" y="257" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="713.25" y="272">Dynamic</text>
+</a>
+</g>
+<path d="M778.5 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M798.5 238h20"></path>
+</g>
+<g>
+<path d="M818.5 238h0"></path>
+<path d="M1487 238h0"></path>
+<path d="M818.5 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M838.5 218h628.5"></path>
+</g>
+<path d="M1467 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M818.5 238h20"></path>
+<g>
+<path d="M838.5 238h0"></path>
+<path d="M1467 238h0"></path>
+<g class="terminal">
+<path d="M838.5 238h0"></path>
+<path d="M952 238h0"></path>
+<rect x="838.5" y="227" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="895.25" y="242">"COMPARING"</text>
+</g>
+<path d="M952 238h10"></path>
+<g>
+<path d="M962 238h0"></path>
+<path d="M1467 238h0"></path>
+<path d="M962 238h20"></path>
+<g class="terminal">
+<path d="M982 238h0"></path>
+<path d="M1104 238h343"></path>
+<rect x="982" y="227" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1043" y="242">"ALL FIELDS"</text>
+</g>
+<path d="M1447 238h20"></path>
+<path d="M962 238a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M982 277h0"></path>
+<path d="M1447 277h0"></path>
+<path d="M982 277h10"></path>
+<g>
+<path d="M992 277h0"></path>
+<path d="M1437 277h0"></path>
+<path d="M992 277h20"></path>
+<g>
+<path d="M1012 277h0"></path>
+<path d="M1417 277h0"></path>
+<g class="non-terminal">
+<path d="M1012 277h0"></path>
+<path d="M1100 277h0"></path>
+<rect x="1012" y="266" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="1056" y="281">FieldSub</text>
+</a>
+</g>
+<path d="M1100 277h10"></path>
+<g>
+<path d="M1110 277h0"></path>
+<path d="M1263.5 277h0"></path>
+<path d="M1110 277a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1130 257h113.5"></path>
+</g>
+<path d="M1243.5 257a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1110 277h20"></path>
+<g class="non-terminal">
+<path d="M1130 277h0"></path>
+<path d="M1243.5 277h0"></path>
+<rect x="1130" y="266" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldOffset"><text x="1186.75" y="281">FieldOffset</text>
+</a>
+</g>
+<path d="M1243.5 277h20"></path>
+</g>
+<g>
+<path d="M1263.5 277h0"></path>
+<path d="M1417 277h0"></path>
+<path d="M1263.5 277a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1283.5 257h113.5"></path>
+</g>
+<path d="M1397 257a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1263.5 277h20"></path>
+<g class="non-terminal">
+<path d="M1283.5 277h0"></path>
+<path d="M1397 277h0"></path>
+<rect x="1283.5" y="266" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="1340.25" y="281">FieldLength</text>
+</a>
+</g>
+<path d="M1397 277h20"></path>
+</g>
+</g>
+<path d="M1417 277h20"></path>
+<path d="M992 277a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1012 307h0"></path>
+<path d="M1091.5 307h325.5"></path>
+<rect x="1012" y="296" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1051.75" y="311">Dynamic</text>
+</a>
+</g>
+<path d="M1417 307a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1437 277h10"></path>
+<path d="M992 277a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M992 326h445"></path>
+</g>
+<path d="M1437 326a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1447 277a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1467 238h20"></path>
+</g>
+<g>
+<path d="M1487 238h0"></path>
+<path d="M1795.5 238h0"></path>
+<path d="M1487 238a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1507 218h268.5"></path>
+</g>
+<path d="M1775.5 218a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1487 238h20"></path>
+<g>
+<path d="M1507 238h0"></path>
+<path d="M1775.5 238h0"></path>
+<g class="terminal">
+<path d="M1507 238h0"></path>
+<path d="M1620.5 238h0"></path>
+<rect x="1507" y="227" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1563.75" y="242">"USING KEY"</text>
+</g>
+<path d="M1620.5 238h10"></path>
+<g>
+<path d="M1630.5 238h0"></path>
+<path d="M1775.5 238h0"></path>
+<path d="M1630.5 238h20"></path>
+<g class="non-terminal">
+<path d="M1650.5 238h0"></path>
+<path d="M1755.5 238h0"></path>
+<rect x="1650.5" y="227" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1703" y="242">SimpleName</text>
+</a>
+</g>
+<path d="M1755.5 238h20"></path>
+<path d="M1630.5 238a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1650.5 268h0"></path>
+<path d="M1730 268h25.5"></path>
+<rect x="1650.5" y="257" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1690.25" y="272">Dynamic</text>
+</a>
+</g>
+<path d="M1755.5 268a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1775.5 238h20"></path>
+</g>
+</g>
+<path d="M1795.5 238a10 10 0 0 0 10 -10v-187a10 10 0 0 1 10 -10"></path>
+<path d="M148 31a10 10 0 0 1 10 10v303a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 354h0"></path>
+<path d="M1258 354h537.5"></path>
+<g class="non-terminal">
+<path d="M168 354h0"></path>
+<path d="M239 354h0"></path>
+<rect x="168" y="343" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="203.5" y="358">Target</text>
+</a>
+</g>
+<path d="M239 354h10"></path>
+<g>
+<path d="M249 354h0"></path>
+<path d="M958 354h0"></path>
+<path d="M249 354h20"></path>
+<g>
+<path d="M269 354h0"></path>
+<path d="M607.5 354h330.5"></path>
+<path d="M299 354h10"></path>
+<g>
+<path d="M309 354h0"></path>
+<path d="M479.5 354h98"></path>
+<g class="terminal">
+<path d="M309 354h0"></path>
+<path d="M388.5 354h0"></path>
+<rect x="309" y="343" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="348.75" y="358">"INDEX"</text>
+</g>
+<path d="M388.5 354h10"></path>
+<path d="M398.5 354h10"></path>
+<g class="non-terminal">
+<path d="M408.5 354h0"></path>
+<path d="M479.5 354h0"></path>
+<rect x="408.5" y="343" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="444" y="358">Source</text>
+</a>
+</g>
+</g>
+<path d="M577.5 354h10"></path>
+<path d="M299 354v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M309 384h0"></path>
+<path d="M577.5 384h0"></path>
+<g class="terminal">
+<path d="M309 384h0"></path>
+<path d="M422.5 384h0"></path>
+<rect x="309" y="373" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="365.75" y="388">"USING KEY"</text>
+</g>
+<path d="M422.5 384h10"></path>
+<g>
+<path d="M432.5 384h0"></path>
+<path d="M577.5 384h0"></path>
+<path d="M432.5 384h20"></path>
+<g class="non-terminal">
+<path d="M452.5 384h0"></path>
+<path d="M557.5 384h0"></path>
+<rect x="452.5" y="373" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="505" y="388">SimpleName</text>
+</a>
+</g>
+<path d="M557.5 384h20"></path>
+<path d="M432.5 384a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M452.5 414h0"></path>
+<path d="M532 414h25.5"></path>
+<rect x="452.5" y="403" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="492.25" y="418">Dynamic</text>
+</a>
+</g>
+<path d="M557.5 414a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M577.5 384a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 299 344 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="284" y="358" class="diagram-text">1+</text>
+<path d="M 587.5 344 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 594.5 352 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M938 354h20"></path>
+<path d="M249 354a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M269 453h0"></path>
+<path d="M656 453h282"></path>
+<g>
+<path d="M269 453h0"></path>
+<path d="M471 453h0"></path>
+<path d="M269 453a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M289 433h162"></path>
+</g>
+<path d="M451 433a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M269 453h20"></path>
+<g>
+<path d="M289 453h0"></path>
+<path d="M451 453h0"></path>
+<g class="terminal">
+<path d="M289 453h0"></path>
+<path d="M360 453h0"></path>
+<rect x="289" y="442" width="71" height="22" rx="10" ry="10"></rect>
+<text x="324.5" y="457">"FROM"</text>
+</g>
+<path d="M360 453h10"></path>
+<path d="M370 453h10"></path>
+<g class="non-terminal">
+<path d="M380 453h0"></path>
+<path d="M451 453h0"></path>
+<rect x="380" y="442" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="415.5" y="457">Source</text>
+</a>
+</g>
+</g>
+<path d="M451 453h20"></path>
+</g>
+<g>
+<path d="M471 453h0"></path>
+<path d="M656 453h0"></path>
+<path d="M471 453a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M491 433h145"></path>
+</g>
+<path d="M636 433a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M471 453h20"></path>
+<g>
+<path d="M491 453h0"></path>
+<path d="M636 453h0"></path>
+<g class="terminal">
+<path d="M491 453h0"></path>
+<path d="M545 453h0"></path>
+<rect x="491" y="442" width="54" height="22" rx="10" ry="10"></rect>
+<text x="518" y="457">"TO"</text>
+</g>
+<path d="M545 453h10"></path>
+<path d="M555 453h10"></path>
+<g class="non-terminal">
+<path d="M565 453h0"></path>
+<path d="M636 453h0"></path>
+<rect x="565" y="442" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="600.5" y="457">Source</text>
+</a>
+</g>
+</g>
+<path d="M636 453h20"></path>
+</g>
+</g>
+<path d="M938 453a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M249 354a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M269 492h0"></path>
+<path d="M938 492h0"></path>
+<g class="terminal">
+<path d="M269 492h0"></path>
+<path d="M425 492h0"></path>
+<rect x="269" y="481" width="156" height="22" rx="10" ry="10"></rect>
+<text x="347" y="496">"WITH TABLE KEY"</text>
+</g>
+<path d="M425 492h10"></path>
+<g>
+<path d="M435 492h0"></path>
+<path d="M752 492h0"></path>
+<path d="M435 492a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M455 472h277"></path>
+</g>
+<path d="M732 472a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M435 492h20"></path>
+<g>
+<path d="M455 492h0"></path>
+<path d="M732 492h0"></path>
+<g>
+<path d="M455 492h0"></path>
+<path d="M600 492h0"></path>
+<path d="M455 492h20"></path>
+<g class="non-terminal">
+<path d="M475 492h0"></path>
+<path d="M580 492h0"></path>
+<rect x="475" y="481" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="527.5" y="496">SimpleName</text>
+</a>
+</g>
+<path d="M580 492h20"></path>
+<path d="M455 492a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M475 522h0"></path>
+<path d="M554.5 522h25.5"></path>
+<rect x="475" y="511" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="514.75" y="526">Dynamic</text>
+</a>
+</g>
+<path d="M580 522a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M600 492h10"></path>
+<g class="terminal">
+<path d="M610 492h0"></path>
+<path d="M732 492h0"></path>
+<rect x="610" y="481" width="122" height="22" rx="10" ry="10"></rect>
+<text x="671" y="496">"COMPONENTS"</text>
+</g>
+</g>
+<path d="M732 492h20"></path>
+</g>
+<path d="M752 492h10"></path>
+<g>
+<path d="M762 492h0"></path>
+<path d="M938 492h0"></path>
+<path d="M762 492h10"></path>
+<g class="non-terminal">
+<path d="M772 492h0"></path>
+<path d="M928 492h0"></path>
+<rect x="772" y="481" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompare"><text x="850" y="496">ComponentCompare</text>
+</a>
+</g>
+<path d="M928 492h10"></path>
+<path d="M772 492a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M772 512h156"></path>
+</g>
+<path d="M928 512a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M938 492a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M958 354h0"></path>
+<path d="M1258 354h0"></path>
+<path d="M958 354a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M978 334h260"></path>
+</g>
+<path d="M1238 334a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M958 354h20"></path>
+<g>
+<path d="M978 354h0"></path>
+<path d="M1238 354h0"></path>
+<g class="terminal">
+<path d="M978 354h0"></path>
+<path d="M1057.5 354h0"></path>
+<rect x="978" y="343" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.75" y="358">"WHERE"</text>
+</g>
+<path d="M1057.5 354h10"></path>
+<g>
+<path d="M1067.5 354h0"></path>
+<path d="M1238 354h0"></path>
+<path d="M1067.5 354h20"></path>
+<g class="non-terminal">
+<path d="M1087.5 354h0"></path>
+<path d="M1218 354h0"></path>
+<rect x="1087.5" y="343" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="1152.75" y="358">ComponentCond</text>
+</a>
+</g>
+<path d="M1218 354h20"></path>
+<path d="M1067.5 354a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1087.5 384h0"></path>
+<path d="M1167 384h51"></path>
+<rect x="1087.5" y="373" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1127.25" y="388">Dynamic</text>
+</a>
+</g>
+<path d="M1218 384a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1238 354h20"></path>
+</g>
+</g>
+<path d="M1795.5 354a10 10 0 0 0 10 -10v-303a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1815.5 31h10"></path>
+<path d="M 1825.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteMemory.svg b/abap/statement_DeleteMemory.svg
new file mode 100644
index 00000000..512c993d
--- /dev/null
+++ b/abap/statement_DeleteMemory.svg
@@ -0,0 +1,193 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1201" height="101" viewBox="0 0 1201 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1151 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M1151 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"DELETE FROM"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<g>
+<path d="M283.5 31h0"></path>
+<path d="M1151 31h0"></path>
+<path d="M283.5 31h20"></path>
+<g>
+<path d="M303.5 31h0"></path>
+<path d="M508 31h623"></path>
+<g class="terminal">
+<path d="M303.5 31h0"></path>
+<path d="M417 31h0"></path>
+<rect x="303.5" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="360.25" y="35">"MEMORY ID"</text>
+</g>
+<path d="M417 31h10"></path>
+<path d="M427 31h10"></path>
+<g class="non-terminal">
+<path d="M437 31h0"></path>
+<path d="M508 31h0"></path>
+<rect x="437" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="472.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M1131 31h20"></path>
+<path d="M283.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303.5 70h0"></path>
+<path d="M1131 70h0"></path>
+<g class="terminal">
+<path d="M303.5 70h0"></path>
+<path d="M451 70h0"></path>
+<rect x="303.5" y="59" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="377.25" y="74">"SHARED MEMORY"</text>
+</g>
+<path d="M451 70h10"></path>
+<path d="M461 70h10"></path>
+<g class="non-terminal">
+<path d="M471 70h0"></path>
+<path d="M533.5 70h0"></path>
+<rect x="471" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="502.25" y="74">Field</text>
+</a>
+</g>
+<path d="M533.5 70h10"></path>
+<path d="M543.5 70h10"></path>
+<g class="terminal">
+<path d="M553.5 70h0"></path>
+<path d="M599 70h0"></path>
+<rect x="553.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="576.25" y="74">"("</text>
+</g>
+<path d="M599 70h10"></path>
+<path d="M609 70h10"></path>
+<g class="non-terminal">
+<path d="M619 70h0"></path>
+<path d="M681.5 70h0"></path>
+<rect x="619" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="650.25" y="74">Field</text>
+</a>
+</g>
+<path d="M681.5 70h10"></path>
+<path d="M691.5 70h10"></path>
+<g class="terminal">
+<path d="M701.5 70h0"></path>
+<path d="M747 70h0"></path>
+<rect x="701.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="724.25" y="74">")"</text>
+</g>
+<path d="M747 70h10"></path>
+<g>
+<path d="M757 70h0"></path>
+<path d="M976 70h0"></path>
+<path d="M757 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M777 50h179"></path>
+</g>
+<path d="M956 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M757 70h20"></path>
+<g>
+<path d="M777 70h0"></path>
+<path d="M956 70h0"></path>
+<g class="terminal">
+<path d="M777 70h0"></path>
+<path d="M865 70h0"></path>
+<rect x="777" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="821" y="74">"CLIENT"</text>
+</g>
+<path d="M865 70h10"></path>
+<path d="M875 70h10"></path>
+<g class="non-terminal">
+<path d="M885 70h0"></path>
+<path d="M956 70h0"></path>
+<rect x="885" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="920.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M956 70h20"></path>
+</g>
+<path d="M976 70h10"></path>
+<g>
+<path d="M986 70h0"></path>
+<path d="M1131 70h0"></path>
+<g class="terminal">
+<path d="M986 70h0"></path>
+<path d="M1040 70h0"></path>
+<rect x="986" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1013" y="74">"ID"</text>
+</g>
+<path d="M1040 70h10"></path>
+<path d="M1050 70h10"></path>
+<g class="non-terminal">
+<path d="M1060 70h0"></path>
+<path d="M1131 70h0"></path>
+<rect x="1060" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1095.5" y="74">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1131 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1151 31h10"></path>
+<path d="M 1161 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteReport.svg b/abap/statement_DeleteReport.svg
new file mode 100644
index 00000000..f0373234
--- /dev/null
+++ b/abap/statement_DeleteReport.svg
@@ -0,0 +1,110 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="652" height="71" viewBox="0 0 652 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M602 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M602 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"DELETE REPORT"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<path d="M300.5 40h10"></path>
+<g class="non-terminal">
+<path d="M310.5 40h0"></path>
+<path d="M381.5 40h0"></path>
+<rect x="310.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="44">Source</text>
+</a>
+</g>
+<path d="M381.5 40h10"></path>
+<g>
+<path d="M391.5 40h0"></path>
+<path d="M602 40h0"></path>
+<path d="M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M411.5 20h170.5"></path>
+</g>
+<path d="M582 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M391.5 40h20"></path>
+<g>
+<path d="M411.5 40h0"></path>
+<path d="M582 40h0"></path>
+<g class="terminal">
+<path d="M411.5 40h0"></path>
+<path d="M491 40h0"></path>
+<rect x="411.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="451.25" y="44">"STATE"</text>
+</g>
+<path d="M491 40h10"></path>
+<path d="M501 40h10"></path>
+<g class="non-terminal">
+<path d="M511 40h0"></path>
+<path d="M582 40h0"></path>
+<rect x="511" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="546.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M582 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M602 40h10"></path>
+<path d="M 612 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_DeleteTextpool.svg b/abap/statement_DeleteTextpool.svg
new file mode 100644
index 00000000..7bc8d9bd
--- /dev/null
+++ b/abap/statement_DeleteTextpool.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="905" height="71" viewBox="0 0 905 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M855 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M855 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"DELETE TEXTPOOL"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M398.5 40h0"></path>
+<rect x="327.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="44">Source</text>
+</a>
+</g>
+<path d="M398.5 40h10"></path>
+<g>
+<path d="M408.5 40h0"></path>
+<path d="M644.5 40h0"></path>
+<path d="M408.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M428.5 20h196"></path>
+</g>
+<path d="M624.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M408.5 40h20"></path>
+<g>
+<path d="M428.5 40h0"></path>
+<path d="M624.5 40h0"></path>
+<g class="terminal">
+<path d="M428.5 40h0"></path>
+<path d="M533.5 40h0"></path>
+<rect x="428.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="481" y="44">"LANGUAGE"</text>
+</g>
+<path d="M533.5 40h10"></path>
+<path d="M543.5 40h10"></path>
+<g class="non-terminal">
+<path d="M553.5 40h0"></path>
+<path d="M624.5 40h0"></path>
+<rect x="553.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="589" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M624.5 40h20"></path>
+</g>
+<g>
+<path d="M644.5 40h0"></path>
+<path d="M855 40h0"></path>
+<path d="M644.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M664.5 20h170.5"></path>
+</g>
+<path d="M835 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M644.5 40h20"></path>
+<g>
+<path d="M664.5 40h0"></path>
+<path d="M835 40h0"></path>
+<g class="terminal">
+<path d="M664.5 40h0"></path>
+<path d="M744 40h0"></path>
+<rect x="664.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="704.25" y="44">"STATE"</text>
+</g>
+<path d="M744 40h10"></path>
+<path d="M754 40h10"></path>
+<g class="non-terminal">
+<path d="M764 40h0"></path>
+<path d="M835 40h0"></path>
+<rect x="764" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="799.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M835 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M855 40h10"></path>
+<path d="M 865 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Demand.svg b/abap/statement_Demand.svg
new file mode 100644
index 00000000..497f5785
--- /dev/null
+++ b/abap/statement_Demand.svg
@@ -0,0 +1,159 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1070" height="80" viewBox="0 0 1070 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1020 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1020 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"DEMAND"</text>
+</g>
+<path d="M231 40h10"></path>
+<path d="M241 40h10"></path>
+<g>
+<path d="M251 40h0"></path>
+<path d="M490 40h0"></path>
+<path d="M251 40h10"></path>
+<g>
+<path d="M261 40h0"></path>
+<path d="M480 40h0"></path>
+<g class="non-terminal">
+<path d="M261 40h0"></path>
+<path d="M323.5 40h0"></path>
+<rect x="261" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="292.25" y="44">Field</text>
+</a>
+</g>
+<path d="M323.5 40h10"></path>
+<path d="M333.5 40h10"></path>
+<g class="terminal">
+<path d="M343.5 40h0"></path>
+<path d="M389 40h0"></path>
+<rect x="343.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="366.25" y="44">"="</text>
+</g>
+<path d="M389 40h10"></path>
+<path d="M399 40h10"></path>
+<g class="non-terminal">
+<path d="M409 40h0"></path>
+<path d="M480 40h0"></path>
+<rect x="409" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="444.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M480 40h10"></path>
+<path d="M261 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M261 60h219"></path>
+</g>
+<path d="M480 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M490 40h10"></path>
+<path d="M500 40h10"></path>
+<g class="terminal">
+<path d="M510 40h0"></path>
+<path d="M649 40h0"></path>
+<rect x="510" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="579.5" y="44">"FROM CONTEXT"</text>
+</g>
+<path d="M649 40h10"></path>
+<path d="M659 40h10"></path>
+<g class="non-terminal">
+<path d="M669 40h0"></path>
+<path d="M731.5 40h0"></path>
+<rect x="669" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="700.25" y="44">Field</text>
+</a>
+</g>
+<path d="M731.5 40h10"></path>
+<g>
+<path d="M741.5 40h0"></path>
+<path d="M1020 40h0"></path>
+<path d="M741.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M761.5 20h238.5"></path>
+</g>
+<path d="M1000 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M741.5 40h20"></path>
+<g>
+<path d="M761.5 40h0"></path>
+<path d="M1000 40h0"></path>
+<g class="terminal">
+<path d="M761.5 40h0"></path>
+<path d="M909 40h0"></path>
+<rect x="761.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="835.25" y="44">"MESSAGES INTO"</text>
+</g>
+<path d="M909 40h10"></path>
+<path d="M919 40h10"></path>
+<g class="non-terminal">
+<path d="M929 40h0"></path>
+<path d="M1000 40h0"></path>
+<rect x="929" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="964.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1000 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1020 40h10"></path>
+<path d="M 1030 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Describe.svg b/abap/statement_Describe.svg
new file mode 100644
index 00000000..882e5097
--- /dev/null
+++ b/abap/statement_Describe.svg
@@ -0,0 +1,701 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1286" height="680" viewBox="0 0 1286 680">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1236 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1236 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"DESCRIBE"</text>
+</g>
+<path d="M248 40h10"></path>
+<g>
+<path d="M258 40h0"></path>
+<path d="M1236 40h0"></path>
+<path d="M258 40h20"></path>
+<g>
+<path d="M278 40h0"></path>
+<path d="M781.5 40h434.5"></path>
+<g class="terminal">
+<path d="M278 40h0"></path>
+<path d="M357.5 40h0"></path>
+<rect x="278" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="317.75" y="44">"TABLE"</text>
+</g>
+<path d="M357.5 40h10"></path>
+<path d="M367.5 40h10"></path>
+<g class="non-terminal">
+<path d="M377.5 40h0"></path>
+<path d="M482.5 40h0"></path>
+<rect x="377.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="430" y="44">FieldChain</text>
+</a>
+</g>
+<path d="M482.5 40h10"></path>
+<g>
+<path d="M492.5 40h0"></path>
+<path d="M781.5 40h0"></path>
+<path d="M492.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M512.5 20h249"></path>
+</g>
+<path d="M761.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M492.5 40h20"></path>
+<g>
+<path d="M512.5 40h0"></path>
+<path d="M761.5 40h0"></path>
+<path d="M542.5 40h10"></path>
+<g>
+<path d="M552.5 40h0"></path>
+<path d="M723 40h8.5"></path>
+<g class="terminal">
+<path d="M552.5 40h0"></path>
+<path d="M632 40h0"></path>
+<rect x="552.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="592.25" y="44">"LINES"</text>
+</g>
+<path d="M632 40h10"></path>
+<path d="M642 40h10"></path>
+<g class="non-terminal">
+<path d="M652 40h0"></path>
+<path d="M723 40h0"></path>
+<rect x="652" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="687.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M731.5 40h10"></path>
+<path d="M542.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M552.5 70h0"></path>
+<path d="M714.5 70h17"></path>
+<g class="terminal">
+<path d="M552.5 70h0"></path>
+<path d="M623.5 70h0"></path>
+<rect x="552.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="588" y="74">"KIND"</text>
+</g>
+<path d="M623.5 70h10"></path>
+<path d="M633.5 70h10"></path>
+<g class="non-terminal">
+<path d="M643.5 70h0"></path>
+<path d="M714.5 70h0"></path>
+<rect x="643.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="679" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M731.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M542.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M552.5 100h0"></path>
+<path d="M731.5 100h0"></path>
+<g class="terminal">
+<path d="M552.5 100h0"></path>
+<path d="M640.5 100h0"></path>
+<rect x="552.5" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="596.5" y="104">"OCCURS"</text>
+</g>
+<path d="M640.5 100h10"></path>
+<path d="M650.5 100h10"></path>
+<g class="non-terminal">
+<path d="M660.5 100h0"></path>
+<path d="M731.5 100h0"></path>
+<rect x="660.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="696" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M731.5 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 542.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="527.5" y="44" class="diagram-text">1+</text>
+<path d="M 741.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 748.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M761.5 40h20"></path>
+</g>
+</g>
+<path d="M1216 40h20"></path>
+<path d="M258 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M278 130h0"></path>
+<path d="M1066 130h150"></path>
+<g class="terminal">
+<path d="M278 130h0"></path>
+<path d="M357.5 130h0"></path>
+<rect x="278" y="119" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="317.75" y="134">"FIELD"</text>
+</g>
+<path d="M357.5 130h10"></path>
+<path d="M367.5 130h10"></path>
+<g class="non-terminal">
+<path d="M377.5 130h0"></path>
+<path d="M448.5 130h0"></path>
+<rect x="377.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="413" y="134">Source</text>
+</a>
+</g>
+<path d="M448.5 130h10"></path>
+<path d="M458.5 130h10"></path>
+<g>
+<path d="M468.5 130h0"></path>
+<path d="M1066 130h0"></path>
+<path d="M498.5 130h10"></path>
+<g>
+<path d="M508.5 130h0"></path>
+<path d="M670.5 130h365.5"></path>
+<g class="terminal">
+<path d="M508.5 130h0"></path>
+<path d="M579.5 130h0"></path>
+<rect x="508.5" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="544" y="134">"TYPE"</text>
+</g>
+<path d="M579.5 130h10"></path>
+<path d="M589.5 130h10"></path>
+<g class="non-terminal">
+<path d="M599.5 130h0"></path>
+<path d="M670.5 130h0"></path>
+<rect x="599.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="635" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 130h10"></path>
+<path d="M498.5 130v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 160h0"></path>
+<path d="M721.5 160h314.5"></path>
+<g class="terminal">
+<path d="M508.5 160h0"></path>
+<path d="M630.5 160h0"></path>
+<rect x="508.5" y="149" width="122" height="22" rx="10" ry="10"></rect>
+<text x="569.5" y="164">"COMPONENTS"</text>
+</g>
+<path d="M630.5 160h10"></path>
+<path d="M640.5 160h10"></path>
+<g class="non-terminal">
+<path d="M650.5 160h0"></path>
+<path d="M721.5 160h0"></path>
+<rect x="650.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="686" y="164">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 160a10 10 0 0 0 10 -10v-20"></path>
+<path d="M498.5 130v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 199h0"></path>
+<path d="M1036 199h0"></path>
+<g class="terminal">
+<path d="M508.5 199h0"></path>
+<path d="M596.5 199h0"></path>
+<rect x="508.5" y="188" width="88" height="22" rx="10" ry="10"></rect>
+<text x="552.5" y="203">"LENGTH"</text>
+</g>
+<path d="M596.5 199h10"></path>
+<path d="M606.5 199h10"></path>
+<g class="non-terminal">
+<path d="M616.5 199h0"></path>
+<path d="M687.5 199h0"></path>
+<rect x="616.5" y="188" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="652" y="203">Target</text>
+</a>
+</g>
+<path d="M687.5 199h10"></path>
+<g>
+<path d="M697.5 199h0"></path>
+<path d="M1036 199h0"></path>
+<path d="M697.5 199a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M717.5 179h298.5"></path>
+</g>
+<path d="M1016 179a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M697.5 199h20"></path>
+<g>
+<path d="M717.5 199h0"></path>
+<path d="M1016 199h0"></path>
+<g class="terminal">
+<path d="M717.5 199h0"></path>
+<path d="M771.5 199h0"></path>
+<rect x="717.5" y="188" width="54" height="22" rx="10" ry="10"></rect>
+<text x="744.5" y="203">"IN"</text>
+</g>
+<path d="M771.5 199h10"></path>
+<g>
+<path d="M781.5 199h0"></path>
+<path d="M935 199h0"></path>
+<path d="M781.5 199h20"></path>
+<g class="terminal">
+<path d="M801.5 199h0"></path>
+<path d="M872.5 199h42.5"></path>
+<rect x="801.5" y="188" width="71" height="22" rx="10" ry="10"></rect>
+<text x="837" y="203">"BYTE"</text>
+</g>
+<path d="M915 199h20"></path>
+<path d="M781.5 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M801.5 229h0"></path>
+<path d="M915 229h0"></path>
+<rect x="801.5" y="218" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="858.25" y="233">"CHARACTER"</text>
+</g>
+<path d="M915 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M935 199h10"></path>
+<g class="terminal">
+<path d="M945 199h0"></path>
+<path d="M1016 199h0"></path>
+<rect x="945" y="188" width="71" height="22" rx="10" ry="10"></rect>
+<text x="980.5" y="203">"MODE"</text>
+</g>
+</g>
+<path d="M1016 199h20"></path>
+</g>
+</g>
+<path d="M1036 199a10 10 0 0 0 10 -10v-59"></path>
+<path d="M498.5 130v119a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 259h0"></path>
+<path d="M704.5 259h331.5"></path>
+<g class="terminal">
+<path d="M508.5 259h0"></path>
+<path d="M613.5 259h0"></path>
+<rect x="508.5" y="248" width="105" height="22" rx="10" ry="10"></rect>
+<text x="561" y="263">"DECIMALS"</text>
+</g>
+<path d="M613.5 259h10"></path>
+<path d="M623.5 259h10"></path>
+<g class="non-terminal">
+<path d="M633.5 259h0"></path>
+<path d="M704.5 259h0"></path>
+<rect x="633.5" y="248" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="669" y="263">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 259a10 10 0 0 0 10 -10v-119"></path>
+<path d="M498.5 130v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 289h0"></path>
+<path d="M696 289h340"></path>
+<g class="terminal">
+<path d="M508.5 289h0"></path>
+<path d="M605 289h0"></path>
+<rect x="508.5" y="278" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="556.75" y="293">"HELP-ID"</text>
+</g>
+<path d="M605 289h10"></path>
+<path d="M615 289h10"></path>
+<g class="non-terminal">
+<path d="M625 289h0"></path>
+<path d="M696 289h0"></path>
+<rect x="625" y="278" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="660.5" y="293">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 289a10 10 0 0 0 10 -10v-149"></path>
+<path d="M498.5 130v179a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 319h0"></path>
+<path d="M747 319h289"></path>
+<g class="terminal">
+<path d="M508.5 319h0"></path>
+<path d="M656 319h0"></path>
+<rect x="508.5" y="308" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="582.25" y="323">"OUTPUT-LENGTH"</text>
+</g>
+<path d="M656 319h10"></path>
+<path d="M666 319h10"></path>
+<g class="non-terminal">
+<path d="M676 319h0"></path>
+<path d="M747 319h0"></path>
+<rect x="676" y="308" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="711.5" y="323">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 319a10 10 0 0 0 10 -10v-179"></path>
+<path d="M498.5 130v209a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 349h0"></path>
+<path d="M713 349h323"></path>
+<g class="terminal">
+<path d="M508.5 349h0"></path>
+<path d="M622 349h0"></path>
+<rect x="508.5" y="338" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="565.25" y="353">"EDIT MASK"</text>
+</g>
+<path d="M622 349h10"></path>
+<path d="M632 349h10"></path>
+<g class="non-terminal">
+<path d="M642 349h0"></path>
+<path d="M713 349h0"></path>
+<rect x="642" y="338" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="677.5" y="353">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 349a10 10 0 0 0 10 -10v-209"></path>
+<path d="M498.5 130v239a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508.5 379h0"></path>
+<path d="M670.5 379h365.5"></path>
+<g class="terminal">
+<path d="M508.5 379h0"></path>
+<path d="M579.5 379h0"></path>
+<rect x="508.5" y="368" width="71" height="22" rx="10" ry="10"></rect>
+<text x="544" y="383">"INTO"</text>
+</g>
+<path d="M579.5 379h10"></path>
+<path d="M589.5 379h10"></path>
+<g class="non-terminal">
+<path d="M599.5 379h0"></path>
+<path d="M670.5 379h0"></path>
+<rect x="599.5" y="368" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="635" y="383">Target</text>
+</a>
+</g>
+</g>
+<path d="M1036 379a10 10 0 0 0 10 -10v-239"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 498.5 120 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="483.5" y="134" class="diagram-text">1+</text>
+<path d="M 1046 120 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1053 128 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1216 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M258 40a10 10 0 0 1 10 10v349a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M278 409h0"></path>
+<path d="M1216 409h0"></path>
+<g class="terminal">
+<path d="M278 409h0"></path>
+<path d="M451 409h0"></path>
+<rect x="278" y="398" width="173" height="22" rx="10" ry="10"></rect>
+<text x="364.5" y="413">"DISTANCE BETWEEN"</text>
+</g>
+<path d="M451 409h10"></path>
+<path d="M461 409h10"></path>
+<g class="non-terminal">
+<path d="M471 409h0"></path>
+<path d="M542 409h0"></path>
+<rect x="471" y="398" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="506.5" y="413">Source</text>
+</a>
+</g>
+<path d="M542 409h10"></path>
+<path d="M552 409h10"></path>
+<g class="terminal">
+<path d="M562 409h0"></path>
+<path d="M624.5 409h0"></path>
+<rect x="562" y="398" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="593.25" y="413">"AND"</text>
+</g>
+<path d="M624.5 409h10"></path>
+<path d="M634.5 409h10"></path>
+<g class="non-terminal">
+<path d="M644.5 409h0"></path>
+<path d="M715.5 409h0"></path>
+<rect x="644.5" y="398" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="680" y="413">Source</text>
+</a>
+</g>
+<path d="M715.5 409h10"></path>
+<path d="M725.5 409h10"></path>
+<g class="terminal">
+<path d="M735.5 409h0"></path>
+<path d="M806.5 409h0"></path>
+<rect x="735.5" y="398" width="71" height="22" rx="10" ry="10"></rect>
+<text x="771" y="413">"INTO"</text>
+</g>
+<path d="M806.5 409h10"></path>
+<path d="M816.5 409h10"></path>
+<g class="non-terminal">
+<path d="M826.5 409h0"></path>
+<path d="M897.5 409h0"></path>
+<rect x="826.5" y="398" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="862" y="413">Target</text>
+</a>
+</g>
+<path d="M897.5 409h10"></path>
+<path d="M907.5 409h10"></path>
+<g>
+<path d="M917.5 409h0"></path>
+<path d="M1216 409h0"></path>
+<g class="terminal">
+<path d="M917.5 409h0"></path>
+<path d="M971.5 409h0"></path>
+<rect x="917.5" y="398" width="54" height="22" rx="10" ry="10"></rect>
+<text x="944.5" y="413">"IN"</text>
+</g>
+<path d="M971.5 409h10"></path>
+<g>
+<path d="M981.5 409h0"></path>
+<path d="M1135 409h0"></path>
+<path d="M981.5 409h20"></path>
+<g class="terminal">
+<path d="M1001.5 409h0"></path>
+<path d="M1072.5 409h42.5"></path>
+<rect x="1001.5" y="398" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1037" y="413">"BYTE"</text>
+</g>
+<path d="M1115 409h20"></path>
+<path d="M981.5 409a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1001.5 439h0"></path>
+<path d="M1115 439h0"></path>
+<rect x="1001.5" y="428" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1058.25" y="443">"CHARACTER"</text>
+</g>
+<path d="M1115 439a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1135 409h10"></path>
+<g class="terminal">
+<path d="M1145 409h0"></path>
+<path d="M1216 409h0"></path>
+<rect x="1145" y="398" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1180.5" y="413">"MODE"</text>
+</g>
+</g>
+</g>
+<path d="M1216 409a10 10 0 0 0 10 -10v-349a10 10 0 0 1 10 -10"></path>
+<path d="M258 40a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M278 469h0"></path>
+<path d="M694.5 469h521.5"></path>
+<g class="terminal">
+<path d="M278 469h0"></path>
+<path d="M349 469h0"></path>
+<rect x="278" y="458" width="71" height="22" rx="10" ry="10"></rect>
+<text x="313.5" y="473">"LIST"</text>
+</g>
+<path d="M349 469h10"></path>
+<path d="M359 469h10"></path>
+<g>
+<path d="M369 469h0"></path>
+<path d="M694.5 469h0"></path>
+<path d="M399 469h10"></path>
+<g>
+<path d="M409 469h0"></path>
+<path d="M664.5 469h0"></path>
+<g class="terminal">
+<path d="M409 469h0"></path>
+<path d="M573.5 469h0"></path>
+<rect x="409" y="458" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="491.25" y="473">"NUMBER OF LINES"</text>
+</g>
+<path d="M573.5 469h10"></path>
+<path d="M583.5 469h10"></path>
+<g class="non-terminal">
+<path d="M593.5 469h0"></path>
+<path d="M664.5 469h0"></path>
+<rect x="593.5" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="629" y="473">Target</text>
+</a>
+</g>
+</g>
+<path d="M664.5 469h10"></path>
+<path d="M399 469v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 499h0"></path>
+<path d="M579.5 499h85"></path>
+<g class="terminal">
+<path d="M409 499h0"></path>
+<path d="M488.5 499h0"></path>
+<rect x="409" y="488" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="448.75" y="503">"INDEX"</text>
+</g>
+<path d="M488.5 499h10"></path>
+<path d="M498.5 499h10"></path>
+<g class="non-terminal">
+<path d="M508.5 499h0"></path>
+<path d="M579.5 499h0"></path>
+<rect x="508.5" y="488" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="544" y="503">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 499a10 10 0 0 0 10 -10v-20"></path>
+<path d="M399 469v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 529h0"></path>
+<path d="M571 529h93.5"></path>
+<g class="terminal">
+<path d="M409 529h0"></path>
+<path d="M480 529h0"></path>
+<rect x="409" y="518" width="71" height="22" rx="10" ry="10"></rect>
+<text x="444.5" y="533">"LINE"</text>
+</g>
+<path d="M480 529h10"></path>
+<path d="M490 529h10"></path>
+<g class="non-terminal">
+<path d="M500 529h0"></path>
+<path d="M571 529h0"></path>
+<rect x="500" y="518" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="535.5" y="533">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 529a10 10 0 0 0 10 -10v-50"></path>
+<path d="M399 469v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 559h0"></path>
+<path d="M571 559h93.5"></path>
+<g class="terminal">
+<path d="M409 559h0"></path>
+<path d="M480 559h0"></path>
+<rect x="409" y="548" width="71" height="22" rx="10" ry="10"></rect>
+<text x="444.5" y="563">"PAGE"</text>
+</g>
+<path d="M480 559h10"></path>
+<path d="M490 559h10"></path>
+<g class="non-terminal">
+<path d="M500 559h0"></path>
+<path d="M571 559h0"></path>
+<rect x="500" y="548" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="535.5" y="563">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 559a10 10 0 0 0 10 -10v-80"></path>
+<path d="M399 469v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 589h0"></path>
+<path d="M613.5 589h51"></path>
+<g class="terminal">
+<path d="M409 589h0"></path>
+<path d="M522.5 589h0"></path>
+<rect x="409" y="578" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="465.75" y="593">"TOP-LINES"</text>
+</g>
+<path d="M522.5 589h10"></path>
+<path d="M532.5 589h10"></path>
+<g class="non-terminal">
+<path d="M542.5 589h0"></path>
+<path d="M613.5 589h0"></path>
+<rect x="542.5" y="578" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="578" y="593">Target</text>
+</a>
+</g>
+</g>
+<path d="M664.5 589a10 10 0 0 0 10 -10v-110"></path>
+<path d="M399 469v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 619h0"></path>
+<path d="M622 619h42.5"></path>
+<g class="terminal">
+<path d="M409 619h0"></path>
+<path d="M531 619h0"></path>
+<rect x="409" y="608" width="122" height="22" rx="10" ry="10"></rect>
+<text x="470" y="623">"FIRST-LINE"</text>
+</g>
+<path d="M531 619h10"></path>
+<path d="M541 619h10"></path>
+<g class="non-terminal">
+<path d="M551 619h0"></path>
+<path d="M622 619h0"></path>
+<rect x="551" y="608" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="586.5" y="623">Target</text>
+</a>
+</g>
+</g>
+<path d="M664.5 619a10 10 0 0 0 10 -10v-140"></path>
+<path d="M399 469v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M409 649h0"></path>
+<path d="M613.5 649h51"></path>
+<g class="terminal">
+<path d="M409 649h0"></path>
+<path d="M522.5 649h0"></path>
+<rect x="409" y="638" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="465.75" y="653">"LINE-SIZE"</text>
+</g>
+<path d="M522.5 649h10"></path>
+<path d="M532.5 649h10"></path>
+<g class="non-terminal">
+<path d="M542.5 649h0"></path>
+<path d="M613.5 649h0"></path>
+<rect x="542.5" y="638" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="578" y="653">Target</text>
+</a>
+</g>
+</g>
+<path d="M664.5 649a10 10 0 0 0 10 -10v-170"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 399 459 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="384" y="473" class="diagram-text">1+</text>
+<path d="M 674.5 459 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 681.5 467 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1216 469a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1236 40h10"></path>
+<path d="M 1246 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Detail.svg b/abap/statement_Detail.svg
new file mode 100644
index 00000000..e0c56c99
--- /dev/null
+++ b/abap/statement_Detail.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="281" height="62" viewBox="0 0 281 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M231 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"DETAIL"</text>
+</g>
+</g>
+<path d="M231 31h10"></path>
+<path d="M 241 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Divide.svg b/abap/statement_Divide.svg
new file mode 100644
index 00000000..b648f2b1
--- /dev/null
+++ b/abap/statement_Divide.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="444" height="62" viewBox="0 0 444 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M394 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"DIVIDE"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g class="non-terminal">
+<path d="M158 31h0"></path>
+<path d="M229 31h0"></path>
+<rect x="158" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="193.5" y="35">Target</text>
+</a>
+</g>
+<path d="M229 31h10"></path>
+<path d="M239 31h10"></path>
+<g class="terminal">
+<path d="M249 31h0"></path>
+<path d="M303 31h0"></path>
+<rect x="249" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="276" y="35">"BY"</text>
+</g>
+<path d="M303 31h10"></path>
+<path d="M313 31h10"></path>
+<g class="non-terminal">
+<path d="M323 31h0"></path>
+<path d="M394 31h0"></path>
+<rect x="323" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="358.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M394 31h10"></path>
+<path d="M 404 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Do.svg b/abap/statement_Do.svg
new file mode 100644
index 00000000..2b094916
--- /dev/null
+++ b/abap/statement_Do.svg
@@ -0,0 +1,200 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1066" height="118" viewBox="0 0 1066 118">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1016 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M104 48h0"></path>
+<rect x="50" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="52">"DO"</text>
+</g>
+<path d="M104 48h10"></path>
+<g>
+<path d="M114 48h0"></path>
+<path d="M1016 48h0"></path>
+<path d="M114 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M134 20h862"></path>
+</g>
+<path d="M996 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M114 48h20"></path>
+<g>
+<path d="M134 48h0"></path>
+<path d="M996 48h0"></path>
+<path d="M164 48h10"></path>
+<g>
+<path d="M174 48h0"></path>
+<path d="M966 48h0"></path>
+<path d="M174 48h10"></path>
+<g>
+<path d="M184 48h0"></path>
+<path d="M956 48h0"></path>
+<g class="terminal">
+<path d="M184 48h0"></path>
+<path d="M280.5 48h0"></path>
+<rect x="184" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="232.25" y="52">"VARYING"</text>
+</g>
+<path d="M280.5 48h10"></path>
+<path d="M290.5 48h10"></path>
+<g class="non-terminal">
+<path d="M300.5 48h0"></path>
+<path d="M371.5 48h0"></path>
+<rect x="300.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="336" y="52">Target</text>
+</a>
+</g>
+<path d="M371.5 48h10"></path>
+<path d="M381.5 48h10"></path>
+<g class="terminal">
+<path d="M391.5 48h0"></path>
+<path d="M462.5 48h0"></path>
+<rect x="391.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="427" y="52">"FROM"</text>
+</g>
+<path d="M462.5 48h10"></path>
+<path d="M472.5 48h10"></path>
+<g class="non-terminal">
+<path d="M482.5 48h0"></path>
+<path d="M553.5 48h0"></path>
+<rect x="482.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="518" y="52">Source</text>
+</a>
+</g>
+<path d="M553.5 48h10"></path>
+<path d="M563.5 48h10"></path>
+<g class="terminal">
+<path d="M573.5 48h0"></path>
+<path d="M644.5 48h0"></path>
+<rect x="573.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="609" y="52">"NEXT"</text>
+</g>
+<path d="M644.5 48h10"></path>
+<path d="M654.5 48h10"></path>
+<g class="non-terminal">
+<path d="M664.5 48h0"></path>
+<path d="M735.5 48h0"></path>
+<rect x="664.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="700" y="52">Source</text>
+</a>
+</g>
+<path d="M735.5 48h10"></path>
+<g>
+<path d="M745.5 48h0"></path>
+<path d="M956 48h0"></path>
+<path d="M745.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M765.5 28h170.5"></path>
+</g>
+<path d="M936 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M745.5 48h20"></path>
+<g>
+<path d="M765.5 48h0"></path>
+<path d="M936 48h0"></path>
+<g class="terminal">
+<path d="M765.5 48h0"></path>
+<path d="M845 48h0"></path>
+<rect x="765.5" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="805.25" y="52">"RANGE"</text>
+</g>
+<path d="M845 48h10"></path>
+<path d="M855 48h10"></path>
+<g class="non-terminal">
+<path d="M865 48h0"></path>
+<path d="M936 48h0"></path>
+<rect x="865" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="900.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M936 48h20"></path>
+</g>
+</g>
+<path d="M956 48h10"></path>
+<path d="M184 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M184 68h772"></path>
+</g>
+<path d="M956 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M966 48h10"></path>
+<path d="M164 48v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M174 87h0"></path>
+<path d="M344.5 87h621.5"></path>
+<g class="non-terminal">
+<path d="M174 87h0"></path>
+<path d="M245 87h0"></path>
+<rect x="174" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="209.5" y="91">Source</text>
+</a>
+</g>
+<path d="M245 87h10"></path>
+<path d="M255 87h10"></path>
+<g class="terminal">
+<path d="M265 87h0"></path>
+<path d="M344.5 87h0"></path>
+<rect x="265" y="76" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="304.75" y="91">"TIMES"</text>
+</g>
+</g>
+<path d="M966 87a10 10 0 0 0 10 -10v-29"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 164 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="149" y="52" class="diagram-text">1+</text>
+<path d="M 976 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 983 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M996 48h20"></path>
+</g>
+</g>
+<path d="M1016 48h10"></path>
+<path d="M 1026 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EditorCall.svg b/abap/statement_EditorCall.svg
new file mode 100644
index 00000000..2988a56e
--- /dev/null
+++ b/abap/statement_EditorCall.svg
@@ -0,0 +1,148 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="926.5" height="101" viewBox="0 0 926.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M876.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M876.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"EDITOR-CALL FOR"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<g>
+<path d="M317.5 40h0"></path>
+<path d="M445.5 40h0"></path>
+<path d="M317.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M337.5 20h88"></path>
+</g>
+<path d="M425.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M317.5 40h20"></path>
+<g class="terminal">
+<path d="M337.5 40h0"></path>
+<path d="M425.5 40h0"></path>
+<rect x="337.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="381.5" y="44">"REPORT"</text>
+</g>
+<path d="M425.5 40h20"></path>
+</g>
+<path d="M445.5 40h10"></path>
+<g class="non-terminal">
+<path d="M455.5 40h0"></path>
+<path d="M526.5 40h0"></path>
+<rect x="455.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="491" y="44">Source</text>
+</a>
+</g>
+<path d="M526.5 40h10"></path>
+<g>
+<path d="M536.5 40h0"></path>
+<path d="M876.5 40h0"></path>
+<path d="M536.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M556.5 20h300"></path>
+</g>
+<path d="M856.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M536.5 40h20"></path>
+<g>
+<path d="M556.5 40h0"></path>
+<path d="M856.5 40h0"></path>
+<path d="M586.5 40h10"></path>
+<g class="terminal">
+<path d="M596.5 40h0"></path>
+<path d="M735.5 40h91"></path>
+<rect x="596.5" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="666" y="44">"DISPLAY-MODE"</text>
+</g>
+<path d="M826.5 40h10"></path>
+<path d="M586.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M596.5 70h0"></path>
+<path d="M826.5 70h0"></path>
+<g class="terminal">
+<path d="M596.5 70h0"></path>
+<path d="M676 70h0"></path>
+<rect x="596.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="636.25" y="74">"TITLE"</text>
+</g>
+<path d="M676 70h10"></path>
+<path d="M686 70h10"></path>
+<g class="non-terminal">
+<path d="M696 70h0"></path>
+<path d="M826.5 70h0"></path>
+<rect x="696" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="761.25" y="74">SimpleSource3</text>
+</a>
+</g>
+</g>
+<path d="M826.5 70a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 586.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="571.5" y="44" class="diagram-text">1+</text>
+<path d="M 836.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 843.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M856.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M876.5 40h10"></path>
+<path d="M 886.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Else.svg b/abap/statement_Else.svg
new file mode 100644
index 00000000..48054ad8
--- /dev/null
+++ b/abap/statement_Else.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="171" height="62" viewBox="0 0 171 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"ELSE"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M 131 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ElseIf.svg b/abap/statement_ElseIf.svg
new file mode 100644
index 00000000..93df4c4a
--- /dev/null
+++ b/abap/statement_ElseIf.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="262" height="62" viewBox="0 0 262 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M212 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"ELSEIF"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g class="non-terminal">
+<path d="M158 31h0"></path>
+<path d="M212 31h0"></path>
+<rect x="158" y="20" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="185" y="35">Cond</text>
+</a>
+</g>
+</g>
+<path d="M212 31h10"></path>
+<path d="M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndAt.svg b/abap/statement_EndAt.svg
new file mode 100644
index 00000000..83493474
--- /dev/null
+++ b/abap/statement_EndAt.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="179.5" height="62" viewBox="0 0 179.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"ENDAT"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndCase.svg b/abap/statement_EndCase.svg
new file mode 100644
index 00000000..9fd06119
--- /dev/null
+++ b/abap/statement_EndCase.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"ENDCASE"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndCatch.svg b/abap/statement_EndCatch.svg
new file mode 100644
index 00000000..ac4ff31c
--- /dev/null
+++ b/abap/statement_EndCatch.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="298" height="62" viewBox="0 0 298 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M248 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M248 31h0"></path>
+<rect x="143" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="35">"ENDCATCH"</text>
+</g>
+</g>
+<path d="M248 31h10"></path>
+<path d="M 258 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndClass.svg b/abap/statement_EndClass.svg
new file mode 100644
index 00000000..57a15da7
--- /dev/null
+++ b/abap/statement_EndClass.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"ENDCLASS"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndDo.svg b/abap/statement_EndDo.svg
new file mode 100644
index 00000000..d5fdd12e
--- /dev/null
+++ b/abap/statement_EndDo.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="179.5" height="62" viewBox="0 0 179.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"ENDDO"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndEnhancement.svg b/abap/statement_EndEnhancement.svg
new file mode 100644
index 00000000..ae321527
--- /dev/null
+++ b/abap/statement_EndEnhancement.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="349" height="62" viewBox="0 0 349 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M299 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M299 31h0"></path>
+<rect x="143" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="35">"ENDENHANCEMENT"</text>
+</g>
+</g>
+<path d="M299 31h10"></path>
+<path d="M 309 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndEnhancementSection.svg b/abap/statement_EndEnhancementSection.svg
new file mode 100644
index 00000000..73ca0a17
--- /dev/null
+++ b/abap/statement_EndEnhancementSection.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="425.5" height="62" viewBox="0 0 425.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M375.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M375.5 31h0"></path>
+<rect x="143" y="20" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="259.25" y="35">"END-ENHANCEMENT-SECTION"</text>
+</g>
+</g>
+<path d="M375.5 31h10"></path>
+<path d="M 385.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndExec.svg b/abap/statement_EndExec.svg
new file mode 100644
index 00000000..2acb18fb
--- /dev/null
+++ b/abap/statement_EndExec.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="289.5" height="62" viewBox="0 0 289.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M239.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M239.5 31h0"></path>
+<rect x="143" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="35">"ENDEXEC"</text>
+</g>
+</g>
+<path d="M239.5 31h10"></path>
+<path d="M 249.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndForm.svg b/abap/statement_EndForm.svg
new file mode 100644
index 00000000..708d29eb
--- /dev/null
+++ b/abap/statement_EndForm.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"ENDFORM"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndFunction.svg b/abap/statement_EndFunction.svg
new file mode 100644
index 00000000..13908966
--- /dev/null
+++ b/abap/statement_EndFunction.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="230.5" height="62" viewBox="0 0 230.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="35">"ENDFUNCTION"</text>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M 190.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndIf.svg b/abap/statement_EndIf.svg
new file mode 100644
index 00000000..5f70499a
--- /dev/null
+++ b/abap/statement_EndIf.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="179.5" height="62" viewBox="0 0 179.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"ENDIF"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M 139.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndInterface.svg b/abap/statement_EndInterface.svg
new file mode 100644
index 00000000..bc3ad80f
--- /dev/null
+++ b/abap/statement_EndInterface.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="239" height="62" viewBox="0 0 239 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M189 31h0"></path>
+<rect x="50" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="119.5" y="35">"ENDINTERFACE"</text>
+</g>
+<path d="M189 31h10"></path>
+<path d="M 199 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndLoop.svg b/abap/statement_EndLoop.svg
new file mode 100644
index 00000000..a88fd9e1
--- /dev/null
+++ b/abap/statement_EndLoop.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="196.5" height="62" viewBox="0 0 196.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"ENDLOOP"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M 156.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndMethod.svg b/abap/statement_EndMethod.svg
new file mode 100644
index 00000000..0688c1b2
--- /dev/null
+++ b/abap/statement_EndMethod.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="213.5" height="62" viewBox="0 0 213.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"ENDMETHOD"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M 173.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndModule.svg b/abap/statement_EndModule.svg
new file mode 100644
index 00000000..f1e7aa82
--- /dev/null
+++ b/abap/statement_EndModule.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="306.5" height="62" viewBox="0 0 306.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M256.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M256.5 31h0"></path>
+<rect x="143" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="199.75" y="35">"ENDMODULE"</text>
+</g>
+</g>
+<path d="M256.5 31h10"></path>
+<path d="M 266.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndOfDefinition.svg b/abap/statement_EndOfDefinition.svg
new file mode 100644
index 00000000..9d860d0e
--- /dev/null
+++ b/abap/statement_EndOfDefinition.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="374.5" height="62" viewBox="0 0 374.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M324.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M324.5 31h0"></path>
+<rect x="143" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="35">"END-OF-DEFINITION"</text>
+</g>
+</g>
+<path d="M324.5 31h10"></path>
+<path d="M 334.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndOfPage.svg b/abap/statement_EndOfPage.svg
new file mode 100644
index 00000000..a4fb055d
--- /dev/null
+++ b/abap/statement_EndOfPage.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="323.5" height="62" viewBox="0 0 323.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M273.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"END-OF-PAGE"</text>
+</g>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M 283.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndOfSelection.svg b/abap/statement_EndOfSelection.svg
new file mode 100644
index 00000000..b931becd
--- /dev/null
+++ b/abap/statement_EndOfSelection.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="366" height="62" viewBox="0 0 366 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M316 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"END-OF-SELECTION"</text>
+</g>
+</g>
+<path d="M316 31h10"></path>
+<path d="M 326 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndOn.svg b/abap/statement_EndOn.svg
new file mode 100644
index 00000000..bd5c541e
--- /dev/null
+++ b/abap/statement_EndOn.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="272.5" height="62" viewBox="0 0 272.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M222.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M222.5 31h0"></path>
+<rect x="143" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="35">"ENDON"</text>
+</g>
+</g>
+<path d="M222.5 31h10"></path>
+<path d="M 232.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndProvide.svg b/abap/statement_EndProvide.svg
new file mode 100644
index 00000000..c03bad38
--- /dev/null
+++ b/abap/statement_EndProvide.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="315" height="62" viewBox="0 0 315 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M265 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M265 31h0"></path>
+<rect x="143" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="35">"ENDPROVIDE"</text>
+</g>
+</g>
+<path d="M265 31h10"></path>
+<path d="M 275 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndSelect.svg b/abap/statement_EndSelect.svg
new file mode 100644
index 00000000..535831f6
--- /dev/null
+++ b/abap/statement_EndSelect.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="213.5" height="62" viewBox="0 0 213.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"ENDSELECT"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M 173.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndTestInjection.svg b/abap/statement_EndTestInjection.svg
new file mode 100644
index 00000000..76e87550
--- /dev/null
+++ b/abap/statement_EndTestInjection.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="290" height="62" viewBox="0 0 290 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">"END-TEST-INJECTION"</text>
+</g>
+<path d="M240 31h10"></path>
+<path d="M 250 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndTestSeam.svg b/abap/statement_EndTestSeam.svg
new file mode 100644
index 00000000..0d2eb4cd
--- /dev/null
+++ b/abap/statement_EndTestSeam.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="305.5" height="62" viewBox="0 0 305.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M255.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v750</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M255.5 31h0"></path>
+<rect x="108" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="181.75" y="35">"END-TEST-SEAM"</text>
+</g>
+</g>
+<path d="M255.5 31h10"></path>
+<path d="M 265.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndTry.svg b/abap/statement_EndTry.svg
new file mode 100644
index 00000000..224b026d
--- /dev/null
+++ b/abap/statement_EndTry.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="188" height="62" viewBox="0 0 188 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"ENDTRY"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M 148 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndWhile.svg b/abap/statement_EndWhile.svg
new file mode 100644
index 00000000..c1b1eeba
--- /dev/null
+++ b/abap/statement_EndWhile.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"ENDWHILE"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EndWith.svg b/abap/statement_EndWith.svg
new file mode 100644
index 00000000..67726685
--- /dev/null
+++ b/abap/statement_EndWith.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="254.5" height="62" viewBox="0 0 254.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M204.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v751</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M204.5 31h0"></path>
+<rect x="108" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="156.25" y="35">"ENDWITH"</text>
+</g>
+</g>
+<path d="M204.5 31h10"></path>
+<path d="M 214.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Enhancement.svg b/abap/statement_Enhancement.svg
new file mode 100644
index 00000000..c26e6ea7
--- /dev/null
+++ b/abap/statement_Enhancement.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="545" height="71" viewBox="0 0 545 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M495 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M495 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"ENHANCEMENT"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g>
+<path d="M293.5 31h0"></path>
+<path d="M495 31h0"></path>
+<path d="M293.5 31h10"></path>
+<g class="non-terminal">
+<path d="M303.5 31h0"></path>
+<path d="M485 31h0"></path>
+<rect x="303.5" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="394.25" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M485 31h10"></path>
+<path d="M303.5 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303.5 51h181.5"></path>
+</g>
+<path d="M485 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M495 31h10"></path>
+<path d="M 505 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EnhancementPoint.svg b/abap/statement_EnhancementPoint.svg
new file mode 100644
index 00000000..5f2a824e
--- /dev/null
+++ b/abap/statement_EnhancementPoint.svg
@@ -0,0 +1,131 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="990" height="71" viewBox="0 0 990 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M940 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M940 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M324.5 40h0"></path>
+<rect x="143" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="44">"ENHANCEMENT-POINT"</text>
+</g>
+<path d="M324.5 40h10"></path>
+<path d="M334.5 40h10"></path>
+<g class="non-terminal">
+<path d="M344.5 40h0"></path>
+<path d="M432.5 40h0"></path>
+<rect x="344.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="388.5" y="44">FieldSub</text>
+</a>
+</g>
+<path d="M432.5 40h10"></path>
+<path d="M442.5 40h10"></path>
+<g class="terminal">
+<path d="M452.5 40h0"></path>
+<path d="M532 40h0"></path>
+<rect x="452.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="492.25" y="44">"SPOTS"</text>
+</g>
+<path d="M532 40h10"></path>
+<path d="M542 40h10"></path>
+<g class="non-terminal">
+<path d="M552 40h0"></path>
+<path d="M614.5 40h0"></path>
+<rect x="552" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="583.25" y="44">Field</text>
+</a>
+</g>
+<path d="M614.5 40h10"></path>
+<g>
+<path d="M624.5 40h0"></path>
+<path d="M752.5 40h0"></path>
+<path d="M624.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M644.5 20h88"></path>
+</g>
+<path d="M732.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M624.5 40h20"></path>
+<g class="terminal">
+<path d="M644.5 40h0"></path>
+<path d="M732.5 40h0"></path>
+<rect x="644.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="688.5" y="44">"STATIC"</text>
+</g>
+<path d="M732.5 40h20"></path>
+</g>
+<g>
+<path d="M752.5 40h0"></path>
+<path d="M940 40h0"></path>
+<path d="M752.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M772.5 20h147.5"></path>
+</g>
+<path d="M920 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M752.5 40h20"></path>
+<g class="terminal">
+<path d="M772.5 40h0"></path>
+<path d="M920 40h0"></path>
+<rect x="772.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="846.25" y="44">"INCLUDE BOUND"</text>
+</g>
+<path d="M920 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M940 40h10"></path>
+<path d="M 950 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_EnhancementSection.svg b/abap/statement_EnhancementSection.svg
new file mode 100644
index 00000000..a5d0d514
--- /dev/null
+++ b/abap/statement_EnhancementSection.svg
@@ -0,0 +1,177 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1188" height="80" viewBox="0 0 1188 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1138 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1138 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M341.5 40h0"></path>
+<rect x="143" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="44">"ENHANCEMENT-SECTION"</text>
+</g>
+<path d="M341.5 40h10"></path>
+<path d="M351.5 40h10"></path>
+<g>
+<path d="M361.5 40h0"></path>
+<path d="M630.5 40h0"></path>
+<g class="non-terminal">
+<path d="M361.5 40h0"></path>
+<path d="M424 40h0"></path>
+<rect x="361.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="392.75" y="44">Field</text>
+</a>
+</g>
+<path d="M424 40h10"></path>
+<g>
+<path d="M434 40h0"></path>
+<path d="M630.5 40h0"></path>
+<path d="M434 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M454 20h156.5"></path>
+</g>
+<path d="M610.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M434 40h20"></path>
+<g>
+<path d="M454 40h0"></path>
+<path d="M610.5 40h0"></path>
+<path d="M454 40h10"></path>
+<g>
+<path d="M464 40h0"></path>
+<path d="M600.5 40h0"></path>
+<g class="terminal">
+<path d="M464 40h0"></path>
+<path d="M518 40h0"></path>
+<rect x="464" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="491" y="44">!"-"</text>
+</g>
+<path d="M518 40h10"></path>
+<path d="M528 40h10"></path>
+<g class="non-terminal">
+<path d="M538 40h0"></path>
+<path d="M600.5 40h0"></path>
+<rect x="538" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="569.25" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M600.5 40h10"></path>
+<path d="M464 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M464 60h136.5"></path>
+</g>
+<path d="M600.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M610.5 40h20"></path>
+</g>
+</g>
+<path d="M630.5 40h10"></path>
+<path d="M640.5 40h10"></path>
+<g class="terminal">
+<path d="M650.5 40h0"></path>
+<path d="M730 40h0"></path>
+<rect x="650.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="690.25" y="44">"SPOTS"</text>
+</g>
+<path d="M730 40h10"></path>
+<path d="M740 40h10"></path>
+<g class="non-terminal">
+<path d="M750 40h0"></path>
+<path d="M812.5 40h0"></path>
+<rect x="750" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="781.25" y="44">Field</text>
+</a>
+</g>
+<path d="M812.5 40h10"></path>
+<g>
+<path d="M822.5 40h0"></path>
+<path d="M950.5 40h0"></path>
+<path d="M822.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M842.5 20h88"></path>
+</g>
+<path d="M930.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M822.5 40h20"></path>
+<g class="terminal">
+<path d="M842.5 40h0"></path>
+<path d="M930.5 40h0"></path>
+<rect x="842.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="886.5" y="44">"STATIC"</text>
+</g>
+<path d="M930.5 40h20"></path>
+</g>
+<g>
+<path d="M950.5 40h0"></path>
+<path d="M1138 40h0"></path>
+<path d="M950.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M970.5 20h147.5"></path>
+</g>
+<path d="M1118 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M950.5 40h20"></path>
+<g class="terminal">
+<path d="M970.5 40h0"></path>
+<path d="M1118 40h0"></path>
+<rect x="970.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1044.25" y="44">"INCLUDE BOUND"</text>
+</g>
+<path d="M1118 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1138 40h10"></path>
+<path d="M 1148 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Events.svg b/abap/statement_Events.svg
new file mode 100644
index 00000000..2babecdc
--- /dev/null
+++ b/abap/statement_Events.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="770.5" height="101" viewBox="0 0 770.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M720.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M229 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M209 40h0"></path>
+<rect x="70" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="139.5" y="44">"CLASS-EVENTS"</text>
+</g>
+<path d="M209 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M158 70h51"></path>
+<rect x="70" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="74">"EVENTS"</text>
+</g>
+<path d="M209 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M229 40h10"></path>
+<g class="non-terminal">
+<path d="M239 40h0"></path>
+<path d="M335.5 40h0"></path>
+<rect x="239" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EventName"><text x="287.25" y="44">EventName</text>
+</a>
+</g>
+<path d="M335.5 40h10"></path>
+<g>
+<path d="M345.5 40h0"></path>
+<path d="M720.5 40h0"></path>
+<path d="M345.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M365.5 20h335"></path>
+</g>
+<path d="M700.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M345.5 40h20"></path>
+<g>
+<path d="M365.5 40h0"></path>
+<path d="M700.5 40h0"></path>
+<g class="terminal">
+<path d="M365.5 40h0"></path>
+<path d="M479 40h0"></path>
+<rect x="365.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="422.25" y="44">"EXPORTING"</text>
+</g>
+<path d="M479 40h10"></path>
+<path d="M489 40h10"></path>
+<g>
+<path d="M499 40h0"></path>
+<path d="M700.5 40h0"></path>
+<path d="M499 40h10"></path>
+<g class="non-terminal">
+<path d="M509 40h0"></path>
+<path d="M690.5 40h0"></path>
+<rect x="509" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamOptional"><text x="599.75" y="44">MethodParamOptional</text>
+</a>
+</g>
+<path d="M690.5 40h10"></path>
+<path d="M509 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M509 60h181.5"></path>
+</g>
+<path d="M690.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M700.5 40h20"></path>
+</g>
+</g>
+<path d="M720.5 40h10"></path>
+<path d="M 730.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ExecSQL.svg b/abap/statement_ExecSQL.svg
new file mode 100644
index 00000000..191d66fa
--- /dev/null
+++ b/abap/statement_ExecSQL.svg
@@ -0,0 +1,101 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="595" height="71" viewBox="0 0 595 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M545 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M545 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"EXEC SQL"</text>
+</g>
+<path d="M248 40h10"></path>
+<g>
+<path d="M258 40h0"></path>
+<path d="M545 40h0"></path>
+<path d="M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M278 20h247"></path>
+</g>
+<path d="M525 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M258 40h20"></path>
+<g>
+<path d="M278 40h0"></path>
+<path d="M525 40h0"></path>
+<g class="terminal">
+<path d="M278 40h0"></path>
+<path d="M400 40h0"></path>
+<rect x="278" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="339" y="44">"PERFORMING"</text>
+</g>
+<path d="M400 40h10"></path>
+<path d="M410 40h10"></path>
+<g class="non-terminal">
+<path d="M420 40h0"></path>
+<path d="M525 40h0"></path>
+<rect x="420" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="472.5" y="44">SimpleName</text>
+</a>
+</g>
+</g>
+<path d="M525 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M545 40h10"></path>
+<path d="M 555 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Exit.svg b/abap/statement_Exit.svg
new file mode 100644
index 00000000..f31bd755
--- /dev/null
+++ b/abap/statement_Exit.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="417" height="101" viewBox="0 0 417 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M367 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"EXIT"</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M367 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h196"></path>
+</g>
+<path d="M347 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M347 40h0"></path>
+<path d="M151 40h20"></path>
+<g class="terminal">
+<path d="M171 40h0"></path>
+<path d="M276 40h51"></path>
+<rect x="171" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="223.5" y="44">"FROM SQL"</text>
+</g>
+<path d="M327 40h20"></path>
+<path d="M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M171 70h0"></path>
+<path d="M327 70h0"></path>
+<rect x="171" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="249" y="74">"FROM STEP-LOOP"</text>
+</g>
+<path d="M327 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M347 40h20"></path>
+</g>
+</g>
+<path d="M367 40h10"></path>
+<path d="M 377 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Export.svg b/abap/statement_Export.svg
new file mode 100644
index 00000000..7647b68b
--- /dev/null
+++ b/abap/statement_Export.svg
@@ -0,0 +1,624 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2262.5" height="350" viewBox="0 0 2262.5 350">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2212.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"EXPORT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M573.5 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M553.5 40h0"></path>
+<path d="M168 40h10"></path>
+<g>
+<path d="M178 40h0"></path>
+<path d="M543.5 40h0"></path>
+<path d="M178 40h20"></path>
+<g class="non-terminal">
+<path d="M198 40h0"></path>
+<path d="M303 40h220.5"></path>
+<rect x="198" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterS"><text x="250.5" y="44">ParameterS</text>
+</a>
+</g>
+<path d="M523.5 40h20"></path>
+<path d="M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M198 70h0"></path>
+<path d="M523.5 70h0"></path>
+<g>
+<path d="M198 70h0"></path>
+<path d="M351.5 70h0"></path>
+<path d="M198 70h20"></path>
+<g class="non-terminal">
+<path d="M218 70h0"></path>
+<path d="M306 70h25.5"></path>
+<rect x="218" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="262" y="74">FieldSub</text>
+</a>
+</g>
+<path d="M331.5 70h20"></path>
+<path d="M198 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 100h0"></path>
+<path d="M331.5 100h0"></path>
+<rect x="218" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="274.75" y="104">FieldSymbol</text>
+</a>
+</g>
+<path d="M331.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M351.5 70h10"></path>
+<g>
+<path d="M361.5 70h0"></path>
+<path d="M523.5 70h0"></path>
+<g class="terminal">
+<path d="M361.5 70h0"></path>
+<path d="M432.5 70h0"></path>
+<rect x="361.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="397" y="74">"FROM"</text>
+</g>
+<path d="M432.5 70h10"></path>
+<path d="M442.5 70h10"></path>
+<g class="non-terminal">
+<path d="M452.5 70h0"></path>
+<path d="M523.5 70h0"></path>
+<rect x="452.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="488" y="74">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M523.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M178 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M198 130h0"></path>
+<path d="M351.5 130h172"></path>
+<path d="M198 130h20"></path>
+<g class="non-terminal">
+<path d="M218 130h0"></path>
+<path d="M306 130h25.5"></path>
+<rect x="218" y="119" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="262" y="134">FieldSub</text>
+</a>
+</g>
+<path d="M331.5 130h20"></path>
+<path d="M198 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 160h0"></path>
+<path d="M331.5 160h0"></path>
+<rect x="218" y="149" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="274.75" y="164">FieldSymbol</text>
+</a>
+</g>
+<path d="M331.5 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M523.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M543.5 40h10"></path>
+<path d="M178 40a10 10 0 0 0 -10 10v119a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 179h365.5"></path>
+</g>
+<path d="M543.5 179a10 10 0 0 0 10 -10v-119a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M553.5 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v138a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M168 198h0"></path>
+<path d="M247.5 198h306"></path>
+<rect x="168" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="207.75" y="202">Dynamic</text>
+</a>
+</g>
+<path d="M553.5 198a10 10 0 0 0 10 -10v-138a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M573.5 40h10"></path>
+<g class="terminal">
+<path d="M583.5 40h0"></path>
+<path d="M637.5 40h0"></path>
+<rect x="583.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="610.5" y="44">"TO"</text>
+</g>
+<path d="M637.5 40h10"></path>
+<g>
+<path d="M647.5 40h0"></path>
+<path d="M1642.5 40h0"></path>
+<path d="M647.5 40h20"></path>
+<g>
+<path d="M667.5 40h0"></path>
+<path d="M889 40h733.5"></path>
+<g class="terminal">
+<path d="M667.5 40h0"></path>
+<path d="M798 40h0"></path>
+<rect x="667.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="732.75" y="44">"DATA BUFFER"</text>
+</g>
+<path d="M798 40h10"></path>
+<path d="M808 40h10"></path>
+<g class="non-terminal">
+<path d="M818 40h0"></path>
+<path d="M889 40h0"></path>
+<rect x="818" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="853.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1622.5 40h20"></path>
+<path d="M647.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M667.5 79h0"></path>
+<path d="M950.5 79h672"></path>
+<g class="terminal">
+<path d="M667.5 79h0"></path>
+<path d="M755.5 79h0"></path>
+<rect x="667.5" y="68" width="88" height="22" rx="10" ry="10"></rect>
+<text x="711.5" y="83">"MEMORY"</text>
+</g>
+<path d="M755.5 79h10"></path>
+<g>
+<path d="M765.5 79h0"></path>
+<path d="M950.5 79h0"></path>
+<path d="M765.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M785.5 59h145"></path>
+</g>
+<path d="M930.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M765.5 79h20"></path>
+<g>
+<path d="M785.5 79h0"></path>
+<path d="M930.5 79h0"></path>
+<g class="terminal">
+<path d="M785.5 79h0"></path>
+<path d="M839.5 79h0"></path>
+<rect x="785.5" y="68" width="54" height="22" rx="10" ry="10"></rect>
+<text x="812.5" y="83">"ID"</text>
+</g>
+<path d="M839.5 79h10"></path>
+<path d="M849.5 79h10"></path>
+<g class="non-terminal">
+<path d="M859.5 79h0"></path>
+<path d="M930.5 79h0"></path>
+<rect x="859.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="895" y="83">Source</text>
+</a>
+</g>
+</g>
+<path d="M930.5 79h20"></path>
+</g>
+</g>
+<path d="M1622.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M647.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M667.5 109h0"></path>
+<path d="M1550 109h72.5"></path>
+<g class="terminal">
+<path d="M667.5 109h0"></path>
+<path d="M772.5 109h0"></path>
+<rect x="667.5" y="98" width="105" height="22" rx="10" ry="10"></rect>
+<text x="720" y="113">"DATABASE"</text>
+</g>
+<path d="M772.5 109h10"></path>
+<path d="M782.5 109h10"></path>
+<g>
+<path d="M792.5 109h0"></path>
+<path d="M1281 109h0"></path>
+<g class="non-terminal">
+<path d="M792.5 109h0"></path>
+<path d="M974 109h0"></path>
+<rect x="792.5" y="98" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="883.25" y="113">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M974 109h10"></path>
+<path d="M984 109h10"></path>
+<g class="terminal">
+<path d="M994 109h0"></path>
+<path d="M1048 109h0"></path>
+<rect x="994" y="98" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1021" y="113">!"("</text>
+</g>
+<path d="M1048 109h10"></path>
+<path d="M1058 109h10"></path>
+<g class="terminal">
+<path d="M1068 109h0"></path>
+<path d="M1198.5 109h0"></path>
+<rect x="1068" y="98" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1133.25" y="113">^&#91;\w$%\^&#93;{2}$</text>
+</g>
+<path d="M1198.5 109h10"></path>
+<path d="M1208.5 109h10"></path>
+<g class="terminal">
+<path d="M1218.5 109h0"></path>
+<path d="M1281 109h0"></path>
+<rect x="1218.5" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1249.75" y="113">!") "</text>
+</g>
+</g>
+<path d="M1281 109h10"></path>
+<path d="M1291 109h10"></path>
+<g>
+<path d="M1301 109h0"></path>
+<path d="M1550 109h0"></path>
+<path d="M1331 109h10"></path>
+<g>
+<path d="M1341 109h0"></path>
+<path d="M1503 109h17"></path>
+<g class="terminal">
+<path d="M1341 109h0"></path>
+<path d="M1412 109h0"></path>
+<rect x="1341" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1376.5" y="113">"FROM"</text>
+</g>
+<path d="M1412 109h10"></path>
+<path d="M1422 109h10"></path>
+<g class="non-terminal">
+<path d="M1432 109h0"></path>
+<path d="M1503 109h0"></path>
+<rect x="1432" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1467.5" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M1520 109h10"></path>
+<path d="M1331 109v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1341 139h0"></path>
+<path d="M1520 139h0"></path>
+<g class="terminal">
+<path d="M1341 139h0"></path>
+<path d="M1429 139h0"></path>
+<rect x="1341" y="128" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1385" y="143">"CLIENT"</text>
+</g>
+<path d="M1429 139h10"></path>
+<path d="M1439 139h10"></path>
+<g class="non-terminal">
+<path d="M1449 139h0"></path>
+<path d="M1520 139h0"></path>
+<rect x="1449" y="128" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1484.5" y="143">Source</text>
+</a>
+</g>
+</g>
+<path d="M1520 139a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1331 109v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1341 169h0"></path>
+<path d="M1486 169h34"></path>
+<g class="terminal">
+<path d="M1341 169h0"></path>
+<path d="M1395 169h0"></path>
+<rect x="1341" y="158" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1368" y="173">"ID"</text>
+</g>
+<path d="M1395 169h10"></path>
+<path d="M1405 169h10"></path>
+<g class="non-terminal">
+<path d="M1415 169h0"></path>
+<path d="M1486 169h0"></path>
+<rect x="1415" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1450.5" y="173">Source</text>
+</a>
+</g>
+</g>
+<path d="M1520 169a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1331 109v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1341 199h0"></path>
+<path d="M1511.5 199h8.5"></path>
+<g class="terminal">
+<path d="M1341 199h0"></path>
+<path d="M1420.5 199h0"></path>
+<rect x="1341" y="188" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1380.75" y="203">"USING"</text>
+</g>
+<path d="M1420.5 199h10"></path>
+<path d="M1430.5 199h10"></path>
+<g class="non-terminal">
+<path d="M1440.5 199h0"></path>
+<path d="M1511.5 199h0"></path>
+<rect x="1440.5" y="188" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1476" y="203">Source</text>
+</a>
+</g>
+</g>
+<path d="M1520 199a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1331 99 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1316" y="113" class="diagram-text">1+</text>
+<path d="M 1530 99 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1537 107 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1622.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M647.5 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M667.5 229h0"></path>
+<path d="M914.5 229h708"></path>
+<g class="terminal">
+<path d="M667.5 229h0"></path>
+<path d="M823.5 229h0"></path>
+<rect x="667.5" y="218" width="156" height="22" rx="10" ry="10"></rect>
+<text x="745.5" y="233">"INTERNAL TABLE"</text>
+</g>
+<path d="M823.5 229h10"></path>
+<path d="M833.5 229h10"></path>
+<g class="non-terminal">
+<path d="M843.5 229h0"></path>
+<path d="M914.5 229h0"></path>
+<rect x="843.5" y="218" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="879" y="233">Target</text>
+</a>
+</g>
+</g>
+<path d="M1622.5 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+<path d="M647.5 40a10 10 0 0 1 10 10v199a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M667.5 259h0"></path>
+<path d="M1622.5 259h0"></path>
+<g>
+<path d="M667.5 259h0"></path>
+<path d="M855 259h0"></path>
+<path d="M667.5 259h20"></path>
+<g class="terminal">
+<path d="M687.5 259h0"></path>
+<path d="M835 259h0"></path>
+<rect x="687.5" y="248" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="761.25" y="263">"SHARED MEMORY"</text>
+</g>
+<path d="M835 259h20"></path>
+<path d="M667.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M687.5 289h0"></path>
+<path d="M835 289h0"></path>
+<rect x="687.5" y="278" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="761.25" y="293">"SHARED BUFFER"</text>
+</g>
+<path d="M835 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M855 259h10"></path>
+<g>
+<path d="M865 259h0"></path>
+<path d="M1353.5 259h0"></path>
+<g class="non-terminal">
+<path d="M865 259h0"></path>
+<path d="M1046.5 259h0"></path>
+<rect x="865" y="248" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="955.75" y="263">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1046.5 259h10"></path>
+<path d="M1056.5 259h10"></path>
+<g class="terminal">
+<path d="M1066.5 259h0"></path>
+<path d="M1120.5 259h0"></path>
+<rect x="1066.5" y="248" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1093.5" y="263">!"("</text>
+</g>
+<path d="M1120.5 259h10"></path>
+<path d="M1130.5 259h10"></path>
+<g class="terminal">
+<path d="M1140.5 259h0"></path>
+<path d="M1271 259h0"></path>
+<rect x="1140.5" y="248" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1205.75" y="263">^&#91;\w$%\^&#93;{2}$</text>
+</g>
+<path d="M1271 259h10"></path>
+<path d="M1281 259h10"></path>
+<g class="terminal">
+<path d="M1291 259h0"></path>
+<path d="M1353.5 259h0"></path>
+<rect x="1291" y="248" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1322.25" y="263">!") "</text>
+</g>
+</g>
+<path d="M1353.5 259h10"></path>
+<path d="M1363.5 259h10"></path>
+<g>
+<path d="M1373.5 259h0"></path>
+<path d="M1622.5 259h0"></path>
+<path d="M1403.5 259h10"></path>
+<g>
+<path d="M1413.5 259h0"></path>
+<path d="M1575.5 259h17"></path>
+<g class="terminal">
+<path d="M1413.5 259h0"></path>
+<path d="M1484.5 259h0"></path>
+<rect x="1413.5" y="248" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1449" y="263">"FROM"</text>
+</g>
+<path d="M1484.5 259h10"></path>
+<path d="M1494.5 259h10"></path>
+<g class="non-terminal">
+<path d="M1504.5 259h0"></path>
+<path d="M1575.5 259h0"></path>
+<rect x="1504.5" y="248" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1540" y="263">Source</text>
+</a>
+</g>
+</g>
+<path d="M1592.5 259h10"></path>
+<path d="M1403.5 259v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1413.5 289h0"></path>
+<path d="M1592.5 289h0"></path>
+<g class="terminal">
+<path d="M1413.5 289h0"></path>
+<path d="M1501.5 289h0"></path>
+<rect x="1413.5" y="278" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1457.5" y="293">"CLIENT"</text>
+</g>
+<path d="M1501.5 289h10"></path>
+<path d="M1511.5 289h10"></path>
+<g class="non-terminal">
+<path d="M1521.5 289h0"></path>
+<path d="M1592.5 289h0"></path>
+<rect x="1521.5" y="278" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1557" y="293">Source</text>
+</a>
+</g>
+</g>
+<path d="M1592.5 289a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1403.5 259v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1413.5 319h0"></path>
+<path d="M1558.5 319h34"></path>
+<g class="terminal">
+<path d="M1413.5 319h0"></path>
+<path d="M1467.5 319h0"></path>
+<rect x="1413.5" y="308" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1440.5" y="323">"ID"</text>
+</g>
+<path d="M1467.5 319h10"></path>
+<path d="M1477.5 319h10"></path>
+<g class="non-terminal">
+<path d="M1487.5 319h0"></path>
+<path d="M1558.5 319h0"></path>
+<rect x="1487.5" y="308" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1523" y="323">Source</text>
+</a>
+</g>
+</g>
+<path d="M1592.5 319a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1403.5 249 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1388.5" y="263" class="diagram-text">1+</text>
+<path d="M 1602.5 249 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1609.5 257 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1622.5 259a10 10 0 0 0 10 -10v-199a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1642.5 40h0"></path>
+<path d="M1925.5 40h0"></path>
+<path d="M1642.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1662.5 20h243"></path>
+</g>
+<path d="M1905.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1642.5 40h20"></path>
+<g>
+<path d="M1662.5 40h0"></path>
+<path d="M1905.5 40h0"></path>
+<g class="terminal">
+<path d="M1662.5 40h0"></path>
+<path d="M1793 40h0"></path>
+<rect x="1662.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1727.75" y="44">"COMPRESSION"</text>
+</g>
+<path d="M1793 40h10"></path>
+<g>
+<path d="M1803 40h0"></path>
+<path d="M1905.5 40h0"></path>
+<path d="M1803 40h20"></path>
+<g class="terminal">
+<path d="M1823 40h0"></path>
+<path d="M1877 40h8.5"></path>
+<rect x="1823" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1850" y="44">"ON"</text>
+</g>
+<path d="M1885.5 40h20"></path>
+<path d="M1803 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1823 70h0"></path>
+<path d="M1885.5 70h0"></path>
+<rect x="1823" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1854.25" y="74">"OFF"</text>
+</g>
+<path d="M1885.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1905.5 40h20"></path>
+</g>
+<g>
+<path d="M1925.5 40h0"></path>
+<path d="M2212.5 40h0"></path>
+<path d="M1925.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1945.5 20h247"></path>
+</g>
+<path d="M2192.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1925.5 40h20"></path>
+<g>
+<path d="M1945.5 40h0"></path>
+<path d="M2192.5 40h0"></path>
+<g class="terminal">
+<path d="M1945.5 40h0"></path>
+<path d="M2101.5 40h0"></path>
+<rect x="1945.5" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<text x="2023.5" y="44">"CODE PAGE HINT"</text>
+</g>
+<path d="M2101.5 40h10"></path>
+<path d="M2111.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2121.5 40h0"></path>
+<path d="M2192.5 40h0"></path>
+<rect x="2121.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="2157" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M2192.5 40h20"></path>
+</g>
+</g>
+<path d="M2212.5 40h10"></path>
+<path d="M 2222.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ExportDynpro.svg b/abap/statement_ExportDynpro.svg
new file mode 100644
index 00000000..b7c8a6ed
--- /dev/null
+++ b/abap/statement_ExportDynpro.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="869.5" height="62" viewBox="0 0 869.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M819.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M819.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"EXPORT DYNPRO"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<path d="M300.5 31h10"></path>
+<g class="non-terminal">
+<path d="M310.5 31h0"></path>
+<path d="M381.5 31h0"></path>
+<rect x="310.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="35">Source</text>
+</a>
+</g>
+<path d="M381.5 31h10"></path>
+<path d="M391.5 31h10"></path>
+<g class="non-terminal">
+<path d="M401.5 31h0"></path>
+<path d="M472.5 31h0"></path>
+<rect x="401.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="437" y="35">Source</text>
+</a>
+</g>
+<path d="M472.5 31h10"></path>
+<path d="M482.5 31h10"></path>
+<g class="non-terminal">
+<path d="M492.5 31h0"></path>
+<path d="M563.5 31h0"></path>
+<rect x="492.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="528" y="35">Source</text>
+</a>
+</g>
+<path d="M563.5 31h10"></path>
+<path d="M573.5 31h10"></path>
+<g class="non-terminal">
+<path d="M583.5 31h0"></path>
+<path d="M654.5 31h0"></path>
+<rect x="583.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="619" y="35">Source</text>
+</a>
+</g>
+<path d="M654.5 31h10"></path>
+<path d="M664.5 31h10"></path>
+<g class="terminal">
+<path d="M674.5 31h0"></path>
+<path d="M728.5 31h0"></path>
+<rect x="674.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="701.5" y="35">"ID"</text>
+</g>
+<path d="M728.5 31h10"></path>
+<path d="M738.5 31h10"></path>
+<g class="non-terminal">
+<path d="M748.5 31h0"></path>
+<path d="M819.5 31h0"></path>
+<rect x="748.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="784" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M819.5 31h10"></path>
+<path d="M 829.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Extract.svg b/abap/statement_Extract.svg
new file mode 100644
index 00000000..ebc26dd5
--- /dev/null
+++ b/abap/statement_Extract.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="402" height="71" viewBox="0 0 402 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M352 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M352 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M239.5 40h0"></path>
+<rect x="143" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="44">"EXTRACT"</text>
+</g>
+<path d="M239.5 40h10"></path>
+<g>
+<path d="M249.5 40h0"></path>
+<path d="M352 40h0"></path>
+<path d="M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M269.5 20h62.5"></path>
+</g>
+<path d="M332 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M249.5 40h20"></path>
+<g class="non-terminal">
+<path d="M269.5 40h0"></path>
+<path d="M332 40h0"></path>
+<rect x="269.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="300.75" y="44">Field</text>
+</a>
+</g>
+<path d="M332 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M352 40h10"></path>
+<path d="M 362 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FetchNextCursor.svg b/abap/statement_FetchNextCursor.svg
new file mode 100644
index 00000000..8d0ad6ad
--- /dev/null
+++ b/abap/statement_FetchNextCursor.svg
@@ -0,0 +1,141 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1094.5" height="131" viewBox="0 0 1094.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1044.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1044.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M324.5 40h0"></path>
+<rect x="143" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="44">"FETCH NEXT CURSOR"</text>
+</g>
+<path d="M324.5 40h10"></path>
+<path d="M334.5 40h10"></path>
+<g class="non-terminal">
+<path d="M344.5 40h0"></path>
+<path d="M492 40h0"></path>
+<rect x="344.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="418.25" y="44">SQLSourceSimple</text>
+</a>
+</g>
+<path d="M492 40h10"></path>
+<g>
+<path d="M502 40h0"></path>
+<path d="M698 40h0"></path>
+<path d="M502 40h20"></path>
+<g class="non-terminal">
+<path d="M522 40h0"></path>
+<path d="M678 40h0"></path>
+<rect x="522" y="29" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoStructure"><text x="600" y="44">SQLIntoStructure</text>
+</a>
+</g>
+<path d="M678 40h20"></path>
+<path d="M502 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M522 70h0"></path>
+<path d="M644 70h34"></path>
+<rect x="522" y="59" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoTable"><text x="583" y="74">SQLIntoTable</text>
+</a>
+</g>
+<path d="M678 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M502 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M522 100h0"></path>
+<path d="M635.5 100h42.5"></path>
+<rect x="522" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLIntoList"><text x="578.75" y="104">SQLIntoList</text>
+</a>
+</g>
+<path d="M678 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M698 40h0"></path>
+<path d="M1044.5 40h0"></path>
+<path d="M698 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M718 20h306.5"></path>
+</g>
+<path d="M1024.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M698 40h20"></path>
+<g>
+<path d="M718 40h0"></path>
+<path d="M1024.5 40h0"></path>
+<g class="terminal">
+<path d="M718 40h0"></path>
+<path d="M857 40h0"></path>
+<rect x="718" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="787.5" y="44">"PACKAGE SIZE"</text>
+</g>
+<path d="M857 40h10"></path>
+<path d="M867 40h10"></path>
+<g class="non-terminal">
+<path d="M877 40h0"></path>
+<path d="M1024.5 40h0"></path>
+<rect x="877" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSourceSimple"><text x="950.75" y="44">SQLSourceSimple</text>
+</a>
+</g>
+</g>
+<path d="M1024.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1044.5 40h10"></path>
+<path d="M 1054.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FieldGroup.svg b/abap/statement_FieldGroup.svg
new file mode 100644
index 00000000..7dd881e4
--- /dev/null
+++ b/abap/statement_FieldGroup.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="434.5" height="71" viewBox="0 0 434.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M384.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M384.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M282 31h0"></path>
+<rect x="143" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="35">"FIELD-GROUPS"</text>
+</g>
+<path d="M282 31h10"></path>
+<path d="M292 31h10"></path>
+<g>
+<path d="M302 31h0"></path>
+<path d="M384.5 31h0"></path>
+<path d="M302 31h10"></path>
+<g class="non-terminal">
+<path d="M312 31h0"></path>
+<path d="M374.5 31h0"></path>
+<rect x="312" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="343.25" y="35">Field</text>
+</a>
+</g>
+<path d="M374.5 31h10"></path>
+<path d="M312 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M312 51h62.5"></path>
+</g>
+<path d="M374.5 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M384.5 31h10"></path>
+<path d="M 394.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FieldSymbol.svg b/abap/statement_FieldSymbol.svg
new file mode 100644
index 00000000..053966c9
--- /dev/null
+++ b/abap/statement_FieldSymbol.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="891.5" height="131" viewBox="0 0 891.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M841.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M197.5 40h0"></path>
+<rect x="50" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="44">"FIELD-SYMBOLS"</text>
+</g>
+<path d="M197.5 40h10"></path>
+<path d="M207.5 40h10"></path>
+<g class="non-terminal">
+<path d="M217.5 40h0"></path>
+<path d="M331 40h0"></path>
+<rect x="217.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="274.25" y="44">FieldSymbol</text>
+</a>
+</g>
+<path d="M331 40h10"></path>
+<g>
+<path d="M341 40h0"></path>
+<path d="M841.5 40h0"></path>
+<path d="M341 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M361 20h460.5"></path>
+</g>
+<path d="M821.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M341 40h20"></path>
+<g>
+<path d="M361 40h0"></path>
+<path d="M821.5 40h0"></path>
+<path d="M361 40h20"></path>
+<g class="non-terminal">
+<path d="M381 40h0"></path>
+<path d="M435 40h366.5"></path>
+<rect x="381" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Type"><text x="408" y="44">Type</text>
+</a>
+</g>
+<path d="M801.5 40h20"></path>
+<path d="M361 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M381 70h0"></path>
+<path d="M477.5 70h324"></path>
+<rect x="381" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTable"><text x="429.25" y="74">TypeTable</text>
+</a>
+</g>
+<path d="M801.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M361 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M381 100h0"></path>
+<path d="M801.5 100h0"></path>
+<g class="terminal">
+<path d="M381 100h0"></path>
+<path d="M494.5 100h0"></path>
+<rect x="381" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="437.75" y="104">"STRUCTURE"</text>
+</g>
+<path d="M494.5 100h10"></path>
+<path d="M504.5 100h10"></path>
+<g class="non-terminal">
+<path d="M514.5 100h0"></path>
+<path d="M602.5 100h0"></path>
+<rect x="514.5" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="558.5" y="104">TypeName</text>
+</a>
+</g>
+<path d="M602.5 100h10"></path>
+<path d="M612.5 100h10"></path>
+<g class="terminal">
+<path d="M622.5 100h0"></path>
+<path d="M719 100h0"></path>
+<rect x="622.5" y="89" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="670.75" y="104">"DEFAULT"</text>
+</g>
+<path d="M719 100h10"></path>
+<path d="M729 100h10"></path>
+<g class="non-terminal">
+<path d="M739 100h0"></path>
+<path d="M801.5 100h0"></path>
+<rect x="739" y="89" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="770.25" y="104">Field</text>
+</a>
+</g>
+</g>
+<path d="M801.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M821.5 40h20"></path>
+</g>
+</g>
+<path d="M841.5 40h10"></path>
+<path d="M 851.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Fields.svg b/abap/statement_Fields.svg
new file mode 100644
index 00000000..85ada4b9
--- /dev/null
+++ b/abap/statement_Fields.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="389" height="62" viewBox="0 0 389 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M339 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M339 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"FIELDS"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g class="non-terminal">
+<path d="M251 31h0"></path>
+<path d="M339 31h0"></path>
+<rect x="251" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="295" y="35">FieldSub</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M339 31h10"></path>
+<path d="M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Find.svg b/abap/statement_Find.svg
new file mode 100644
index 00000000..61aa8653
--- /dev/null
+++ b/abap/statement_Find.svg
@@ -0,0 +1,517 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1648.5" height="530" viewBox="0 0 1648.5 530">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1598.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"FIND"</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M409.5 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h238.5"></path>
+</g>
+<path d="M389.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M389.5 40h0"></path>
+<path d="M151 40h20"></path>
+<g class="terminal">
+<path d="M171 40h0"></path>
+<path d="M369.5 40h0"></path>
+<rect x="171" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="270.25" y="44">"FIRST OCCURRENCE OF"</text>
+</g>
+<path d="M369.5 40h20"></path>
+<path d="M151 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M171 70h0"></path>
+<path d="M361 70h8.5"></path>
+<rect x="171" y="59" width="190" height="22" rx="10" ry="10"></rect>
+<text x="266" y="74">"ALL OCCURRENCES OF"</text>
+</g>
+<path d="M369.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M389.5 40h20"></path>
+</g>
+<path d="M409.5 40h10"></path>
+<g class="non-terminal">
+<path d="M419.5 40h0"></path>
+<path d="M507.5 40h0"></path>
+<rect x="419.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FindType"><text x="463.5" y="44">FindType</text>
+</a>
+</g>
+<path d="M507.5 40h10"></path>
+<path d="M517.5 40h10"></path>
+<g class="non-terminal">
+<path d="M527.5 40h0"></path>
+<path d="M598.5 40h0"></path>
+<rect x="527.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="563" y="44">Source</text>
+</a>
+</g>
+<path d="M598.5 40h10"></path>
+<path d="M608.5 40h10"></path>
+<g class="terminal">
+<path d="M618.5 40h0"></path>
+<path d="M672.5 40h0"></path>
+<rect x="618.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="645.5" y="44">"IN"</text>
+</g>
+<path d="M672.5 40h10"></path>
+<path d="M682.5 40h10"></path>
+<g>
+<path d="M692.5 40h0"></path>
+<path d="M1174.5 40h0"></path>
+<g>
+<path d="M692.5 40h0"></path>
+<path d="M1093.5 40h0"></path>
+<path d="M692.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M712.5 20h361"></path>
+</g>
+<path d="M1073.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M692.5 40h20"></path>
+<g>
+<path d="M712.5 40h0"></path>
+<path d="M1073.5 40h0"></path>
+<path d="M712.5 40h20"></path>
+<g class="terminal">
+<path d="M732.5 40h0"></path>
+<path d="M812 40h241.5"></path>
+<rect x="732.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="772.25" y="44">"TABLE"</text>
+</g>
+<path d="M1053.5 40h20"></path>
+<path d="M712.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M732.5 70h0"></path>
+<path d="M888.5 70h165"></path>
+<rect x="732.5" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="810.5" y="74">"SECTION OFFSET"</text>
+</g>
+<path d="M1053.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M712.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M732.5 100h0"></path>
+<path d="M1053.5 100h0"></path>
+<g class="terminal">
+<path d="M732.5 100h0"></path>
+<path d="M888.5 100h0"></path>
+<rect x="732.5" y="89" width="156" height="22" rx="10" ry="10"></rect>
+<text x="810.5" y="104">"SECTION LENGTH"</text>
+</g>
+<path d="M888.5 100h10"></path>
+<path d="M898.5 100h10"></path>
+<g class="non-terminal">
+<path d="M908.5 100h0"></path>
+<path d="M979.5 100h0"></path>
+<rect x="908.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="944" y="104">Source</text>
+</a>
+</g>
+<path d="M979.5 100h10"></path>
+<path d="M989.5 100h10"></path>
+<g class="terminal">
+<path d="M999.5 100h0"></path>
+<path d="M1053.5 100h0"></path>
+<rect x="999.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1026.5" y="104">"OF"</text>
+</g>
+</g>
+<path d="M1053.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1073.5 40h20"></path>
+</g>
+<path d="M1093.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1103.5 40h0"></path>
+<path d="M1174.5 40h0"></path>
+<rect x="1103.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1139" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1174.5 40h10"></path>
+<g>
+<path d="M1184.5 40h0"></path>
+<path d="M1598.5 40h0"></path>
+<path d="M1184.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1204.5 20h374"></path>
+</g>
+<path d="M1578.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1184.5 40h20"></path>
+<g>
+<path d="M1204.5 40h0"></path>
+<path d="M1578.5 40h0"></path>
+<path d="M1234.5 40h10"></path>
+<g class="terminal">
+<path d="M1244.5 40h0"></path>
+<path d="M1392 40h156.5"></path>
+<rect x="1244.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1318.25" y="44">"IGNORING CASE"</text>
+</g>
+<path d="M1548.5 40h10"></path>
+<path d="M1234.5 40v20a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1244.5 70h0"></path>
+<path d="M1409 70h139.5"></path>
+<rect x="1244.5" y="59" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1326.75" y="74">"RESPECTING CASE"</text>
+</g>
+<path d="M1548.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1234.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1244.5 100h0"></path>
+<path d="M1383.5 100h165"></path>
+<rect x="1244.5" y="89" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1314" y="104">"IN BYTE MODE"</text>
+</g>
+<path d="M1548.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1234.5 40v80a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1244.5 130h0"></path>
+<path d="M1426 130h122.5"></path>
+<rect x="1244.5" y="119" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="1335.25" y="134">"IN CHARACTER MODE"</text>
+</g>
+<path d="M1548.5 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M1234.5 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 160h0"></path>
+<path d="M1389.5 160h159"></path>
+<g class="terminal">
+<path d="M1244.5 160h0"></path>
+<path d="M1298.5 160h0"></path>
+<rect x="1244.5" y="149" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1271.5" y="164">"OF"</text>
+</g>
+<path d="M1298.5 160h10"></path>
+<path d="M1308.5 160h10"></path>
+<g class="non-terminal">
+<path d="M1318.5 160h0"></path>
+<path d="M1389.5 160h0"></path>
+<rect x="1318.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1354" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M1234.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 190h0"></path>
+<path d="M1406.5 190h142"></path>
+<g class="terminal">
+<path d="M1244.5 190h0"></path>
+<path d="M1315.5 190h0"></path>
+<rect x="1244.5" y="179" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1280" y="194">"FROM"</text>
+</g>
+<path d="M1315.5 190h10"></path>
+<path d="M1325.5 190h10"></path>
+<g class="non-terminal">
+<path d="M1335.5 190h0"></path>
+<path d="M1406.5 190h0"></path>
+<rect x="1335.5" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1371" y="194">Source</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M1234.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 220h0"></path>
+<path d="M1389.5 220h159"></path>
+<g class="terminal">
+<path d="M1244.5 220h0"></path>
+<path d="M1298.5 220h0"></path>
+<rect x="1244.5" y="209" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1271.5" y="224">"TO"</text>
+</g>
+<path d="M1298.5 220h10"></path>
+<path d="M1308.5 220h10"></path>
+<g class="non-terminal">
+<path d="M1318.5 220h0"></path>
+<path d="M1389.5 220h0"></path>
+<rect x="1318.5" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1354" y="224">Source</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M1234.5 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 250h0"></path>
+<path d="M1474.5 250h74"></path>
+<g class="terminal">
+<path d="M1244.5 250h0"></path>
+<path d="M1383.5 250h0"></path>
+<rect x="1244.5" y="239" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1314" y="254">"MATCH OFFSET"</text>
+</g>
+<path d="M1383.5 250h10"></path>
+<path d="M1393.5 250h10"></path>
+<g class="non-terminal">
+<path d="M1403.5 250h0"></path>
+<path d="M1474.5 250h0"></path>
+<rect x="1403.5" y="239" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1439" y="254">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M1234.5 40v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 280h0"></path>
+<path d="M1457.5 280h91"></path>
+<g class="terminal">
+<path d="M1244.5 280h0"></path>
+<path d="M1366.5 280h0"></path>
+<rect x="1244.5" y="269" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1305.5" y="284">"MATCH LINE"</text>
+</g>
+<path d="M1366.5 280h10"></path>
+<path d="M1376.5 280h10"></path>
+<g class="non-terminal">
+<path d="M1386.5 280h0"></path>
+<path d="M1457.5 280h0"></path>
+<rect x="1386.5" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1422" y="284">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M1234.5 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 310h0"></path>
+<path d="M1466 310h82.5"></path>
+<g class="terminal">
+<path d="M1244.5 310h0"></path>
+<path d="M1375 310h0"></path>
+<rect x="1244.5" y="299" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1309.75" y="314">"MATCH COUNT"</text>
+</g>
+<path d="M1375 310h10"></path>
+<path d="M1385 310h10"></path>
+<g class="non-terminal">
+<path d="M1395 310h0"></path>
+<path d="M1466 310h0"></path>
+<rect x="1395" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1430.5" y="314">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 310a10 10 0 0 0 10 -10v-260"></path>
+<path d="M1234.5 40v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 340h0"></path>
+<path d="M1474.5 340h74"></path>
+<g class="terminal">
+<path d="M1244.5 340h0"></path>
+<path d="M1383.5 340h0"></path>
+<rect x="1244.5" y="329" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1314" y="344">"MATCH LENGTH"</text>
+</g>
+<path d="M1383.5 340h10"></path>
+<path d="M1393.5 340h10"></path>
+<g class="non-terminal">
+<path d="M1403.5 340h0"></path>
+<path d="M1474.5 340h0"></path>
+<rect x="1403.5" y="329" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1439" y="344">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 340a10 10 0 0 0 10 -10v-290"></path>
+<path d="M1234.5 40v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 370h0"></path>
+<path d="M1423.5 370h125"></path>
+<g class="terminal">
+<path d="M1244.5 370h0"></path>
+<path d="M1332.5 370h0"></path>
+<rect x="1244.5" y="359" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1288.5" y="374">"LENGTH"</text>
+</g>
+<path d="M1332.5 370h10"></path>
+<path d="M1342.5 370h10"></path>
+<g class="non-terminal">
+<path d="M1352.5 370h0"></path>
+<path d="M1423.5 370h0"></path>
+<rect x="1352.5" y="359" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1388" y="374">Source</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 370a10 10 0 0 0 10 -10v-320"></path>
+<path d="M1234.5 40v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 400h0"></path>
+<path d="M1432 400h116.5"></path>
+<g class="terminal">
+<path d="M1244.5 400h0"></path>
+<path d="M1341 400h0"></path>
+<rect x="1244.5" y="389" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1292.75" y="404">"RESULTS"</text>
+</g>
+<path d="M1341 400h10"></path>
+<path d="M1351 400h10"></path>
+<g class="non-terminal">
+<path d="M1361 400h0"></path>
+<path d="M1432 400h0"></path>
+<rect x="1361" y="389" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1396.5" y="404">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 400a10 10 0 0 0 10 -10v-350"></path>
+<path d="M1234.5 40v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 430h0"></path>
+<path d="M1457.5 430h91"></path>
+<g class="terminal">
+<path d="M1244.5 430h0"></path>
+<path d="M1366.5 430h0"></path>
+<rect x="1244.5" y="419" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1305.5" y="434">"SUBMATCHES"</text>
+</g>
+<path d="M1366.5 430h10"></path>
+<path d="M1376.5 430h10"></path>
+<g class="non-terminal">
+<path d="M1386.5 430h0"></path>
+<path d="M1457.5 430h0"></path>
+<rect x="1386.5" y="419" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1422" y="434">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 430a10 10 0 0 0 10 -10v-380"></path>
+<path d="M1234.5 40v410a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 460h0"></path>
+<path d="M1548.5 460h0"></path>
+<g class="terminal">
+<path d="M1244.5 460h0"></path>
+<path d="M1366.5 460h0"></path>
+<rect x="1244.5" y="449" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1305.5" y="464">"SUBMATCHES"</text>
+</g>
+<path d="M1366.5 460h10"></path>
+<path d="M1376.5 460h10"></path>
+<g class="non-terminal">
+<path d="M1386.5 460h0"></path>
+<path d="M1457.5 460h0"></path>
+<rect x="1386.5" y="449" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1422" y="464">Target</text>
+</a>
+</g>
+<path d="M1457.5 460h10"></path>
+<path d="M1467.5 460h10"></path>
+<g class="non-terminal">
+<path d="M1477.5 460h0"></path>
+<path d="M1548.5 460h0"></path>
+<rect x="1477.5" y="449" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1513" y="464">Target</text>
+</a>
+</g>
+</g>
+<path d="M1548.5 460a10 10 0 0 0 10 -10v-410"></path>
+<path d="M1234.5 40v440a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1244.5 490h0"></path>
+<path d="M1477.5 490h71"></path>
+<g class="terminal">
+<path d="M1244.5 490h0"></path>
+<path d="M1366.5 490h0"></path>
+<rect x="1244.5" y="479" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1305.5" y="494">"SUBMATCHES"</text>
+</g>
+<path d="M1366.5 490h10"></path>
+<path d="M1376.5 490h10"></path>
+<g>
+<path d="M1386.5 490h0"></path>
+<path d="M1477.5 490h0"></path>
+<path d="M1386.5 490h10"></path>
+<g class="non-terminal">
+<path d="M1396.5 490h0"></path>
+<path d="M1467.5 490h0"></path>
+<rect x="1396.5" y="479" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1432" y="494">Target</text>
+</a>
+</g>
+<path d="M1467.5 490h10"></path>
+<path d="M1396.5 490a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1396.5 510h71"></path>
+</g>
+<path d="M1467.5 510a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1548.5 490a10 10 0 0 0 10 -10v-440"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1234.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1219.5" y="44" class="diagram-text">1+</text>
+<path d="M 1558.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1565.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1578.5 40h20"></path>
+</g>
+</g>
+<path d="M1598.5 40h10"></path>
+<path d="M 1608.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Form.svg b/abap/statement_Form.svg
new file mode 100644
index 00000000..509fdd7f
--- /dev/null
+++ b/abap/statement_Form.svg
@@ -0,0 +1,159 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="926" height="101" viewBox="0 0 926 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M876 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"FORM"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g class="non-terminal">
+<path d="M141 31h0"></path>
+<path d="M229 31h0"></path>
+<rect x="141" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="185" y="35">FormName</text>
+</a>
+</g>
+<path d="M229 31h10"></path>
+<g>
+<path d="M239 31h0"></path>
+<path d="M876 31h0"></path>
+<path d="M239 31h20"></path>
+<g class="terminal">
+<path d="M259 31h0"></path>
+<path d="M415 31h441"></path>
+<rect x="259" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="337" y="35">"IMPLEMENTATION"</text>
+</g>
+<path d="M856 31h20"></path>
+<path d="M239 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M259 70h0"></path>
+<path d="M856 70h0"></path>
+<g>
+<path d="M259 70h0"></path>
+<path d="M404 70h0"></path>
+<path d="M259 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M279 50h105"></path>
+</g>
+<path d="M384 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M259 70h20"></path>
+<g class="non-terminal">
+<path d="M279 70h0"></path>
+<path d="M384 70h0"></path>
+<rect x="279" y="59" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FormTables"><text x="331.5" y="74">FormTables</text>
+</a>
+</g>
+<path d="M384 70h20"></path>
+</g>
+<g>
+<path d="M404 70h0"></path>
+<path d="M540.5 70h0"></path>
+<path d="M404 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M424 50h96.5"></path>
+</g>
+<path d="M520.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M404 70h20"></path>
+<g class="non-terminal">
+<path d="M424 70h0"></path>
+<path d="M520.5 70h0"></path>
+<rect x="424" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormUsing"><text x="472.25" y="74">FormUsing</text>
+</a>
+</g>
+<path d="M520.5 70h20"></path>
+</g>
+<g>
+<path d="M540.5 70h0"></path>
+<path d="M702.5 70h0"></path>
+<path d="M540.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M560.5 50h122"></path>
+</g>
+<path d="M682.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M540.5 70h20"></path>
+<g class="non-terminal">
+<path d="M560.5 70h0"></path>
+<path d="M682.5 70h0"></path>
+<rect x="560.5" y="59" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/FormChanging"><text x="621.5" y="74">FormChanging</text>
+</a>
+</g>
+<path d="M682.5 70h20"></path>
+</g>
+<g>
+<path d="M702.5 70h0"></path>
+<path d="M856 70h0"></path>
+<path d="M702.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M722.5 50h113.5"></path>
+</g>
+<path d="M836 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M702.5 70h20"></path>
+<g class="non-terminal">
+<path d="M722.5 70h0"></path>
+<path d="M836 70h0"></path>
+<rect x="722.5" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormRaising"><text x="779.25" y="74">FormRaising</text>
+</a>
+</g>
+<path d="M836 70h20"></path>
+</g>
+</g>
+<path d="M856 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M876 31h10"></path>
+<path d="M 886 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FormDefinition.svg b/abap/statement_FormDefinition.svg
new file mode 100644
index 00000000..a2997454
--- /dev/null
+++ b/abap/statement_FormDefinition.svg
@@ -0,0 +1,149 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1028" height="71" viewBox="0 0 1028 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M978 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"FORM"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g class="non-terminal">
+<path d="M141 40h0"></path>
+<path d="M229 40h0"></path>
+<rect x="141" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="185" y="44">FormName</text>
+</a>
+</g>
+<path d="M229 40h10"></path>
+<path d="M239 40h10"></path>
+<g class="terminal">
+<path d="M249 40h0"></path>
+<path d="M371 40h0"></path>
+<rect x="249" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="310" y="44">"DEFINITION"</text>
+</g>
+<path d="M371 40h10"></path>
+<g>
+<path d="M381 40h0"></path>
+<path d="M526 40h0"></path>
+<path d="M381 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M401 20h105"></path>
+</g>
+<path d="M506 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M381 40h20"></path>
+<g class="non-terminal">
+<path d="M401 40h0"></path>
+<path d="M506 40h0"></path>
+<rect x="401" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FormTables"><text x="453.5" y="44">FormTables</text>
+</a>
+</g>
+<path d="M506 40h20"></path>
+</g>
+<g>
+<path d="M526 40h0"></path>
+<path d="M662.5 40h0"></path>
+<path d="M526 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M546 20h96.5"></path>
+</g>
+<path d="M642.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M526 40h20"></path>
+<g class="non-terminal">
+<path d="M546 40h0"></path>
+<path d="M642.5 40h0"></path>
+<rect x="546" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormUsing"><text x="594.25" y="44">FormUsing</text>
+</a>
+</g>
+<path d="M642.5 40h20"></path>
+</g>
+<g>
+<path d="M662.5 40h0"></path>
+<path d="M824.5 40h0"></path>
+<path d="M662.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M682.5 20h122"></path>
+</g>
+<path d="M804.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M662.5 40h20"></path>
+<g class="non-terminal">
+<path d="M682.5 40h0"></path>
+<path d="M804.5 40h0"></path>
+<rect x="682.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/FormChanging"><text x="743.5" y="44">FormChanging</text>
+</a>
+</g>
+<path d="M804.5 40h20"></path>
+</g>
+<g>
+<path d="M824.5 40h0"></path>
+<path d="M978 40h0"></path>
+<path d="M824.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M844.5 20h113.5"></path>
+</g>
+<path d="M958 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M824.5 40h20"></path>
+<g class="non-terminal">
+<path d="M844.5 40h0"></path>
+<path d="M958 40h0"></path>
+<rect x="844.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FormRaising"><text x="901.25" y="44">FormRaising</text>
+</a>
+</g>
+<path d="M958 40h20"></path>
+</g>
+</g>
+<path d="M978 40h10"></path>
+<path d="M 988 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Format.svg b/abap/statement_Format.svg
new file mode 100644
index 00000000..f213c869
--- /dev/null
+++ b/abap/statement_Format.svg
@@ -0,0 +1,403 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="728" height="569" viewBox="0 0 728 569">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M678 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M678 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"FORMAT"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g>
+<path d="M251 31h0"></path>
+<path d="M678 31h0"></path>
+<path d="M281 31h10"></path>
+<g class="terminal">
+<path d="M291 31h0"></path>
+<path d="M370.5 31h277.5"></path>
+<rect x="291" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="330.75" y="35">"RESET"</text>
+</g>
+<path d="M648 31h10"></path>
+<path d="M281 31v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M291 70h0"></path>
+<path d="M648 70h0"></path>
+<g class="terminal">
+<path d="M291 70h0"></path>
+<path d="M421.5 70h0"></path>
+<rect x="291" y="59" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="356.25" y="74">"INTENSIFIED"</text>
+</g>
+<path d="M421.5 70h10"></path>
+<g>
+<path d="M431.5 70h0"></path>
+<path d="M648 70h0"></path>
+<path d="M431.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M451.5 50h176.5"></path>
+</g>
+<path d="M628 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M431.5 70h20"></path>
+<g>
+<path d="M451.5 70h0"></path>
+<path d="M628 70h0"></path>
+<path d="M451.5 70h20"></path>
+<g>
+<path d="M471.5 70h0"></path>
+<path d="M608 70h0"></path>
+<g class="terminal">
+<path d="M471.5 70h0"></path>
+<path d="M517 70h0"></path>
+<rect x="471.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="494.25" y="74">"="</text>
+</g>
+<path d="M517 70h10"></path>
+<path d="M527 70h10"></path>
+<g class="non-terminal">
+<path d="M537 70h0"></path>
+<path d="M608 70h0"></path>
+<rect x="537" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="572.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M608 70h20"></path>
+<path d="M451.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M471.5 100h0"></path>
+<path d="M525.5 100h82.5"></path>
+<rect x="471.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="498.5" y="104">"ON"</text>
+</g>
+<path d="M608 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M451.5 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M471.5 130h0"></path>
+<path d="M534 130h74"></path>
+<rect x="471.5" y="119" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="502.75" y="134">"OFF"</text>
+</g>
+<path d="M608 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M628 70h20"></path>
+</g>
+</g>
+<path d="M648 70a10 10 0 0 0 10 -10v-29"></path>
+<path d="M281 31v128a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M291 169h0"></path>
+<path d="M614 169h34"></path>
+<g class="terminal">
+<path d="M291 169h0"></path>
+<path d="M387.5 169h0"></path>
+<rect x="291" y="158" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="339.25" y="173">"INVERSE"</text>
+</g>
+<path d="M387.5 169h10"></path>
+<g>
+<path d="M397.5 169h0"></path>
+<path d="M614 169h0"></path>
+<path d="M397.5 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M417.5 149h176.5"></path>
+</g>
+<path d="M594 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M397.5 169h20"></path>
+<g>
+<path d="M417.5 169h0"></path>
+<path d="M594 169h0"></path>
+<path d="M417.5 169h20"></path>
+<g>
+<path d="M437.5 169h0"></path>
+<path d="M574 169h0"></path>
+<g class="terminal">
+<path d="M437.5 169h0"></path>
+<path d="M483 169h0"></path>
+<rect x="437.5" y="158" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="460.25" y="173">"="</text>
+</g>
+<path d="M483 169h10"></path>
+<path d="M493 169h10"></path>
+<g class="non-terminal">
+<path d="M503 169h0"></path>
+<path d="M574 169h0"></path>
+<rect x="503" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="538.5" y="173">Source</text>
+</a>
+</g>
+</g>
+<path d="M574 169h20"></path>
+<path d="M417.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M437.5 199h0"></path>
+<path d="M491.5 199h82.5"></path>
+<rect x="437.5" y="188" width="54" height="22" rx="10" ry="10"></rect>
+<text x="464.5" y="203">"ON"</text>
+</g>
+<path d="M574 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 169a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M437.5 229h0"></path>
+<path d="M500 229h74"></path>
+<rect x="437.5" y="218" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="468.75" y="233">"OFF"</text>
+</g>
+<path d="M574 229a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M594 169h20"></path>
+</g>
+</g>
+<path d="M648 169a10 10 0 0 0 10 -10v-128"></path>
+<path d="M281 31v227a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M291 268h0"></path>
+<path d="M614 268h34"></path>
+<g class="terminal">
+<path d="M291 268h0"></path>
+<path d="M387.5 268h0"></path>
+<rect x="291" y="257" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="339.25" y="272">"HOTSPOT"</text>
+</g>
+<path d="M387.5 268h10"></path>
+<g>
+<path d="M397.5 268h0"></path>
+<path d="M614 268h0"></path>
+<path d="M397.5 268a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M417.5 248h176.5"></path>
+</g>
+<path d="M594 248a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M397.5 268h20"></path>
+<g>
+<path d="M417.5 268h0"></path>
+<path d="M594 268h0"></path>
+<path d="M417.5 268h20"></path>
+<g>
+<path d="M437.5 268h0"></path>
+<path d="M574 268h0"></path>
+<g class="terminal">
+<path d="M437.5 268h0"></path>
+<path d="M483 268h0"></path>
+<rect x="437.5" y="257" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="460.25" y="272">"="</text>
+</g>
+<path d="M483 268h10"></path>
+<path d="M493 268h10"></path>
+<g class="non-terminal">
+<path d="M503 268h0"></path>
+<path d="M574 268h0"></path>
+<rect x="503" y="257" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="538.5" y="272">Source</text>
+</a>
+</g>
+</g>
+<path d="M574 268h20"></path>
+<path d="M417.5 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M437.5 298h0"></path>
+<path d="M491.5 298h82.5"></path>
+<rect x="437.5" y="287" width="54" height="22" rx="10" ry="10"></rect>
+<text x="464.5" y="302">"ON"</text>
+</g>
+<path d="M574 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 268a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M437.5 328h0"></path>
+<path d="M500 328h74"></path>
+<rect x="437.5" y="317" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="468.75" y="332">"OFF"</text>
+</g>
+<path d="M574 328a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M594 268h20"></path>
+</g>
+</g>
+<path d="M648 268a10 10 0 0 0 10 -10v-227"></path>
+<path d="M281 31v317a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M291 358h0"></path>
+<path d="M565.5 358h82.5"></path>
+<g class="terminal">
+<path d="M291 358h0"></path>
+<path d="M379 358h0"></path>
+<rect x="291" y="347" width="88" height="22" rx="10" ry="10"></rect>
+<text x="335" y="362">"FRAMES"</text>
+</g>
+<path d="M379 358h10"></path>
+<g>
+<path d="M389 358h0"></path>
+<path d="M565.5 358h0"></path>
+<path d="M389 358h20"></path>
+<g>
+<path d="M409 358h0"></path>
+<path d="M545.5 358h0"></path>
+<g class="terminal">
+<path d="M409 358h0"></path>
+<path d="M454.5 358h0"></path>
+<rect x="409" y="347" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="431.75" y="362">"="</text>
+</g>
+<path d="M454.5 358h10"></path>
+<path d="M464.5 358h10"></path>
+<g class="non-terminal">
+<path d="M474.5 358h0"></path>
+<path d="M545.5 358h0"></path>
+<rect x="474.5" y="347" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="510" y="362">Source</text>
+</a>
+</g>
+</g>
+<path d="M545.5 358h20"></path>
+<path d="M389 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M409 388h0"></path>
+<path d="M463 388h82.5"></path>
+<rect x="409" y="377" width="54" height="22" rx="10" ry="10"></rect>
+<text x="436" y="392">"ON"</text>
+</g>
+<path d="M545.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M389 358a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M409 418h0"></path>
+<path d="M471.5 418h74"></path>
+<rect x="409" y="407" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="440.25" y="422">"OFF"</text>
+</g>
+<path d="M545.5 418a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M648 358a10 10 0 0 0 10 -10v-317"></path>
+<path d="M281 31v407a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M291 448h0"></path>
+<path d="M557 448h91"></path>
+<g class="terminal">
+<path d="M291 448h0"></path>
+<path d="M370.5 448h0"></path>
+<rect x="291" y="437" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="330.75" y="452">"INPUT"</text>
+</g>
+<path d="M370.5 448h10"></path>
+<g>
+<path d="M380.5 448h0"></path>
+<path d="M557 448h0"></path>
+<path d="M380.5 448h20"></path>
+<g>
+<path d="M400.5 448h0"></path>
+<path d="M537 448h0"></path>
+<g class="terminal">
+<path d="M400.5 448h0"></path>
+<path d="M446 448h0"></path>
+<rect x="400.5" y="437" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="423.25" y="452">"="</text>
+</g>
+<path d="M446 448h10"></path>
+<path d="M456 448h10"></path>
+<g class="non-terminal">
+<path d="M466 448h0"></path>
+<path d="M537 448h0"></path>
+<rect x="466" y="437" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="501.5" y="452">Source</text>
+</a>
+</g>
+</g>
+<path d="M537 448h20"></path>
+<path d="M380.5 448a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M400.5 478h0"></path>
+<path d="M454.5 478h82.5"></path>
+<rect x="400.5" y="467" width="54" height="22" rx="10" ry="10"></rect>
+<text x="427.5" y="482">"ON"</text>
+</g>
+<path d="M537 478a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M380.5 448a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M400.5 508h0"></path>
+<path d="M463 508h74"></path>
+<rect x="400.5" y="497" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="431.75" y="512">"OFF"</text>
+</g>
+<path d="M537 508a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M648 448a10 10 0 0 0 10 -10v-407"></path>
+<path d="M281 31v497a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M291 538h0"></path>
+<path d="M353.5 538h294.5"></path>
+<rect x="291" y="527" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Color"><text x="322.25" y="542">Color</text>
+</a>
+</g>
+<path d="M648 538a10 10 0 0 0 10 -10v-497"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 281 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="266" y="35" class="diagram-text">1+</text>
+<path d="M 658 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 665 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M678 31h10"></path>
+<path d="M 688 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Free.svg b/abap/statement_Free.svg
new file mode 100644
index 00000000..0baed5cb
--- /dev/null
+++ b/abap/statement_Free.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="262" height="62" viewBox="0 0 262 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M212 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"FREE"</text>
+</g>
+<path d="M121 31h10"></path>
+<path d="M131 31h10"></path>
+<g class="non-terminal">
+<path d="M141 31h0"></path>
+<path d="M212 31h0"></path>
+<rect x="141" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="176.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M212 31h10"></path>
+<path d="M 222 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FreeMemory.svg b/abap/statement_FreeMemory.svg
new file mode 100644
index 00000000..0a0f3872
--- /dev/null
+++ b/abap/statement_FreeMemory.svg
@@ -0,0 +1,101 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="518.5" height="71" viewBox="0 0 518.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M468.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M468.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="143" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="44">"FREE MEMORY"</text>
+</g>
+<path d="M273.5 40h10"></path>
+<g>
+<path d="M283.5 40h0"></path>
+<path d="M468.5 40h0"></path>
+<path d="M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M303.5 20h145"></path>
+</g>
+<path d="M448.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M283.5 40h20"></path>
+<g>
+<path d="M303.5 40h0"></path>
+<path d="M448.5 40h0"></path>
+<g class="terminal">
+<path d="M303.5 40h0"></path>
+<path d="M357.5 40h0"></path>
+<rect x="303.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="330.5" y="44">"ID"</text>
+</g>
+<path d="M357.5 40h10"></path>
+<path d="M367.5 40h10"></path>
+<g class="non-terminal">
+<path d="M377.5 40h0"></path>
+<path d="M448.5 40h0"></path>
+<rect x="377.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="413" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M448.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M468.5 40h10"></path>
+<path d="M 478.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FreeObject.svg b/abap/statement_FreeObject.svg
new file mode 100644
index 00000000..27f360e4
--- /dev/null
+++ b/abap/statement_FreeObject.svg
@@ -0,0 +1,97 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="569.5" height="71" viewBox="0 0 569.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M519.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M519.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="143" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="44">"FREE OBJECT"</text>
+</g>
+<path d="M273.5 40h10"></path>
+<path d="M283.5 40h10"></path>
+<g class="non-terminal">
+<path d="M293.5 40h0"></path>
+<path d="M364.5 40h0"></path>
+<rect x="293.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="329" y="44">Target</text>
+</a>
+</g>
+<path d="M364.5 40h10"></path>
+<g>
+<path d="M374.5 40h0"></path>
+<path d="M519.5 40h0"></path>
+<path d="M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M394.5 20h105"></path>
+</g>
+<path d="M499.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M374.5 40h20"></path>
+<g class="terminal">
+<path d="M394.5 40h0"></path>
+<path d="M499.5 40h0"></path>
+<rect x="394.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="447" y="44">"NO FLUSH"</text>
+</g>
+<path d="M499.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M519.5 40h10"></path>
+<path d="M 529.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FunctionModule.svg b/abap/statement_FunctionModule.svg
new file mode 100644
index 00000000..a1116fe4
--- /dev/null
+++ b/abap/statement_FunctionModule.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="287.5" height="62" viewBox="0 0 287.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M237.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"FUNCTION"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M237.5 31h0"></path>
+<rect x="175" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="206.25" y="35">Field</text>
+</a>
+</g>
+</g>
+<path d="M237.5 31h10"></path>
+<path d="M 247.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_FunctionPool.svg b/abap/statement_FunctionPool.svg
new file mode 100644
index 00000000..2dbfe2aa
--- /dev/null
+++ b/abap/statement_FunctionPool.svg
@@ -0,0 +1,141 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="714" height="131" viewBox="0 0 714 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M664 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M197.5 40h0"></path>
+<rect x="50" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="123.75" y="44">"FUNCTION-POOL"</text>
+</g>
+<path d="M197.5 40h10"></path>
+<path d="M207.5 40h10"></path>
+<g class="non-terminal">
+<path d="M217.5 40h0"></path>
+<path d="M280 40h0"></path>
+<rect x="217.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="248.75" y="44">Field</text>
+</a>
+</g>
+<path d="M280 40h10"></path>
+<g>
+<path d="M290 40h0"></path>
+<path d="M664 40h0"></path>
+<path d="M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M310 20h334"></path>
+</g>
+<path d="M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M290 40h20"></path>
+<g>
+<path d="M310 40h0"></path>
+<path d="M644 40h0"></path>
+<path d="M340 40h10"></path>
+<g>
+<path d="M350 40h0"></path>
+<path d="M614 40h0"></path>
+<g class="terminal">
+<path d="M350 40h0"></path>
+<path d="M472 40h0"></path>
+<rect x="350" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="411" y="44">"MESSAGE-ID"</text>
+</g>
+<path d="M472 40h10"></path>
+<path d="M482 40h10"></path>
+<g class="non-terminal">
+<path d="M492 40h0"></path>
+<path d="M614 40h0"></path>
+<rect x="492" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageClass"><text x="553" y="44">MessageClass</text>
+</a>
+</g>
+</g>
+<path d="M614 40h10"></path>
+<path d="M340 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M350 70h0"></path>
+<path d="M563 70h51"></path>
+<g class="terminal">
+<path d="M350 70h0"></path>
+<path d="M463.5 70h0"></path>
+<rect x="350" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="406.75" y="74">"LINE-SIZE"</text>
+</g>
+<path d="M463.5 70h10"></path>
+<path d="M473.5 70h10"></path>
+<g class="non-terminal">
+<path d="M483.5 70h0"></path>
+<path d="M563 70h0"></path>
+<rect x="483.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="523.25" y="74">Integer</text>
+</a>
+</g>
+</g>
+<path d="M614 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M340 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M350 100h0"></path>
+<path d="M591 100h23"></path>
+<rect x="350" y="89" width="241" height="22" rx="10" ry="10"></rect>
+<text x="470.5" y="104">"NO STANDARD PAGE HEADING"</text>
+</g>
+<path d="M614 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 340 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="325" y="44" class="diagram-text">1+</text>
+<path d="M 624 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 631 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M644 40h20"></path>
+</g>
+</g>
+<path d="M664 40h10"></path>
+<path d="M 674 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GenerateDynpro.svg b/abap/statement_GenerateDynpro.svg
new file mode 100644
index 00000000..f45189a1
--- /dev/null
+++ b/abap/statement_GenerateDynpro.svg
@@ -0,0 +1,195 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1346" height="92" viewBox="0 0 1346 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1296 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M1296 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"GENERATE DYNPRO"</text>
+</g>
+<path d="M307.5 31h10"></path>
+<path d="M317.5 31h10"></path>
+<g class="non-terminal">
+<path d="M327.5 31h0"></path>
+<path d="M398.5 31h0"></path>
+<rect x="327.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="35">Source</text>
+</a>
+</g>
+<path d="M398.5 31h10"></path>
+<path d="M408.5 31h10"></path>
+<g class="non-terminal">
+<path d="M418.5 31h0"></path>
+<path d="M489.5 31h0"></path>
+<rect x="418.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="454" y="35">Source</text>
+</a>
+</g>
+<path d="M489.5 31h10"></path>
+<path d="M499.5 31h10"></path>
+<g class="non-terminal">
+<path d="M509.5 31h0"></path>
+<path d="M580.5 31h0"></path>
+<rect x="509.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="545" y="35">Source</text>
+</a>
+</g>
+<path d="M580.5 31h10"></path>
+<path d="M590.5 31h10"></path>
+<g class="non-terminal">
+<path d="M600.5 31h0"></path>
+<path d="M671.5 31h0"></path>
+<rect x="600.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="636" y="35">Source</text>
+</a>
+</g>
+<path d="M671.5 31h10"></path>
+<path d="M681.5 31h10"></path>
+<g class="terminal">
+<path d="M691.5 31h0"></path>
+<path d="M745.5 31h0"></path>
+<rect x="691.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="718.5" y="35">"ID"</text>
+</g>
+<path d="M745.5 31h10"></path>
+<path d="M755.5 31h10"></path>
+<g class="non-terminal">
+<path d="M765.5 31h0"></path>
+<path d="M836.5 31h0"></path>
+<rect x="765.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="801" y="35">Source</text>
+</a>
+</g>
+<path d="M836.5 31h10"></path>
+<path d="M846.5 31h10"></path>
+<g class="terminal">
+<path d="M856.5 31h0"></path>
+<path d="M953 31h0"></path>
+<rect x="856.5" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="904.75" y="35">"MESSAGE"</text>
+</g>
+<path d="M953 31h10"></path>
+<path d="M963 31h10"></path>
+<g class="non-terminal">
+<path d="M973 31h0"></path>
+<path d="M1044 31h0"></path>
+<rect x="973" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1008.5" y="35">Target</text>
+</a>
+</g>
+<path d="M1044 31h10"></path>
+<path d="M1054 31h10"></path>
+<g>
+<path d="M1064 31h0"></path>
+<path d="M1296 31h0"></path>
+<path d="M1094 31h10"></path>
+<g>
+<path d="M1104 31h0"></path>
+<path d="M1266 31h0"></path>
+<g class="terminal">
+<path d="M1104 31h0"></path>
+<path d="M1175 31h0"></path>
+<rect x="1104" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1139.5" y="35">"LINE"</text>
+</g>
+<path d="M1175 31h10"></path>
+<path d="M1185 31h10"></path>
+<g class="non-terminal">
+<path d="M1195 31h0"></path>
+<path d="M1266 31h0"></path>
+<rect x="1195" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1230.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M1266 31h10"></path>
+<path d="M1094 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1104 61h0"></path>
+<path d="M1266 61h0"></path>
+<g class="terminal">
+<path d="M1104 61h0"></path>
+<path d="M1175 61h0"></path>
+<rect x="1104" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1139.5" y="65">"WORD"</text>
+</g>
+<path d="M1175 61h10"></path>
+<path d="M1185 61h10"></path>
+<g class="non-terminal">
+<path d="M1195 61h0"></path>
+<path d="M1266 61h0"></path>
+<rect x="1195" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1230.5" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M1266 61a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1094 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1079" y="35" class="diagram-text">1+</text>
+<path d="M 1276 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1283 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M1296 31h10"></path>
+<path d="M 1306 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GenerateReport.svg b/abap/statement_GenerateReport.svg
new file mode 100644
index 00000000..1a312c7e
--- /dev/null
+++ b/abap/statement_GenerateReport.svg
@@ -0,0 +1,315 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="824" height="401" viewBox="0 0 824 401">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M774 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M774 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"GENERATE REPORT"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M398.5 40h0"></path>
+<rect x="327.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="44">Source</text>
+</a>
+</g>
+<path d="M398.5 40h10"></path>
+<g>
+<path d="M408.5 40h0"></path>
+<path d="M774 40h0"></path>
+<path d="M408.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M428.5 20h325.5"></path>
+</g>
+<path d="M754 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M408.5 40h20"></path>
+<g>
+<path d="M428.5 40h0"></path>
+<path d="M754 40h0"></path>
+<path d="M458.5 40h10"></path>
+<g class="terminal">
+<path d="M468.5 40h0"></path>
+<path d="M709.5 40h14.5"></path>
+<rect x="468.5" y="29" width="241" height="22" rx="10" ry="10"></rect>
+<text x="589" y="44">"WITHOUT SELECTION-SCREEN"</text>
+</g>
+<path d="M724 40h10"></path>
+<path d="M458.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 70h0"></path>
+<path d="M656 70h68"></path>
+<g class="terminal">
+<path d="M468.5 70h0"></path>
+<path d="M565 70h0"></path>
+<rect x="468.5" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="74">"MESSAGE"</text>
+</g>
+<path d="M565 70h10"></path>
+<path d="M575 70h10"></path>
+<g class="non-terminal">
+<path d="M585 70h0"></path>
+<path d="M656 70h0"></path>
+<rect x="585" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="620.5" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M458.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 100h0"></path>
+<path d="M656 100h68"></path>
+<g class="terminal">
+<path d="M468.5 100h0"></path>
+<path d="M565 100h0"></path>
+<rect x="468.5" y="89" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="104">"INCLUDE"</text>
+</g>
+<path d="M565 100h10"></path>
+<path d="M575 100h10"></path>
+<g class="non-terminal">
+<path d="M585 100h0"></path>
+<path d="M656 100h0"></path>
+<rect x="585" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="620.5" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M458.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 130h0"></path>
+<path d="M681.5 130h42.5"></path>
+<g class="terminal">
+<path d="M468.5 130h0"></path>
+<path d="M590.5 130h0"></path>
+<rect x="468.5" y="119" width="122" height="22" rx="10" ry="10"></rect>
+<text x="529.5" y="134">"TRACE-FILE"</text>
+</g>
+<path d="M590.5 130h10"></path>
+<path d="M600.5 130h10"></path>
+<g class="non-terminal">
+<path d="M610.5 130h0"></path>
+<path d="M681.5 130h0"></path>
+<rect x="610.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="646" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M458.5 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 160h0"></path>
+<path d="M630.5 160h93.5"></path>
+<g class="terminal">
+<path d="M468.5 160h0"></path>
+<path d="M539.5 160h0"></path>
+<rect x="468.5" y="149" width="71" height="22" rx="10" ry="10"></rect>
+<text x="504" y="164">"LINE"</text>
+</g>
+<path d="M539.5 160h10"></path>
+<path d="M549.5 160h10"></path>
+<g class="non-terminal">
+<path d="M559.5 160h0"></path>
+<path d="M630.5 160h0"></path>
+<rect x="559.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="595" y="164">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M458.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 190h0"></path>
+<path d="M630.5 190h93.5"></path>
+<g class="terminal">
+<path d="M468.5 190h0"></path>
+<path d="M539.5 190h0"></path>
+<rect x="468.5" y="179" width="71" height="22" rx="10" ry="10"></rect>
+<text x="504" y="194">"WORD"</text>
+</g>
+<path d="M539.5 190h10"></path>
+<path d="M549.5 190h10"></path>
+<g class="non-terminal">
+<path d="M559.5 190h0"></path>
+<path d="M630.5 190h0"></path>
+<rect x="559.5" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="595" y="194">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M458.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 220h0"></path>
+<path d="M647.5 220h76.5"></path>
+<g class="terminal">
+<path d="M468.5 220h0"></path>
+<path d="M556.5 220h0"></path>
+<rect x="468.5" y="209" width="88" height="22" rx="10" ry="10"></rect>
+<text x="512.5" y="224">"OFFSET"</text>
+</g>
+<path d="M556.5 220h10"></path>
+<path d="M566.5 220h10"></path>
+<g class="non-terminal">
+<path d="M576.5 220h0"></path>
+<path d="M647.5 220h0"></path>
+<rect x="576.5" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="612" y="224">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M458.5 40v200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M468.5 250h0"></path>
+<path d="M709.5 250h14.5"></path>
+<rect x="468.5" y="239" width="241" height="22" rx="10" ry="10"></rect>
+<text x="589" y="254">"WITH PRECOMPILED HEADERS"</text>
+</g>
+<path d="M724 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M458.5 40v230a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M468.5 280h0"></path>
+<path d="M624.5 280h99.5"></path>
+<rect x="468.5" y="269" width="156" height="22" rx="10" ry="10"></rect>
+<text x="546.5" y="284">"WITH TEST CODE"</text>
+</g>
+<path d="M724 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M458.5 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 310h0"></path>
+<path d="M681.5 310h42.5"></path>
+<g class="terminal">
+<path d="M468.5 310h0"></path>
+<path d="M590.5 310h0"></path>
+<rect x="468.5" y="299" width="122" height="22" rx="10" ry="10"></rect>
+<text x="529.5" y="314">"MESSAGE-ID"</text>
+</g>
+<path d="M590.5 310h10"></path>
+<path d="M600.5 310h10"></path>
+<g class="non-terminal">
+<path d="M610.5 310h0"></path>
+<path d="M681.5 310h0"></path>
+<rect x="610.5" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="646" y="314">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 310a10 10 0 0 0 10 -10v-260"></path>
+<path d="M458.5 40v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 340h0"></path>
+<path d="M698.5 340h25.5"></path>
+<g class="terminal">
+<path d="M468.5 340h0"></path>
+<path d="M607.5 340h0"></path>
+<rect x="468.5" y="329" width="139" height="22" rx="10" ry="10"></rect>
+<text x="538" y="344">"SHORTDUMP-ID"</text>
+</g>
+<path d="M607.5 340h10"></path>
+<path d="M617.5 340h10"></path>
+<g class="non-terminal">
+<path d="M627.5 340h0"></path>
+<path d="M698.5 340h0"></path>
+<rect x="627.5" y="329" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="663" y="344">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 340a10 10 0 0 0 10 -10v-290"></path>
+<path d="M458.5 40v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M468.5 370h0"></path>
+<path d="M724 370h0"></path>
+<g class="terminal">
+<path d="M468.5 370h0"></path>
+<path d="M633 370h0"></path>
+<rect x="468.5" y="359" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="550.75" y="374">"DIRECTORY ENTRY"</text>
+</g>
+<path d="M633 370h10"></path>
+<path d="M643 370h10"></path>
+<g class="non-terminal">
+<path d="M653 370h0"></path>
+<path d="M724 370h0"></path>
+<rect x="653" y="359" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="688.5" y="374">Target</text>
+</a>
+</g>
+</g>
+<path d="M724 370a10 10 0 0 0 10 -10v-320"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 458.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="443.5" y="44" class="diagram-text">1+</text>
+<path d="M 734 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 741 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M754 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M774 40h10"></path>
+<path d="M 784 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GenerateSubroutine.svg b/abap/statement_GenerateSubroutine.svg
new file mode 100644
index 00000000..0dc3f17e
--- /dev/null
+++ b/abap/statement_GenerateSubroutine.svg
@@ -0,0 +1,260 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="845" height="272" viewBox="0 0 845 272">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M795 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M795 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M384 31h0"></path>
+<rect x="143" y="20" width="241" height="22" rx="10" ry="10"></rect>
+<text x="263.5" y="35">"GENERATE SUBROUTINE POOL"</text>
+</g>
+<path d="M384 31h10"></path>
+<path d="M394 31h10"></path>
+<g class="non-terminal">
+<path d="M404 31h0"></path>
+<path d="M475 31h0"></path>
+<rect x="404" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="439.5" y="35">Source</text>
+</a>
+</g>
+<path d="M475 31h10"></path>
+<path d="M485 31h10"></path>
+<g>
+<path d="M495 31h0"></path>
+<path d="M795 31h0"></path>
+<path d="M525 31h10"></path>
+<g>
+<path d="M535 31h0"></path>
+<path d="M697 31h68"></path>
+<g class="terminal">
+<path d="M535 31h0"></path>
+<path d="M606 31h0"></path>
+<rect x="535" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="570.5" y="35">"NAME"</text>
+</g>
+<path d="M606 31h10"></path>
+<path d="M616 31h10"></path>
+<g class="non-terminal">
+<path d="M626 31h0"></path>
+<path d="M697 31h0"></path>
+<rect x="626" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="661.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M765 31h10"></path>
+<path d="M525 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 61h0"></path>
+<path d="M722.5 61h42.5"></path>
+<g class="terminal">
+<path d="M535 61h0"></path>
+<path d="M631.5 61h0"></path>
+<rect x="535" y="50" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="583.25" y="65">"MESSAGE"</text>
+</g>
+<path d="M631.5 61h10"></path>
+<path d="M641.5 61h10"></path>
+<g class="non-terminal">
+<path d="M651.5 61h0"></path>
+<path d="M722.5 61h0"></path>
+<rect x="651.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="687" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M525 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 91h0"></path>
+<path d="M697 91h68"></path>
+<g class="terminal">
+<path d="M535 91h0"></path>
+<path d="M606 91h0"></path>
+<rect x="535" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="570.5" y="95">"LINE"</text>
+</g>
+<path d="M606 91h10"></path>
+<path d="M616 91h10"></path>
+<g class="non-terminal">
+<path d="M626 91h0"></path>
+<path d="M697 91h0"></path>
+<rect x="626" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="661.5" y="95">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 91a10 10 0 0 0 10 -10v-50"></path>
+<path d="M525 31v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 121h0"></path>
+<path d="M697 121h68"></path>
+<g class="terminal">
+<path d="M535 121h0"></path>
+<path d="M606 121h0"></path>
+<rect x="535" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="570.5" y="125">"WORD"</text>
+</g>
+<path d="M606 121h10"></path>
+<path d="M616 121h10"></path>
+<g class="non-terminal">
+<path d="M626 121h0"></path>
+<path d="M697 121h0"></path>
+<rect x="626" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="661.5" y="125">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 121a10 10 0 0 0 10 -10v-80"></path>
+<path d="M525 31v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 151h0"></path>
+<path d="M722.5 151h42.5"></path>
+<g class="terminal">
+<path d="M535 151h0"></path>
+<path d="M631.5 151h0"></path>
+<rect x="535" y="140" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="583.25" y="155">"INCLUDE"</text>
+</g>
+<path d="M631.5 151h10"></path>
+<path d="M641.5 151h10"></path>
+<g class="non-terminal">
+<path d="M651.5 151h0"></path>
+<path d="M722.5 151h0"></path>
+<rect x="651.5" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="687" y="155">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 151a10 10 0 0 0 10 -10v-110"></path>
+<path d="M525 31v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 181h0"></path>
+<path d="M714 181h51"></path>
+<g class="terminal">
+<path d="M535 181h0"></path>
+<path d="M623 181h0"></path>
+<rect x="535" y="170" width="88" height="22" rx="10" ry="10"></rect>
+<text x="579" y="185">"OFFSET"</text>
+</g>
+<path d="M623 181h10"></path>
+<path d="M633 181h10"></path>
+<g class="non-terminal">
+<path d="M643 181h0"></path>
+<path d="M714 181h0"></path>
+<rect x="643" y="170" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="678.5" y="185">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 181a10 10 0 0 0 10 -10v-140"></path>
+<path d="M525 31v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 211h0"></path>
+<path d="M748 211h17"></path>
+<g class="terminal">
+<path d="M535 211h0"></path>
+<path d="M657 211h0"></path>
+<rect x="535" y="200" width="122" height="22" rx="10" ry="10"></rect>
+<text x="596" y="215">"MESSAGE-ID"</text>
+</g>
+<path d="M657 211h10"></path>
+<path d="M667 211h10"></path>
+<g class="non-terminal">
+<path d="M677 211h0"></path>
+<path d="M748 211h0"></path>
+<rect x="677" y="200" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="712.5" y="215">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 211a10 10 0 0 0 10 -10v-170"></path>
+<path d="M525 31v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M535 241h0"></path>
+<path d="M765 241h0"></path>
+<g class="terminal">
+<path d="M535 241h0"></path>
+<path d="M674 241h0"></path>
+<rect x="535" y="230" width="139" height="22" rx="10" ry="10"></rect>
+<text x="604.5" y="245">"SHORTDUMP-ID"</text>
+</g>
+<path d="M674 241h10"></path>
+<path d="M684 241h10"></path>
+<g class="non-terminal">
+<path d="M694 241h0"></path>
+<path d="M765 241h0"></path>
+<rect x="694" y="230" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="729.5" y="245">Target</text>
+</a>
+</g>
+</g>
+<path d="M765 241a10 10 0 0 0 10 -10v-200"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 525 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="510" y="35" class="diagram-text">1+</text>
+<path d="M 775 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 782 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M795 31h10"></path>
+<path d="M 805 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Get.svg b/abap/statement_Get.svg
new file mode 100644
index 00000000..98c5b64c
--- /dev/null
+++ b/abap/statement_Get.svg
@@ -0,0 +1,142 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="657" height="110" viewBox="0 0 657 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M607 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M607 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M205.5 40h0"></path>
+<rect x="143" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="174.25" y="44">"GET"</text>
+</g>
+<path d="M205.5 40h10"></path>
+<path d="M215.5 40h10"></path>
+<g class="non-terminal">
+<path d="M225.5 40h0"></path>
+<path d="M296.5 40h0"></path>
+<rect x="225.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="261" y="44">Target</text>
+</a>
+</g>
+<path d="M296.5 40h10"></path>
+<g>
+<path d="M306.5 40h0"></path>
+<path d="M607 40h0"></path>
+<path d="M306.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M326.5 20h260.5"></path>
+</g>
+<path d="M587 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M306.5 40h20"></path>
+<g>
+<path d="M326.5 40h0"></path>
+<path d="M587 40h0"></path>
+<path d="M356.5 40h10"></path>
+<g class="terminal">
+<path d="M366.5 40h0"></path>
+<path d="M437.5 40h119.5"></path>
+<rect x="366.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="402" y="44">"LATE"</text>
+</g>
+<path d="M557 40h10"></path>
+<path d="M356.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M366.5 70h0"></path>
+<path d="M557 70h0"></path>
+<g class="terminal">
+<path d="M366.5 70h0"></path>
+<path d="M454.5 70h0"></path>
+<rect x="366.5" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="410.5" y="74">"FIELDS"</text>
+</g>
+<path d="M454.5 70h10"></path>
+<path d="M464.5 70h10"></path>
+<g>
+<path d="M474.5 70h0"></path>
+<path d="M557 70h0"></path>
+<path d="M474.5 70h10"></path>
+<g class="non-terminal">
+<path d="M484.5 70h0"></path>
+<path d="M547 70h0"></path>
+<rect x="484.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="515.75" y="74">Field</text>
+</a>
+</g>
+<path d="M547 70h10"></path>
+<path d="M484.5 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M484.5 90h62.5"></path>
+</g>
+<path d="M547 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M557 70a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 356.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="341.5" y="44" class="diagram-text">1+</text>
+<path d="M 567 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 574 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M587 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M607 40h10"></path>
+<path d="M 617 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetBadi.svg b/abap/statement_GetBadi.svg
new file mode 100644
index 00000000..a142e1ab
--- /dev/null
+++ b/abap/statement_GetBadi.svg
@@ -0,0 +1,170 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1132.5" height="71" viewBox="0 0 1132.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1082.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1082.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"GET BADI"</text>
+</g>
+<path d="M248 40h10"></path>
+<path d="M258 40h10"></path>
+<g class="non-terminal">
+<path d="M268 40h0"></path>
+<path d="M339 40h0"></path>
+<rect x="268" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="303.5" y="44">Target</text>
+</a>
+</g>
+<path d="M339 40h10"></path>
+<g>
+<path d="M349 40h0"></path>
+<path d="M559.5 40h0"></path>
+<path d="M349 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M369 20h170.5"></path>
+</g>
+<path d="M539.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M349 40h20"></path>
+<g>
+<path d="M369 40h0"></path>
+<path d="M539.5 40h0"></path>
+<g class="terminal">
+<path d="M369 40h0"></path>
+<path d="M440 40h0"></path>
+<rect x="369" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="404.5" y="44">"TYPE"</text>
+</g>
+<path d="M440 40h10"></path>
+<path d="M450 40h10"></path>
+<g class="non-terminal">
+<path d="M460 40h0"></path>
+<path d="M539.5 40h0"></path>
+<rect x="460" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="499.75" y="44">Dynamic</text>
+</a>
+</g>
+</g>
+<path d="M539.5 40h20"></path>
+</g>
+<g>
+<path d="M559.5 40h0"></path>
+<path d="M855 40h0"></path>
+<path d="M559.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M579.5 20h255.5"></path>
+</g>
+<path d="M835 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M559.5 40h20"></path>
+<g>
+<path d="M579.5 40h0"></path>
+<path d="M835 40h0"></path>
+<g class="terminal">
+<path d="M579.5 40h0"></path>
+<path d="M676 40h0"></path>
+<rect x="579.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="627.75" y="44">"FILTERS"</text>
+</g>
+<path d="M676 40h10"></path>
+<path d="M686 40h10"></path>
+<g class="non-terminal">
+<path d="M696 40h0"></path>
+<path d="M835 40h0"></path>
+<rect x="696" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="765.5" y="44">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M835 40h20"></path>
+</g>
+<g>
+<path d="M855 40h0"></path>
+<path d="M1082.5 40h0"></path>
+<path d="M855 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M875 20h187.5"></path>
+</g>
+<path d="M1062.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M855 40h20"></path>
+<g>
+<path d="M875 40h0"></path>
+<path d="M1062.5 40h0"></path>
+<g class="terminal">
+<path d="M875 40h0"></path>
+<path d="M971.5 40h0"></path>
+<rect x="875" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="923.25" y="44">"CONTEXT"</text>
+</g>
+<path d="M971.5 40h10"></path>
+<path d="M981.5 40h10"></path>
+<g class="non-terminal">
+<path d="M991.5 40h0"></path>
+<path d="M1062.5 40h0"></path>
+<rect x="991.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1027" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1062.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1082.5 40h10"></path>
+<path d="M 1092.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetBit.svg b/abap/statement_GetBit.svg
new file mode 100644
index 00000000..2b91be26
--- /dev/null
+++ b/abap/statement_GetBit.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="634.5" height="62" viewBox="0 0 634.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M584.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"GET BIT"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g class="non-terminal">
+<path d="M166.5 31h0"></path>
+<path d="M237.5 31h0"></path>
+<rect x="166.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="202" y="35">Source</text>
+</a>
+</g>
+<path d="M237.5 31h10"></path>
+<path d="M247.5 31h10"></path>
+<g class="terminal">
+<path d="M257.5 31h0"></path>
+<path d="M311.5 31h0"></path>
+<rect x="257.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="284.5" y="35">"OF"</text>
+</g>
+<path d="M311.5 31h10"></path>
+<path d="M321.5 31h10"></path>
+<g class="non-terminal">
+<path d="M331.5 31h0"></path>
+<path d="M402.5 31h0"></path>
+<rect x="331.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="367" y="35">Source</text>
+</a>
+</g>
+<path d="M402.5 31h10"></path>
+<path d="M412.5 31h10"></path>
+<g class="terminal">
+<path d="M422.5 31h0"></path>
+<path d="M493.5 31h0"></path>
+<rect x="422.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="458" y="35">"INTO"</text>
+</g>
+<path d="M493.5 31h10"></path>
+<path d="M503.5 31h10"></path>
+<g class="non-terminal">
+<path d="M513.5 31h0"></path>
+<path d="M584.5 31h0"></path>
+<rect x="513.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="549" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M584.5 31h10"></path>
+<path d="M 594.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetCursor.svg b/abap/statement_GetCursor.svg
new file mode 100644
index 00000000..98c7428c
--- /dev/null
+++ b/abap/statement_GetCursor.svg
@@ -0,0 +1,228 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="584" height="251" viewBox="0 0 584 251">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M534 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M534 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M265 31h0"></path>
+<rect x="143" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="35">"GET CURSOR"</text>
+</g>
+<path d="M265 31h10"></path>
+<path d="M275 31h10"></path>
+<g>
+<path d="M285 31h0"></path>
+<path d="M534 31h0"></path>
+<path d="M315 31h10"></path>
+<g>
+<path d="M325 31h0"></path>
+<path d="M487 31h17"></path>
+<g class="terminal">
+<path d="M325 31h0"></path>
+<path d="M396 31h0"></path>
+<rect x="325" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="360.5" y="35">"LINE"</text>
+</g>
+<path d="M396 31h10"></path>
+<path d="M406 31h10"></path>
+<g class="non-terminal">
+<path d="M416 31h0"></path>
+<path d="M487 31h0"></path>
+<rect x="416" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="451.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 31h10"></path>
+<path d="M315 31v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 70h0"></path>
+<path d="M461.5 70h42.5"></path>
+<path d="M325 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M345 50h96.5"></path>
+</g>
+<path d="M441.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M325 70h20"></path>
+<g class="terminal">
+<path d="M345 70h0"></path>
+<path d="M441.5 70h0"></path>
+<rect x="345" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="393.25" y="74">"DISPLAY"</text>
+</g>
+<path d="M441.5 70h20"></path>
+</g>
+<path d="M504 70a10 10 0 0 0 10 -10v-29"></path>
+<path d="M315 31v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 100h0"></path>
+<path d="M495.5 100h8.5"></path>
+<g class="terminal">
+<path d="M325 100h0"></path>
+<path d="M404.5 100h0"></path>
+<rect x="325" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="364.75" y="104">"FIELD"</text>
+</g>
+<path d="M404.5 100h10"></path>
+<path d="M414.5 100h10"></path>
+<g class="non-terminal">
+<path d="M424.5 100h0"></path>
+<path d="M495.5 100h0"></path>
+<rect x="424.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="460" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 100a10 10 0 0 0 10 -10v-59"></path>
+<path d="M315 31v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 130h0"></path>
+<path d="M504 130h0"></path>
+<g class="terminal">
+<path d="M325 130h0"></path>
+<path d="M413 130h0"></path>
+<rect x="325" y="119" width="88" height="22" rx="10" ry="10"></rect>
+<text x="369" y="134">"OFFSET"</text>
+</g>
+<path d="M413 130h10"></path>
+<path d="M423 130h10"></path>
+<g class="non-terminal">
+<path d="M433 130h0"></path>
+<path d="M504 130h0"></path>
+<rect x="433" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="468.5" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 130a10 10 0 0 0 10 -10v-89"></path>
+<path d="M315 31v119a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 160h0"></path>
+<path d="M495.5 160h8.5"></path>
+<g class="terminal">
+<path d="M325 160h0"></path>
+<path d="M404.5 160h0"></path>
+<rect x="325" y="149" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="364.75" y="164">"VALUE"</text>
+</g>
+<path d="M404.5 160h10"></path>
+<path d="M414.5 160h10"></path>
+<g class="non-terminal">
+<path d="M424.5 160h0"></path>
+<path d="M495.5 160h0"></path>
+<rect x="424.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="460" y="164">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 160a10 10 0 0 0 10 -10v-119"></path>
+<path d="M315 31v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 190h0"></path>
+<path d="M504 190h0"></path>
+<g class="terminal">
+<path d="M325 190h0"></path>
+<path d="M413 190h0"></path>
+<rect x="325" y="179" width="88" height="22" rx="10" ry="10"></rect>
+<text x="369" y="194">"LENGTH"</text>
+</g>
+<path d="M413 190h10"></path>
+<path d="M423 190h10"></path>
+<g class="non-terminal">
+<path d="M433 190h0"></path>
+<path d="M504 190h0"></path>
+<rect x="433" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="468.5" y="194">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 190a10 10 0 0 0 10 -10v-149"></path>
+<path d="M315 31v179a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M325 220h0"></path>
+<path d="M487 220h17"></path>
+<g class="terminal">
+<path d="M325 220h0"></path>
+<path d="M396 220h0"></path>
+<rect x="325" y="209" width="71" height="22" rx="10" ry="10"></rect>
+<text x="360.5" y="224">"AREA"</text>
+</g>
+<path d="M396 220h10"></path>
+<path d="M406 220h10"></path>
+<g class="non-terminal">
+<path d="M416 220h0"></path>
+<path d="M487 220h0"></path>
+<rect x="416" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="451.5" y="224">Target</text>
+</a>
+</g>
+</g>
+<path d="M504 220a10 10 0 0 0 10 -10v-179"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 315 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="300" y="35" class="diagram-text">1+</text>
+<path d="M 514 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 521 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M534 31h10"></path>
+<path d="M 544 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetDataset.svg b/abap/statement_GetDataset.svg
new file mode 100644
index 00000000..72c39185
--- /dev/null
+++ b/abap/statement_GetDataset.svg
@@ -0,0 +1,144 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="747.5" height="101" viewBox="0 0 747.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M697.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M697.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="143" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="44">"GET DATASET"</text>
+</g>
+<path d="M273.5 40h10"></path>
+<path d="M283.5 40h10"></path>
+<g class="non-terminal">
+<path d="M293.5 40h0"></path>
+<path d="M364.5 40h0"></path>
+<rect x="293.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="329" y="44">Target</text>
+</a>
+</g>
+<path d="M364.5 40h10"></path>
+<g>
+<path d="M374.5 40h0"></path>
+<path d="M697.5 40h0"></path>
+<path d="M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M394.5 20h283"></path>
+</g>
+<path d="M677.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M374.5 40h20"></path>
+<g>
+<path d="M394.5 40h0"></path>
+<path d="M677.5 40h0"></path>
+<path d="M424.5 40h10"></path>
+<g>
+<path d="M434.5 40h0"></path>
+<path d="M630.5 40h17"></path>
+<g class="terminal">
+<path d="M434.5 40h0"></path>
+<path d="M539.5 40h0"></path>
+<rect x="434.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="487" y="44">"POSITION"</text>
+</g>
+<path d="M539.5 40h10"></path>
+<path d="M549.5 40h10"></path>
+<g class="non-terminal">
+<path d="M559.5 40h0"></path>
+<path d="M630.5 40h0"></path>
+<rect x="559.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="595" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M647.5 40h10"></path>
+<path d="M424.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M434.5 70h0"></path>
+<path d="M647.5 70h0"></path>
+<g class="terminal">
+<path d="M434.5 70h0"></path>
+<path d="M556.5 70h0"></path>
+<rect x="434.5" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="495.5" y="74">"ATTRIBUTES"</text>
+</g>
+<path d="M556.5 70h10"></path>
+<path d="M566.5 70h10"></path>
+<g class="non-terminal">
+<path d="M576.5 70h0"></path>
+<path d="M647.5 70h0"></path>
+<rect x="576.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="612" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M647.5 70a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 424.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="409.5" y="44" class="diagram-text">1+</text>
+<path d="M 657.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 664.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M677.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M697.5 40h10"></path>
+<path d="M 707.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetLocale.svg b/abap/statement_GetLocale.svg
new file mode 100644
index 00000000..7fcd371b
--- /dev/null
+++ b/abap/statement_GetLocale.svg
@@ -0,0 +1,121 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="906" height="62" viewBox="0 0 906 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M856 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M856 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M341.5 31h0"></path>
+<rect x="143" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="35">"GET LOCALE LANGUAGE"</text>
+</g>
+<path d="M341.5 31h10"></path>
+<path d="M351.5 31h10"></path>
+<g class="non-terminal">
+<path d="M361.5 31h0"></path>
+<path d="M432.5 31h0"></path>
+<rect x="361.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="397" y="35">Target</text>
+</a>
+</g>
+<path d="M432.5 31h10"></path>
+<path d="M442.5 31h10"></path>
+<g>
+<path d="M452.5 31h0"></path>
+<path d="M640 31h0"></path>
+<g class="terminal">
+<path d="M452.5 31h0"></path>
+<path d="M549 31h0"></path>
+<rect x="452.5" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="500.75" y="35">"COUNTRY"</text>
+</g>
+<path d="M549 31h10"></path>
+<path d="M559 31h10"></path>
+<g class="non-terminal">
+<path d="M569 31h0"></path>
+<path d="M640 31h0"></path>
+<rect x="569" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="604.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M640 31h10"></path>
+<path d="M650 31h10"></path>
+<g>
+<path d="M660 31h0"></path>
+<path d="M856 31h0"></path>
+<g class="terminal">
+<path d="M660 31h0"></path>
+<path d="M765 31h0"></path>
+<rect x="660" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="712.5" y="35">"MODIFIER"</text>
+</g>
+<path d="M765 31h10"></path>
+<path d="M775 31h10"></path>
+<g class="non-terminal">
+<path d="M785 31h0"></path>
+<path d="M856 31h0"></path>
+<rect x="785" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="820.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+</g>
+<path d="M856 31h10"></path>
+<path d="M 866 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetPFStatus.svg b/abap/statement_GetPFStatus.svg
new file mode 100644
index 00000000..c18159e3
--- /dev/null
+++ b/abap/statement_GetPFStatus.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="913.5" height="71" viewBox="0 0 913.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M863.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M863.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"GET PF-STATUS"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<path d="M300.5 40h10"></path>
+<g class="non-terminal">
+<path d="M310.5 40h0"></path>
+<path d="M381.5 40h0"></path>
+<rect x="310.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="346" y="44">Target</text>
+</a>
+</g>
+<path d="M381.5 40h10"></path>
+<g>
+<path d="M391.5 40h0"></path>
+<path d="M619 40h0"></path>
+<path d="M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M411.5 20h187.5"></path>
+</g>
+<path d="M599 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M391.5 40h20"></path>
+<g>
+<path d="M411.5 40h0"></path>
+<path d="M599 40h0"></path>
+<g class="terminal">
+<path d="M411.5 40h0"></path>
+<path d="M508 40h0"></path>
+<rect x="411.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="459.75" y="44">"PROGRAM"</text>
+</g>
+<path d="M508 40h10"></path>
+<path d="M518 40h10"></path>
+<g class="non-terminal">
+<path d="M528 40h0"></path>
+<path d="M599 40h0"></path>
+<rect x="528" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="563.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M599 40h20"></path>
+</g>
+<g>
+<path d="M619 40h0"></path>
+<path d="M863.5 40h0"></path>
+<path d="M619 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M639 20h204.5"></path>
+</g>
+<path d="M843.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M619 40h20"></path>
+<g>
+<path d="M639 40h0"></path>
+<path d="M843.5 40h0"></path>
+<g class="terminal">
+<path d="M639 40h0"></path>
+<path d="M752.5 40h0"></path>
+<rect x="639" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="695.75" y="44">"EXCLUDING"</text>
+</g>
+<path d="M752.5 40h10"></path>
+<path d="M762.5 40h10"></path>
+<g class="non-terminal">
+<path d="M772.5 40h0"></path>
+<path d="M843.5 40h0"></path>
+<rect x="772.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="808" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M843.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M863.5 40h10"></path>
+<path d="M 873.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetParameter.svg b/abap/statement_GetParameter.svg
new file mode 100644
index 00000000..f00ce2e5
--- /dev/null
+++ b/abap/statement_GetParameter.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="647.5" height="62" viewBox="0 0 647.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M597.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M597.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"GET PARAMETER ID"</text>
+</g>
+<path d="M316 31h10"></path>
+<path d="M326 31h10"></path>
+<g class="non-terminal">
+<path d="M336 31h0"></path>
+<path d="M407 31h0"></path>
+<rect x="336" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="35">Source</text>
+</a>
+</g>
+<path d="M407 31h10"></path>
+<path d="M417 31h10"></path>
+<g class="terminal">
+<path d="M427 31h0"></path>
+<path d="M506.5 31h0"></path>
+<rect x="427" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="466.75" y="35">"FIELD"</text>
+</g>
+<path d="M506.5 31h10"></path>
+<path d="M516.5 31h10"></path>
+<g class="non-terminal">
+<path d="M526.5 31h0"></path>
+<path d="M597.5 31h0"></path>
+<rect x="526.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="562" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M597.5 31h10"></path>
+<path d="M 607.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetPermissions.svg b/abap/statement_GetPermissions.svg
new file mode 100644
index 00000000..d2522545
--- /dev/null
+++ b/abap/statement_GetPermissions.svg
@@ -0,0 +1,147 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1549.5" height="62" viewBox="0 0 1549.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1499.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v754</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M1499.5 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M553 31h0"></path>
+<rect x="108" y="20" width="445" height="22" rx="10" ry="10"></rect>
+<text x="330.5" y="35">"GET PERMISSIONS ONLY GLOBAL AUTHORIZATION ENTITY"</text>
+</g>
+<path d="M553 31h10"></path>
+<path d="M563 31h10"></path>
+<g class="non-terminal">
+<path d="M573 31h0"></path>
+<path d="M678 31h0"></path>
+<rect x="573" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="625.5" y="35">SimpleName</text>
+</a>
+</g>
+<path d="M678 31h10"></path>
+<path d="M688 31h10"></path>
+<g class="terminal">
+<path d="M698 31h0"></path>
+<path d="M794.5 31h0"></path>
+<rect x="698" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="746.25" y="35">"REQUEST"</text>
+</g>
+<path d="M794.5 31h10"></path>
+<path d="M804.5 31h10"></path>
+<g class="non-terminal">
+<path d="M814.5 31h0"></path>
+<path d="M885.5 31h0"></path>
+<rect x="814.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="850" y="35">Source</text>
+</a>
+</g>
+<path d="M885.5 31h10"></path>
+<path d="M895.5 31h10"></path>
+<g class="terminal">
+<path d="M905.5 31h0"></path>
+<path d="M993.5 31h0"></path>
+<rect x="905.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="949.5" y="35">"RESULT"</text>
+</g>
+<path d="M993.5 31h10"></path>
+<path d="M1003.5 31h10"></path>
+<g class="non-terminal">
+<path d="M1013.5 31h0"></path>
+<path d="M1084.5 31h0"></path>
+<rect x="1013.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1049" y="35">Target</text>
+</a>
+</g>
+<path d="M1084.5 31h10"></path>
+<path d="M1094.5 31h10"></path>
+<g class="terminal">
+<path d="M1104.5 31h0"></path>
+<path d="M1192.5 31h0"></path>
+<rect x="1104.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1148.5" y="35">"FAILED"</text>
+</g>
+<path d="M1192.5 31h10"></path>
+<path d="M1202.5 31h10"></path>
+<g class="non-terminal">
+<path d="M1212.5 31h0"></path>
+<path d="M1283.5 31h0"></path>
+<rect x="1212.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1248" y="35">Target</text>
+</a>
+</g>
+<path d="M1283.5 31h10"></path>
+<path d="M1293.5 31h10"></path>
+<g class="terminal">
+<path d="M1303.5 31h0"></path>
+<path d="M1408.5 31h0"></path>
+<rect x="1303.5" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1356" y="35">"REPORTED"</text>
+</g>
+<path d="M1408.5 31h10"></path>
+<path d="M1418.5 31h10"></path>
+<g class="non-terminal">
+<path d="M1428.5 31h0"></path>
+<path d="M1499.5 31h0"></path>
+<rect x="1428.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1464" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1499.5 31h10"></path>
+<path d="M 1509.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetProperty.svg b/abap/statement_GetProperty.svg
new file mode 100644
index 00000000..cb53b70e
--- /dev/null
+++ b/abap/statement_GetProperty.svg
@@ -0,0 +1,141 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1030" height="71" viewBox="0 0 1030 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M980 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M980 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"GET PROPERTY OF"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M415.5 40h0"></path>
+<rect x="327.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="371.5" y="44">FieldSub</text>
+</a>
+</g>
+<path d="M415.5 40h10"></path>
+<path d="M425.5 40h10"></path>
+<g class="non-terminal">
+<path d="M435.5 40h0"></path>
+<path d="M506.5 40h0"></path>
+<rect x="435.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="471" y="44">Source</text>
+</a>
+</g>
+<path d="M506.5 40h10"></path>
+<path d="M516.5 40h10"></path>
+<g class="terminal">
+<path d="M526.5 40h0"></path>
+<path d="M572 40h0"></path>
+<rect x="526.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="549.25" y="44">"="</text>
+</g>
+<path d="M572 40h10"></path>
+<path d="M582 40h10"></path>
+<g class="non-terminal">
+<path d="M592 40h0"></path>
+<path d="M663 40h0"></path>
+<rect x="592" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="627.5" y="44">Source</text>
+</a>
+</g>
+<path d="M663 40h10"></path>
+<g>
+<path d="M673 40h0"></path>
+<path d="M818 40h0"></path>
+<path d="M673 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M693 20h105"></path>
+</g>
+<path d="M798 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M673 40h20"></path>
+<g class="terminal">
+<path d="M693 40h0"></path>
+<path d="M798 40h0"></path>
+<rect x="693" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="745.5" y="44">"NO FLUSH"</text>
+</g>
+<path d="M798 40h20"></path>
+</g>
+<g>
+<path d="M818 40h0"></path>
+<path d="M980 40h0"></path>
+<path d="M818 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M838 20h122"></path>
+</g>
+<path d="M960 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M818 40h20"></path>
+<g class="non-terminal">
+<path d="M838 40h0"></path>
+<path d="M960 40h0"></path>
+<rect x="838" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/OLEExporting"><text x="899" y="44">OLEExporting</text>
+</a>
+</g>
+<path d="M960 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M980 40h10"></path>
+<path d="M 990 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetReference.svg b/abap/statement_GetReference.svg
new file mode 100644
index 00000000..07cbe8ac
--- /dev/null
+++ b/abap/statement_GetReference.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="546" height="62" viewBox="0 0 546 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M496 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M223 31h0"></path>
+<rect x="50" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="136.5" y="35">"GET REFERENCE OF"</text>
+</g>
+<path d="M223 31h10"></path>
+<path d="M233 31h10"></path>
+<g class="non-terminal">
+<path d="M243 31h0"></path>
+<path d="M314 31h0"></path>
+<rect x="243" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="278.5" y="35">Source</text>
+</a>
+</g>
+<path d="M314 31h10"></path>
+<path d="M324 31h10"></path>
+<g class="terminal">
+<path d="M334 31h0"></path>
+<path d="M405 31h0"></path>
+<rect x="334" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="369.5" y="35">"INTO"</text>
+</g>
+<path d="M405 31h10"></path>
+<path d="M415 31h10"></path>
+<g class="non-terminal">
+<path d="M425 31h0"></path>
+<path d="M496 31h0"></path>
+<rect x="425" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="460.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M496 31h10"></path>
+<path d="M 506 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetRunTime.svg b/abap/statement_GetRunTime.svg
new file mode 100644
index 00000000..6be656f9
--- /dev/null
+++ b/abap/statement_GetRunTime.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="474" height="62" viewBox="0 0 474 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M424 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M424 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M333 31h0"></path>
+<rect x="143" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="238" y="35">"GET RUN TIME FIELD"</text>
+</g>
+<path d="M333 31h10"></path>
+<path d="M343 31h10"></path>
+<g class="non-terminal">
+<path d="M353 31h0"></path>
+<path d="M424 31h0"></path>
+<rect x="353" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="388.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M424 31h10"></path>
+<path d="M 434 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_GetTime.svg b/abap/statement_GetTime.svg
new file mode 100644
index 00000000..ad319eea
--- /dev/null
+++ b/abap/statement_GetTime.svg
@@ -0,0 +1,103 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="506.5" height="101" viewBox="0 0 506.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M456.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M155 40h0"></path>
+<rect x="50" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="44">"GET TIME"</text>
+</g>
+<path d="M155 40h10"></path>
+<g>
+<path d="M165 40h0"></path>
+<path d="M456.5 40h0"></path>
+<path d="M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M185 20h251.5"></path>
+</g>
+<path d="M436.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M165 40h20"></path>
+<g>
+<path d="M185 40h0"></path>
+<path d="M436.5 40h0"></path>
+<g>
+<path d="M185 40h0"></path>
+<path d="M355.5 40h0"></path>
+<path d="M185 40h20"></path>
+<g class="terminal">
+<path d="M205 40h0"></path>
+<path d="M335.5 40h0"></path>
+<rect x="205" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="270.25" y="44">"STAMP FIELD"</text>
+</g>
+<path d="M335.5 40h20"></path>
+<path d="M185 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M205 70h0"></path>
+<path d="M284.5 70h51"></path>
+<rect x="205" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="244.75" y="74">"FIELD"</text>
+</g>
+<path d="M335.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M355.5 40h10"></path>
+<g class="non-terminal">
+<path d="M365.5 40h0"></path>
+<path d="M436.5 40h0"></path>
+<rect x="365.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="401" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M436.5 40h20"></path>
+</g>
+</g>
+<path d="M456.5 40h10"></path>
+<path d="M 466.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Hide.svg b/abap/statement_Hide.svg
new file mode 100644
index 00000000..8452f57e
--- /dev/null
+++ b/abap/statement_Hide.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="355" height="62" viewBox="0 0 355 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M305 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M305 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M214 31h0"></path>
+<rect x="143" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="35">"HIDE"</text>
+</g>
+<path d="M214 31h10"></path>
+<path d="M224 31h10"></path>
+<g class="non-terminal">
+<path d="M234 31h0"></path>
+<path d="M305 31h0"></path>
+<rect x="234" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="269.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M305 31h10"></path>
+<path d="M 315 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_If.svg b/abap/statement_If.svg
new file mode 100644
index 00000000..0e68fa4f
--- /dev/null
+++ b/abap/statement_If.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="228" height="62" viewBox="0 0 228 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M178 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">"IF"</text>
+</g>
+<path d="M104 31h10"></path>
+<path d="M114 31h10"></path>
+<g class="non-terminal">
+<path d="M124 31h0"></path>
+<path d="M178 31h0"></path>
+<rect x="124" y="20" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="151" y="35">Cond</text>
+</a>
+</g>
+</g>
+<path d="M178 31h10"></path>
+<path d="M 188 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Import.svg b/abap/statement_Import.svg
new file mode 100644
index 00000000..c6ef8c08
--- /dev/null
+++ b/abap/statement_Import.svg
@@ -0,0 +1,685 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2152.5" height="341" viewBox="0 0 2152.5 341">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2102.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"IMPORT"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M600 40h0"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M564.5 40h15.5"></path>
+<path d="M168 40h10"></path>
+<g>
+<path d="M178 40h0"></path>
+<path d="M554.5 40h0"></path>
+<g>
+<path d="M178 40h0"></path>
+<path d="M408 40h0"></path>
+<path d="M178 40h20"></path>
+<g class="non-terminal">
+<path d="M198 40h0"></path>
+<path d="M388 40h0"></path>
+<rect x="198" y="29" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="293" y="44">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M388 40h20"></path>
+<path d="M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M198 70h0"></path>
+<path d="M311.5 70h76.5"></path>
+<rect x="198" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSymbol"><text x="254.75" y="74">FieldSymbol</text>
+</a>
+</g>
+<path d="M388 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M408 40h10"></path>
+<g class="terminal">
+<path d="M418 40h0"></path>
+<path d="M463.5 40h0"></path>
+<rect x="418" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="440.75" y="44">"="</text>
+</g>
+<path d="M463.5 40h10"></path>
+<path d="M473.5 40h10"></path>
+<g class="non-terminal">
+<path d="M483.5 40h0"></path>
+<path d="M554.5 40h0"></path>
+<rect x="483.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="519" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M554.5 40h10"></path>
+<path d="M178 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 89h376.5"></path>
+</g>
+<path d="M554.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M580 40h20"></path>
+<path d="M148 40a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 108h0"></path>
+<path d="M580 108h0"></path>
+<path d="M168 108h10"></path>
+<g>
+<path d="M178 108h0"></path>
+<path d="M570 108h0"></path>
+<g class="non-terminal">
+<path d="M178 108h0"></path>
+<path d="M368 108h0"></path>
+<rect x="178" y="97" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="273" y="112">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M368 108h10"></path>
+<g>
+<path d="M378 108h0"></path>
+<path d="M489 108h0"></path>
+<path d="M378 108h20"></path>
+<g class="terminal">
+<path d="M398 108h0"></path>
+<path d="M452 108h17"></path>
+<rect x="398" y="97" width="54" height="22" rx="10" ry="10"></rect>
+<text x="425" y="112">"TO"</text>
+</g>
+<path d="M469 108h20"></path>
+<path d="M378 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M398 138h0"></path>
+<path d="M469 138h0"></path>
+<rect x="398" y="127" width="71" height="22" rx="10" ry="10"></rect>
+<text x="433.5" y="142">"INTO"</text>
+</g>
+<path d="M469 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M489 108h10"></path>
+<g class="non-terminal">
+<path d="M499 108h0"></path>
+<path d="M570 108h0"></path>
+<rect x="499" y="97" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="534.5" y="112">Target</text>
+</a>
+</g>
+</g>
+<path d="M570 108h10"></path>
+<path d="M178 108a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 157h392"></path>
+</g>
+<path d="M570 157a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M580 108a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+<path d="M148 40a10 10 0 0 1 10 10v116a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M168 176h0"></path>
+<path d="M247.5 176h332.5"></path>
+<rect x="168" y="165" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="207.75" y="180">Dynamic</text>
+</a>
+</g>
+<path d="M580 176a10 10 0 0 0 10 -10v-116a10 10 0 0 1 10 -10"></path>
+<path d="M148 40a10 10 0 0 1 10 10v146a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 206h0"></path>
+<path d="M259 206h321"></path>
+<path d="M168 206h10"></path>
+<g class="non-terminal">
+<path d="M178 206h0"></path>
+<path d="M249 206h0"></path>
+<rect x="178" y="195" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="213.5" y="210">Target</text>
+</a>
+</g>
+<path d="M249 206h10"></path>
+<path d="M178 206a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 226h71"></path>
+</g>
+<path d="M249 226a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M580 206a10 10 0 0 0 10 -10v-146a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M600 40h10"></path>
+<g class="terminal">
+<path d="M610 40h0"></path>
+<path d="M681 40h0"></path>
+<rect x="610" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="645.5" y="44">"FROM"</text>
+</g>
+<path d="M681 40h10"></path>
+<g>
+<path d="M691 40h0"></path>
+<path d="M1686 40h0"></path>
+<path d="M691 40h20"></path>
+<g>
+<path d="M711 40h0"></path>
+<path d="M932.5 40h733.5"></path>
+<g class="terminal">
+<path d="M711 40h0"></path>
+<path d="M841.5 40h0"></path>
+<rect x="711" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="776.25" y="44">"DATA BUFFER"</text>
+</g>
+<path d="M841.5 40h10"></path>
+<path d="M851.5 40h10"></path>
+<g class="non-terminal">
+<path d="M861.5 40h0"></path>
+<path d="M932.5 40h0"></path>
+<rect x="861.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="897" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1666 40h20"></path>
+<path d="M691 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 70h0"></path>
+<path d="M915.5 70h750.5"></path>
+<g class="terminal">
+<path d="M711 70h0"></path>
+<path d="M824.5 70h0"></path>
+<rect x="711" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="767.75" y="74">"MEMORY ID"</text>
+</g>
+<path d="M824.5 70h10"></path>
+<path d="M834.5 70h10"></path>
+<g class="non-terminal">
+<path d="M844.5 70h0"></path>
+<path d="M915.5 70h0"></path>
+<rect x="844.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="880" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M1666 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M691 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 100h0"></path>
+<path d="M1593.5 100h72.5"></path>
+<g class="terminal">
+<path d="M711 100h0"></path>
+<path d="M816 100h0"></path>
+<rect x="711" y="89" width="105" height="22" rx="10" ry="10"></rect>
+<text x="763.5" y="104">"DATABASE"</text>
+</g>
+<path d="M816 100h10"></path>
+<path d="M826 100h10"></path>
+<g>
+<path d="M836 100h0"></path>
+<path d="M1324.5 100h0"></path>
+<g class="non-terminal">
+<path d="M836 100h0"></path>
+<path d="M1017.5 100h0"></path>
+<rect x="836" y="89" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="926.75" y="104">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1017.5 100h10"></path>
+<path d="M1027.5 100h10"></path>
+<g class="terminal">
+<path d="M1037.5 100h0"></path>
+<path d="M1091.5 100h0"></path>
+<rect x="1037.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1064.5" y="104">!"("</text>
+</g>
+<path d="M1091.5 100h10"></path>
+<path d="M1101.5 100h10"></path>
+<g class="terminal">
+<path d="M1111.5 100h0"></path>
+<path d="M1242 100h0"></path>
+<rect x="1111.5" y="89" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1176.75" y="104">^&#91;\w$%\^&#93;{2}$</text>
+</g>
+<path d="M1242 100h10"></path>
+<path d="M1252 100h10"></path>
+<g class="terminal">
+<path d="M1262 100h0"></path>
+<path d="M1324.5 100h0"></path>
+<rect x="1262" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1293.25" y="104">!") "</text>
+</g>
+</g>
+<path d="M1324.5 100h10"></path>
+<path d="M1334.5 100h10"></path>
+<g>
+<path d="M1344.5 100h0"></path>
+<path d="M1593.5 100h0"></path>
+<path d="M1374.5 100h10"></path>
+<g>
+<path d="M1384.5 100h0"></path>
+<path d="M1529.5 100h34"></path>
+<g class="terminal">
+<path d="M1384.5 100h0"></path>
+<path d="M1438.5 100h0"></path>
+<rect x="1384.5" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1411.5" y="104">"TO"</text>
+</g>
+<path d="M1438.5 100h10"></path>
+<path d="M1448.5 100h10"></path>
+<g class="non-terminal">
+<path d="M1458.5 100h0"></path>
+<path d="M1529.5 100h0"></path>
+<rect x="1458.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1494" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M1563.5 100h10"></path>
+<path d="M1374.5 100v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1384.5 130h0"></path>
+<path d="M1563.5 130h0"></path>
+<g class="terminal">
+<path d="M1384.5 130h0"></path>
+<path d="M1472.5 130h0"></path>
+<rect x="1384.5" y="119" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1428.5" y="134">"CLIENT"</text>
+</g>
+<path d="M1472.5 130h10"></path>
+<path d="M1482.5 130h10"></path>
+<g class="non-terminal">
+<path d="M1492.5 130h0"></path>
+<path d="M1563.5 130h0"></path>
+<rect x="1492.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1528" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M1563.5 130a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1374.5 100v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1384.5 160h0"></path>
+<path d="M1529.5 160h34"></path>
+<g class="terminal">
+<path d="M1384.5 160h0"></path>
+<path d="M1438.5 160h0"></path>
+<rect x="1384.5" y="149" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1411.5" y="164">"ID"</text>
+</g>
+<path d="M1438.5 160h10"></path>
+<path d="M1448.5 160h10"></path>
+<g class="non-terminal">
+<path d="M1458.5 160h0"></path>
+<path d="M1529.5 160h0"></path>
+<rect x="1458.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1494" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M1563.5 160a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1374.5 100v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1384.5 190h0"></path>
+<path d="M1555 190h8.5"></path>
+<g class="terminal">
+<path d="M1384.5 190h0"></path>
+<path d="M1464 190h0"></path>
+<rect x="1384.5" y="179" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1424.25" y="194">"USING"</text>
+</g>
+<path d="M1464 190h10"></path>
+<path d="M1474 190h10"></path>
+<g class="non-terminal">
+<path d="M1484 190h0"></path>
+<path d="M1555 190h0"></path>
+<rect x="1484" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1519.5" y="194">Source</text>
+</a>
+</g>
+</g>
+<path d="M1563.5 190a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1374.5 90 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1359.5" y="104" class="diagram-text">1+</text>
+<path d="M 1573.5 90 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1580.5 98 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1666 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M691 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 220h0"></path>
+<path d="M958 220h708"></path>
+<g class="terminal">
+<path d="M711 220h0"></path>
+<path d="M867 220h0"></path>
+<rect x="711" y="209" width="156" height="22" rx="10" ry="10"></rect>
+<text x="789" y="224">"INTERNAL TABLE"</text>
+</g>
+<path d="M867 220h10"></path>
+<path d="M877 220h10"></path>
+<g class="non-terminal">
+<path d="M887 220h0"></path>
+<path d="M958 220h0"></path>
+<rect x="887" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="922.5" y="224">Source</text>
+</a>
+</g>
+</g>
+<path d="M1666 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M691 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M711 250h0"></path>
+<path d="M1666 250h0"></path>
+<g>
+<path d="M711 250h0"></path>
+<path d="M898.5 250h0"></path>
+<path d="M711 250h20"></path>
+<g class="terminal">
+<path d="M731 250h0"></path>
+<path d="M878.5 250h0"></path>
+<rect x="731" y="239" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="804.75" y="254">"SHARED MEMORY"</text>
+</g>
+<path d="M878.5 250h20"></path>
+<path d="M711 250a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M731 280h0"></path>
+<path d="M878.5 280h0"></path>
+<rect x="731" y="269" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="804.75" y="284">"SHARED BUFFER"</text>
+</g>
+<path d="M878.5 280a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M898.5 250h10"></path>
+<g>
+<path d="M908.5 250h0"></path>
+<path d="M1397 250h0"></path>
+<g class="non-terminal">
+<path d="M908.5 250h0"></path>
+<path d="M1090 250h0"></path>
+<rect x="908.5" y="239" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="999.25" y="254">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1090 250h10"></path>
+<path d="M1100 250h10"></path>
+<g class="terminal">
+<path d="M1110 250h0"></path>
+<path d="M1164 250h0"></path>
+<rect x="1110" y="239" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1137" y="254">!"("</text>
+</g>
+<path d="M1164 250h10"></path>
+<path d="M1174 250h10"></path>
+<g class="terminal">
+<path d="M1184 250h0"></path>
+<path d="M1314.5 250h0"></path>
+<rect x="1184" y="239" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1249.25" y="254">^&#91;\w$%\^&#93;{2}$</text>
+</g>
+<path d="M1314.5 250h10"></path>
+<path d="M1324.5 250h10"></path>
+<g class="terminal">
+<path d="M1334.5 250h0"></path>
+<path d="M1397 250h0"></path>
+<rect x="1334.5" y="239" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1365.75" y="254">!") "</text>
+</g>
+</g>
+<path d="M1397 250h10"></path>
+<path d="M1407 250h10"></path>
+<g>
+<path d="M1417 250h0"></path>
+<path d="M1666 250h0"></path>
+<path d="M1447 250h10"></path>
+<g>
+<path d="M1457 250h0"></path>
+<path d="M1602 250h34"></path>
+<g class="terminal">
+<path d="M1457 250h0"></path>
+<path d="M1511 250h0"></path>
+<rect x="1457" y="239" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1484" y="254">"TO"</text>
+</g>
+<path d="M1511 250h10"></path>
+<path d="M1521 250h10"></path>
+<g class="non-terminal">
+<path d="M1531 250h0"></path>
+<path d="M1602 250h0"></path>
+<rect x="1531" y="239" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1566.5" y="254">Target</text>
+</a>
+</g>
+</g>
+<path d="M1636 250h10"></path>
+<path d="M1447 250v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1457 280h0"></path>
+<path d="M1636 280h0"></path>
+<g class="terminal">
+<path d="M1457 280h0"></path>
+<path d="M1545 280h0"></path>
+<rect x="1457" y="269" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1501" y="284">"CLIENT"</text>
+</g>
+<path d="M1545 280h10"></path>
+<path d="M1555 280h10"></path>
+<g class="non-terminal">
+<path d="M1565 280h0"></path>
+<path d="M1636 280h0"></path>
+<rect x="1565" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1600.5" y="284">Source</text>
+</a>
+</g>
+</g>
+<path d="M1636 280a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1447 250v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1457 310h0"></path>
+<path d="M1602 310h34"></path>
+<g class="terminal">
+<path d="M1457 310h0"></path>
+<path d="M1511 310h0"></path>
+<rect x="1457" y="299" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1484" y="314">"ID"</text>
+</g>
+<path d="M1511 310h10"></path>
+<path d="M1521 310h10"></path>
+<g class="non-terminal">
+<path d="M1531 310h0"></path>
+<path d="M1602 310h0"></path>
+<rect x="1531" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1566.5" y="314">Source</text>
+</a>
+</g>
+</g>
+<path d="M1636 310a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1447 240 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1432" y="254" class="diagram-text">1+</text>
+<path d="M 1646 240 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1653 248 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1666 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1686 40h0"></path>
+<path d="M2102.5 40h0"></path>
+<path d="M1686 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1706 20h376.5"></path>
+</g>
+<path d="M2082.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1686 40h20"></path>
+<g>
+<path d="M1706 40h0"></path>
+<path d="M2082.5 40h0"></path>
+<path d="M1736 40h10"></path>
+<g class="terminal">
+<path d="M1746 40h0"></path>
+<path d="M1927.5 40h125"></path>
+<rect x="1746" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="1836.75" y="44">"ACCEPTING PADDING"</text>
+</g>
+<path d="M2052.5 40h10"></path>
+<path d="M1736 40v20a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1746 70h0"></path>
+<path d="M2004 70h48.5"></path>
+<rect x="1746" y="59" width="258" height="22" rx="10" ry="10"></rect>
+<text x="1875" y="74">"IGNORING CONVERSION ERRORS"</text>
+</g>
+<path d="M2052.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1736 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1746 100h0"></path>
+<path d="M1944.5 100h108"></path>
+<rect x="1746" y="89" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="1845.25" y="104">"IN CHAR-TO-HEX MODE"</text>
+</g>
+<path d="M2052.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1736 40v80a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1746 130h0"></path>
+<path d="M2029.5 130h23"></path>
+<rect x="1746" y="119" width="283.5" height="22" rx="10" ry="10"></rect>
+<text x="1887.75" y="134">"IGNORING STRUCTURE BOUNDARIES"</text>
+</g>
+<path d="M2052.5 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M1736 40v110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1746 160h0"></path>
+<path d="M1953 160h99.5"></path>
+<rect x="1746" y="149" width="207" height="22" rx="10" ry="10"></rect>
+<text x="1849.5" y="164">"ACCEPTING TRUNCATION"</text>
+</g>
+<path d="M2052.5 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M1736 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1746 190h0"></path>
+<path d="M2052.5 190h0"></path>
+<g class="terminal">
+<path d="M1746 190h0"></path>
+<path d="M1961.5 190h0"></path>
+<rect x="1746" y="179" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="1853.75" y="194">"REPLACEMENT CHARACTER"</text>
+</g>
+<path d="M1961.5 190h10"></path>
+<path d="M1971.5 190h10"></path>
+<g class="non-terminal">
+<path d="M1981.5 190h0"></path>
+<path d="M2052.5 190h0"></path>
+<rect x="1981.5" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="2017" y="194">Source</text>
+</a>
+</g>
+</g>
+<path d="M2052.5 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M1736 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1746 220h0"></path>
+<path d="M1993 220h59.5"></path>
+<g class="terminal">
+<path d="M1746 220h0"></path>
+<path d="M1902 220h0"></path>
+<rect x="1746" y="209" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1824" y="224">"CODE PAGE INTO"</text>
+</g>
+<path d="M1902 220h10"></path>
+<path d="M1912 220h10"></path>
+<g class="non-terminal">
+<path d="M1922 220h0"></path>
+<path d="M1993 220h0"></path>
+<rect x="1922" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1957.5" y="224">Source</text>
+</a>
+</g>
+</g>
+<path d="M2052.5 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M1736 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1746 250h0"></path>
+<path d="M1967.5 250h85"></path>
+<g class="terminal">
+<path d="M1746 250h0"></path>
+<path d="M1876.5 250h0"></path>
+<rect x="1746" y="239" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1811.25" y="254">"ENDIAN INTO"</text>
+</g>
+<path d="M1876.5 250h10"></path>
+<path d="M1886.5 250h10"></path>
+<g class="non-terminal">
+<path d="M1896.5 250h0"></path>
+<path d="M1967.5 250h0"></path>
+<rect x="1896.5" y="239" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1932" y="254">Source</text>
+</a>
+</g>
+</g>
+<path d="M2052.5 250a10 10 0 0 0 10 -10v-200"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1736 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1721" y="44" class="diagram-text">1+</text>
+<path d="M 2062.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 2069.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M2082.5 40h20"></path>
+</g>
+</g>
+<path d="M2102.5 40h10"></path>
+<path d="M 2112.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ImportDynpro.svg b/abap/statement_ImportDynpro.svg
new file mode 100644
index 00000000..ffd51f8c
--- /dev/null
+++ b/abap/statement_ImportDynpro.svg
@@ -0,0 +1,123 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="869.5" height="62" viewBox="0 0 869.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M819.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M819.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"IMPORT DYNPRO"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<path d="M300.5 31h10"></path>
+<g class="non-terminal">
+<path d="M310.5 31h0"></path>
+<path d="M381.5 31h0"></path>
+<rect x="310.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="346" y="35">Target</text>
+</a>
+</g>
+<path d="M381.5 31h10"></path>
+<path d="M391.5 31h10"></path>
+<g class="non-terminal">
+<path d="M401.5 31h0"></path>
+<path d="M472.5 31h0"></path>
+<rect x="401.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="437" y="35">Target</text>
+</a>
+</g>
+<path d="M472.5 31h10"></path>
+<path d="M482.5 31h10"></path>
+<g class="non-terminal">
+<path d="M492.5 31h0"></path>
+<path d="M563.5 31h0"></path>
+<rect x="492.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="528" y="35">Target</text>
+</a>
+</g>
+<path d="M563.5 31h10"></path>
+<path d="M573.5 31h10"></path>
+<g class="non-terminal">
+<path d="M583.5 31h0"></path>
+<path d="M654.5 31h0"></path>
+<rect x="583.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="619" y="35">Target</text>
+</a>
+</g>
+<path d="M654.5 31h10"></path>
+<path d="M664.5 31h10"></path>
+<g class="terminal">
+<path d="M674.5 31h0"></path>
+<path d="M728.5 31h0"></path>
+<rect x="674.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="701.5" y="35">"ID"</text>
+</g>
+<path d="M728.5 31h10"></path>
+<path d="M738.5 31h10"></path>
+<g class="non-terminal">
+<path d="M748.5 31h0"></path>
+<path d="M819.5 31h0"></path>
+<rect x="748.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="784" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M819.5 31h10"></path>
+<path d="M 829.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ImportNametab.svg b/abap/statement_ImportNametab.svg
new file mode 100644
index 00000000..322e49f3
--- /dev/null
+++ b/abap/statement_ImportNametab.svg
@@ -0,0 +1,105 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="696" height="62" viewBox="0 0 696 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M646 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M646 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M299 31h0"></path>
+<rect x="143" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="35">"IMPORT NAMETAB"</text>
+</g>
+<path d="M299 31h10"></path>
+<path d="M309 31h10"></path>
+<g class="non-terminal">
+<path d="M319 31h0"></path>
+<path d="M390 31h0"></path>
+<rect x="319" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="354.5" y="35">Target</text>
+</a>
+</g>
+<path d="M390 31h10"></path>
+<path d="M400 31h10"></path>
+<g class="non-terminal">
+<path d="M410 31h0"></path>
+<path d="M481 31h0"></path>
+<rect x="410" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="445.5" y="35">Target</text>
+</a>
+</g>
+<path d="M481 31h10"></path>
+<path d="M491 31h10"></path>
+<g class="terminal">
+<path d="M501 31h0"></path>
+<path d="M555 31h0"></path>
+<rect x="501" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="528" y="35">"ID"</text>
+</g>
+<path d="M555 31h10"></path>
+<path d="M565 31h10"></path>
+<g class="non-terminal">
+<path d="M575 31h0"></path>
+<path d="M646 31h0"></path>
+<rect x="575" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="610.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M646 31h10"></path>
+<path d="M 656 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Include.svg b/abap/statement_Include.svg
new file mode 100644
index 00000000..d57ef9f5
--- /dev/null
+++ b/abap/statement_Include.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="485" height="71" viewBox="0 0 485 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M435 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"INCLUDE"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<path d="M156.5 40h10"></path>
+<g class="non-terminal">
+<path d="M166.5 40h0"></path>
+<path d="M280 40h0"></path>
+<rect x="166.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/IncludeName"><text x="223.25" y="44">IncludeName</text>
+</a>
+</g>
+<path d="M280 40h10"></path>
+<g>
+<path d="M290 40h0"></path>
+<path d="M435 40h0"></path>
+<path d="M290 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M310 20h105"></path>
+</g>
+<path d="M415 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M290 40h20"></path>
+<g class="terminal">
+<path d="M310 40h0"></path>
+<path d="M415 40h0"></path>
+<rect x="310" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="362.5" y="44">"IF FOUND"</text>
+</g>
+<path d="M415 40h20"></path>
+</g>
+</g>
+<path d="M435 40h10"></path>
+<path d="M 445 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_IncludeType.svg b/abap/statement_IncludeType.svg
new file mode 100644
index 00000000..02727e6d
--- /dev/null
+++ b/abap/statement_IncludeType.svg
@@ -0,0 +1,149 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1042" height="101" viewBox="0 0 1042 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M992 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"INCLUDE"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M310 40h0"></path>
+<path d="M156.5 40h20"></path>
+<g class="terminal">
+<path d="M176.5 40h0"></path>
+<path d="M247.5 40h42.5"></path>
+<rect x="176.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="212" y="44">"TYPE"</text>
+</g>
+<path d="M290 40h20"></path>
+<path d="M156.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M176.5 70h0"></path>
+<path d="M290 70h0"></path>
+<rect x="176.5" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="233.25" y="74">"STRUCTURE"</text>
+</g>
+<path d="M290 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M310 40h10"></path>
+<g class="non-terminal">
+<path d="M320 40h0"></path>
+<path d="M408 40h0"></path>
+<rect x="320" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="364" y="44">TypeName</text>
+</a>
+</g>
+<path d="M408 40h10"></path>
+<g>
+<path d="M418 40h0"></path>
+<path d="M594.5 40h0"></path>
+<path d="M418 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M438 20h136.5"></path>
+</g>
+<path d="M574.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M418 40h20"></path>
+<g>
+<path d="M438 40h0"></path>
+<path d="M574.5 40h0"></path>
+<g class="terminal">
+<path d="M438 40h0"></path>
+<path d="M492 40h0"></path>
+<rect x="438" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="465" y="44">"AS"</text>
+</g>
+<path d="M492 40h10"></path>
+<path d="M502 40h10"></path>
+<g class="non-terminal">
+<path d="M512 40h0"></path>
+<path d="M574.5 40h0"></path>
+<rect x="512" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="543.25" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M574.5 40h20"></path>
+</g>
+<g>
+<path d="M594.5 40h0"></path>
+<path d="M992 40h0"></path>
+<path d="M594.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M614.5 20h357.5"></path>
+</g>
+<path d="M972 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M594.5 40h20"></path>
+<g>
+<path d="M614.5 40h0"></path>
+<path d="M972 40h0"></path>
+<g class="terminal">
+<path d="M614.5 40h0"></path>
+<path d="M821.5 40h0"></path>
+<rect x="614.5" y="29" width="207" height="22" rx="10" ry="10"></rect>
+<text x="718" y="44">"RENAMING WITH SUFFIX"</text>
+</g>
+<path d="M821.5 40h10"></path>
+<path d="M831.5 40h10"></path>
+<g class="non-terminal">
+<path d="M841.5 40h0"></path>
+<path d="M972 40h0"></path>
+<rect x="841.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentName"><text x="906.75" y="44">ComponentName</text>
+</a>
+</g>
+</g>
+<path d="M972 40h20"></path>
+</g>
+</g>
+<path d="M992 40h10"></path>
+<path d="M 1002 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Infotypes.svg b/abap/statement_Infotypes.svg
new file mode 100644
index 00000000..16348a7a
--- /dev/null
+++ b/abap/statement_Infotypes.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="854" height="71" viewBox="0 0 854 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M804 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M804 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M256.5 40h0"></path>
+<rect x="143" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="199.75" y="44">"INFOTYPES"</text>
+</g>
+<path d="M256.5 40h10"></path>
+<path d="M266.5 40h10"></path>
+<g class="non-terminal">
+<path d="M276.5 40h0"></path>
+<path d="M364.5 40h0"></path>
+<rect x="276.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="320.5" y="44">Constant</text>
+</a>
+</g>
+<path d="M364.5 40h10"></path>
+<g>
+<path d="M374.5 40h0"></path>
+<path d="M610.5 40h0"></path>
+<path d="M374.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M394.5 20h196"></path>
+</g>
+<path d="M590.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M374.5 40h20"></path>
+<g>
+<path d="M394.5 40h0"></path>
+<path d="M590.5 40h0"></path>
+<g class="terminal">
+<path d="M394.5 40h0"></path>
+<path d="M482.5 40h0"></path>
+<rect x="394.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="438.5" y="44">"OCCURS"</text>
+</g>
+<path d="M482.5 40h10"></path>
+<path d="M492.5 40h10"></path>
+<g class="non-terminal">
+<path d="M502.5 40h0"></path>
+<path d="M590.5 40h0"></path>
+<rect x="502.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="546.5" y="44">Constant</text>
+</a>
+</g>
+</g>
+<path d="M590.5 40h20"></path>
+</g>
+<g>
+<path d="M610.5 40h0"></path>
+<path d="M804 40h0"></path>
+<path d="M610.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M630.5 20h153.5"></path>
+</g>
+<path d="M784 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M610.5 40h20"></path>
+<g>
+<path d="M630.5 40h0"></path>
+<path d="M784 40h0"></path>
+<g class="terminal">
+<path d="M630.5 40h0"></path>
+<path d="M701.5 40h0"></path>
+<rect x="630.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="666" y="44">"NAME"</text>
+</g>
+<path d="M701.5 40h10"></path>
+<path d="M711.5 40h10"></path>
+<g class="non-terminal">
+<path d="M721.5 40h0"></path>
+<path d="M784 40h0"></path>
+<rect x="721.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="752.75" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M784 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M804 40h10"></path>
+<path d="M 814 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Initialization.svg b/abap/statement_Initialization.svg
new file mode 100644
index 00000000..136343e0
--- /dev/null
+++ b/abap/statement_Initialization.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="349" height="62" viewBox="0 0 349 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M299 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M299 31h0"></path>
+<rect x="143" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="35">"INITIALIZATION"</text>
+</g>
+</g>
+<path d="M299 31h10"></path>
+<path d="M 309 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InsertDatabase.svg b/abap/statement_InsertDatabase.svg
new file mode 100644
index 00000000..31f428e9
--- /dev/null
+++ b/abap/statement_InsertDatabase.svg
@@ -0,0 +1,311 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1592.5" height="208" viewBox="0 0 1592.5 208">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1542.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M138 48h0"></path>
+<rect x="50" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="52">"INSERT"</text>
+</g>
+<path d="M138 48h10"></path>
+<g>
+<path d="M148 48h0"></path>
+<path d="M1542.5 48h0"></path>
+<path d="M148 48h20"></path>
+<g>
+<path d="M168 48h0"></path>
+<path d="M1522.5 48h0"></path>
+<g class="non-terminal">
+<path d="M168 48h0"></path>
+<path d="M298.5 48h0"></path>
+<rect x="168" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="233.25" y="52">DatabaseTable</text>
+</a>
+</g>
+<path d="M298.5 48h10"></path>
+<g>
+<path d="M308.5 48h0"></path>
+<path d="M1522.5 48h0"></path>
+<path d="M308.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M328.5 20h1174"></path>
+</g>
+<path d="M1502.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M308.5 48h20"></path>
+<g>
+<path d="M328.5 48h0"></path>
+<path d="M1502.5 48h0"></path>
+<path d="M328.5 48h20"></path>
+<g>
+<path d="M348.5 48h0"></path>
+<path d="M1482.5 48h0"></path>
+<g>
+<path d="M348.5 48h0"></path>
+<path d="M485 48h0"></path>
+<path d="M348.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M368.5 28h96.5"></path>
+</g>
+<path d="M465 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M348.5 48h20"></path>
+<g class="non-terminal">
+<path d="M368.5 48h0"></path>
+<path d="M465 48h0"></path>
+<rect x="368.5" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="416.75" y="52">SQLClient</text>
+</a>
+</g>
+<path d="M465 48h20"></path>
+</g>
+<g>
+<path d="M485 48h0"></path>
+<path d="M698 48h0"></path>
+<path d="M485 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M505 28h173"></path>
+</g>
+<path d="M678 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M485 48h20"></path>
+<g class="non-terminal">
+<path d="M505 48h0"></path>
+<path d="M678 48h0"></path>
+<rect x="505" y="37" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="591.5" y="52">DatabaseConnection</text>
+</a>
+</g>
+<path d="M678 48h20"></path>
+</g>
+<path d="M698 48h10"></path>
+<g class="terminal">
+<path d="M708 48h0"></path>
+<path d="M779 48h0"></path>
+<rect x="708" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="743.5" y="52">"FROM"</text>
+</g>
+<path d="M779 48h10"></path>
+<g>
+<path d="M789 48h0"></path>
+<path d="M908.5 48h0"></path>
+<path d="M789 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M809 28h79.5"></path>
+</g>
+<path d="M888.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M789 48h20"></path>
+<g class="terminal">
+<path d="M809 48h0"></path>
+<path d="M888.5 48h0"></path>
+<rect x="809" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="848.75" y="52">"TABLE"</text>
+</g>
+<path d="M888.5 48h20"></path>
+</g>
+<g>
+<path d="M908.5 48h0"></path>
+<path d="M1201.5 48h0"></path>
+<path d="M908.5 48h20"></path>
+<g class="non-terminal">
+<path d="M928.5 48h0"></path>
+<path d="M1025 48h156.5"></path>
+<rect x="928.5" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="976.75" y="52">SQLSource</text>
+</a>
+</g>
+<path d="M1181.5 48h20"></path>
+<path d="M908.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M928.5 78h0"></path>
+<path d="M1181.5 78h0"></path>
+<g class="terminal">
+<path d="M928.5 78h0"></path>
+<path d="M999.5 78h0"></path>
+<rect x="928.5" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="964" y="82">!" ( "</text>
+</g>
+<path d="M999.5 78h10"></path>
+<path d="M1009.5 78h10"></path>
+<g class="non-terminal">
+<path d="M1019.5 78h0"></path>
+<path d="M1090.5 78h0"></path>
+<rect x="1019.5" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="1055" y="82">Select</text>
+</a>
+</g>
+<path d="M1090.5 78h10"></path>
+<path d="M1100.5 78h10"></path>
+<g class="terminal">
+<path d="M1110.5 78h0"></path>
+<path d="M1181.5 78h0"></path>
+<rect x="1110.5" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1146" y="82">!" ) "</text>
+</g>
+</g>
+<path d="M1181.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1201.5 48h0"></path>
+<path d="M1482.5 48h0"></path>
+<path d="M1201.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1221.5 28h241"></path>
+</g>
+<path d="M1462.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1201.5 48h20"></path>
+<g class="terminal">
+<path d="M1221.5 48h0"></path>
+<path d="M1462.5 48h0"></path>
+<rect x="1221.5" y="37" width="241" height="22" rx="10" ry="10"></rect>
+<text x="1342" y="52">"ACCEPTING DUPLICATE KEYS"</text>
+</g>
+<path d="M1462.5 48h20"></path>
+</g>
+</g>
+<path d="M1482.5 48h20"></path>
+<path d="M328.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M348.5 108h0"></path>
+<path d="M445 108h1037.5"></path>
+<rect x="348.5" y="97" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="396.75" y="112">SQLClient</text>
+</a>
+</g>
+<path d="M1482.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M328.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M348.5 138h0"></path>
+<path d="M521.5 138h961"></path>
+<rect x="348.5" y="127" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="435" y="142">DatabaseConnection</text>
+</a>
+</g>
+<path d="M1482.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1502.5 48h20"></path>
+</g>
+</g>
+<path d="M1522.5 48h20"></path>
+<path d="M148 48a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 177h0"></path>
+<path d="M963.5 177h559"></path>
+<g class="terminal">
+<path d="M168 177h0"></path>
+<path d="M239 177h0"></path>
+<rect x="168" y="166" width="71" height="22" rx="10" ry="10"></rect>
+<text x="203.5" y="181">"INTO"</text>
+</g>
+<path d="M239 177h10"></path>
+<path d="M249 177h10"></path>
+<g class="non-terminal">
+<path d="M259 177h0"></path>
+<path d="M389.5 177h0"></path>
+<rect x="259" y="166" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="324.25" y="181">DatabaseTable</text>
+</a>
+</g>
+<path d="M389.5 177h10"></path>
+<g>
+<path d="M399.5 177h0"></path>
+<path d="M536 177h0"></path>
+<path d="M399.5 177a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M419.5 157h96.5"></path>
+</g>
+<path d="M516 157a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M399.5 177h20"></path>
+<g class="non-terminal">
+<path d="M419.5 177h0"></path>
+<path d="M516 177h0"></path>
+<rect x="419.5" y="166" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="467.75" y="181">SQLClient</text>
+</a>
+</g>
+<path d="M516 177h20"></path>
+</g>
+<g>
+<path d="M536 177h0"></path>
+<path d="M749 177h0"></path>
+<path d="M536 177a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M556 157h173"></path>
+</g>
+<path d="M729 157a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M536 177h20"></path>
+<g class="non-terminal">
+<path d="M556 177h0"></path>
+<path d="M729 177h0"></path>
+<rect x="556" y="166" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="642.5" y="181">DatabaseConnection</text>
+</a>
+</g>
+<path d="M729 177h20"></path>
+</g>
+<path d="M749 177h10"></path>
+<g class="terminal">
+<path d="M759 177h0"></path>
+<path d="M847 177h0"></path>
+<rect x="759" y="166" width="88" height="22" rx="10" ry="10"></rect>
+<text x="803" y="181">"VALUES"</text>
+</g>
+<path d="M847 177h10"></path>
+<path d="M857 177h10"></path>
+<g class="non-terminal">
+<path d="M867 177h0"></path>
+<path d="M963.5 177h0"></path>
+<rect x="867" y="166" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="915.25" y="181">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M1522.5 177a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1542.5 48h10"></path>
+<path d="M 1552.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InsertFieldGroup.svg b/abap/statement_InsertFieldGroup.svg
new file mode 100644
index 00000000..534ab2da
--- /dev/null
+++ b/abap/statement_InsertFieldGroup.svg
@@ -0,0 +1,135 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="587" height="110" viewBox="0 0 587 110">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M537 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"INSERT"</text>
+</g>
+<path d="M138 31h10"></path>
+<g>
+<path d="M148 31h0"></path>
+<path d="M365 31h0"></path>
+<path d="M148 31h20"></path>
+<g>
+<path d="M168 31h0"></path>
+<path d="M345 31h0"></path>
+<g>
+<path d="M168 31h0"></path>
+<path d="M234 31h0"></path>
+<text x="201" y="36" class="comment">v740sp02</text>
+</g>
+<path d="M234 31h10"></path>
+<path d="M244 31h10"></path>
+<g>
+<path d="M254 31h0"></path>
+<path d="M345 31h0"></path>
+<path d="M254 31h10"></path>
+<g class="non-terminal">
+<path d="M264 31h0"></path>
+<path d="M335 31h0"></path>
+<rect x="264" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="299.5" y="35">Source</text>
+</a>
+</g>
+<path d="M335 31h10"></path>
+<path d="M264 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M264 51h71"></path>
+</g>
+<path d="M335 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M345 31h20"></path>
+<path d="M148 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 70h0"></path>
+<path d="M318.5 70h26.5"></path>
+<path d="M168 70h10"></path>
+<g class="non-terminal">
+<path d="M178 70h0"></path>
+<path d="M308.5 70h0"></path>
+<rect x="178" y="59" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="243.25" y="74">SimpleSource1</text>
+</a>
+</g>
+<path d="M308.5 70h10"></path>
+<path d="M178 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 90h130.5"></path>
+</g>
+<path d="M308.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M345 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M365 31h10"></path>
+<g>
+<path d="M375 31h0"></path>
+<path d="M537 31h0"></path>
+<g class="terminal">
+<path d="M375 31h0"></path>
+<path d="M446 31h0"></path>
+<rect x="375" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="410.5" y="35">"INTO"</text>
+</g>
+<path d="M446 31h10"></path>
+<path d="M456 31h10"></path>
+<g class="non-terminal">
+<path d="M466 31h0"></path>
+<path d="M537 31h0"></path>
+<rect x="466" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="501.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M537 31h10"></path>
+<path d="M 547 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InsertInternal.svg b/abap/statement_InsertInternal.svg
new file mode 100644
index 00000000..3b7d9f3d
--- /dev/null
+++ b/abap/statement_InsertInternal.svg
@@ -0,0 +1,530 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1433.5" height="320" viewBox="0 0 1433.5 320">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1383.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"INSERT"</text>
+</g>
+<path d="M138 31h10"></path>
+<g>
+<path d="M148 31h0"></path>
+<path d="M1383.5 31h0"></path>
+<path d="M148 31h20"></path>
+<g>
+<path d="M168 31h0"></path>
+<path d="M338.5 31h1025"></path>
+<g class="terminal">
+<path d="M168 31h0"></path>
+<path d="M247.5 31h0"></path>
+<rect x="168" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="35">"TABLE"</text>
+</g>
+<path d="M247.5 31h10"></path>
+<path d="M257.5 31h10"></path>
+<g class="non-terminal">
+<path d="M267.5 31h0"></path>
+<path d="M338.5 31h0"></path>
+<rect x="267.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="303" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M1363.5 31h20"></path>
+<path d="M148 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M168 70h0"></path>
+<path d="M1363.5 70h0"></path>
+<g>
+<path d="M168 70h0"></path>
+<path d="M754.5 70h0"></path>
+<path d="M168 70h20"></path>
+<g class="terminal">
+<path d="M188 70h0"></path>
+<path d="M327 70h407.5"></path>
+<rect x="188" y="59" width="139" height="22" rx="10" ry="10"></rect>
+<text x="257.5" y="74">"INITIAL LINE"</text>
+</g>
+<path d="M734.5 70h20"></path>
+<path d="M168 70a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M188 117h0"></path>
+<path d="M734.5 117h0"></path>
+<g class="terminal">
+<path d="M188 117h0"></path>
+<path d="M293 117h0"></path>
+<rect x="188" y="106" width="105" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="121">"LINES OF"</text>
+</g>
+<path d="M293 117h10"></path>
+<g>
+<path d="M303 117h0"></path>
+<path d="M422.5 117h0"></path>
+<path d="M303 117h20"></path>
+<g class="non-terminal">
+<path d="M323 117h0"></path>
+<path d="M394 117h8.5"></path>
+<rect x="323" y="106" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="358.5" y="121">Source</text>
+</a>
+</g>
+<path d="M402.5 117h20"></path>
+<path d="M303 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M323 147h0"></path>
+<path d="M402.5 147h0"></path>
+<rect x="323" y="136" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="362.75" y="151">Dynamic</text>
+</a>
+</g>
+<path d="M402.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M422.5 117h0"></path>
+<path d="M734.5 117h0"></path>
+<path d="M422.5 117a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M442.5 89h272"></path>
+</g>
+<path d="M714.5 89a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M422.5 117h20"></path>
+<g>
+<path d="M442.5 117h0"></path>
+<path d="M714.5 117h0"></path>
+<path d="M442.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M462.5 97h232"></path>
+</g>
+<path d="M694.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M442.5 117h20"></path>
+<g>
+<path d="M462.5 117h0"></path>
+<path d="M694.5 117h0"></path>
+<path d="M492.5 117h10"></path>
+<g>
+<path d="M502.5 117h0"></path>
+<path d="M664.5 117h0"></path>
+<g class="terminal">
+<path d="M502.5 117h0"></path>
+<path d="M573.5 117h0"></path>
+<rect x="502.5" y="106" width="71" height="22" rx="10" ry="10"></rect>
+<text x="538" y="121">"FROM"</text>
+</g>
+<path d="M573.5 117h10"></path>
+<path d="M583.5 117h10"></path>
+<g class="non-terminal">
+<path d="M593.5 117h0"></path>
+<path d="M664.5 117h0"></path>
+<rect x="593.5" y="106" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="629" y="121">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 117h10"></path>
+<path d="M492.5 117v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M502.5 147h0"></path>
+<path d="M647.5 147h17"></path>
+<g class="terminal">
+<path d="M502.5 147h0"></path>
+<path d="M556.5 147h0"></path>
+<rect x="502.5" y="136" width="54" height="22" rx="10" ry="10"></rect>
+<text x="529.5" y="151">"TO"</text>
+</g>
+<path d="M556.5 147h10"></path>
+<path d="M566.5 147h10"></path>
+<g class="non-terminal">
+<path d="M576.5 147h0"></path>
+<path d="M647.5 147h0"></path>
+<rect x="576.5" y="136" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="612" y="151">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 147a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 492.5 107 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="477.5" y="121" class="diagram-text">1+</text>
+<path d="M 674.5 107 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 681.5 115 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M694.5 117h20"></path>
+</g>
+<path d="M714.5 117h20"></path>
+</g>
+</g>
+<path d="M734.5 117a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10"></path>
+<path d="M168 70a10 10 0 0 1 10 10v87a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M188 177h0"></path>
+<path d="M385 177h349.5"></path>
+<path d="M188 177h20"></path>
+<g class="non-terminal">
+<path d="M208 177h0"></path>
+<path d="M338.5 177h26.5"></path>
+<rect x="208" y="166" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource4"><text x="273.25" y="181">SimpleSource4</text>
+</a>
+</g>
+<path d="M365 177h20"></path>
+<path d="M188 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M208 207h0"></path>
+<path d="M365 207h0"></path>
+<g>
+<path d="M208 207h0"></path>
+<path d="M274 207h0"></path>
+<text x="241" y="212" class="comment">v740sp02</text>
+</g>
+<path d="M274 207h10"></path>
+<path d="M284 207h10"></path>
+<g class="non-terminal">
+<path d="M294 207h0"></path>
+<path d="M365 207h0"></path>
+<rect x="294" y="196" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329.5" y="211">Source</text>
+</a>
+</g>
+</g>
+<path d="M365 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M734.5 177a10 10 0 0 0 10 -10v-87a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M754.5 70h0"></path>
+<path d="M1363.5 70h0"></path>
+<path d="M754.5 70h20"></path>
+<g>
+<path d="M774.5 70h0"></path>
+<path d="M1324.5 70h19"></path>
+<g class="terminal">
+<path d="M774.5 70h0"></path>
+<path d="M896.5 70h0"></path>
+<rect x="774.5" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="835.5" y="74">"INTO TABLE"</text>
+</g>
+<path d="M896.5 70h10"></path>
+<path d="M906.5 70h10"></path>
+<g class="non-terminal">
+<path d="M916.5 70h0"></path>
+<path d="M987.5 70h0"></path>
+<rect x="916.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="952" y="74">Target</text>
+</a>
+</g>
+<path d="M987.5 70h10"></path>
+<g>
+<path d="M997.5 70h0"></path>
+<path d="M1324.5 70h0"></path>
+<path d="M997.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1017.5 50h287"></path>
+</g>
+<path d="M1304.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M997.5 70h20"></path>
+<g>
+<path d="M1017.5 70h0"></path>
+<path d="M1304.5 70h0"></path>
+<path d="M1017.5 70h20"></path>
+<g>
+<path d="M1037.5 70h0"></path>
+<path d="M1284.5 70h0"></path>
+<g class="terminal">
+<path d="M1037.5 70h0"></path>
+<path d="M1193.5 70h0"></path>
+<rect x="1037.5" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1115.5" y="74">"REFERENCE INTO"</text>
+</g>
+<path d="M1193.5 70h10"></path>
+<path d="M1203.5 70h10"></path>
+<g class="non-terminal">
+<path d="M1213.5 70h0"></path>
+<path d="M1284.5 70h0"></path>
+<rect x="1213.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1249" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M1284.5 70h20"></path>
+<path d="M1017.5 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1037.5 100h0"></path>
+<path d="M1259 100h25.5"></path>
+<g class="terminal">
+<path d="M1037.5 100h0"></path>
+<path d="M1151 100h0"></path>
+<rect x="1037.5" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1094.25" y="104">"ASSIGNING"</text>
+</g>
+<path d="M1151 100h10"></path>
+<path d="M1161 100h10"></path>
+<g class="non-terminal">
+<path d="M1171 100h0"></path>
+<path d="M1259 100h0"></path>
+<rect x="1171" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="1215" y="104">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M1284.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1304.5 70h20"></path>
+</g>
+</g>
+<path d="M1343.5 70h20"></path>
+<path d="M754.5 70a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M774.5 139h0"></path>
+<path d="M1343.5 139h0"></path>
+<g>
+<path d="M774.5 139h0"></path>
+<path d="M936.5 139h0"></path>
+<g class="terminal">
+<path d="M774.5 139h0"></path>
+<path d="M845.5 139h0"></path>
+<rect x="774.5" y="128" width="71" height="22" rx="10" ry="10"></rect>
+<text x="810" y="143">"INTO"</text>
+</g>
+<path d="M845.5 139h10"></path>
+<path d="M855.5 139h10"></path>
+<g class="non-terminal">
+<path d="M865.5 139h0"></path>
+<path d="M936.5 139h0"></path>
+<rect x="865.5" y="128" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="901" y="143">Target</text>
+</a>
+</g>
+</g>
+<path d="M936.5 139h10"></path>
+<g>
+<path d="M946.5 139h0"></path>
+<path d="M1343.5 139h0"></path>
+<path d="M946.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M966.5 119h357"></path>
+</g>
+<path d="M1323.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M946.5 139h20"></path>
+<g>
+<path d="M966.5 139h0"></path>
+<path d="M1323.5 139h0"></path>
+<path d="M996.5 139h10"></path>
+<g>
+<path d="M1006.5 139h0"></path>
+<path d="M1177 139h116.5"></path>
+<g class="terminal">
+<path d="M1006.5 139h0"></path>
+<path d="M1086 139h0"></path>
+<rect x="1006.5" y="128" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1046.25" y="143">"INDEX"</text>
+</g>
+<path d="M1086 139h10"></path>
+<path d="M1096 139h10"></path>
+<g class="non-terminal">
+<path d="M1106 139h0"></path>
+<path d="M1177 139h0"></path>
+<rect x="1106" y="128" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1141.5" y="143">Source</text>
+</a>
+</g>
+</g>
+<path d="M1293.5 139h10"></path>
+<path d="M996.5 139v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1006.5 169h0"></path>
+<path d="M1293.5 169h0"></path>
+<path d="M1006.5 169h20"></path>
+<g>
+<path d="M1026.5 169h0"></path>
+<path d="M1273.5 169h0"></path>
+<g class="terminal">
+<path d="M1026.5 169h0"></path>
+<path d="M1182.5 169h0"></path>
+<rect x="1026.5" y="158" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1104.5" y="173">"REFERENCE INTO"</text>
+</g>
+<path d="M1182.5 169h10"></path>
+<path d="M1192.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1202.5 169h0"></path>
+<path d="M1273.5 169h0"></path>
+<rect x="1202.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1238" y="173">Target</text>
+</a>
+</g>
+</g>
+<path d="M1273.5 169h20"></path>
+<path d="M1006.5 169a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1026.5 199h0"></path>
+<path d="M1248 199h25.5"></path>
+<g class="terminal">
+<path d="M1026.5 199h0"></path>
+<path d="M1140 199h0"></path>
+<rect x="1026.5" y="188" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1083.25" y="203">"ASSIGNING"</text>
+</g>
+<path d="M1140 199h10"></path>
+<path d="M1150 199h10"></path>
+<g class="non-terminal">
+<path d="M1160 199h0"></path>
+<path d="M1248 199h0"></path>
+<rect x="1160" y="188" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="1204" y="203">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M1273.5 199a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1293.5 169a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 996.5 129 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="981.5" y="143" class="diagram-text">1+</text>
+<path d="M 1303.5 129 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1310.5 137 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1323.5 139h20"></path>
+</g>
+</g>
+<path d="M1343.5 139a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M754.5 70a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M774.5 229h0"></path>
+<path d="M1131.5 229h212"></path>
+<path d="M804.5 229h10"></path>
+<g>
+<path d="M814.5 229h0"></path>
+<path d="M985 229h116.5"></path>
+<g class="terminal">
+<path d="M814.5 229h0"></path>
+<path d="M894 229h0"></path>
+<rect x="814.5" y="218" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="854.25" y="233">"INDEX"</text>
+</g>
+<path d="M894 229h10"></path>
+<path d="M904 229h10"></path>
+<g class="non-terminal">
+<path d="M914 229h0"></path>
+<path d="M985 229h0"></path>
+<rect x="914" y="218" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="949.5" y="233">Source</text>
+</a>
+</g>
+</g>
+<path d="M1101.5 229h10"></path>
+<path d="M804.5 229v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M814.5 259h0"></path>
+<path d="M1101.5 259h0"></path>
+<path d="M814.5 259h20"></path>
+<g>
+<path d="M834.5 259h0"></path>
+<path d="M1081.5 259h0"></path>
+<g class="terminal">
+<path d="M834.5 259h0"></path>
+<path d="M990.5 259h0"></path>
+<rect x="834.5" y="248" width="156" height="22" rx="10" ry="10"></rect>
+<text x="912.5" y="263">"REFERENCE INTO"</text>
+</g>
+<path d="M990.5 259h10"></path>
+<path d="M1000.5 259h10"></path>
+<g class="non-terminal">
+<path d="M1010.5 259h0"></path>
+<path d="M1081.5 259h0"></path>
+<rect x="1010.5" y="248" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1046" y="263">Target</text>
+</a>
+</g>
+</g>
+<path d="M1081.5 259h20"></path>
+<path d="M814.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M834.5 289h0"></path>
+<path d="M1056 289h25.5"></path>
+<g class="terminal">
+<path d="M834.5 289h0"></path>
+<path d="M948 289h0"></path>
+<rect x="834.5" y="278" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="891.25" y="293">"ASSIGNING"</text>
+</g>
+<path d="M948 289h10"></path>
+<path d="M958 289h10"></path>
+<g class="non-terminal">
+<path d="M968 289h0"></path>
+<path d="M1056 289h0"></path>
+<rect x="968" y="278" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="1012" y="293">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M1081.5 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1101.5 259a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 804.5 219 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="789.5" y="233" class="diagram-text">1+</text>
+<path d="M 1111.5 219 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1118.5 227 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1343.5 229a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1363.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1383.5 31h10"></path>
+<path d="M 1393.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InsertReport.svg b/abap/statement_InsertReport.svg
new file mode 100644
index 00000000..b12c4d8b
--- /dev/null
+++ b/abap/statement_InsertReport.svg
@@ -0,0 +1,285 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1048.5" height="281" viewBox="0 0 1048.5 281">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M998.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M998.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"INSERT REPORT"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<path d="M300.5 40h10"></path>
+<g class="non-terminal">
+<path d="M310.5 40h0"></path>
+<path d="M381.5 40h0"></path>
+<rect x="310.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="44">Source</text>
+</a>
+</g>
+<path d="M381.5 40h10"></path>
+<path d="M391.5 40h10"></path>
+<g class="terminal">
+<path d="M401.5 40h0"></path>
+<path d="M472.5 40h0"></path>
+<rect x="401.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="437" y="44">"FROM"</text>
+</g>
+<path d="M472.5 40h10"></path>
+<path d="M482.5 40h10"></path>
+<g class="non-terminal">
+<path d="M492.5 40h0"></path>
+<path d="M563.5 40h0"></path>
+<rect x="492.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="528" y="44">Source</text>
+</a>
+</g>
+<path d="M563.5 40h10"></path>
+<g>
+<path d="M573.5 40h0"></path>
+<path d="M998.5 40h0"></path>
+<path d="M573.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M593.5 20h385"></path>
+</g>
+<path d="M978.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M573.5 40h20"></path>
+<g>
+<path d="M593.5 40h0"></path>
+<path d="M978.5 40h0"></path>
+<path d="M623.5 40h10"></path>
+<g>
+<path d="M633.5 40h0"></path>
+<path d="M804 40h144.5"></path>
+<g class="terminal">
+<path d="M633.5 40h0"></path>
+<path d="M713 40h0"></path>
+<rect x="633.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="673.25" y="44">"STATE"</text>
+</g>
+<path d="M713 40h10"></path>
+<path d="M723 40h10"></path>
+<g class="non-terminal">
+<path d="M733 40h0"></path>
+<path d="M804 40h0"></path>
+<rect x="733" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="768.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 40h10"></path>
+<path d="M623.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 70h0"></path>
+<path d="M880.5 70h68"></path>
+<g class="terminal">
+<path d="M633.5 70h0"></path>
+<path d="M789.5 70h0"></path>
+<rect x="633.5" y="59" width="156" height="22" rx="10" ry="10"></rect>
+<text x="711.5" y="74">"EXTENSION TYPE"</text>
+</g>
+<path d="M789.5 70h10"></path>
+<path d="M799.5 70h10"></path>
+<g class="non-terminal">
+<path d="M809.5 70h0"></path>
+<path d="M880.5 70h0"></path>
+<rect x="809.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="845" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M623.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 100h0"></path>
+<path d="M889 100h59.5"></path>
+<g class="terminal">
+<path d="M633.5 100h0"></path>
+<path d="M798 100h0"></path>
+<rect x="633.5" y="89" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="715.75" y="104">"DIRECTORY ENTRY"</text>
+</g>
+<path d="M798 100h10"></path>
+<path d="M808 100h10"></path>
+<g class="non-terminal">
+<path d="M818 100h0"></path>
+<path d="M889 100h0"></path>
+<rect x="818" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="853.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M623.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 130h0"></path>
+<path d="M897.5 130h51"></path>
+<g class="terminal">
+<path d="M633.5 130h0"></path>
+<path d="M806.5 130h0"></path>
+<rect x="633.5" y="119" width="173" height="22" rx="10" ry="10"></rect>
+<text x="720" y="134">"UNICODE ENABLING"</text>
+</g>
+<path d="M806.5 130h10"></path>
+<path d="M816.5 130h10"></path>
+<g class="non-terminal">
+<path d="M826.5 130h0"></path>
+<path d="M897.5 130h0"></path>
+<rect x="826.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="862" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M623.5 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 160h0"></path>
+<path d="M863.5 160h85"></path>
+<g class="terminal">
+<path d="M633.5 160h0"></path>
+<path d="M772.5 160h0"></path>
+<rect x="633.5" y="149" width="139" height="22" rx="10" ry="10"></rect>
+<text x="703" y="164">"PROGRAM TYPE"</text>
+</g>
+<path d="M772.5 160h10"></path>
+<path d="M782.5 160h10"></path>
+<g class="non-terminal">
+<path d="M792.5 160h0"></path>
+<path d="M863.5 160h0"></path>
+<rect x="792.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="828" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M623.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 190h0"></path>
+<path d="M879 190h69.5"></path>
+<g>
+<path d="M633.5 190h0"></path>
+<path d="M671.5 190h0"></path>
+<text x="652.5" y="195" class="comment">v750</text>
+</g>
+<path d="M671.5 190h10"></path>
+<path d="M681.5 190h10"></path>
+<g>
+<path d="M691.5 190h0"></path>
+<path d="M879 190h0"></path>
+<g class="terminal">
+<path d="M691.5 190h0"></path>
+<path d="M788 190h0"></path>
+<rect x="691.5" y="179" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="739.75" y="194">"VERSION"</text>
+</g>
+<path d="M788 190h10"></path>
+<path d="M798 190h10"></path>
+<g class="non-terminal">
+<path d="M808 190h0"></path>
+<path d="M879 190h0"></path>
+<rect x="808" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="843.5" y="194">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M948.5 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M623.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 220h0"></path>
+<path d="M948.5 220h0"></path>
+<g class="terminal">
+<path d="M633.5 220h0"></path>
+<path d="M857.5 220h0"></path>
+<rect x="633.5" y="209" width="224" height="22" rx="10" ry="10"></rect>
+<text x="745.5" y="224">"FIXED-POINT ARITHMETIC"</text>
+</g>
+<path d="M857.5 220h10"></path>
+<path d="M867.5 220h10"></path>
+<g class="non-terminal">
+<path d="M877.5 220h0"></path>
+<path d="M948.5 220h0"></path>
+<rect x="877.5" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="913" y="224">Source</text>
+</a>
+</g>
+</g>
+<path d="M948.5 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M623.5 40v200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M633.5 250h0"></path>
+<path d="M866 250h82.5"></path>
+<rect x="633.5" y="239" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="749.75" y="254">"KEEPING DIRECTORY ENTRY"</text>
+</g>
+<path d="M948.5 250a10 10 0 0 0 10 -10v-200"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 623.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="608.5" y="44" class="diagram-text">1+</text>
+<path d="M 958.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 965.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M978.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M998.5 40h10"></path>
+<path d="M 1008.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InsertTextpool.svg b/abap/statement_InsertTextpool.svg
new file mode 100644
index 00000000..daeddfc1
--- /dev/null
+++ b/abap/statement_InsertTextpool.svg
@@ -0,0 +1,157 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1087" height="71" viewBox="0 0 1087 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1037 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1037 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"INSERT TEXTPOOL"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M398.5 40h0"></path>
+<rect x="327.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="44">Source</text>
+</a>
+</g>
+<path d="M398.5 40h10"></path>
+<path d="M408.5 40h10"></path>
+<g class="terminal">
+<path d="M418.5 40h0"></path>
+<path d="M489.5 40h0"></path>
+<rect x="418.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="454" y="44">"FROM"</text>
+</g>
+<path d="M489.5 40h10"></path>
+<path d="M499.5 40h10"></path>
+<g class="non-terminal">
+<path d="M509.5 40h0"></path>
+<path d="M580.5 40h0"></path>
+<rect x="509.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="545" y="44">Source</text>
+</a>
+</g>
+<path d="M580.5 40h10"></path>
+<g>
+<path d="M590.5 40h0"></path>
+<path d="M826.5 40h0"></path>
+<path d="M590.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M610.5 20h196"></path>
+</g>
+<path d="M806.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M590.5 40h20"></path>
+<g>
+<path d="M610.5 40h0"></path>
+<path d="M806.5 40h0"></path>
+<g class="terminal">
+<path d="M610.5 40h0"></path>
+<path d="M715.5 40h0"></path>
+<rect x="610.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="663" y="44">"LANGUAGE"</text>
+</g>
+<path d="M715.5 40h10"></path>
+<path d="M725.5 40h10"></path>
+<g class="non-terminal">
+<path d="M735.5 40h0"></path>
+<path d="M806.5 40h0"></path>
+<rect x="735.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="771" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M806.5 40h20"></path>
+</g>
+<g>
+<path d="M826.5 40h0"></path>
+<path d="M1037 40h0"></path>
+<path d="M826.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M846.5 20h170.5"></path>
+</g>
+<path d="M1017 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M826.5 40h20"></path>
+<g>
+<path d="M846.5 40h0"></path>
+<path d="M1017 40h0"></path>
+<g class="terminal">
+<path d="M846.5 40h0"></path>
+<path d="M926 40h0"></path>
+<rect x="846.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="886.25" y="44">"STATE"</text>
+</g>
+<path d="M926 40h10"></path>
+<path d="M936 40h10"></path>
+<g class="non-terminal">
+<path d="M946 40h0"></path>
+<path d="M1017 40h0"></path>
+<rect x="946" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="981.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1017 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1037 40h10"></path>
+<path d="M 1047 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Interface.svg b/abap/statement_Interface.svg
new file mode 100644
index 00000000..642b8216
--- /dev/null
+++ b/abap/statement_Interface.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="527.5" height="71" viewBox="0 0 527.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M477.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="44">"INTERFACE"</text>
+</g>
+<path d="M163.5 40h10"></path>
+<path d="M173.5 40h10"></path>
+<g class="non-terminal">
+<path d="M183.5 40h0"></path>
+<path d="M314 40h0"></path>
+<rect x="183.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InterfaceName"><text x="248.75" y="44">InterfaceName</text>
+</a>
+</g>
+<path d="M314 40h10"></path>
+<g>
+<path d="M324 40h0"></path>
+<path d="M477.5 40h0"></path>
+<path d="M324 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344 20h113.5"></path>
+</g>
+<path d="M457.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324 40h20"></path>
+<g class="non-terminal">
+<path d="M344 40h0"></path>
+<path d="M457.5 40h0"></path>
+<rect x="344" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassGlobal"><text x="400.75" y="44">ClassGlobal</text>
+</a>
+</g>
+<path d="M457.5 40h20"></path>
+</g>
+</g>
+<path d="M477.5 40h10"></path>
+<path d="M 487.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InterfaceDef.svg b/abap/statement_InterfaceDef.svg
new file mode 100644
index 00000000..9c69a2f5
--- /dev/null
+++ b/abap/statement_InterfaceDef.svg
@@ -0,0 +1,199 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1261.5" height="191" viewBox="0 0 1261.5 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1211.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">"INTERFACES"</text>
+</g>
+<path d="M172 40h10"></path>
+<path d="M182 40h10"></path>
+<g class="non-terminal">
+<path d="M192 40h0"></path>
+<path d="M322.5 40h0"></path>
+<rect x="192" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InterfaceName"><text x="257.25" y="44">InterfaceName</text>
+</a>
+</g>
+<path d="M322.5 40h10"></path>
+<g>
+<path d="M332.5 40h0"></path>
+<path d="M714 40h0"></path>
+<path d="M332.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M352.5 20h341.5"></path>
+</g>
+<path d="M694 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M332.5 40h20"></path>
+<g>
+<path d="M352.5 40h0"></path>
+<path d="M694 40h0"></path>
+<path d="M352.5 40h20"></path>
+<g class="non-terminal">
+<path d="M372.5 40h0"></path>
+<path d="M520 40h154"></path>
+<rect x="372.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AbstractMethods"><text x="446.25" y="44">AbstractMethods</text>
+</a>
+</g>
+<path d="M674 40h20"></path>
+<path d="M352.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M372.5 70h0"></path>
+<path d="M494.5 70h179.5"></path>
+<rect x="372.5" y="59" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/FinalMethods"><text x="433.5" y="74">FinalMethods</text>
+</a>
+</g>
+<path d="M674 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M352.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M372.5 100h0"></path>
+<path d="M579.5 100h94.5"></path>
+<rect x="372.5" y="89" width="207" height="22" rx="10" ry="10"></rect>
+<text x="476" y="104">"ALL METHODS ABSTRACT"</text>
+</g>
+<path d="M674 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M352.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M372.5 130h0"></path>
+<path d="M554 130h120"></path>
+<rect x="372.5" y="119" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="463.25" y="134">"ALL METHODS FINAL"</text>
+</g>
+<path d="M674 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M352.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M372.5 160h0"></path>
+<path d="M674 160h0"></path>
+<g>
+<path d="M372.5 160h0"></path>
+<path d="M438.5 160h0"></path>
+<text x="405.5" y="165" class="comment">v740sp02</text>
+</g>
+<path d="M438.5 160h10"></path>
+<path d="M448.5 160h10"></path>
+<g class="terminal">
+<path d="M458.5 160h0"></path>
+<path d="M674 160h0"></path>
+<rect x="458.5" y="149" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="566.25" y="164">"PARTIALLY IMPLEMENTED"</text>
+</g>
+</g>
+<path d="M674 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M694 40h20"></path>
+</g>
+<g>
+<path d="M714 40h0"></path>
+<path d="M1211.5 40h0"></path>
+<path d="M714 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M734 20h457.5"></path>
+</g>
+<path d="M1191.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M714 40h20"></path>
+<g>
+<path d="M734 40h0"></path>
+<path d="M1191.5 40h0"></path>
+<g class="terminal">
+<path d="M734 40h0"></path>
+<path d="M864.5 40h0"></path>
+<rect x="734" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="799.25" y="44">"DATA VALUES"</text>
+</g>
+<path d="M864.5 40h10"></path>
+<path d="M874.5 40h10"></path>
+<g>
+<path d="M884.5 40h0"></path>
+<path d="M1191.5 40h0"></path>
+<path d="M884.5 40h10"></path>
+<g>
+<path d="M894.5 40h0"></path>
+<path d="M1181.5 40h0"></path>
+<g class="non-terminal">
+<path d="M894.5 40h0"></path>
+<path d="M1025 40h0"></path>
+<rect x="894.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AttributeName"><text x="959.75" y="44">AttributeName</text>
+</a>
+</g>
+<path d="M1025 40h10"></path>
+<path d="M1035 40h10"></path>
+<g class="terminal">
+<path d="M1045 40h0"></path>
+<path d="M1090.5 40h0"></path>
+<rect x="1045" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1067.75" y="44">"="</text>
+</g>
+<path d="M1090.5 40h10"></path>
+<path d="M1100.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1110.5 40h0"></path>
+<path d="M1181.5 40h0"></path>
+<rect x="1110.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1146" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1181.5 40h10"></path>
+<path d="M894.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M894.5 60h287"></path>
+</g>
+<path d="M1181.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1191.5 40h20"></path>
+</g>
+</g>
+<path d="M1211.5 40h10"></path>
+<path d="M 1221.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InterfaceDeferred.svg b/abap/statement_InterfaceDeferred.svg
new file mode 100644
index 00000000..5afb4fbc
--- /dev/null
+++ b/abap/statement_InterfaceDeferred.svg
@@ -0,0 +1,94 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="627" height="71" viewBox="0 0 627 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M577 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="44">"INTERFACE"</text>
+</g>
+<path d="M163.5 40h10"></path>
+<path d="M173.5 40h10"></path>
+<g class="non-terminal">
+<path d="M183.5 40h0"></path>
+<path d="M314 40h0"></path>
+<rect x="183.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InterfaceName"><text x="248.75" y="44">InterfaceName</text>
+</a>
+</g>
+<path d="M314 40h10"></path>
+<path d="M324 40h10"></path>
+<g class="terminal">
+<path d="M334 40h0"></path>
+<path d="M439 40h0"></path>
+<rect x="334" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="386.5" y="44">"DEFERRED"</text>
+</g>
+<path d="M439 40h10"></path>
+<g>
+<path d="M449 40h0"></path>
+<path d="M577 40h0"></path>
+<path d="M449 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M469 20h88"></path>
+</g>
+<path d="M557 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M449 40h20"></path>
+<g class="terminal">
+<path d="M469 40h0"></path>
+<path d="M557 40h0"></path>
+<rect x="469" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="513" y="44">"PUBLIC"</text>
+</g>
+<path d="M557 40h20"></path>
+</g>
+</g>
+<path d="M577 40h10"></path>
+<path d="M 587 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_InterfaceLoad.svg b/abap/statement_InterfaceLoad.svg
new file mode 100644
index 00000000..31d954d1
--- /dev/null
+++ b/abap/statement_InterfaceLoad.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="455" height="62" viewBox="0 0 455 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M405 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"INTERFACE"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g class="non-terminal">
+<path d="M183.5 31h0"></path>
+<path d="M314 31h0"></path>
+<rect x="183.5" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InterfaceName"><text x="248.75" y="35">InterfaceName</text>
+</a>
+</g>
+<path d="M314 31h10"></path>
+<path d="M324 31h10"></path>
+<g class="terminal">
+<path d="M334 31h0"></path>
+<path d="M405 31h0"></path>
+<rect x="334" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="369.5" y="35">"LOAD"</text>
+</g>
+</g>
+<path d="M405 31h10"></path>
+<path d="M 415 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Leave.svg b/abap/statement_Leave.svg
new file mode 100644
index 00000000..f84acc99
--- /dev/null
+++ b/abap/statement_Leave.svg
@@ -0,0 +1,248 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1002" height="269" viewBox="0 0 1002 269">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M952 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M952 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M222.5 40h0"></path>
+<rect x="143" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="44">"LEAVE"</text>
+</g>
+<path d="M222.5 40h10"></path>
+<g>
+<path d="M232.5 40h0"></path>
+<path d="M952 40h0"></path>
+<path d="M232.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M252.5 20h679.5"></path>
+</g>
+<path d="M932 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M232.5 40h20"></path>
+<g>
+<path d="M252.5 40h0"></path>
+<path d="M932 40h0"></path>
+<path d="M252.5 40h20"></path>
+<g class="terminal">
+<path d="M272.5 40h0"></path>
+<path d="M496.5 40h415.5"></path>
+<rect x="272.5" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="384.5" y="44">"TO CURRENT TRANSACTION"</text>
+</g>
+<path d="M912 40h20"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M272.5 79h0"></path>
+<path d="M912 79h0"></path>
+<g>
+<path d="M272.5 79h0"></path>
+<path d="M366.5 79h0"></path>
+<path d="M272.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M292.5 59h54"></path>
+</g>
+<path d="M346.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M272.5 79h20"></path>
+<g class="terminal">
+<path d="M292.5 79h0"></path>
+<path d="M346.5 79h0"></path>
+<rect x="292.5" y="68" width="54" height="22" rx="10" ry="10"></rect>
+<text x="319.5" y="83">"TO"</text>
+</g>
+<path d="M346.5 79h20"></path>
+</g>
+<path d="M366.5 79h10"></path>
+<g class="terminal">
+<path d="M376.5 79h0"></path>
+<path d="M541 79h0"></path>
+<rect x="376.5" y="68" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="458.75" y="83">"LIST-PROCESSING"</text>
+</g>
+<path d="M541 79h10"></path>
+<g>
+<path d="M551 79h0"></path>
+<path d="M912 79h0"></path>
+<path d="M551 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M571 59h321"></path>
+</g>
+<path d="M892 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M551 79h20"></path>
+<g>
+<path d="M571 79h0"></path>
+<path d="M892 79h0"></path>
+<g class="non-terminal">
+<path d="M571 79h0"></path>
+<path d="M667.5 79h0"></path>
+<rect x="571" y="68" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AndReturn"><text x="619.25" y="83">AndReturn</text>
+</a>
+</g>
+<path d="M667.5 79h10"></path>
+<path d="M677.5 79h10"></path>
+<g class="terminal">
+<path d="M687.5 79h0"></path>
+<path d="M801 79h0"></path>
+<rect x="687.5" y="68" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="744.25" y="83">"TO SCREEN"</text>
+</g>
+<path d="M801 79h10"></path>
+<path d="M811 79h10"></path>
+<g class="non-terminal">
+<path d="M821 79h0"></path>
+<path d="M892 79h0"></path>
+<rect x="821" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="856.5" y="83">Source</text>
+</a>
+</g>
+</g>
+<path d="M892 79h20"></path>
+</g>
+</g>
+<path d="M912 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M272.5 109h0"></path>
+<path d="M437 109h475"></path>
+<rect x="272.5" y="98" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="354.75" y="113">"LIST-PROCESSING"</text>
+</g>
+<path d="M912 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M272.5 139h0"></path>
+<path d="M360.5 139h551.5"></path>
+<rect x="272.5" y="128" width="88" height="22" rx="10" ry="10"></rect>
+<text x="316.5" y="143">"SCREEN"</text>
+</g>
+<path d="M912 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v118a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M272.5 178h0"></path>
+<path d="M785 178h127"></path>
+<g class="terminal">
+<path d="M272.5 178h0"></path>
+<path d="M428.5 178h0"></path>
+<rect x="272.5" y="167" width="156" height="22" rx="10" ry="10"></rect>
+<text x="350.5" y="182">"TO TRANSACTION"</text>
+</g>
+<path d="M428.5 178h10"></path>
+<path d="M438.5 178h10"></path>
+<g class="non-terminal">
+<path d="M448.5 178h0"></path>
+<path d="M519.5 178h0"></path>
+<rect x="448.5" y="167" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="484" y="182">Source</text>
+</a>
+</g>
+<path d="M519.5 178h10"></path>
+<g>
+<path d="M529.5 178h0"></path>
+<path d="M785 178h0"></path>
+<path d="M529.5 178a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M549.5 158h215.5"></path>
+</g>
+<path d="M765 158a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M529.5 178h20"></path>
+<g class="terminal">
+<path d="M549.5 178h0"></path>
+<path d="M765 178h0"></path>
+<rect x="549.5" y="167" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="657.25" y="182">"AND SKIP FIRST SCREEN"</text>
+</g>
+<path d="M765 178h20"></path>
+</g>
+</g>
+<path d="M912 178a10 10 0 0 0 10 -10v-118a10 10 0 0 1 10 -10"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M272.5 208h0"></path>
+<path d="M369 208h543"></path>
+<rect x="272.5" y="197" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="320.75" y="212">"PROGRAM"</text>
+</g>
+<path d="M912 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10"></path>
+<path d="M252.5 40a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M272.5 238h0"></path>
+<path d="M477 238h435"></path>
+<g class="terminal">
+<path d="M272.5 238h0"></path>
+<path d="M386 238h0"></path>
+<rect x="272.5" y="227" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="329.25" y="242">"TO SCREEN"</text>
+</g>
+<path d="M386 238h10"></path>
+<path d="M396 238h10"></path>
+<g class="non-terminal">
+<path d="M406 238h0"></path>
+<path d="M477 238h0"></path>
+<rect x="406" y="227" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="441.5" y="242">Source</text>
+</a>
+</g>
+</g>
+<path d="M912 238a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M932 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M952 40h10"></path>
+<path d="M 962 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_LoadOfProgram.svg b/abap/statement_LoadOfProgram.svg
new file mode 100644
index 00000000..d852a415
--- /dev/null
+++ b/abap/statement_LoadOfProgram.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="357.5" height="62" viewBox="0 0 357.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M307.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"LOAD-OF-PROGRAM"</text>
+</g>
+</g>
+<path d="M307.5 31h10"></path>
+<path d="M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_LoadReport.svg b/abap/statement_LoadReport.svg
new file mode 100644
index 00000000..ef8906bf
--- /dev/null
+++ b/abap/statement_LoadReport.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="778.5" height="62" viewBox="0 0 778.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M728.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M728.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"LOAD REPORT"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g class="non-terminal">
+<path d="M293.5 31h0"></path>
+<path d="M364.5 31h0"></path>
+<rect x="293.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329" y="35">Source</text>
+</a>
+</g>
+<path d="M364.5 31h10"></path>
+<path d="M374.5 31h10"></path>
+<g class="terminal">
+<path d="M384.5 31h0"></path>
+<path d="M455.5 31h0"></path>
+<rect x="384.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="420" y="35">"PART"</text>
+</g>
+<path d="M455.5 31h10"></path>
+<path d="M465.5 31h10"></path>
+<g class="non-terminal">
+<path d="M475.5 31h0"></path>
+<path d="M546.5 31h0"></path>
+<rect x="475.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="511" y="35">Source</text>
+</a>
+</g>
+<path d="M546.5 31h10"></path>
+<path d="M556.5 31h10"></path>
+<g class="terminal">
+<path d="M566.5 31h0"></path>
+<path d="M637.5 31h0"></path>
+<rect x="566.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="602" y="35">"INTO"</text>
+</g>
+<path d="M637.5 31h10"></path>
+<path d="M647.5 31h10"></path>
+<g class="non-terminal">
+<path d="M657.5 31h0"></path>
+<path d="M728.5 31h0"></path>
+<rect x="657.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="693" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M728.5 31h10"></path>
+<path d="M 738.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Local.svg b/abap/statement_Local.svg
new file mode 100644
index 00000000..03a42567
--- /dev/null
+++ b/abap/statement_Local.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="527" height="71" viewBox="0 0 527 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M477 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M477 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M222.5 40h0"></path>
+<rect x="143" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="44">"LOCAL"</text>
+</g>
+<path d="M222.5 40h10"></path>
+<path d="M232.5 40h10"></path>
+<g class="non-terminal">
+<path d="M242.5 40h0"></path>
+<path d="M330.5 40h0"></path>
+<rect x="242.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="286.5" y="44">FieldSub</text>
+</a>
+</g>
+<path d="M330.5 40h10"></path>
+<g>
+<path d="M340.5 40h0"></path>
+<path d="M477 40h0"></path>
+<path d="M340.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M360.5 20h96.5"></path>
+</g>
+<path d="M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M340.5 40h20"></path>
+<g class="non-terminal">
+<path d="M360.5 40h0"></path>
+<path d="M457 40h0"></path>
+<rect x="360.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TableBody"><text x="408.75" y="44">TableBody</text>
+</a>
+</g>
+<path d="M457 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M477 40h10"></path>
+<path d="M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_LogPoint.svg b/abap/statement_LogPoint.svg
new file mode 100644
index 00000000..4d6bc39e
--- /dev/null
+++ b/abap/statement_LogPoint.svg
@@ -0,0 +1,151 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1001.5" height="80" viewBox="0 0 1001.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M951.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M951.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M282 40h0"></path>
+<rect x="143" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="44">"LOG-POINT ID"</text>
+</g>
+<path d="M282 40h10"></path>
+<path d="M292 40h10"></path>
+<g class="non-terminal">
+<path d="M302 40h0"></path>
+<path d="M483.5 40h0"></path>
+<rect x="302" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="392.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M483.5 40h10"></path>
+<g>
+<path d="M493.5 40h0"></path>
+<path d="M712.5 40h0"></path>
+<path d="M493.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M513.5 20h179"></path>
+</g>
+<path d="M692.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M493.5 40h20"></path>
+<g>
+<path d="M513.5 40h0"></path>
+<path d="M692.5 40h0"></path>
+<g class="terminal">
+<path d="M513.5 40h0"></path>
+<path d="M601.5 40h0"></path>
+<rect x="513.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="557.5" y="44">"SUBKEY"</text>
+</g>
+<path d="M601.5 40h10"></path>
+<path d="M611.5 40h10"></path>
+<g class="non-terminal">
+<path d="M621.5 40h0"></path>
+<path d="M692.5 40h0"></path>
+<rect x="621.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="657" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M692.5 40h20"></path>
+</g>
+<g>
+<path d="M712.5 40h0"></path>
+<path d="M951.5 40h0"></path>
+<path d="M712.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M732.5 20h199"></path>
+</g>
+<path d="M931.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M712.5 40h20"></path>
+<g>
+<path d="M732.5 40h0"></path>
+<path d="M931.5 40h0"></path>
+<g class="terminal">
+<path d="M732.5 40h0"></path>
+<path d="M820.5 40h0"></path>
+<rect x="732.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="776.5" y="44">"FIELDS"</text>
+</g>
+<path d="M820.5 40h10"></path>
+<path d="M830.5 40h10"></path>
+<g>
+<path d="M840.5 40h0"></path>
+<path d="M931.5 40h0"></path>
+<path d="M840.5 40h10"></path>
+<g class="non-terminal">
+<path d="M850.5 40h0"></path>
+<path d="M921.5 40h0"></path>
+<rect x="850.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="886" y="44">Source</text>
+</a>
+</g>
+<path d="M921.5 40h10"></path>
+<path d="M850.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M850.5 60h71"></path>
+</g>
+<path d="M921.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M931.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M951.5 40h10"></path>
+<path d="M 961.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Loop.svg b/abap/statement_Loop.svg
new file mode 100644
index 00000000..3c820fd3
--- /dev/null
+++ b/abap/statement_Loop.svg
@@ -0,0 +1,379 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1417.5" height="319" viewBox="0 0 1417.5 319">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1367.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M121 48h0"></path>
+<rect x="50" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="52">"LOOP"</text>
+</g>
+<path d="M121 48h10"></path>
+<g>
+<path d="M131 48h0"></path>
+<path d="M1367.5 48h0"></path>
+<path d="M131 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h1196.5"></path>
+</g>
+<path d="M1347.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M131 48h20"></path>
+<g>
+<path d="M151 48h0"></path>
+<path d="M1347.5 48h0"></path>
+<g class="terminal">
+<path d="M151 48h0"></path>
+<path d="M205 48h0"></path>
+<rect x="151" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="178" y="52">"AT"</text>
+</g>
+<path d="M205 48h10"></path>
+<g>
+<path d="M215 48h0"></path>
+<path d="M510.5 48h0"></path>
+<path d="M215 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M235 28h255.5"></path>
+</g>
+<path d="M490.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M215 48h20"></path>
+<g>
+<path d="M235 48h0"></path>
+<path d="M490.5 48h0"></path>
+<g class="terminal">
+<path d="M235 48h0"></path>
+<path d="M323 48h0"></path>
+<rect x="235" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="279" y="52">"SCREEN"</text>
+</g>
+<path d="M323 48h10"></path>
+<path d="M333 48h10"></path>
+<g class="terminal">
+<path d="M343 48h0"></path>
+<path d="M490.5 48h0"></path>
+<rect x="343" y="37" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="416.75" y="52">!FailCombinator</text>
+</g>
+</g>
+<path d="M490.5 48h20"></path>
+</g>
+<g>
+<path d="M510.5 48h0"></path>
+<path d="M716 48h0"></path>
+<path d="M510.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M530.5 28h165.5"></path>
+</g>
+<path d="M696 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M510.5 48h20"></path>
+<g>
+<path d="M530.5 48h0"></path>
+<path d="M696 48h0"></path>
+<g>
+<path d="M530.5 48h0"></path>
+<path d="M596.5 48h0"></path>
+<text x="563.5" y="53" class="comment">v740sp08</text>
+</g>
+<path d="M596.5 48h10"></path>
+<path d="M606.5 48h10"></path>
+<g class="terminal">
+<path d="M616.5 48h0"></path>
+<path d="M696 48h0"></path>
+<rect x="616.5" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="656.25" y="52">"GROUP"</text>
+</g>
+</g>
+<path d="M696 48h20"></path>
+</g>
+<g>
+<path d="M716 48h0"></path>
+<path d="M913 48h0"></path>
+<path d="M716 48h20"></path>
+<g class="non-terminal">
+<path d="M736 48h0"></path>
+<path d="M866.5 48h26.5"></path>
+<rect x="736" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource2"><text x="801.25" y="52">SimpleSource2</text>
+</a>
+</g>
+<path d="M893 48h20"></path>
+<path d="M716 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M736 78h0"></path>
+<path d="M893 78h0"></path>
+<g>
+<path d="M736 78h0"></path>
+<path d="M802 78h0"></path>
+<text x="769" y="83" class="comment">v740sp02</text>
+</g>
+<path d="M802 78h10"></path>
+<path d="M812 78h10"></path>
+<g class="non-terminal">
+<path d="M822 78h0"></path>
+<path d="M893 78h0"></path>
+<rect x="822" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="857.5" y="82">Source</text>
+</a>
+</g>
+</g>
+<path d="M893 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M913 48h0"></path>
+<path d="M1347.5 48h0"></path>
+<path d="M913 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M933 28h394.5"></path>
+</g>
+<path d="M1327.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M913 48h20"></path>
+<g>
+<path d="M933 48h0"></path>
+<path d="M1327.5 48h0"></path>
+<path d="M963 48h10"></path>
+<g class="non-terminal">
+<path d="M973 48h0"></path>
+<path d="M1078 48h219.5"></path>
+<rect x="973" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/LoopTarget"><text x="1025.5" y="52">LoopTarget</text>
+</a>
+</g>
+<path d="M1297.5 48h10"></path>
+<path d="M963 48v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 78h0"></path>
+<path d="M1135 78h162.5"></path>
+<g class="terminal">
+<path d="M973 78h0"></path>
+<path d="M1044 78h0"></path>
+<rect x="973" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1008.5" y="82">"FROM"</text>
+</g>
+<path d="M1044 78h10"></path>
+<path d="M1054 78h10"></path>
+<g class="non-terminal">
+<path d="M1064 78h0"></path>
+<path d="M1135 78h0"></path>
+<rect x="1064" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1099.5" y="82">Source</text>
+</a>
+</g>
+</g>
+<path d="M1297.5 78a10 10 0 0 0 10 -10v-20"></path>
+<path d="M963 48v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 108h0"></path>
+<path d="M1118 108h179.5"></path>
+<g class="terminal">
+<path d="M973 108h0"></path>
+<path d="M1027 108h0"></path>
+<rect x="973" y="97" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1000" y="112">"TO"</text>
+</g>
+<path d="M1027 108h10"></path>
+<path d="M1037 108h10"></path>
+<g class="non-terminal">
+<path d="M1047 108h0"></path>
+<path d="M1118 108h0"></path>
+<rect x="1047" y="97" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1082.5" y="112">Source</text>
+</a>
+</g>
+</g>
+<path d="M1297.5 108a10 10 0 0 0 10 -10v-50"></path>
+<path d="M963 48v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 138h0"></path>
+<path d="M1233 138h64.5"></path>
+<g class="terminal">
+<path d="M973 138h0"></path>
+<path d="M1052.5 138h0"></path>
+<rect x="973" y="127" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1012.75" y="142">"WHERE"</text>
+</g>
+<path d="M1052.5 138h10"></path>
+<g>
+<path d="M1062.5 138h0"></path>
+<path d="M1233 138h0"></path>
+<path d="M1062.5 138h20"></path>
+<g class="non-terminal">
+<path d="M1082.5 138h0"></path>
+<path d="M1213 138h0"></path>
+<rect x="1082.5" y="127" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="1147.75" y="142">ComponentCond</text>
+</a>
+</g>
+<path d="M1213 138h20"></path>
+<path d="M1062.5 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1082.5 168h0"></path>
+<path d="M1162 168h51"></path>
+<rect x="1082.5" y="157" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1122.25" y="172">Dynamic</text>
+</a>
+</g>
+<path d="M1213 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1297.5 138a10 10 0 0 0 10 -10v-80"></path>
+<path d="M963 48v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 198h0"></path>
+<path d="M1241.5 198h56"></path>
+<g class="terminal">
+<path d="M973 198h0"></path>
+<path d="M1086.5 198h0"></path>
+<rect x="973" y="187" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1029.75" y="202">"USING KEY"</text>
+</g>
+<path d="M1086.5 198h10"></path>
+<g>
+<path d="M1096.5 198h0"></path>
+<path d="M1241.5 198h0"></path>
+<path d="M1096.5 198h20"></path>
+<g class="non-terminal">
+<path d="M1116.5 198h0"></path>
+<path d="M1221.5 198h0"></path>
+<rect x="1116.5" y="187" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1169" y="202">SimpleName</text>
+</a>
+</g>
+<path d="M1221.5 198h20"></path>
+<path d="M1096.5 198a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1116.5 228h0"></path>
+<path d="M1196 228h25.5"></path>
+<rect x="1116.5" y="217" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1156.25" y="232">Dynamic</text>
+</a>
+</g>
+<path d="M1221.5 228a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1297.5 198a10 10 0 0 0 10 -10v-140"></path>
+<path d="M963 48v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 258h0"></path>
+<path d="M1297.5 258h0"></path>
+<g>
+<path d="M973 258h0"></path>
+<path d="M1039 258h0"></path>
+<text x="1006" y="263" class="comment">v740sp08</text>
+</g>
+<path d="M1039 258h10"></path>
+<path d="M1049 258h10"></path>
+<g>
+<path d="M1059 258h0"></path>
+<path d="M1297.5 258h0"></path>
+<g class="terminal">
+<path d="M1059 258h0"></path>
+<path d="M1164 258h0"></path>
+<rect x="1059" y="247" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1111.5" y="262">"GROUP BY"</text>
+</g>
+<path d="M1164 258h10"></path>
+<path d="M1174 258h10"></path>
+<g class="non-terminal">
+<path d="M1184 258h0"></path>
+<path d="M1297.5 258h0"></path>
+<rect x="1184" y="247" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/LoopGroupBy"><text x="1240.75" y="262">LoopGroupBy</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1297.5 258a10 10 0 0 0 10 -10v-200"></path>
+<path d="M963 48v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M973 288h0"></path>
+<path d="M1193 288h104.5"></path>
+<g>
+<path d="M973 288h0"></path>
+<path d="M1011 288h0"></path>
+<text x="992" y="293" class="comment">v757</text>
+</g>
+<path d="M1011 288h10"></path>
+<path d="M1021 288h10"></path>
+<g>
+<path d="M1031 288h0"></path>
+<path d="M1193 288h0"></path>
+<g class="terminal">
+<path d="M1031 288h0"></path>
+<path d="M1102 288h0"></path>
+<rect x="1031" y="277" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1066.5" y="292">"STEP"</text>
+</g>
+<path d="M1102 288h10"></path>
+<path d="M1112 288h10"></path>
+<g class="non-terminal">
+<path d="M1122 288h0"></path>
+<path d="M1193 288h0"></path>
+<rect x="1122" y="277" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1157.5" y="292">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1297.5 288a10 10 0 0 0 10 -10v-230"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 963 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="948" y="52" class="diagram-text">1+</text>
+<path d="M 1307.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1314.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1327.5 48h20"></path>
+</g>
+</g>
+<path d="M1347.5 48h20"></path>
+</g>
+</g>
+<path d="M1367.5 48h10"></path>
+<path d="M 1377.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_LoopAtScreen.svg b/abap/statement_LoopAtScreen.svg
new file mode 100644
index 00000000..591be748
--- /dev/null
+++ b/abap/statement_LoopAtScreen.svg
@@ -0,0 +1,101 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="561" height="71" viewBox="0 0 561 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M511 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M511 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M299 40h0"></path>
+<rect x="143" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="44">"LOOP AT SCREEN"</text>
+</g>
+<path d="M299 40h10"></path>
+<g>
+<path d="M309 40h0"></path>
+<path d="M511 40h0"></path>
+<path d="M309 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M329 20h162"></path>
+</g>
+<path d="M491 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M309 40h20"></path>
+<g>
+<path d="M329 40h0"></path>
+<path d="M491 40h0"></path>
+<g class="terminal">
+<path d="M329 40h0"></path>
+<path d="M400 40h0"></path>
+<rect x="329" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="364.5" y="44">"INTO"</text>
+</g>
+<path d="M400 40h10"></path>
+<path d="M410 40h10"></path>
+<g class="non-terminal">
+<path d="M420 40h0"></path>
+<path d="M491 40h0"></path>
+<rect x="420" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="455.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M491 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M511 40h10"></path>
+<path d="M 521 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Message.svg b/abap/statement_Message.svg
new file mode 100644
index 00000000..0d4bf8ec
--- /dev/null
+++ b/abap/statement_Message.svg
@@ -0,0 +1,1316 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2153" height="812" viewBox="0 0 2153 812">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M2103 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M146.5 48h0"></path>
+<rect x="50" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="52">"MESSAGE"</text>
+</g>
+<path d="M146.5 48h10"></path>
+<g>
+<path d="M156.5 48h0"></path>
+<path d="M2103 48h0"></path>
+<path d="M156.5 48h20"></path>
+<g>
+<path d="M176.5 48h0"></path>
+<path d="M2083 48h0"></path>
+<g>
+<path d="M176.5 48h0"></path>
+<path d="M249.5 48h0"></path>
+<text x="213" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M249.5 48h10"></path>
+<path d="M259.5 48h10"></path>
+<g>
+<path d="M269.5 48h0"></path>
+<path d="M2083 48h0"></path>
+<g class="non-terminal">
+<path d="M269.5 48h0"></path>
+<path d="M400 48h0"></path>
+<rect x="269.5" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageSource"><text x="334.75" y="52">MessageSource</text>
+</a>
+</g>
+<path d="M400 48h10"></path>
+<g>
+<path d="M410 48h0"></path>
+<path d="M767 48h0"></path>
+<path d="M410 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M430 28h317"></path>
+</g>
+<path d="M747 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M410 48h20"></path>
+<g>
+<path d="M430 48h0"></path>
+<path d="M747 48h0"></path>
+<path d="M460 48h10"></path>
+<g>
+<path d="M470 48h0"></path>
+<path d="M700 48h17"></path>
+<g class="terminal">
+<path d="M470 48h0"></path>
+<path d="M609 48h0"></path>
+<rect x="470" y="37" width="139" height="22" rx="10" ry="10"></rect>
+<text x="539.5" y="52">"DISPLAY LIKE"</text>
+</g>
+<path d="M609 48h10"></path>
+<path d="M619 48h10"></path>
+<g class="non-terminal">
+<path d="M629 48h0"></path>
+<path d="M700 48h0"></path>
+<rect x="629" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="664.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M717 48h10"></path>
+<path d="M460 48v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M470 78h0"></path>
+<path d="M632 78h85"></path>
+<g class="terminal">
+<path d="M470 78h0"></path>
+<path d="M541 78h0"></path>
+<rect x="470" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="505.5" y="82">"INTO"</text>
+</g>
+<path d="M541 78h10"></path>
+<path d="M551 78h10"></path>
+<g class="non-terminal">
+<path d="M561 78h0"></path>
+<path d="M632 78h0"></path>
+<rect x="561" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="596.5" y="82">Target</text>
+</a>
+</g>
+</g>
+<path d="M717 78a10 10 0 0 0 10 -10v-20"></path>
+<path d="M460 48v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M470 108h0"></path>
+<path d="M717 108h0"></path>
+<g class="terminal">
+<path d="M470 108h0"></path>
+<path d="M566.5 108h0"></path>
+<rect x="470" y="97" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="518.25" y="112">"RAISING"</text>
+</g>
+<path d="M566.5 108h10"></path>
+<path d="M576.5 108h10"></path>
+<g class="non-terminal">
+<path d="M586.5 108h0"></path>
+<path d="M717 108h0"></path>
+<rect x="586.5" y="97" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="651.75" y="112">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M717 108a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 460 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="445" y="52" class="diagram-text">1+</text>
+<path d="M 727 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 734 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M747 48h20"></path>
+</g>
+<g>
+<path d="M767 48h0"></path>
+<path d="M2083 48h0"></path>
+<path d="M767 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M787 20h1276"></path>
+</g>
+<path d="M2063 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M767 48h20"></path>
+<g>
+<path d="M787 48h0"></path>
+<path d="M2063 48h0"></path>
+<g class="terminal">
+<path d="M787 48h0"></path>
+<path d="M858 48h0"></path>
+<rect x="787" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="822.5" y="52">"WITH"</text>
+</g>
+<path d="M858 48h10"></path>
+<g>
+<path d="M868 48h0"></path>
+<path d="M1065 48h0"></path>
+<path d="M868 48h20"></path>
+<g>
+<path d="M888 48h0"></path>
+<path d="M1045 48h0"></path>
+<g>
+<path d="M888 48h0"></path>
+<path d="M954 48h0"></path>
+<text x="921" y="53" class="comment">v740sp02</text>
+</g>
+<path d="M954 48h10"></path>
+<path d="M964 48h10"></path>
+<g class="non-terminal">
+<path d="M974 48h0"></path>
+<path d="M1045 48h0"></path>
+<rect x="974" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1009.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1045 48h20"></path>
+<path d="M868 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M888 78h0"></path>
+<path d="M1018.5 78h26.5"></path>
+<rect x="888" y="67" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="953.25" y="82">SimpleSource3</text>
+</a>
+</g>
+<path d="M1045 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1065 48h0"></path>
+<path d="M2063 48h0"></path>
+<path d="M1065 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1085 28h958"></path>
+</g>
+<path d="M2043 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1065 48h20"></path>
+<g>
+<path d="M1085 48h0"></path>
+<path d="M2043 48h0"></path>
+<path d="M1085 48h20"></path>
+<g>
+<path d="M1105 48h0"></path>
+<path d="M1462 48h561"></path>
+<path d="M1105 48h20"></path>
+<g>
+<path d="M1125 48h0"></path>
+<path d="M1442 48h0"></path>
+<path d="M1155 48h10"></path>
+<g>
+<path d="M1165 48h0"></path>
+<path d="M1395 48h17"></path>
+<g class="terminal">
+<path d="M1165 48h0"></path>
+<path d="M1304 48h0"></path>
+<rect x="1165" y="37" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1234.5" y="52">"DISPLAY LIKE"</text>
+</g>
+<path d="M1304 48h10"></path>
+<path d="M1314 48h10"></path>
+<g class="non-terminal">
+<path d="M1324 48h0"></path>
+<path d="M1395 48h0"></path>
+<rect x="1324" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1359.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1412 48h10"></path>
+<path d="M1155 48v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1165 78h0"></path>
+<path d="M1327 78h85"></path>
+<g class="terminal">
+<path d="M1165 78h0"></path>
+<path d="M1236 78h0"></path>
+<rect x="1165" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1200.5" y="82">"INTO"</text>
+</g>
+<path d="M1236 78h10"></path>
+<path d="M1246 78h10"></path>
+<g class="non-terminal">
+<path d="M1256 78h0"></path>
+<path d="M1327 78h0"></path>
+<rect x="1256" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1291.5" y="82">Target</text>
+</a>
+</g>
+</g>
+<path d="M1412 78a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1155 48v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1165 108h0"></path>
+<path d="M1412 108h0"></path>
+<g class="terminal">
+<path d="M1165 108h0"></path>
+<path d="M1261.5 108h0"></path>
+<rect x="1165" y="97" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1213.25" y="112">"RAISING"</text>
+</g>
+<path d="M1261.5 108h10"></path>
+<path d="M1271.5 108h10"></path>
+<g class="non-terminal">
+<path d="M1281.5 108h0"></path>
+<path d="M1412 108h0"></path>
+<rect x="1281.5" y="97" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1346.75" y="112">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1412 108a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1155 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1140" y="52" class="diagram-text">1+</text>
+<path d="M 1422 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1429 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1442 48h20"></path>
+<path d="M1105 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1125 138h0"></path>
+<path d="M1322 138h120"></path>
+<path d="M1125 138h20"></path>
+<g>
+<path d="M1145 138h0"></path>
+<path d="M1302 138h0"></path>
+<g>
+<path d="M1145 138h0"></path>
+<path d="M1211 138h0"></path>
+<text x="1178" y="143" class="comment">v740sp02</text>
+</g>
+<path d="M1211 138h10"></path>
+<path d="M1221 138h10"></path>
+<g class="non-terminal">
+<path d="M1231 138h0"></path>
+<path d="M1302 138h0"></path>
+<rect x="1231" y="127" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1266.5" y="142">Source</text>
+</a>
+</g>
+</g>
+<path d="M1302 138h20"></path>
+<path d="M1125 138a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1145 168h0"></path>
+<path d="M1275.5 168h26.5"></path>
+<rect x="1145" y="157" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1210.25" y="172">SimpleSource3</text>
+</a>
+</g>
+<path d="M1302 168a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1442 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2023 48h20"></path>
+<path d="M1085 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1105 198h0"></path>
+<path d="M1659 198h364"></path>
+<g>
+<path d="M1105 198h0"></path>
+<path d="M1302 198h0"></path>
+<path d="M1105 198h20"></path>
+<g>
+<path d="M1125 198h0"></path>
+<path d="M1282 198h0"></path>
+<g>
+<path d="M1125 198h0"></path>
+<path d="M1191 198h0"></path>
+<text x="1158" y="203" class="comment">v740sp02</text>
+</g>
+<path d="M1191 198h10"></path>
+<path d="M1201 198h10"></path>
+<g class="non-terminal">
+<path d="M1211 198h0"></path>
+<path d="M1282 198h0"></path>
+<rect x="1211" y="187" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1246.5" y="202">Source</text>
+</a>
+</g>
+</g>
+<path d="M1282 198h20"></path>
+<path d="M1105 198a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1125 228h0"></path>
+<path d="M1255.5 228h26.5"></path>
+<rect x="1125" y="217" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1190.25" y="232">SimpleSource3</text>
+</a>
+</g>
+<path d="M1282 228a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1302 198h0"></path>
+<path d="M1659 198h0"></path>
+<path d="M1302 198h20"></path>
+<g>
+<path d="M1322 198h0"></path>
+<path d="M1639 198h0"></path>
+<path d="M1352 198h10"></path>
+<g>
+<path d="M1362 198h0"></path>
+<path d="M1592 198h17"></path>
+<g class="terminal">
+<path d="M1362 198h0"></path>
+<path d="M1501 198h0"></path>
+<rect x="1362" y="187" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1431.5" y="202">"DISPLAY LIKE"</text>
+</g>
+<path d="M1501 198h10"></path>
+<path d="M1511 198h10"></path>
+<g class="non-terminal">
+<path d="M1521 198h0"></path>
+<path d="M1592 198h0"></path>
+<rect x="1521" y="187" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1556.5" y="202">Source</text>
+</a>
+</g>
+</g>
+<path d="M1609 198h10"></path>
+<path d="M1352 198v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1362 228h0"></path>
+<path d="M1524 228h85"></path>
+<g class="terminal">
+<path d="M1362 228h0"></path>
+<path d="M1433 228h0"></path>
+<rect x="1362" y="217" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1397.5" y="232">"INTO"</text>
+</g>
+<path d="M1433 228h10"></path>
+<path d="M1443 228h10"></path>
+<g class="non-terminal">
+<path d="M1453 228h0"></path>
+<path d="M1524 228h0"></path>
+<rect x="1453" y="217" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1488.5" y="232">Target</text>
+</a>
+</g>
+</g>
+<path d="M1609 228a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1352 198v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1362 258h0"></path>
+<path d="M1609 258h0"></path>
+<g class="terminal">
+<path d="M1362 258h0"></path>
+<path d="M1458.5 258h0"></path>
+<rect x="1362" y="247" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1410.25" y="262">"RAISING"</text>
+</g>
+<path d="M1458.5 258h10"></path>
+<path d="M1468.5 258h10"></path>
+<g class="non-terminal">
+<path d="M1478.5 258h0"></path>
+<path d="M1609 258h0"></path>
+<rect x="1478.5" y="247" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1543.75" y="262">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1609 258a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1352 188 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1337" y="202" class="diagram-text">1+</text>
+<path d="M 1619 188 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1626 196 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1639 198h20"></path>
+<path d="M1302 198a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1322 288h0"></path>
+<path d="M1519 288h120"></path>
+<path d="M1322 288h20"></path>
+<g>
+<path d="M1342 288h0"></path>
+<path d="M1499 288h0"></path>
+<g>
+<path d="M1342 288h0"></path>
+<path d="M1408 288h0"></path>
+<text x="1375" y="293" class="comment">v740sp02</text>
+</g>
+<path d="M1408 288h10"></path>
+<path d="M1418 288h10"></path>
+<g class="non-terminal">
+<path d="M1428 288h0"></path>
+<path d="M1499 288h0"></path>
+<rect x="1428" y="277" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1463.5" y="292">Source</text>
+</a>
+</g>
+</g>
+<path d="M1499 288h20"></path>
+<path d="M1322 288a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1342 318h0"></path>
+<path d="M1472.5 318h26.5"></path>
+<rect x="1342" y="307" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1407.25" y="322">SimpleSource3</text>
+</a>
+</g>
+<path d="M1499 318a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1639 288a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2023 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M1085 48a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1105 348h0"></path>
+<path d="M1856 348h167"></path>
+<g>
+<path d="M1105 348h0"></path>
+<path d="M1302 348h0"></path>
+<path d="M1105 348h20"></path>
+<g>
+<path d="M1125 348h0"></path>
+<path d="M1282 348h0"></path>
+<g>
+<path d="M1125 348h0"></path>
+<path d="M1191 348h0"></path>
+<text x="1158" y="353" class="comment">v740sp02</text>
+</g>
+<path d="M1191 348h10"></path>
+<path d="M1201 348h10"></path>
+<g class="non-terminal">
+<path d="M1211 348h0"></path>
+<path d="M1282 348h0"></path>
+<rect x="1211" y="337" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1246.5" y="352">Source</text>
+</a>
+</g>
+</g>
+<path d="M1282 348h20"></path>
+<path d="M1105 348a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1125 378h0"></path>
+<path d="M1255.5 378h26.5"></path>
+<rect x="1125" y="367" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1190.25" y="382">SimpleSource3</text>
+</a>
+</g>
+<path d="M1282 378a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1302 348h0"></path>
+<path d="M1499 348h0"></path>
+<path d="M1302 348h20"></path>
+<g>
+<path d="M1322 348h0"></path>
+<path d="M1479 348h0"></path>
+<g>
+<path d="M1322 348h0"></path>
+<path d="M1388 348h0"></path>
+<text x="1355" y="353" class="comment">v740sp02</text>
+</g>
+<path d="M1388 348h10"></path>
+<path d="M1398 348h10"></path>
+<g class="non-terminal">
+<path d="M1408 348h0"></path>
+<path d="M1479 348h0"></path>
+<rect x="1408" y="337" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1443.5" y="352">Source</text>
+</a>
+</g>
+</g>
+<path d="M1479 348h20"></path>
+<path d="M1302 348a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1322 378h0"></path>
+<path d="M1452.5 378h26.5"></path>
+<rect x="1322" y="367" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1387.25" y="382">SimpleSource3</text>
+</a>
+</g>
+<path d="M1479 378a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1499 348h0"></path>
+<path d="M1856 348h0"></path>
+<path d="M1499 348h20"></path>
+<g>
+<path d="M1519 348h0"></path>
+<path d="M1836 348h0"></path>
+<path d="M1549 348h10"></path>
+<g>
+<path d="M1559 348h0"></path>
+<path d="M1789 348h17"></path>
+<g class="terminal">
+<path d="M1559 348h0"></path>
+<path d="M1698 348h0"></path>
+<rect x="1559" y="337" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1628.5" y="352">"DISPLAY LIKE"</text>
+</g>
+<path d="M1698 348h10"></path>
+<path d="M1708 348h10"></path>
+<g class="non-terminal">
+<path d="M1718 348h0"></path>
+<path d="M1789 348h0"></path>
+<rect x="1718" y="337" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1753.5" y="352">Source</text>
+</a>
+</g>
+</g>
+<path d="M1806 348h10"></path>
+<path d="M1549 348v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1559 378h0"></path>
+<path d="M1721 378h85"></path>
+<g class="terminal">
+<path d="M1559 378h0"></path>
+<path d="M1630 378h0"></path>
+<rect x="1559" y="367" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1594.5" y="382">"INTO"</text>
+</g>
+<path d="M1630 378h10"></path>
+<path d="M1640 378h10"></path>
+<g class="non-terminal">
+<path d="M1650 378h0"></path>
+<path d="M1721 378h0"></path>
+<rect x="1650" y="367" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1685.5" y="382">Target</text>
+</a>
+</g>
+</g>
+<path d="M1806 378a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1549 348v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1559 408h0"></path>
+<path d="M1806 408h0"></path>
+<g class="terminal">
+<path d="M1559 408h0"></path>
+<path d="M1655.5 408h0"></path>
+<rect x="1559" y="397" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1607.25" y="412">"RAISING"</text>
+</g>
+<path d="M1655.5 408h10"></path>
+<path d="M1665.5 408h10"></path>
+<g class="non-terminal">
+<path d="M1675.5 408h0"></path>
+<path d="M1806 408h0"></path>
+<rect x="1675.5" y="397" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1740.75" y="412">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1806 408a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1549 338 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1534" y="352" class="diagram-text">1+</text>
+<path d="M 1816 338 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1823 346 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1836 348h20"></path>
+<path d="M1499 348a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1519 438h0"></path>
+<path d="M1716 438h120"></path>
+<path d="M1519 438h20"></path>
+<g>
+<path d="M1539 438h0"></path>
+<path d="M1696 438h0"></path>
+<g>
+<path d="M1539 438h0"></path>
+<path d="M1605 438h0"></path>
+<text x="1572" y="443" class="comment">v740sp02</text>
+</g>
+<path d="M1605 438h10"></path>
+<path d="M1615 438h10"></path>
+<g class="non-terminal">
+<path d="M1625 438h0"></path>
+<path d="M1696 438h0"></path>
+<rect x="1625" y="427" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1660.5" y="442">Source</text>
+</a>
+</g>
+</g>
+<path d="M1696 438h20"></path>
+<path d="M1519 438a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1539 468h0"></path>
+<path d="M1669.5 468h26.5"></path>
+<rect x="1539" y="457" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1604.25" y="472">SimpleSource3</text>
+</a>
+</g>
+<path d="M1696 468a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1836 438a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2023 348a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M1085 48a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1105 498h0"></path>
+<path d="M2023 498h0"></path>
+<g>
+<path d="M1105 498h0"></path>
+<path d="M1302 498h0"></path>
+<path d="M1105 498h20"></path>
+<g>
+<path d="M1125 498h0"></path>
+<path d="M1282 498h0"></path>
+<g>
+<path d="M1125 498h0"></path>
+<path d="M1191 498h0"></path>
+<text x="1158" y="503" class="comment">v740sp02</text>
+</g>
+<path d="M1191 498h10"></path>
+<path d="M1201 498h10"></path>
+<g class="non-terminal">
+<path d="M1211 498h0"></path>
+<path d="M1282 498h0"></path>
+<rect x="1211" y="487" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1246.5" y="502">Source</text>
+</a>
+</g>
+</g>
+<path d="M1282 498h20"></path>
+<path d="M1105 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1125 528h0"></path>
+<path d="M1255.5 528h26.5"></path>
+<rect x="1125" y="517" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1190.25" y="532">SimpleSource3</text>
+</a>
+</g>
+<path d="M1282 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1302 498h0"></path>
+<path d="M1499 498h0"></path>
+<path d="M1302 498h20"></path>
+<g>
+<path d="M1322 498h0"></path>
+<path d="M1479 498h0"></path>
+<g>
+<path d="M1322 498h0"></path>
+<path d="M1388 498h0"></path>
+<text x="1355" y="503" class="comment">v740sp02</text>
+</g>
+<path d="M1388 498h10"></path>
+<path d="M1398 498h10"></path>
+<g class="non-terminal">
+<path d="M1408 498h0"></path>
+<path d="M1479 498h0"></path>
+<rect x="1408" y="487" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1443.5" y="502">Source</text>
+</a>
+</g>
+</g>
+<path d="M1479 498h20"></path>
+<path d="M1302 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1322 528h0"></path>
+<path d="M1452.5 528h26.5"></path>
+<rect x="1322" y="517" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1387.25" y="532">SimpleSource3</text>
+</a>
+</g>
+<path d="M1479 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1499 498h0"></path>
+<path d="M1696 498h0"></path>
+<path d="M1499 498h20"></path>
+<g>
+<path d="M1519 498h0"></path>
+<path d="M1676 498h0"></path>
+<g>
+<path d="M1519 498h0"></path>
+<path d="M1585 498h0"></path>
+<text x="1552" y="503" class="comment">v740sp02</text>
+</g>
+<path d="M1585 498h10"></path>
+<path d="M1595 498h10"></path>
+<g class="non-terminal">
+<path d="M1605 498h0"></path>
+<path d="M1676 498h0"></path>
+<rect x="1605" y="487" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1640.5" y="502">Source</text>
+</a>
+</g>
+</g>
+<path d="M1676 498h20"></path>
+<path d="M1499 498a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1519 528h0"></path>
+<path d="M1649.5 528h26.5"></path>
+<rect x="1519" y="517" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1584.25" y="532">SimpleSource3</text>
+</a>
+</g>
+<path d="M1676 528a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1696 498h10"></path>
+<g>
+<path d="M1706 498h0"></path>
+<path d="M2023 498h0"></path>
+<path d="M1736 498h10"></path>
+<g>
+<path d="M1746 498h0"></path>
+<path d="M1976 498h17"></path>
+<g class="terminal">
+<path d="M1746 498h0"></path>
+<path d="M1885 498h0"></path>
+<rect x="1746" y="487" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1815.5" y="502">"DISPLAY LIKE"</text>
+</g>
+<path d="M1885 498h10"></path>
+<path d="M1895 498h10"></path>
+<g class="non-terminal">
+<path d="M1905 498h0"></path>
+<path d="M1976 498h0"></path>
+<rect x="1905" y="487" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1940.5" y="502">Source</text>
+</a>
+</g>
+</g>
+<path d="M1993 498h10"></path>
+<path d="M1736 498v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1746 528h0"></path>
+<path d="M1908 528h85"></path>
+<g class="terminal">
+<path d="M1746 528h0"></path>
+<path d="M1817 528h0"></path>
+<rect x="1746" y="517" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1781.5" y="532">"INTO"</text>
+</g>
+<path d="M1817 528h10"></path>
+<path d="M1827 528h10"></path>
+<g class="non-terminal">
+<path d="M1837 528h0"></path>
+<path d="M1908 528h0"></path>
+<rect x="1837" y="517" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1872.5" y="532">Target</text>
+</a>
+</g>
+</g>
+<path d="M1993 528a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1736 498v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1746 558h0"></path>
+<path d="M1993 558h0"></path>
+<g class="terminal">
+<path d="M1746 558h0"></path>
+<path d="M1842.5 558h0"></path>
+<rect x="1746" y="547" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1794.25" y="562">"RAISING"</text>
+</g>
+<path d="M1842.5 558h10"></path>
+<path d="M1852.5 558h10"></path>
+<g class="non-terminal">
+<path d="M1862.5 558h0"></path>
+<path d="M1993 558h0"></path>
+<rect x="1862.5" y="547" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1927.75" y="562">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1993 558a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1736 488 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1721" y="502" class="diagram-text">1+</text>
+<path d="M 2003 488 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 2010 496 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M2023 498a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2043 48h20"></path>
+</g>
+</g>
+<path d="M2063 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M2083 48h20"></path>
+<path d="M156.5 48a10 10 0 0 1 10 10v529a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 597h0"></path>
+<path d="M1205.5 597h877.5"></path>
+<g>
+<path d="M176.5 597h0"></path>
+<path d="M249.5 597h0"></path>
+<text x="213" y="602" class="comment">not Cloud</text>
+</g>
+<path d="M249.5 597h10"></path>
+<path d="M259.5 597h10"></path>
+<g>
+<path d="M269.5 597h0"></path>
+<path d="M1205.5 597h0"></path>
+<g>
+<path d="M269.5 597h0"></path>
+<path d="M466.5 597h0"></path>
+<path d="M269.5 597h20"></path>
+<g>
+<path d="M289.5 597h0"></path>
+<path d="M446.5 597h0"></path>
+<g>
+<path d="M289.5 597h0"></path>
+<path d="M355.5 597h0"></path>
+<text x="322.5" y="602" class="comment">v740sp02</text>
+</g>
+<path d="M355.5 597h10"></path>
+<path d="M365.5 597h10"></path>
+<g class="non-terminal">
+<path d="M375.5 597h0"></path>
+<path d="M446.5 597h0"></path>
+<rect x="375.5" y="586" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="411" y="601">Source</text>
+</a>
+</g>
+</g>
+<path d="M446.5 597h20"></path>
+<path d="M269.5 597a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M289.5 627h0"></path>
+<path d="M420 627h26.5"></path>
+<rect x="289.5" y="616" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="354.75" y="631">SimpleSource3</text>
+</a>
+</g>
+<path d="M446.5 627a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M466.5 597h10"></path>
+<g>
+<path d="M476.5 597h0"></path>
+<path d="M638.5 597h0"></path>
+<g class="terminal">
+<path d="M476.5 597h0"></path>
+<path d="M547.5 597h0"></path>
+<rect x="476.5" y="586" width="71" height="22" rx="10" ry="10"></rect>
+<text x="512" y="601">"TYPE"</text>
+</g>
+<path d="M547.5 597h10"></path>
+<path d="M557.5 597h10"></path>
+<g class="non-terminal">
+<path d="M567.5 597h0"></path>
+<path d="M638.5 597h0"></path>
+<rect x="567.5" y="586" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="603" y="601">Source</text>
+</a>
+</g>
+</g>
+<path d="M638.5 597h10"></path>
+<g>
+<path d="M648.5 597h0"></path>
+<path d="M918.5 597h0"></path>
+<path d="M648.5 597a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M668.5 577h230"></path>
+</g>
+<path d="M898.5 577a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M648.5 597h20"></path>
+<g>
+<path d="M668.5 597h0"></path>
+<path d="M898.5 597h0"></path>
+<g class="terminal">
+<path d="M668.5 597h0"></path>
+<path d="M807.5 597h0"></path>
+<rect x="668.5" y="586" width="139" height="22" rx="10" ry="10"></rect>
+<text x="738" y="601">"DISPLAY LIKE"</text>
+</g>
+<path d="M807.5 597h10"></path>
+<path d="M817.5 597h10"></path>
+<g class="non-terminal">
+<path d="M827.5 597h0"></path>
+<path d="M898.5 597h0"></path>
+<rect x="827.5" y="586" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="863" y="601">Source</text>
+</a>
+</g>
+</g>
+<path d="M898.5 597h20"></path>
+</g>
+<g>
+<path d="M918.5 597h0"></path>
+<path d="M1205.5 597h0"></path>
+<path d="M918.5 597a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M938.5 577h247"></path>
+</g>
+<path d="M1185.5 577a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M918.5 597h20"></path>
+<g>
+<path d="M938.5 597h0"></path>
+<path d="M1185.5 597h0"></path>
+<g class="terminal">
+<path d="M938.5 597h0"></path>
+<path d="M1035 597h0"></path>
+<rect x="938.5" y="586" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="986.75" y="601">"RAISING"</text>
+</g>
+<path d="M1035 597h10"></path>
+<path d="M1045 597h10"></path>
+<g class="non-terminal">
+<path d="M1055 597h0"></path>
+<path d="M1185.5 597h0"></path>
+<rect x="1055" y="586" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1120.25" y="601">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1185.5 597h20"></path>
+</g>
+</g>
+</g>
+<path d="M2083 597a10 10 0 0 0 10 -10v-529a10 10 0 0 1 10 -10"></path>
+<path d="M156.5 48a10 10 0 0 1 10 10v606a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 674h0"></path>
+<path d="M1254 674h829"></path>
+<g>
+<path d="M176.5 674h0"></path>
+<path d="M221.5 674h0"></path>
+<text x="199" y="679" class="comment">Cloud</text>
+</g>
+<path d="M221.5 674h10"></path>
+<path d="M231.5 674h10"></path>
+<g>
+<path d="M241.5 674h0"></path>
+<path d="M1254 674h0"></path>
+<g class="non-terminal">
+<path d="M241.5 674h0"></path>
+<path d="M372 674h0"></path>
+<rect x="241.5" y="663" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageSource"><text x="306.75" y="678">MessageSource</text>
+</a>
+</g>
+<path d="M372 674h10"></path>
+<g>
+<path d="M382 674h0"></path>
+<path d="M1254 674h0"></path>
+<path d="M382 674h20"></path>
+<g>
+<path d="M402 674h0"></path>
+<path d="M1234 674h0"></path>
+<g>
+<path d="M402 674h0"></path>
+<path d="M947 674h0"></path>
+<path d="M402 674a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M422 646h505"></path>
+</g>
+<path d="M927 646a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M402 674h20"></path>
+<g>
+<path d="M422 674h0"></path>
+<path d="M927 674h0"></path>
+<g class="terminal">
+<path d="M422 674h0"></path>
+<path d="M493 674h0"></path>
+<rect x="422" y="663" width="71" height="22" rx="10" ry="10"></rect>
+<text x="457.5" y="678">"WITH"</text>
+</g>
+<path d="M493 674h10"></path>
+<path d="M503 674h10"></path>
+<g class="non-terminal">
+<path d="M513 674h0"></path>
+<path d="M584 674h0"></path>
+<rect x="513" y="663" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="548.5" y="678">Source</text>
+</a>
+</g>
+<path d="M584 674h10"></path>
+<g>
+<path d="M594 674h0"></path>
+<path d="M705 674h0"></path>
+<path d="M594 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M614 654h71"></path>
+</g>
+<path d="M685 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M594 674h20"></path>
+<g class="non-terminal">
+<path d="M614 674h0"></path>
+<path d="M685 674h0"></path>
+<rect x="614" y="663" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="649.5" y="678">Source</text>
+</a>
+</g>
+<path d="M685 674h20"></path>
+</g>
+<g>
+<path d="M705 674h0"></path>
+<path d="M816 674h0"></path>
+<path d="M705 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M725 654h71"></path>
+</g>
+<path d="M796 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M705 674h20"></path>
+<g class="non-terminal">
+<path d="M725 674h0"></path>
+<path d="M796 674h0"></path>
+<rect x="725" y="663" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="760.5" y="678">Source</text>
+</a>
+</g>
+<path d="M796 674h20"></path>
+</g>
+<g>
+<path d="M816 674h0"></path>
+<path d="M927 674h0"></path>
+<path d="M816 674a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M836 654h71"></path>
+</g>
+<path d="M907 654a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M816 674h20"></path>
+<g class="non-terminal">
+<path d="M836 674h0"></path>
+<path d="M907 674h0"></path>
+<rect x="836" y="663" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="871.5" y="678">Source</text>
+</a>
+</g>
+<path d="M907 674h20"></path>
+</g>
+</g>
+<path d="M927 674h20"></path>
+</g>
+<g>
+<path d="M947 674h0"></path>
+<path d="M1234 674h0"></path>
+<path d="M947 674h20"></path>
+<g>
+<path d="M967 674h0"></path>
+<path d="M1129 674h85"></path>
+<g class="terminal">
+<path d="M967 674h0"></path>
+<path d="M1038 674h0"></path>
+<rect x="967" y="663" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1002.5" y="678">"INTO"</text>
+</g>
+<path d="M1038 674h10"></path>
+<path d="M1048 674h10"></path>
+<g class="non-terminal">
+<path d="M1058 674h0"></path>
+<path d="M1129 674h0"></path>
+<rect x="1058" y="663" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1093.5" y="678">Target</text>
+</a>
+</g>
+</g>
+<path d="M1214 674h20"></path>
+<path d="M947 674a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M967 704h0"></path>
+<path d="M1214 704h0"></path>
+<g class="terminal">
+<path d="M967 704h0"></path>
+<path d="M1063.5 704h0"></path>
+<rect x="967" y="693" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1015.25" y="708">"RAISING"</text>
+</g>
+<path d="M1063.5 704h10"></path>
+<path d="M1073.5 704h10"></path>
+<g class="non-terminal">
+<path d="M1083.5 704h0"></path>
+<path d="M1214 704h0"></path>
+<rect x="1083.5" y="693" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="1148.75" y="708">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M1214 704a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1234 674h20"></path>
+<path d="M382 674a10 10 0 0 1 10 10v57a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M402 751h0"></path>
+<path d="M1234 751h0"></path>
+<g>
+<path d="M402 751h0"></path>
+<path d="M689 751h0"></path>
+<path d="M402 751h20"></path>
+<g>
+<path d="M422 751h0"></path>
+<path d="M584 751h85"></path>
+<g class="terminal">
+<path d="M422 751h0"></path>
+<path d="M493 751h0"></path>
+<rect x="422" y="740" width="71" height="22" rx="10" ry="10"></rect>
+<text x="457.5" y="755">"INTO"</text>
+</g>
+<path d="M493 751h10"></path>
+<path d="M503 751h10"></path>
+<g class="non-terminal">
+<path d="M513 751h0"></path>
+<path d="M584 751h0"></path>
+<rect x="513" y="740" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="548.5" y="755">Target</text>
+</a>
+</g>
+</g>
+<path d="M669 751h20"></path>
+<path d="M402 751a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M422 781h0"></path>
+<path d="M669 781h0"></path>
+<g class="terminal">
+<path d="M422 781h0"></path>
+<path d="M518.5 781h0"></path>
+<rect x="422" y="770" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="470.25" y="785">"RAISING"</text>
+</g>
+<path d="M518.5 781h10"></path>
+<path d="M528.5 781h10"></path>
+<g class="non-terminal">
+<path d="M538.5 781h0"></path>
+<path d="M669 781h0"></path>
+<rect x="538.5" y="770" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="603.75" y="785">ExceptionName</text>
+</a>
+</g>
+</g>
+<path d="M669 781a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M689 751h0"></path>
+<path d="M1234 751h0"></path>
+<path d="M689 751a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M709 723h505"></path>
+</g>
+<path d="M1214 723a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M689 751h20"></path>
+<g>
+<path d="M709 751h0"></path>
+<path d="M1214 751h0"></path>
+<g class="terminal">
+<path d="M709 751h0"></path>
+<path d="M780 751h0"></path>
+<rect x="709" y="740" width="71" height="22" rx="10" ry="10"></rect>
+<text x="744.5" y="755">"WITH"</text>
+</g>
+<path d="M780 751h10"></path>
+<path d="M790 751h10"></path>
+<g class="non-terminal">
+<path d="M800 751h0"></path>
+<path d="M871 751h0"></path>
+<rect x="800" y="740" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="835.5" y="755">Source</text>
+</a>
+</g>
+<path d="M871 751h10"></path>
+<g>
+<path d="M881 751h0"></path>
+<path d="M992 751h0"></path>
+<path d="M881 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M901 731h71"></path>
+</g>
+<path d="M972 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M881 751h20"></path>
+<g class="non-terminal">
+<path d="M901 751h0"></path>
+<path d="M972 751h0"></path>
+<rect x="901" y="740" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="936.5" y="755">Source</text>
+</a>
+</g>
+<path d="M972 751h20"></path>
+</g>
+<g>
+<path d="M992 751h0"></path>
+<path d="M1103 751h0"></path>
+<path d="M992 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1012 731h71"></path>
+</g>
+<path d="M1083 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M992 751h20"></path>
+<g class="non-terminal">
+<path d="M1012 751h0"></path>
+<path d="M1083 751h0"></path>
+<rect x="1012" y="740" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1047.5" y="755">Source</text>
+</a>
+</g>
+<path d="M1083 751h20"></path>
+</g>
+<g>
+<path d="M1103 751h0"></path>
+<path d="M1214 751h0"></path>
+<path d="M1103 751a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1123 731h71"></path>
+</g>
+<path d="M1194 731a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1103 751h20"></path>
+<g class="non-terminal">
+<path d="M1123 751h0"></path>
+<path d="M1194 751h0"></path>
+<rect x="1123" y="740" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1158.5" y="755">Source</text>
+</a>
+</g>
+<path d="M1194 751h20"></path>
+</g>
+</g>
+<path d="M1214 751h20"></path>
+</g>
+</g>
+<path d="M1234 751a10 10 0 0 0 10 -10v-57a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M2083 674a10 10 0 0 0 10 -10v-606a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2103 48h10"></path>
+<path d="M 2113 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_MethodDef.svg b/abap/statement_MethodDef.svg
new file mode 100644
index 00000000..517d366f
--- /dev/null
+++ b/abap/statement_MethodDef.svg
@@ -0,0 +1,1327 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2100.5" height="965" viewBox="0 0 2100.5 965">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2050.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M237.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M217.5 40h0"></path>
+<rect x="70" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="143.75" y="44">"CLASS-METHODS"</text>
+</g>
+<path d="M217.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M166.5 70h51"></path>
+<rect x="70" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="118.25" y="74">"METHODS"</text>
+</g>
+<path d="M217.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M237.5 40h10"></path>
+<g class="non-terminal">
+<path d="M247.5 40h0"></path>
+<path d="M352.5 40h0"></path>
+<rect x="247.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodName"><text x="300" y="44">MethodName</text>
+</a>
+</g>
+<path d="M352.5 40h10"></path>
+<g>
+<path d="M362.5 40h0"></path>
+<path d="M2050.5 40h0"></path>
+<path d="M362.5 40h20"></path>
+<g>
+<path d="M382.5 40h0"></path>
+<path d="M642.5 40h1388"></path>
+<g>
+<path d="M382.5 40h0"></path>
+<path d="M510.5 40h0"></path>
+<path d="M382.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 20h88"></path>
+</g>
+<path d="M490.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 40h20"></path>
+<g class="non-terminal">
+<path d="M402.5 40h0"></path>
+<path d="M490.5 40h0"></path>
+<rect x="402.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Abstract"><text x="446.5" y="44">Abstract</text>
+</a>
+</g>
+<path d="M490.5 40h20"></path>
+</g>
+<path d="M510.5 40h10"></path>
+<g class="non-terminal">
+<path d="M520.5 40h0"></path>
+<path d="M642.5 40h0"></path>
+<rect x="520.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/EventHandler"><text x="581.5" y="44">EventHandler</text>
+</a>
+</g>
+</g>
+<path d="M2030.5 40h20"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 79h0"></path>
+<path d="M1888 79h142.5"></path>
+<g>
+<path d="M382.5 79h0"></path>
+<path d="M783 79h0"></path>
+<path d="M382.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 59h360.5"></path>
+</g>
+<path d="M763 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 79h20"></path>
+<g>
+<path d="M402.5 79h0"></path>
+<path d="M763 79h0"></path>
+<path d="M402.5 79h20"></path>
+<g class="terminal">
+<path d="M422.5 79h0"></path>
+<path d="M502 79h241"></path>
+<rect x="422.5" y="68" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="462.25" y="83">"FINAL"</text>
+</g>
+<path d="M743 79h20"></path>
+<path d="M402.5 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M422.5 109h0"></path>
+<path d="M743 109h0"></path>
+<g>
+<path d="M422.5 109h0"></path>
+<path d="M488.5 109h0"></path>
+<text x="455.5" y="114" class="comment">v740sp08</text>
+</g>
+<path d="M488.5 109h10"></path>
+<path d="M498.5 109h10"></path>
+<g>
+<path d="M508.5 109h0"></path>
+<path d="M743 109h0"></path>
+<g class="terminal">
+<path d="M508.5 109h0"></path>
+<path d="M605 109h0"></path>
+<rect x="508.5" y="98" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="556.75" y="113">"DEFAULT"</text>
+</g>
+<path d="M605 109h10"></path>
+<g>
+<path d="M615 109h0"></path>
+<path d="M743 109h0"></path>
+<path d="M615 109h20"></path>
+<g class="terminal">
+<path d="M635 109h0"></path>
+<path d="M706 109h17"></path>
+<rect x="635" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="670.5" y="113">"FAIL"</text>
+</g>
+<path d="M723 109h20"></path>
+<path d="M615 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M635 139h0"></path>
+<path d="M723 139h0"></path>
+<rect x="635" y="128" width="88" height="22" rx="10" ry="10"></rect>
+<text x="679" y="143">"IGNORE"</text>
+</g>
+<path d="M723 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M743 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M402.5 79a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M422.5 169h0"></path>
+<path d="M510.5 169h232.5"></path>
+<rect x="422.5" y="158" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Abstract"><text x="466.5" y="173">Abstract</text>
+</a>
+</g>
+<path d="M743 169a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M763 79h20"></path>
+</g>
+<g>
+<path d="M783 79h0"></path>
+<path d="M996 79h0"></path>
+<path d="M783 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M803 59h173"></path>
+</g>
+<path d="M976 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M783 79h20"></path>
+<g class="non-terminal">
+<path d="M803 79h0"></path>
+<path d="M976 79h0"></path>
+<rect x="803" y="68" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefImporting"><text x="889.5" y="83">MethodDefImporting</text>
+</a>
+</g>
+<path d="M976 79h20"></path>
+</g>
+<g>
+<path d="M996 79h0"></path>
+<path d="M1209 79h0"></path>
+<path d="M996 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1016 59h173"></path>
+</g>
+<path d="M1189 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M996 79h20"></path>
+<g class="non-terminal">
+<path d="M1016 79h0"></path>
+<path d="M1189 79h0"></path>
+<rect x="1016" y="68" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefExporting"><text x="1102.5" y="83">MethodDefExporting</text>
+</a>
+</g>
+<path d="M1189 79h20"></path>
+</g>
+<g>
+<path d="M1209 79h0"></path>
+<path d="M1413.5 79h0"></path>
+<path d="M1209 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1229 59h164.5"></path>
+</g>
+<path d="M1393.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1209 79h20"></path>
+<g class="non-terminal">
+<path d="M1229 79h0"></path>
+<path d="M1393.5 79h0"></path>
+<rect x="1229" y="68" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefChanging"><text x="1311.25" y="83">MethodDefChanging</text>
+</a>
+</g>
+<path d="M1393.5 79h20"></path>
+</g>
+<g>
+<path d="M1413.5 79h0"></path>
+<path d="M1626.5 79h0"></path>
+<path d="M1413.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1433.5 59h173"></path>
+</g>
+<path d="M1606.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1413.5 79h20"></path>
+<g class="non-terminal">
+<path d="M1433.5 79h0"></path>
+<path d="M1606.5 79h0"></path>
+<rect x="1433.5" y="68" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefReturning"><text x="1520" y="83">MethodDefReturning</text>
+</a>
+</g>
+<path d="M1606.5 79h20"></path>
+</g>
+<g>
+<path d="M1626.5 79h0"></path>
+<path d="M1888 79h0"></path>
+<path d="M1626.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1646.5 59h221.5"></path>
+</g>
+<path d="M1868 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1626.5 79h20"></path>
+<g>
+<path d="M1646.5 79h0"></path>
+<path d="M1868 79h0"></path>
+<path d="M1646.5 79h20"></path>
+<g class="non-terminal">
+<path d="M1666.5 79h0"></path>
+<path d="M1822.5 79h25.5"></path>
+<rect x="1666.5" y="68" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefRaising"><text x="1744.5" y="83">MethodDefRaising</text>
+</a>
+</g>
+<path d="M1848 79h20"></path>
+<path d="M1646.5 79a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1666.5 109h0"></path>
+<path d="M1848 109h0"></path>
+<rect x="1666.5" y="98" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefExceptions"><text x="1757.25" y="113">MethodDefExceptions</text>
+</a>
+</g>
+<path d="M1848 109a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1868 79h20"></path>
+</g>
+</g>
+<path d="M2030.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 208h0"></path>
+<path d="M922.5 208h1108"></path>
+<g>
+<path d="M382.5 208h0"></path>
+<path d="M510.5 208h0"></path>
+<path d="M382.5 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 188h88"></path>
+</g>
+<path d="M490.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 208h20"></path>
+<g class="non-terminal">
+<path d="M402.5 208h0"></path>
+<path d="M490.5 208h0"></path>
+<rect x="402.5" y="197" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Abstract"><text x="446.5" y="212">Abstract</text>
+</a>
+</g>
+<path d="M490.5 208h20"></path>
+</g>
+<path d="M510.5 208h10"></path>
+<g class="terminal">
+<path d="M520.5 208h0"></path>
+<path d="M651 208h0"></path>
+<rect x="520.5" y="197" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="585.75" y="212">"FOR TESTING"</text>
+</g>
+<path d="M651 208h10"></path>
+<g>
+<path d="M661 208h0"></path>
+<path d="M922.5 208h0"></path>
+<path d="M661 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M681 188h221.5"></path>
+</g>
+<path d="M902.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M661 208h20"></path>
+<g>
+<path d="M681 208h0"></path>
+<path d="M902.5 208h0"></path>
+<path d="M681 208h20"></path>
+<g class="non-terminal">
+<path d="M701 208h0"></path>
+<path d="M857 208h25.5"></path>
+<rect x="701" y="197" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefRaising"><text x="779" y="212">MethodDefRaising</text>
+</a>
+</g>
+<path d="M882.5 208h20"></path>
+<path d="M681 208a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M701 238h0"></path>
+<path d="M882.5 238h0"></path>
+<rect x="701" y="227" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefExceptions"><text x="791.75" y="242">MethodDefExceptions</text>
+</a>
+</g>
+<path d="M882.5 238a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M902.5 208h20"></path>
+</g>
+</g>
+<path d="M2030.5 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v208a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 268h0"></path>
+<path d="M2030.5 268h0"></path>
+<g class="terminal">
+<path d="M382.5 268h0"></path>
+<path d="M445 268h0"></path>
+<rect x="382.5" y="257" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="413.75" y="272">"FOR"</text>
+</g>
+<path d="M445 268h10"></path>
+<g>
+<path d="M455 268h0"></path>
+<path d="M2030.5 268h0"></path>
+<path d="M455 268h20"></path>
+<g>
+<path d="M475 268h0"></path>
+<path d="M722 268h1288.5"></path>
+<g class="terminal">
+<path d="M475 268h0"></path>
+<path d="M631 268h0"></path>
+<rect x="475" y="257" width="156" height="22" rx="10" ry="10"></rect>
+<text x="553" y="272">"TABLE FUNCTION"</text>
+</g>
+<path d="M631 268h10"></path>
+<path d="M641 268h10"></path>
+<g class="terminal">
+<path d="M651 268h0"></path>
+<path d="M722 268h0"></path>
+<rect x="651" y="257" width="71" height="22" rx="10" ry="10"></rect>
+<text x="686.5" y="272">^\w+?$</text>
+</g>
+</g>
+<path d="M2010.5 268h20"></path>
+<path d="M455 268a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M475 298h0"></path>
+<path d="M903 298h1107.5"></path>
+<rect x="475" y="287" width="428" height="22" rx="10" ry="10"></rect>
+<text x="689" y="302">"DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED"</text>
+</g>
+<path d="M2010.5 298a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M455 268a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M475 328h0"></path>
+<path d="M2010.5 328h0"></path>
+<path d="M475 328h20"></path>
+<g>
+<path d="M495 328h0"></path>
+<path d="M1111 328h879.5"></path>
+<g class="terminal">
+<path d="M495 328h0"></path>
+<path d="M753 328h0"></path>
+<rect x="495" y="317" width="258" height="22" rx="10" ry="10"></rect>
+<text x="624" y="332">"VALIDATE ON SAVE IMPORTING"</text>
+</g>
+<path d="M753 328h10"></path>
+<path d="M763 328h10"></path>
+<g class="non-terminal">
+<path d="M773 328h0"></path>
+<path d="M920.5 328h0"></path>
+<rect x="773" y="317" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="846.75" y="332">MethodParamName</text>
+</a>
+</g>
+<path d="M920.5 328h10"></path>
+<path d="M930.5 328h10"></path>
+<g class="terminal">
+<path d="M940.5 328h0"></path>
+<path d="M1003 328h0"></path>
+<rect x="940.5" y="317" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="971.75" y="332">"FOR"</text>
+</g>
+<path d="M1003 328h10"></path>
+<path d="M1013 328h10"></path>
+<g class="non-terminal">
+<path d="M1023 328h0"></path>
+<path d="M1111 328h0"></path>
+<rect x="1023" y="317" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1067" y="332">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1990.5 328h20"></path>
+<path d="M475 328a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 367h0"></path>
+<path d="M1421 367h569.5"></path>
+<g class="terminal">
+<path d="M495 367h0"></path>
+<path d="M668 367h0"></path>
+<rect x="495" y="356" width="173" height="22" rx="10" ry="10"></rect>
+<text x="581.5" y="371">"MODIFY IMPORTING"</text>
+</g>
+<path d="M668 367h10"></path>
+<path d="M678 367h10"></path>
+<g class="non-terminal">
+<path d="M688 367h0"></path>
+<path d="M835.5 367h0"></path>
+<rect x="688" y="356" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="761.75" y="371">MethodParamName</text>
+</a>
+</g>
+<path d="M835.5 367h10"></path>
+<g>
+<path d="M845.5 367h0"></path>
+<path d="M1421 367h0"></path>
+<path d="M845.5 367h20"></path>
+<g>
+<path d="M865.5 367h0"></path>
+<path d="M1401 367h0"></path>
+<g class="terminal">
+<path d="M865.5 367h0"></path>
+<path d="M987.5 367h0"></path>
+<rect x="865.5" y="356" width="122" height="22" rx="10" ry="10"></rect>
+<text x="926.5" y="371">"FOR ACTION"</text>
+</g>
+<path d="M987.5 367h10"></path>
+<path d="M997.5 367h10"></path>
+<g class="non-terminal">
+<path d="M1007.5 367h0"></path>
+<path d="M1095.5 367h0"></path>
+<rect x="1007.5" y="356" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1051.5" y="371">TypeName</text>
+</a>
+</g>
+<path d="M1095.5 367h10"></path>
+<g>
+<path d="M1105.5 367h0"></path>
+<path d="M1401 367h0"></path>
+<path d="M1105.5 367a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1125.5 347h255.5"></path>
+</g>
+<path d="M1381 347a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1105.5 367h20"></path>
+<g>
+<path d="M1125.5 367h0"></path>
+<path d="M1381 367h0"></path>
+<g class="terminal">
+<path d="M1125.5 367h0"></path>
+<path d="M1213.5 367h0"></path>
+<rect x="1125.5" y="356" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1169.5" y="371">"RESULT"</text>
+</g>
+<path d="M1213.5 367h10"></path>
+<path d="M1223.5 367h10"></path>
+<g class="non-terminal">
+<path d="M1233.5 367h0"></path>
+<path d="M1381 367h0"></path>
+<rect x="1233.5" y="356" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1307.25" y="371">MethodParamName</text>
+</a>
+</g>
+</g>
+<path d="M1381 367h20"></path>
+</g>
+</g>
+<path d="M1401 367h20"></path>
+<path d="M845.5 367a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M865.5 397h0"></path>
+<path d="M1202 397h199"></path>
+<g class="terminal">
+<path d="M865.5 397h0"></path>
+<path d="M987.5 397h0"></path>
+<rect x="865.5" y="386" width="122" height="22" rx="10" ry="10"></rect>
+<text x="926.5" y="401">"FOR CREATE"</text>
+</g>
+<path d="M987.5 397h10"></path>
+<g>
+<path d="M997.5 397h0"></path>
+<path d="M1202 397h0"></path>
+<path d="M997.5 397h20"></path>
+<g class="non-terminal">
+<path d="M1017.5 397h0"></path>
+<path d="M1105.5 397h76.5"></path>
+<rect x="1017.5" y="386" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1061.5" y="401">TypeName</text>
+</a>
+</g>
+<path d="M1182 397h20"></path>
+<path d="M997.5 397a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1017.5 427h0"></path>
+<path d="M1182 427h0"></path>
+<rect x="1017.5" y="416" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EntityAssociation"><text x="1099.75" y="431">EntityAssociation</text>
+</a>
+</g>
+<path d="M1182 427a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1401 397a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M845.5 367a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M865.5 457h0"></path>
+<path d="M1095.5 457h305.5"></path>
+<g class="terminal">
+<path d="M865.5 457h0"></path>
+<path d="M987.5 457h0"></path>
+<rect x="865.5" y="446" width="122" height="22" rx="10" ry="10"></rect>
+<text x="926.5" y="461">"FOR DELETE"</text>
+</g>
+<path d="M987.5 457h10"></path>
+<path d="M997.5 457h10"></path>
+<g class="non-terminal">
+<path d="M1007.5 457h0"></path>
+<path d="M1095.5 457h0"></path>
+<rect x="1007.5" y="446" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1051.5" y="461">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1401 457a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M845.5 367a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M865.5 487h0"></path>
+<path d="M1095.5 487h305.5"></path>
+<g class="terminal">
+<path d="M865.5 487h0"></path>
+<path d="M987.5 487h0"></path>
+<rect x="865.5" y="476" width="122" height="22" rx="10" ry="10"></rect>
+<text x="926.5" y="491">"FOR UPDATE"</text>
+</g>
+<path d="M987.5 487h10"></path>
+<path d="M997.5 487h10"></path>
+<g class="non-terminal">
+<path d="M1007.5 487h0"></path>
+<path d="M1095.5 487h0"></path>
+<rect x="1007.5" y="476" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1051.5" y="491">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1401 487a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1990.5 367a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v178a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 526h0"></path>
+<path d="M1990.5 526h0"></path>
+<g class="terminal">
+<path d="M495 526h0"></path>
+<path d="M651 526h0"></path>
+<rect x="495" y="515" width="156" height="22" rx="10" ry="10"></rect>
+<text x="573" y="530">"READ IMPORTING"</text>
+</g>
+<path d="M651 526h10"></path>
+<path d="M661 526h10"></path>
+<g class="non-terminal">
+<path d="M671 526h0"></path>
+<path d="M818.5 526h0"></path>
+<rect x="671" y="515" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="744.75" y="530">MethodParamName</text>
+</a>
+</g>
+<path d="M818.5 526h10"></path>
+<path d="M828.5 526h10"></path>
+<g class="terminal">
+<path d="M838.5 526h0"></path>
+<path d="M943.5 526h0"></path>
+<rect x="838.5" y="515" width="105" height="22" rx="10" ry="10"></rect>
+<text x="891" y="530">"FOR READ"</text>
+</g>
+<path d="M943.5 526h10"></path>
+<g>
+<path d="M953.5 526h0"></path>
+<path d="M1158 526h0"></path>
+<path d="M953.5 526h20"></path>
+<g class="non-terminal">
+<path d="M973.5 526h0"></path>
+<path d="M1061.5 526h76.5"></path>
+<rect x="973.5" y="515" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1017.5" y="530">TypeName</text>
+</a>
+</g>
+<path d="M1138 526h20"></path>
+<path d="M953.5 526a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M973.5 556h0"></path>
+<path d="M1138 556h0"></path>
+<rect x="973.5" y="545" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EntityAssociation"><text x="1055.75" y="560">EntityAssociation</text>
+</a>
+</g>
+<path d="M1138 556a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1158 526h0"></path>
+<path d="M1436.5 526h0"></path>
+<path d="M1158 526a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1178 506h238.5"></path>
+</g>
+<path d="M1416.5 506a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1158 526h20"></path>
+<g>
+<path d="M1178 526h0"></path>
+<path d="M1416.5 526h0"></path>
+<g class="terminal">
+<path d="M1178 526h0"></path>
+<path d="M1249 526h0"></path>
+<rect x="1178" y="515" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1213.5" y="530">"FULL"</text>
+</g>
+<path d="M1249 526h10"></path>
+<path d="M1259 526h10"></path>
+<g class="non-terminal">
+<path d="M1269 526h0"></path>
+<path d="M1416.5 526h0"></path>
+<rect x="1269" y="515" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1342.75" y="530">MethodParamName</text>
+</a>
+</g>
+</g>
+<path d="M1416.5 526h20"></path>
+</g>
+<path d="M1436.5 526h10"></path>
+<g>
+<path d="M1446.5 526h0"></path>
+<path d="M1702 526h0"></path>
+<g class="terminal">
+<path d="M1446.5 526h0"></path>
+<path d="M1534.5 526h0"></path>
+<rect x="1446.5" y="515" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1490.5" y="530">"RESULT"</text>
+</g>
+<path d="M1534.5 526h10"></path>
+<path d="M1544.5 526h10"></path>
+<g class="non-terminal">
+<path d="M1554.5 526h0"></path>
+<path d="M1702 526h0"></path>
+<rect x="1554.5" y="515" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1628.25" y="530">MethodParamName</text>
+</a>
+</g>
+</g>
+<path d="M1702 526h10"></path>
+<g>
+<path d="M1712 526h0"></path>
+<path d="M1990.5 526h0"></path>
+<path d="M1712 526a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1732 506h238.5"></path>
+</g>
+<path d="M1970.5 506a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1712 526h20"></path>
+<g>
+<path d="M1732 526h0"></path>
+<path d="M1970.5 526h0"></path>
+<g class="terminal">
+<path d="M1732 526h0"></path>
+<path d="M1803 526h0"></path>
+<rect x="1732" y="515" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1767.5" y="530">"LINK"</text>
+</g>
+<path d="M1803 526h10"></path>
+<path d="M1813 526h10"></path>
+<g class="non-terminal">
+<path d="M1823 526h0"></path>
+<path d="M1970.5 526h0"></path>
+<rect x="1823" y="515" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1896.75" y="530">MethodParamName</text>
+</a>
+</g>
+</g>
+<path d="M1970.5 526h20"></path>
+</g>
+</g>
+<path d="M1990.5 526a10 10 0 0 0 10 -10v-178a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v238a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 586h0"></path>
+<path d="M1730 586h260.5"></path>
+<g class="terminal">
+<path d="M495 586h0"></path>
+<path d="M685 586h0"></path>
+<rect x="495" y="575" width="190" height="22" rx="10" ry="10"></rect>
+<text x="590" y="590">"FEATURES IMPORTING"</text>
+</g>
+<path d="M685 586h10"></path>
+<path d="M695 586h10"></path>
+<g class="non-terminal">
+<path d="M705 586h0"></path>
+<path d="M852.5 586h0"></path>
+<rect x="705" y="575" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="778.75" y="590">MethodParamName</text>
+</a>
+</g>
+<path d="M852.5 586h10"></path>
+<path d="M862.5 586h10"></path>
+<g class="terminal">
+<path d="M872.5 586h0"></path>
+<path d="M969 586h0"></path>
+<rect x="872.5" y="575" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="920.75" y="590">"REQUEST"</text>
+</g>
+<path d="M969 586h10"></path>
+<path d="M979 586h10"></path>
+<g class="non-terminal">
+<path d="M989 586h0"></path>
+<path d="M1170.5 586h0"></path>
+<rect x="989" y="575" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1079.75" y="590">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1170.5 586h10"></path>
+<path d="M1180.5 586h10"></path>
+<g class="terminal">
+<path d="M1190.5 586h0"></path>
+<path d="M1253 586h0"></path>
+<rect x="1190.5" y="575" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1221.75" y="590">"FOR"</text>
+</g>
+<path d="M1253 586h10"></path>
+<path d="M1263 586h10"></path>
+<g class="non-terminal">
+<path d="M1273 586h0"></path>
+<path d="M1454.5 586h0"></path>
+<rect x="1273" y="575" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1363.75" y="590">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1454.5 586h10"></path>
+<path d="M1464.5 586h10"></path>
+<g>
+<path d="M1474.5 586h0"></path>
+<path d="M1730 586h0"></path>
+<g class="terminal">
+<path d="M1474.5 586h0"></path>
+<path d="M1562.5 586h0"></path>
+<rect x="1474.5" y="575" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1518.5" y="590">"RESULT"</text>
+</g>
+<path d="M1562.5 586h10"></path>
+<path d="M1572.5 586h10"></path>
+<g class="non-terminal">
+<path d="M1582.5 586h0"></path>
+<path d="M1730 586h0"></path>
+<rect x="1582.5" y="575" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1656.25" y="590">MethodParamName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1990.5 586a10 10 0 0 0 10 -10v-238a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v268a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 616h0"></path>
+<path d="M1937.5 616h53"></path>
+<g class="terminal">
+<path d="M495 616h0"></path>
+<path d="M685 616h0"></path>
+<rect x="495" y="605" width="190" height="22" rx="10" ry="10"></rect>
+<text x="590" y="620">"BEHAVIOR IMPORTING"</text>
+</g>
+<path d="M685 616h10"></path>
+<path d="M695 616h10"></path>
+<g class="non-terminal">
+<path d="M705 616h0"></path>
+<path d="M852.5 616h0"></path>
+<rect x="705" y="605" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="778.75" y="620">MethodParamName</text>
+</a>
+</g>
+<path d="M852.5 616h10"></path>
+<path d="M862.5 616h10"></path>
+<g class="terminal">
+<path d="M872.5 616h0"></path>
+<path d="M994.5 616h0"></path>
+<rect x="872.5" y="605" width="122" height="22" rx="10" ry="10"></rect>
+<text x="933.5" y="620">"FOR CREATE"</text>
+</g>
+<path d="M994.5 616h10"></path>
+<path d="M1004.5 616h10"></path>
+<g class="non-terminal">
+<path d="M1014.5 616h0"></path>
+<path d="M1102.5 616h0"></path>
+<rect x="1014.5" y="605" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1058.5" y="620">TypeName</text>
+</a>
+</g>
+<path d="M1102.5 616h10"></path>
+<path d="M1112.5 616h10"></path>
+<g class="non-terminal">
+<path d="M1122.5 616h0"></path>
+<path d="M1270 616h0"></path>
+<rect x="1122.5" y="605" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1196.25" y="620">MethodParamName</text>
+</a>
+</g>
+<path d="M1270 616h10"></path>
+<path d="M1280 616h10"></path>
+<g class="terminal">
+<path d="M1290 616h0"></path>
+<path d="M1412 616h0"></path>
+<rect x="1290" y="605" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1351" y="620">"FOR UPDATE"</text>
+</g>
+<path d="M1412 616h10"></path>
+<path d="M1422 616h10"></path>
+<g class="non-terminal">
+<path d="M1432 616h0"></path>
+<path d="M1520 616h0"></path>
+<rect x="1432" y="605" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1476" y="620">TypeName</text>
+</a>
+</g>
+<path d="M1520 616h10"></path>
+<path d="M1530 616h10"></path>
+<g class="non-terminal">
+<path d="M1540 616h0"></path>
+<path d="M1687.5 616h0"></path>
+<rect x="1540" y="605" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1613.75" y="620">MethodParamName</text>
+</a>
+</g>
+<path d="M1687.5 616h10"></path>
+<path d="M1697.5 616h10"></path>
+<g class="terminal">
+<path d="M1707.5 616h0"></path>
+<path d="M1829.5 616h0"></path>
+<rect x="1707.5" y="605" width="122" height="22" rx="10" ry="10"></rect>
+<text x="1768.5" y="620">"FOR DELETE"</text>
+</g>
+<path d="M1829.5 616h10"></path>
+<path d="M1839.5 616h10"></path>
+<g class="non-terminal">
+<path d="M1849.5 616h0"></path>
+<path d="M1937.5 616h0"></path>
+<rect x="1849.5" y="605" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1893.5" y="620">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1990.5 616a10 10 0 0 0 10 -10v-268a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v298a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 646h0"></path>
+<path d="M1361 646h629.5"></path>
+<g class="terminal">
+<path d="M495 646h0"></path>
+<path d="M685 646h0"></path>
+<rect x="495" y="635" width="190" height="22" rx="10" ry="10"></rect>
+<text x="590" y="650">"BEHAVIOR IMPORTING"</text>
+</g>
+<path d="M685 646h10"></path>
+<path d="M695 646h10"></path>
+<g class="non-terminal">
+<path d="M705 646h0"></path>
+<path d="M852.5 646h0"></path>
+<rect x="705" y="635" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="778.75" y="650">MethodParamName</text>
+</a>
+</g>
+<path d="M852.5 646h10"></path>
+<path d="M862.5 646h10"></path>
+<g class="terminal">
+<path d="M872.5 646h0"></path>
+<path d="M977.5 646h0"></path>
+<rect x="872.5" y="635" width="105" height="22" rx="10" ry="10"></rect>
+<text x="925" y="650">"FOR READ"</text>
+</g>
+<path d="M977.5 646h10"></path>
+<path d="M987.5 646h10"></path>
+<g class="non-terminal">
+<path d="M997.5 646h0"></path>
+<path d="M1085.5 646h0"></path>
+<rect x="997.5" y="635" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1041.5" y="650">TypeName</text>
+</a>
+</g>
+<path d="M1085.5 646h10"></path>
+<path d="M1095.5 646h10"></path>
+<g>
+<path d="M1105.5 646h0"></path>
+<path d="M1361 646h0"></path>
+<g class="terminal">
+<path d="M1105.5 646h0"></path>
+<path d="M1193.5 646h0"></path>
+<rect x="1105.5" y="635" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1149.5" y="650">"RESULT"</text>
+</g>
+<path d="M1193.5 646h10"></path>
+<path d="M1203.5 646h10"></path>
+<g class="non-terminal">
+<path d="M1213.5 646h0"></path>
+<path d="M1361 646h0"></path>
+<rect x="1213.5" y="635" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1287.25" y="650">MethodParamName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1990.5 646a10 10 0 0 0 10 -10v-298a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v328a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 676h0"></path>
+<path d="M1164 676h826.5"></path>
+<g>
+<path d="M495 676h0"></path>
+<path d="M640 676h0"></path>
+<path d="M495 676h20"></path>
+<g class="terminal">
+<path d="M515 676h0"></path>
+<path d="M620 676h0"></path>
+<rect x="515" y="665" width="105" height="22" rx="10" ry="10"></rect>
+<text x="567.5" y="680">"BEHAVIOR"</text>
+</g>
+<path d="M620 676h20"></path>
+<path d="M495 676a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M515 706h0"></path>
+<path d="M586 706h34"></path>
+<rect x="515" y="695" width="71" height="22" rx="10" ry="10"></rect>
+<text x="550.5" y="710">"LOCK"</text>
+</g>
+<path d="M620 706a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M640 676h10"></path>
+<g class="terminal">
+<path d="M650 676h0"></path>
+<path d="M763.5 676h0"></path>
+<rect x="650" y="665" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="706.75" y="680">"IMPORTING"</text>
+</g>
+<path d="M763.5 676h10"></path>
+<path d="M773.5 676h10"></path>
+<g class="non-terminal">
+<path d="M783.5 676h0"></path>
+<path d="M931 676h0"></path>
+<rect x="783.5" y="665" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="857.25" y="680">MethodParamName</text>
+</a>
+</g>
+<path d="M931 676h10"></path>
+<path d="M941 676h10"></path>
+<g class="terminal">
+<path d="M951 676h0"></path>
+<path d="M1056 676h0"></path>
+<rect x="951" y="665" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1003.5" y="680">"FOR LOCK"</text>
+</g>
+<path d="M1056 676h10"></path>
+<path d="M1066 676h10"></path>
+<g class="non-terminal">
+<path d="M1076 676h0"></path>
+<path d="M1164 676h0"></path>
+<rect x="1076" y="665" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1120" y="680">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1990.5 676a10 10 0 0 0 10 -10v-328a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v388a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 736h0"></path>
+<path d="M1253.5 736h737"></path>
+<g class="terminal">
+<path d="M495 736h0"></path>
+<path d="M608.5 736h0"></path>
+<rect x="495" y="725" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="551.75" y="740">"DETERMINE"</text>
+</g>
+<path d="M608.5 736h10"></path>
+<g>
+<path d="M618.5 736h0"></path>
+<path d="M772 736h0"></path>
+<path d="M618.5 736h20"></path>
+<g class="terminal">
+<path d="M638.5 736h0"></path>
+<path d="M752 736h0"></path>
+<rect x="638.5" y="725" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="695.25" y="740">"ON MODIFY"</text>
+</g>
+<path d="M752 736h20"></path>
+<path d="M618.5 736a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M638.5 766h0"></path>
+<path d="M735 766h17"></path>
+<rect x="638.5" y="755" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="686.75" y="770">"ON SAVE"</text>
+</g>
+<path d="M752 766a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M772 736h10"></path>
+<g class="terminal">
+<path d="M782 736h0"></path>
+<path d="M895.5 736h0"></path>
+<rect x="782" y="725" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="838.75" y="740">"IMPORTING"</text>
+</g>
+<path d="M895.5 736h10"></path>
+<path d="M905.5 736h10"></path>
+<g class="non-terminal">
+<path d="M915.5 736h0"></path>
+<path d="M1063 736h0"></path>
+<rect x="915.5" y="725" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="989.25" y="740">MethodParamName</text>
+</a>
+</g>
+<path d="M1063 736h10"></path>
+<path d="M1073 736h10"></path>
+<g class="terminal">
+<path d="M1083 736h0"></path>
+<path d="M1145.5 736h0"></path>
+<rect x="1083" y="725" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1114.25" y="740">"FOR"</text>
+</g>
+<path d="M1145.5 736h10"></path>
+<path d="M1155.5 736h10"></path>
+<g class="non-terminal">
+<path d="M1165.5 736h0"></path>
+<path d="M1253.5 736h0"></path>
+<rect x="1165.5" y="725" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1209.5" y="740">TypeName</text>
+</a>
+</g>
+</g>
+<path d="M1990.5 736a10 10 0 0 0 10 -10v-388a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v448a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 796h0"></path>
+<path d="M1488.5 796h502"></path>
+<g class="terminal">
+<path d="M495 796h0"></path>
+<path d="M855 796h0"></path>
+<rect x="495" y="785" width="360" height="22" rx="10" ry="10"></rect>
+<text x="675" y="800">"GLOBAL AUTHORIZATION IMPORTING REQUEST"</text>
+</g>
+<path d="M855 796h10"></path>
+<path d="M865 796h10"></path>
+<g class="non-terminal">
+<path d="M875 796h0"></path>
+<path d="M1022.5 796h0"></path>
+<rect x="875" y="785" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="948.75" y="800">MethodParamName</text>
+</a>
+</g>
+<path d="M1022.5 796h10"></path>
+<path d="M1032.5 796h10"></path>
+<g class="terminal">
+<path d="M1042.5 796h0"></path>
+<path d="M1105 796h0"></path>
+<rect x="1042.5" y="785" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1073.75" y="800">"FOR"</text>
+</g>
+<path d="M1105 796h10"></path>
+<path d="M1115 796h10"></path>
+<g class="non-terminal">
+<path d="M1125 796h0"></path>
+<path d="M1213 796h0"></path>
+<rect x="1125" y="785" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1169" y="800">TypeName</text>
+</a>
+</g>
+<path d="M1213 796h10"></path>
+<path d="M1223 796h10"></path>
+<g>
+<path d="M1233 796h0"></path>
+<path d="M1488.5 796h0"></path>
+<g class="terminal">
+<path d="M1233 796h0"></path>
+<path d="M1321 796h0"></path>
+<rect x="1233" y="785" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1277" y="800">"RESULT"</text>
+</g>
+<path d="M1321 796h10"></path>
+<path d="M1331 796h10"></path>
+<g class="non-terminal">
+<path d="M1341 796h0"></path>
+<path d="M1488.5 796h0"></path>
+<rect x="1341" y="785" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1414.75" y="800">MethodParamName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1990.5 796a10 10 0 0 0 10 -10v-448a10 10 0 0 1 10 -10"></path>
+<path d="M475 328a10 10 0 0 1 10 10v478a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M495 826h0"></path>
+<path d="M1721.5 826h269"></path>
+<g class="terminal">
+<path d="M495 826h0"></path>
+<path d="M804 826h0"></path>
+<rect x="495" y="815" width="309" height="22" rx="10" ry="10"></rect>
+<text x="649.5" y="830">"INSTANCE AUTHORIZATION IMPORTING"</text>
+</g>
+<path d="M804 826h10"></path>
+<path d="M814 826h10"></path>
+<g class="non-terminal">
+<path d="M824 826h0"></path>
+<path d="M971.5 826h0"></path>
+<rect x="824" y="815" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="897.75" y="830">MethodParamName</text>
+</a>
+</g>
+<path d="M971.5 826h10"></path>
+<path d="M981.5 826h10"></path>
+<g class="terminal">
+<path d="M991.5 826h0"></path>
+<path d="M1088 826h0"></path>
+<rect x="991.5" y="815" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1039.75" y="830">"REQUEST"</text>
+</g>
+<path d="M1088 826h10"></path>
+<path d="M1098 826h10"></path>
+<g class="non-terminal">
+<path d="M1108 826h0"></path>
+<path d="M1255.5 826h0"></path>
+<rect x="1108" y="815" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1181.75" y="830">MethodParamName</text>
+</a>
+</g>
+<path d="M1255.5 826h10"></path>
+<path d="M1265.5 826h10"></path>
+<g class="terminal">
+<path d="M1275.5 826h0"></path>
+<path d="M1338 826h0"></path>
+<rect x="1275.5" y="815" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1306.75" y="830">"FOR"</text>
+</g>
+<path d="M1338 826h10"></path>
+<path d="M1348 826h10"></path>
+<g class="non-terminal">
+<path d="M1358 826h0"></path>
+<path d="M1446 826h0"></path>
+<rect x="1358" y="815" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="1402" y="830">TypeName</text>
+</a>
+</g>
+<path d="M1446 826h10"></path>
+<path d="M1456 826h10"></path>
+<g>
+<path d="M1466 826h0"></path>
+<path d="M1721.5 826h0"></path>
+<g class="terminal">
+<path d="M1466 826h0"></path>
+<path d="M1554 826h0"></path>
+<rect x="1466" y="815" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1510" y="830">"RESULT"</text>
+</g>
+<path d="M1554 826h10"></path>
+<path d="M1564 826h10"></path>
+<g class="non-terminal">
+<path d="M1574 826h0"></path>
+<path d="M1721.5 826h0"></path>
+<rect x="1574" y="815" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodParamName"><text x="1647.75" y="830">MethodParamName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1990.5 826a10 10 0 0 0 10 -10v-478a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2010.5 328a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2030.5 268a10 10 0 0 0 10 -10v-208a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v805a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 865h0"></path>
+<path d="M1383 865h647.5"></path>
+<g class="terminal">
+<path d="M382.5 865h0"></path>
+<path d="M751 865h0"></path>
+<rect x="382.5" y="854" width="368.5" height="22" rx="10" ry="10"></rect>
+<text x="566.75" y="869">"AMDP OPTIONS CDS SESSION CLIENT CURRENT"</text>
+</g>
+<path d="M751 865h10"></path>
+<g>
+<path d="M761 865h0"></path>
+<path d="M974 865h0"></path>
+<path d="M761 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M781 845h173"></path>
+</g>
+<path d="M954 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M761 865h20"></path>
+<g class="non-terminal">
+<path d="M781 865h0"></path>
+<path d="M954 865h0"></path>
+<rect x="781" y="854" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefImporting"><text x="867.5" y="869">MethodDefImporting</text>
+</a>
+</g>
+<path d="M954 865h20"></path>
+</g>
+<g>
+<path d="M974 865h0"></path>
+<path d="M1187 865h0"></path>
+<path d="M974 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M994 845h173"></path>
+</g>
+<path d="M1167 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M974 865h20"></path>
+<g class="non-terminal">
+<path d="M994 865h0"></path>
+<path d="M1167 865h0"></path>
+<rect x="994" y="854" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefExporting"><text x="1080.5" y="869">MethodDefExporting</text>
+</a>
+</g>
+<path d="M1167 865h20"></path>
+</g>
+<g>
+<path d="M1187 865h0"></path>
+<path d="M1383 865h0"></path>
+<path d="M1187 865a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1207 845h156"></path>
+</g>
+<path d="M1363 845a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1187 865h20"></path>
+<g class="non-terminal">
+<path d="M1207 865h0"></path>
+<path d="M1363 865h0"></path>
+<rect x="1207" y="854" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodDefRaising"><text x="1285" y="869">MethodDefRaising</text>
+</a>
+</g>
+<path d="M1363 865h20"></path>
+</g>
+</g>
+<path d="M2030.5 865a10 10 0 0 0 10 -10v-805a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v835a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M382.5 895h0"></path>
+<path d="M572.5 895h1458"></path>
+<rect x="382.5" y="884" width="190" height="22" rx="10" ry="10"></rect>
+<text x="477.5" y="899">"NOT AT END OF MODE"</text>
+</g>
+<path d="M2030.5 895a10 10 0 0 0 10 -10v-835a10 10 0 0 1 10 -10"></path>
+<path d="M362.5 40a10 10 0 0 1 10 10v874a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M382.5 934h0"></path>
+<path d="M544.5 934h1486"></path>
+<path d="M382.5 934a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M402.5 914h122"></path>
+</g>
+<path d="M524.5 914a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M382.5 934h20"></path>
+<g class="non-terminal">
+<path d="M402.5 934h0"></path>
+<path d="M524.5 934h0"></path>
+<rect x="402.5" y="923" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/Redefinition"><text x="463.5" y="938">Redefinition</text>
+</a>
+</g>
+<path d="M524.5 934h20"></path>
+</g>
+<path d="M2030.5 934a10 10 0 0 0 10 -10v-874a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2050.5 40h10"></path>
+<path d="M 2060.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_MethodImplementation.svg b/abap/statement_MethodImplementation.svg
new file mode 100644
index 00000000..17d7300d
--- /dev/null
+++ b/abap/statement_MethodImplementation.svg
@@ -0,0 +1,274 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1548" height="208" viewBox="0 0 1548 208">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1498 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M138 48h0"></path>
+<rect x="50" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="52">"METHOD"</text>
+</g>
+<path d="M138 48h10"></path>
+<path d="M148 48h10"></path>
+<g class="non-terminal">
+<path d="M158 48h0"></path>
+<path d="M263 48h0"></path>
+<rect x="158" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodName"><text x="210.5" y="52">MethodName</text>
+</a>
+</g>
+<path d="M263 48h10"></path>
+<g>
+<path d="M273 48h0"></path>
+<path d="M1498 48h0"></path>
+<path d="M273 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M293 20h1185"></path>
+</g>
+<path d="M1478 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M273 48h20"></path>
+<g>
+<path d="M293 48h0"></path>
+<path d="M1478 48h0"></path>
+<g class="terminal">
+<path d="M293 48h0"></path>
+<path d="M347 48h0"></path>
+<rect x="293" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="320" y="52">"BY"</text>
+</g>
+<path d="M347 48h10"></path>
+<g>
+<path d="M357 48h0"></path>
+<path d="M1478 48h0"></path>
+<path d="M357 48h20"></path>
+<g>
+<path d="M377 48h0"></path>
+<path d="M813.5 48h644.5"></path>
+<g class="terminal">
+<path d="M377 48h0"></path>
+<path d="M524.5 48h0"></path>
+<rect x="377" y="37" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="450.75" y="52">"KERNEL MODULE"</text>
+</g>
+<path d="M524.5 48h10"></path>
+<path d="M534.5 48h10"></path>
+<g>
+<path d="M544.5 48h0"></path>
+<path d="M635.5 48h0"></path>
+<path d="M544.5 48h10"></path>
+<g class="terminal">
+<path d="M554.5 48h0"></path>
+<path d="M625.5 48h0"></path>
+<rect x="554.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="590" y="52">&#91;\w~&#93;+</text>
+</g>
+<path d="M625.5 48h10"></path>
+<path d="M554.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M554.5 68h71"></path>
+</g>
+<path d="M625.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M635.5 48h10"></path>
+<g>
+<path d="M645.5 48h0"></path>
+<path d="M813.5 48h0"></path>
+<path d="M645.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M665.5 28h128"></path>
+</g>
+<path d="M793.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M645.5 48h20"></path>
+<g>
+<path d="M665.5 48h0"></path>
+<path d="M793.5 48h0"></path>
+<path d="M665.5 48h20"></path>
+<g class="terminal">
+<path d="M685.5 48h0"></path>
+<path d="M756.5 48h17"></path>
+<rect x="685.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="721" y="52">"FAIL"</text>
+</g>
+<path d="M773.5 48h20"></path>
+<path d="M665.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M685.5 78h0"></path>
+<path d="M773.5 78h0"></path>
+<rect x="685.5" y="67" width="88" height="22" rx="10" ry="10"></rect>
+<text x="729.5" y="82">"IGNORE"</text>
+</g>
+<path d="M773.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M793.5 48h20"></path>
+</g>
+</g>
+<path d="M1458 48h20"></path>
+<path d="M357 48a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M377 117h0"></path>
+<path d="M1458 117h0"></path>
+<g class="terminal">
+<path d="M377 117h0"></path>
+<path d="M482 117h0"></path>
+<rect x="377" y="106" width="105" height="22" rx="10" ry="10"></rect>
+<text x="429.5" y="121">"DATABASE"</text>
+</g>
+<path d="M482 117h10"></path>
+<g>
+<path d="M492 117h0"></path>
+<path d="M696.5 117h0"></path>
+<path d="M492 117h20"></path>
+<g class="terminal">
+<path d="M512 117h0"></path>
+<path d="M625.5 117h51"></path>
+<rect x="512" y="106" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="568.75" y="121">"PROCEDURE"</text>
+</g>
+<path d="M676.5 117h20"></path>
+<path d="M492 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M512 147h0"></path>
+<path d="M617 147h59.5"></path>
+<rect x="512" y="136" width="105" height="22" rx="10" ry="10"></rect>
+<text x="564.5" y="151">"FUNCTION"</text>
+</g>
+<path d="M676.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M492 117a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M512 177h0"></path>
+<path d="M676.5 177h0"></path>
+<rect x="512" y="166" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="594.25" y="181">"GRAPH WORKSPACE"</text>
+</g>
+<path d="M676.5 177a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M696.5 117h10"></path>
+<g class="terminal">
+<path d="M706.5 117h0"></path>
+<path d="M803 117h0"></path>
+<rect x="706.5" y="106" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="754.75" y="121">"FOR HDB"</text>
+</g>
+<path d="M803 117h10"></path>
+<path d="M813 117h10"></path>
+<g class="non-terminal">
+<path d="M823 117h0"></path>
+<path d="M911 117h0"></path>
+<rect x="823" y="106" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Language"><text x="867" y="121">Language</text>
+</a>
+</g>
+<path d="M911 117h10"></path>
+<g>
+<path d="M921 117h0"></path>
+<path d="M1142.5 117h0"></path>
+<path d="M921 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M941 97h181.5"></path>
+</g>
+<path d="M1122.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M921 117h20"></path>
+<g class="terminal">
+<path d="M941 117h0"></path>
+<path d="M1122.5 117h0"></path>
+<rect x="941" y="106" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="1031.75" y="121">"OPTIONS READ-ONLY"</text>
+</g>
+<path d="M1122.5 117h20"></path>
+</g>
+<g>
+<path d="M1142.5 117h0"></path>
+<path d="M1458 117h0"></path>
+<path d="M1142.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1162.5 97h275.5"></path>
+</g>
+<path d="M1438 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1142.5 117h20"></path>
+<g>
+<path d="M1162.5 117h0"></path>
+<path d="M1438 117h0"></path>
+<g class="terminal">
+<path d="M1162.5 117h0"></path>
+<path d="M1242 117h0"></path>
+<rect x="1162.5" y="106" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1202.25" y="121">"USING"</text>
+</g>
+<path d="M1242 117h10"></path>
+<path d="M1252 117h10"></path>
+<g>
+<path d="M1262 117h0"></path>
+<path d="M1438 117h0"></path>
+<path d="M1262 117h10"></path>
+<g class="non-terminal">
+<path d="M1272 117h0"></path>
+<path d="M1428 117h0"></path>
+<rect x="1272" y="106" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain"><text x="1350" y="121">SimpleFieldChain</text>
+</a>
+</g>
+<path d="M1428 117h10"></path>
+<path d="M1272 117a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1272 137h156"></path>
+</g>
+<path d="M1428 137a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1438 117h20"></path>
+</g>
+</g>
+<path d="M1458 117a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1478 48h20"></path>
+</g>
+</g>
+<path d="M1498 48h10"></path>
+<path d="M 1508 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ModifyDatabase.svg b/abap/statement_ModifyDatabase.svg
new file mode 100644
index 00000000..15eb1889
--- /dev/null
+++ b/abap/statement_ModifyDatabase.svg
@@ -0,0 +1,137 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="735.5" height="131" viewBox="0 0 735.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M685.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"MODIFY"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g class="non-terminal">
+<path d="M158 31h0"></path>
+<path d="M288.5 31h0"></path>
+<rect x="158" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="223.25" y="35">DatabaseTable</text>
+</a>
+</g>
+<path d="M288.5 31h10"></path>
+<path d="M298.5 31h10"></path>
+<g>
+<path d="M308.5 31h0"></path>
+<path d="M685.5 31h0"></path>
+<path d="M338.5 31h10"></path>
+<g class="non-terminal">
+<path d="M348.5 31h0"></path>
+<path d="M521.5 31h134"></path>
+<rect x="348.5" y="20" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="435" y="35">DatabaseConnection</text>
+</a>
+</g>
+<path d="M655.5 31h10"></path>
+<path d="M338.5 31v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M348.5 70h0"></path>
+<path d="M655.5 70h0"></path>
+<g class="terminal">
+<path d="M348.5 70h0"></path>
+<path d="M419.5 70h0"></path>
+<rect x="348.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="384" y="74">"FROM"</text>
+</g>
+<path d="M419.5 70h10"></path>
+<g>
+<path d="M429.5 70h0"></path>
+<path d="M549 70h0"></path>
+<path d="M429.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M449.5 50h79.5"></path>
+</g>
+<path d="M529 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M429.5 70h20"></path>
+<g class="terminal">
+<path d="M449.5 70h0"></path>
+<path d="M529 70h0"></path>
+<rect x="449.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="489.25" y="74">"TABLE"</text>
+</g>
+<path d="M529 70h20"></path>
+</g>
+<path d="M549 70h10"></path>
+<g class="non-terminal">
+<path d="M559 70h0"></path>
+<path d="M655.5 70h0"></path>
+<rect x="559" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="607.25" y="74">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M655.5 70a10 10 0 0 0 10 -10v-29"></path>
+<path d="M338.5 31v59a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M348.5 100h0"></path>
+<path d="M445 100h210.5"></path>
+<rect x="348.5" y="89" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="396.75" y="104">SQLClient</text>
+</a>
+</g>
+<path d="M655.5 100a10 10 0 0 0 10 -10v-59"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 338.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="323.5" y="35" class="diagram-text">1+</text>
+<path d="M 665.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 672.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M685.5 31h10"></path>
+<path d="M 695.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ModifyEntities.svg b/abap/statement_ModifyEntities.svg
new file mode 100644
index 00000000..daf2a2ab
--- /dev/null
+++ b/abap/statement_ModifyEntities.svg
@@ -0,0 +1,454 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2040.5" height="248" viewBox="0 0 2040.5 248">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1990.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v754</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M1990.5 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M298 40h0"></path>
+<rect x="108" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="203" y="44">"MODIFY ENTITIES OF"</text>
+</g>
+<path d="M298 40h10"></path>
+<path d="M308 40h10"></path>
+<g class="non-terminal">
+<path d="M318 40h0"></path>
+<path d="M499.5 40h0"></path>
+<rect x="318" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="408.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M499.5 40h10"></path>
+<g>
+<path d="M509.5 40h0"></path>
+<path d="M697 40h0"></path>
+<path d="M509.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M529.5 20h147.5"></path>
+</g>
+<path d="M677 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M509.5 40h20"></path>
+<g class="terminal">
+<path d="M529.5 40h0"></path>
+<path d="M677 40h0"></path>
+<rect x="529.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="603.25" y="44">"IN LOCAL MODE"</text>
+</g>
+<path d="M677 40h20"></path>
+</g>
+<path d="M697 40h10"></path>
+<g class="terminal">
+<path d="M707 40h0"></path>
+<path d="M795 40h0"></path>
+<rect x="707" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="751" y="44">"ENTITY"</text>
+</g>
+<path d="M795 40h10"></path>
+<path d="M805 40h10"></path>
+<g class="non-terminal">
+<path d="M815 40h0"></path>
+<path d="M920 40h0"></path>
+<rect x="815" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="867.5" y="44">SimpleName</text>
+</a>
+</g>
+<path d="M920 40h10"></path>
+<g>
+<path d="M930 40h0"></path>
+<path d="M1714.5 40h0"></path>
+<path d="M930 40h20"></path>
+<g>
+<path d="M950 40h0"></path>
+<path d="M1265 40h429.5"></path>
+<g class="terminal">
+<path d="M950 40h0"></path>
+<path d="M1174 40h0"></path>
+<rect x="950" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="1062" y="44">"UPDATE SET FIELDS WITH"</text>
+</g>
+<path d="M1174 40h10"></path>
+<path d="M1184 40h10"></path>
+<g class="non-terminal">
+<path d="M1194 40h0"></path>
+<path d="M1265 40h0"></path>
+<rect x="1194" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1229.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1694.5 40h20"></path>
+<path d="M930 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M950 70h0"></path>
+<path d="M1265 70h429.5"></path>
+<g class="terminal">
+<path d="M950 70h0"></path>
+<path d="M1174 70h0"></path>
+<rect x="950" y="59" width="224" height="22" rx="10" ry="10"></rect>
+<text x="1062" y="74">"CREATE SET FIELDS WITH"</text>
+</g>
+<path d="M1174 70h10"></path>
+<path d="M1184 70h10"></path>
+<g class="non-terminal">
+<path d="M1194 70h0"></path>
+<path d="M1265 70h0"></path>
+<rect x="1194" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1229.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M1694.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M930 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M950 100h0"></path>
+<path d="M1507 100h187.5"></path>
+<g class="terminal">
+<path d="M950 100h0"></path>
+<path d="M1038 100h0"></path>
+<rect x="950" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="994" y="104">"UPDATE"</text>
+</g>
+<path d="M1038 100h10"></path>
+<path d="M1048 100h10"></path>
+<g>
+<path d="M1058 100h0"></path>
+<path d="M1507 100h0"></path>
+<g class="terminal">
+<path d="M1058 100h0"></path>
+<path d="M1163 100h0"></path>
+<rect x="1058" y="89" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1110.5" y="104">"FIELDS ("</text>
+</g>
+<path d="M1163 100h10"></path>
+<path d="M1173 100h10"></path>
+<g>
+<path d="M1183 100h0"></path>
+<path d="M1308 100h0"></path>
+<path d="M1183 100h10"></path>
+<g class="non-terminal">
+<path d="M1193 100h0"></path>
+<path d="M1298 100h0"></path>
+<rect x="1193" y="89" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1245.5" y="104">SimpleName</text>
+</a>
+</g>
+<path d="M1298 100h10"></path>
+<path d="M1193 100a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1193 120h105"></path>
+</g>
+<path d="M1298 120a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1308 100h10"></path>
+<path d="M1318 100h10"></path>
+<g class="terminal">
+<path d="M1328 100h0"></path>
+<path d="M1416 100h0"></path>
+<rect x="1328" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1372" y="104">") WITH"</text>
+</g>
+<path d="M1416 100h10"></path>
+<path d="M1426 100h10"></path>
+<g class="non-terminal">
+<path d="M1436 100h0"></path>
+<path d="M1507 100h0"></path>
+<rect x="1436" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1471.5" y="104">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1694.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M930 40a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M950 139h0"></path>
+<path d="M1171.5 139h523"></path>
+<g class="terminal">
+<path d="M950 139h0"></path>
+<path d="M1080.5 139h0"></path>
+<rect x="950" y="128" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1015.25" y="143">"DELETE FROM"</text>
+</g>
+<path d="M1080.5 139h10"></path>
+<path d="M1090.5 139h10"></path>
+<g class="non-terminal">
+<path d="M1100.5 139h0"></path>
+<path d="M1171.5 139h0"></path>
+<rect x="1100.5" y="128" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1136" y="143">Source</text>
+</a>
+</g>
+</g>
+<path d="M1694.5 139a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M930 40a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M950 169h0"></path>
+<path d="M1353.5 169h341"></path>
+<g class="terminal">
+<path d="M950 169h0"></path>
+<path d="M1046.5 169h0"></path>
+<rect x="950" y="158" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="998.25" y="173">"EXECUTE"</text>
+</g>
+<path d="M1046.5 169h10"></path>
+<path d="M1056.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1066.5 169h0"></path>
+<path d="M1171.5 169h0"></path>
+<rect x="1066.5" y="158" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1119" y="173">SimpleName</text>
+</a>
+</g>
+<path d="M1171.5 169h10"></path>
+<path d="M1181.5 169h10"></path>
+<g class="terminal">
+<path d="M1191.5 169h0"></path>
+<path d="M1262.5 169h0"></path>
+<rect x="1191.5" y="158" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1227" y="173">"FROM"</text>
+</g>
+<path d="M1262.5 169h10"></path>
+<path d="M1272.5 169h10"></path>
+<g class="non-terminal">
+<path d="M1282.5 169h0"></path>
+<path d="M1353.5 169h0"></path>
+<rect x="1282.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1318" y="173">Source</text>
+</a>
+</g>
+</g>
+<path d="M1694.5 169a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M930 40a10 10 0 0 1 10 10v148a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M950 208h0"></path>
+<path d="M1694.5 208h0"></path>
+<g class="terminal">
+<path d="M950 208h0"></path>
+<path d="M1038 208h0"></path>
+<rect x="950" y="197" width="88" height="22" rx="10" ry="10"></rect>
+<text x="994" y="212">"CREATE"</text>
+</g>
+<path d="M1038 208h10"></path>
+<g>
+<path d="M1048 208h0"></path>
+<path d="M1235.5 208h0"></path>
+<path d="M1048 208a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1068 188h147.5"></path>
+</g>
+<path d="M1215.5 188a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1048 208h20"></path>
+<g class="terminal">
+<path d="M1068 208h0"></path>
+<path d="M1215.5 208h0"></path>
+<rect x="1068" y="197" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1141.75" y="212">"AUTO FILL CID"</text>
+</g>
+<path d="M1215.5 208h20"></path>
+</g>
+<path d="M1235.5 208h10"></path>
+<g>
+<path d="M1245.5 208h0"></path>
+<path d="M1694.5 208h0"></path>
+<g class="terminal">
+<path d="M1245.5 208h0"></path>
+<path d="M1350.5 208h0"></path>
+<rect x="1245.5" y="197" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1298" y="212">"FIELDS ("</text>
+</g>
+<path d="M1350.5 208h10"></path>
+<path d="M1360.5 208h10"></path>
+<g>
+<path d="M1370.5 208h0"></path>
+<path d="M1495.5 208h0"></path>
+<path d="M1370.5 208h10"></path>
+<g class="non-terminal">
+<path d="M1380.5 208h0"></path>
+<path d="M1485.5 208h0"></path>
+<rect x="1380.5" y="197" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1433" y="212">SimpleName</text>
+</a>
+</g>
+<path d="M1485.5 208h10"></path>
+<path d="M1380.5 208a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1380.5 228h105"></path>
+</g>
+<path d="M1485.5 228a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1495.5 208h10"></path>
+<path d="M1505.5 208h10"></path>
+<g class="terminal">
+<path d="M1515.5 208h0"></path>
+<path d="M1603.5 208h0"></path>
+<rect x="1515.5" y="197" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1559.5" y="212">") WITH"</text>
+</g>
+<path d="M1603.5 208h10"></path>
+<path d="M1613.5 208h10"></path>
+<g class="non-terminal">
+<path d="M1623.5 208h0"></path>
+<path d="M1694.5 208h0"></path>
+<rect x="1623.5" y="197" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1659" y="212">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1694.5 208a10 10 0 0 0 10 -10v-148a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1714.5 40h10"></path>
+<g>
+<path d="M1724.5 40h0"></path>
+<path d="M1990.5 40h0"></path>
+<path d="M1754.5 40h10"></path>
+<g>
+<path d="M1764.5 40h0"></path>
+<path d="M1943.5 40h17"></path>
+<g class="terminal">
+<path d="M1764.5 40h0"></path>
+<path d="M1852.5 40h0"></path>
+<rect x="1764.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1808.5" y="44">"FAILED"</text>
+</g>
+<path d="M1852.5 40h10"></path>
+<path d="M1862.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1872.5 40h0"></path>
+<path d="M1943.5 40h0"></path>
+<rect x="1872.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1908" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1960.5 40h10"></path>
+<path d="M1754.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1764.5 70h0"></path>
+<path d="M1943.5 70h17"></path>
+<g class="terminal">
+<path d="M1764.5 70h0"></path>
+<path d="M1852.5 70h0"></path>
+<rect x="1764.5" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1808.5" y="74">"RESULT"</text>
+</g>
+<path d="M1852.5 70h10"></path>
+<path d="M1862.5 70h10"></path>
+<g class="non-terminal">
+<path d="M1872.5 70h0"></path>
+<path d="M1943.5 70h0"></path>
+<rect x="1872.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1908" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M1960.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1754.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1764.5 100h0"></path>
+<path d="M1943.5 100h17"></path>
+<g class="terminal">
+<path d="M1764.5 100h0"></path>
+<path d="M1852.5 100h0"></path>
+<rect x="1764.5" y="89" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1808.5" y="104">"MAPPED"</text>
+</g>
+<path d="M1852.5 100h10"></path>
+<path d="M1862.5 100h10"></path>
+<g class="non-terminal">
+<path d="M1872.5 100h0"></path>
+<path d="M1943.5 100h0"></path>
+<rect x="1872.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1908" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M1960.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1754.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1764.5 130h0"></path>
+<path d="M1960.5 130h0"></path>
+<g class="terminal">
+<path d="M1764.5 130h0"></path>
+<path d="M1869.5 130h0"></path>
+<rect x="1764.5" y="119" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1817" y="134">"REPORTED"</text>
+</g>
+<path d="M1869.5 130h10"></path>
+<path d="M1879.5 130h10"></path>
+<g class="non-terminal">
+<path d="M1889.5 130h0"></path>
+<path d="M1960.5 130h0"></path>
+<rect x="1889.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1925" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M1960.5 130a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1754.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1739.5" y="44" class="diagram-text">1+</text>
+<path d="M 1970.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1977.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M1990.5 40h10"></path>
+<path d="M 2000.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ModifyInternal.svg b/abap/statement_ModifyInternal.svg
new file mode 100644
index 00000000..6f592289
--- /dev/null
+++ b/abap/statement_ModifyInternal.svg
@@ -0,0 +1,683 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2075.5" height="422" viewBox="0 0 2075.5 422">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M2035.5 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M2015.5 40h0"></path>
+<g class="terminal">
+<path d="M60 40h0"></path>
+<path d="M148 40h0"></path>
+<rect x="60" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="44">"MODIFY"</text>
+</g>
+<path d="M148 40h10"></path>
+<g>
+<path d="M158 40h0"></path>
+<path d="M277.5 40h0"></path>
+<path d="M158 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M178 20h79.5"></path>
+</g>
+<path d="M257.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M158 40h20"></path>
+<g class="terminal">
+<path d="M178 40h0"></path>
+<path d="M257.5 40h0"></path>
+<rect x="178" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="217.75" y="44">"TABLE"</text>
+</g>
+<path d="M257.5 40h20"></path>
+</g>
+<g>
+<path d="M277.5 40h0"></path>
+<path d="M397 40h0"></path>
+<path d="M277.5 40h20"></path>
+<g class="non-terminal">
+<path d="M297.5 40h0"></path>
+<path d="M368.5 40h8.5"></path>
+<rect x="297.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="333" y="44">Target</text>
+</a>
+</g>
+<path d="M377 40h20"></path>
+<path d="M277.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M297.5 70h0"></path>
+<path d="M377 70h0"></path>
+<rect x="297.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="337.25" y="74">Dynamic</text>
+</a>
+</g>
+<path d="M377 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M397 40h0"></path>
+<path d="M1667 40h0"></path>
+<path d="M397 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M417 20h1230"></path>
+</g>
+<path d="M1647 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M397 40h20"></path>
+<g>
+<path d="M417 40h0"></path>
+<path d="M1647 40h0"></path>
+<path d="M417 40h20"></path>
+<g>
+<path d="M437 40h0"></path>
+<path d="M916 40h711"></path>
+<path d="M467 40h10"></path>
+<g>
+<path d="M477 40h0"></path>
+<path d="M647.5 40h238.5"></path>
+<g class="terminal">
+<path d="M477 40h0"></path>
+<path d="M556.5 40h0"></path>
+<rect x="477" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="44">"INDEX"</text>
+</g>
+<path d="M556.5 40h10"></path>
+<path d="M566.5 40h10"></path>
+<g class="non-terminal">
+<path d="M576.5 40h0"></path>
+<path d="M647.5 40h0"></path>
+<rect x="576.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="612" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M886 40h10"></path>
+<path d="M467 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M477 70h0"></path>
+<path d="M886 70h0"></path>
+<g class="terminal">
+<path d="M477 70h0"></path>
+<path d="M616 70h0"></path>
+<rect x="477" y="59" width="139" height="22" rx="10" ry="10"></rect>
+<text x="546.5" y="74">"TRANSPORTING"</text>
+</g>
+<path d="M616 70h10"></path>
+<path d="M626 70h10"></path>
+<g>
+<path d="M636 70h0"></path>
+<path d="M886 70h0"></path>
+<path d="M636 70h10"></path>
+<g>
+<path d="M646 70h0"></path>
+<path d="M876 70h0"></path>
+<path d="M646 70h20"></path>
+<g class="non-terminal">
+<path d="M666 70h0"></path>
+<path d="M856 70h0"></path>
+<rect x="666" y="59" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="761" y="74">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M856 70h20"></path>
+<path d="M646 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M666 100h0"></path>
+<path d="M745.5 100h110.5"></path>
+<rect x="666" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="705.75" y="104">Dynamic</text>
+</a>
+</g>
+<path d="M856 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M876 70h10"></path>
+<path d="M646 70a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M646 119h230"></path>
+</g>
+<path d="M876 119a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M886 70a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 467 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="452" y="44" class="diagram-text">1+</text>
+<path d="M 896 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 903 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1627 40h20"></path>
+<path d="M417 40a10 10 0 0 1 10 10v87a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437 147h0"></path>
+<path d="M1128 147h499"></path>
+<g>
+<path d="M437 147h0"></path>
+<path d="M599 147h0"></path>
+<g class="terminal">
+<path d="M437 147h0"></path>
+<path d="M508 147h0"></path>
+<rect x="437" y="136" width="71" height="22" rx="10" ry="10"></rect>
+<text x="472.5" y="151">"FROM"</text>
+</g>
+<path d="M508 147h10"></path>
+<path d="M518 147h10"></path>
+<g class="non-terminal">
+<path d="M528 147h0"></path>
+<path d="M599 147h0"></path>
+<rect x="528" y="136" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="563.5" y="151">Source</text>
+</a>
+</g>
+</g>
+<path d="M599 147h10"></path>
+<g>
+<path d="M609 147h0"></path>
+<path d="M1128 147h0"></path>
+<path d="M609 147a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M629 127h479"></path>
+</g>
+<path d="M1108 127a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M609 147h20"></path>
+<g>
+<path d="M629 147h0"></path>
+<path d="M1108 147h0"></path>
+<path d="M659 147h10"></path>
+<g>
+<path d="M669 147h0"></path>
+<path d="M839.5 147h238.5"></path>
+<g class="terminal">
+<path d="M669 147h0"></path>
+<path d="M748.5 147h0"></path>
+<rect x="669" y="136" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="708.75" y="151">"INDEX"</text>
+</g>
+<path d="M748.5 147h10"></path>
+<path d="M758.5 147h10"></path>
+<g class="non-terminal">
+<path d="M768.5 147h0"></path>
+<path d="M839.5 147h0"></path>
+<rect x="768.5" y="136" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="804" y="151">Source</text>
+</a>
+</g>
+</g>
+<path d="M1078 147h10"></path>
+<path d="M659 147v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M669 177h0"></path>
+<path d="M1078 177h0"></path>
+<g class="terminal">
+<path d="M669 177h0"></path>
+<path d="M808 177h0"></path>
+<rect x="669" y="166" width="139" height="22" rx="10" ry="10"></rect>
+<text x="738.5" y="181">"TRANSPORTING"</text>
+</g>
+<path d="M808 177h10"></path>
+<path d="M818 177h10"></path>
+<g>
+<path d="M828 177h0"></path>
+<path d="M1078 177h0"></path>
+<path d="M828 177h10"></path>
+<g>
+<path d="M838 177h0"></path>
+<path d="M1068 177h0"></path>
+<path d="M838 177h20"></path>
+<g class="non-terminal">
+<path d="M858 177h0"></path>
+<path d="M1048 177h0"></path>
+<rect x="858" y="166" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="953" y="181">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M1048 177h20"></path>
+<path d="M838 177a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M858 207h0"></path>
+<path d="M937.5 207h110.5"></path>
+<rect x="858" y="196" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="897.75" y="211">Dynamic</text>
+</a>
+</g>
+<path d="M1048 207a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1068 177h10"></path>
+<path d="M838 177a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M838 226h230"></path>
+</g>
+<path d="M1068 226a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1078 177a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 659 137 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="644" y="151" class="diagram-text">1+</text>
+<path d="M 1088 137 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1095 145 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1108 147h20"></path>
+</g>
+</g>
+<path d="M1627 147a10 10 0 0 0 10 -10v-87a10 10 0 0 1 10 -10"></path>
+<path d="M417 40a10 10 0 0 1 10 10v194a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437 254h0"></path>
+<path d="M1627 254h0"></path>
+<g>
+<path d="M437 254h0"></path>
+<path d="M916 254h0"></path>
+<path d="M467 254h10"></path>
+<g>
+<path d="M477 254h0"></path>
+<path d="M647.5 254h238.5"></path>
+<g class="terminal">
+<path d="M477 254h0"></path>
+<path d="M556.5 254h0"></path>
+<rect x="477" y="243" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="258">"INDEX"</text>
+</g>
+<path d="M556.5 254h10"></path>
+<path d="M566.5 254h10"></path>
+<g class="non-terminal">
+<path d="M576.5 254h0"></path>
+<path d="M647.5 254h0"></path>
+<rect x="576.5" y="243" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="612" y="258">Source</text>
+</a>
+</g>
+</g>
+<path d="M886 254h10"></path>
+<path d="M467 254v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M477 284h0"></path>
+<path d="M886 284h0"></path>
+<g class="terminal">
+<path d="M477 284h0"></path>
+<path d="M616 284h0"></path>
+<rect x="477" y="273" width="139" height="22" rx="10" ry="10"></rect>
+<text x="546.5" y="288">"TRANSPORTING"</text>
+</g>
+<path d="M616 284h10"></path>
+<path d="M626 284h10"></path>
+<g>
+<path d="M636 284h0"></path>
+<path d="M886 284h0"></path>
+<path d="M636 284h10"></path>
+<g>
+<path d="M646 284h0"></path>
+<path d="M876 284h0"></path>
+<path d="M646 284h20"></path>
+<g class="non-terminal">
+<path d="M666 284h0"></path>
+<path d="M856 284h0"></path>
+<rect x="666" y="273" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="761" y="288">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M856 284h20"></path>
+<path d="M646 284a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M666 314h0"></path>
+<path d="M745.5 314h110.5"></path>
+<rect x="666" y="303" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="705.75" y="318">Dynamic</text>
+</a>
+</g>
+<path d="M856 314a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M876 284h10"></path>
+<path d="M646 284a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M646 333h230"></path>
+</g>
+<path d="M876 333a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M886 284a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 467 244 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="452" y="258" class="diagram-text">1+</text>
+<path d="M 896 244 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 903 252 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M916 254h10"></path>
+<path d="M926 254h10"></path>
+<g>
+<path d="M936 254h0"></path>
+<path d="M1098 254h0"></path>
+<g class="terminal">
+<path d="M936 254h0"></path>
+<path d="M1007 254h0"></path>
+<rect x="936" y="243" width="71" height="22" rx="10" ry="10"></rect>
+<text x="971.5" y="258">"FROM"</text>
+</g>
+<path d="M1007 254h10"></path>
+<path d="M1017 254h10"></path>
+<g class="non-terminal">
+<path d="M1027 254h0"></path>
+<path d="M1098 254h0"></path>
+<rect x="1027" y="243" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1062.5" y="258">Source</text>
+</a>
+</g>
+</g>
+<path d="M1098 254h10"></path>
+<g>
+<path d="M1108 254h0"></path>
+<path d="M1627 254h0"></path>
+<path d="M1108 254a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1128 234h479"></path>
+</g>
+<path d="M1607 234a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1108 254h20"></path>
+<g>
+<path d="M1128 254h0"></path>
+<path d="M1607 254h0"></path>
+<path d="M1158 254h10"></path>
+<g>
+<path d="M1168 254h0"></path>
+<path d="M1338.5 254h238.5"></path>
+<g class="terminal">
+<path d="M1168 254h0"></path>
+<path d="M1247.5 254h0"></path>
+<rect x="1168" y="243" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1207.75" y="258">"INDEX"</text>
+</g>
+<path d="M1247.5 254h10"></path>
+<path d="M1257.5 254h10"></path>
+<g class="non-terminal">
+<path d="M1267.5 254h0"></path>
+<path d="M1338.5 254h0"></path>
+<rect x="1267.5" y="243" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1303" y="258">Source</text>
+</a>
+</g>
+</g>
+<path d="M1577 254h10"></path>
+<path d="M1158 254v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1168 284h0"></path>
+<path d="M1577 284h0"></path>
+<g class="terminal">
+<path d="M1168 284h0"></path>
+<path d="M1307 284h0"></path>
+<rect x="1168" y="273" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1237.5" y="288">"TRANSPORTING"</text>
+</g>
+<path d="M1307 284h10"></path>
+<path d="M1317 284h10"></path>
+<g>
+<path d="M1327 284h0"></path>
+<path d="M1577 284h0"></path>
+<path d="M1327 284h10"></path>
+<g>
+<path d="M1337 284h0"></path>
+<path d="M1567 284h0"></path>
+<path d="M1337 284h20"></path>
+<g class="non-terminal">
+<path d="M1357 284h0"></path>
+<path d="M1547 284h0"></path>
+<rect x="1357" y="273" width="190" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChainSimple"><text x="1452" y="288">ComponentChainSimple</text>
+</a>
+</g>
+<path d="M1547 284h20"></path>
+<path d="M1337 284a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1357 314h0"></path>
+<path d="M1436.5 314h110.5"></path>
+<rect x="1357" y="303" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="1396.75" y="318">Dynamic</text>
+</a>
+</g>
+<path d="M1547 314a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1567 284h10"></path>
+<path d="M1337 284a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1337 333h230"></path>
+</g>
+<path d="M1567 333a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1577 284a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1158 244 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1143" y="258" class="diagram-text">1+</text>
+<path d="M 1587 244 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1594 252 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1607 254h20"></path>
+</g>
+</g>
+<path d="M1627 254a10 10 0 0 0 10 -10v-194a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1647 40h20"></path>
+</g>
+<g>
+<path d="M1667 40h0"></path>
+<path d="M2015.5 40h0"></path>
+<path d="M1667 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1687 20h308.5"></path>
+</g>
+<path d="M1995.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1667 40h20"></path>
+<g>
+<path d="M1687 40h0"></path>
+<path d="M1995.5 40h0"></path>
+<path d="M1717 40h10"></path>
+<g>
+<path d="M1727 40h0"></path>
+<path d="M1957 40h8.5"></path>
+<g class="terminal">
+<path d="M1727 40h0"></path>
+<path d="M1806.5 40h0"></path>
+<rect x="1727" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1766.75" y="44">"WHERE"</text>
+</g>
+<path d="M1806.5 40h10"></path>
+<path d="M1816.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1826.5 40h0"></path>
+<path d="M1957 40h0"></path>
+<rect x="1826.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCond"><text x="1891.75" y="44">ComponentCond</text>
+</a>
+</g>
+</g>
+<path d="M1965.5 40h10"></path>
+<path d="M1717 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1727 70h0"></path>
+<path d="M1948.5 70h17"></path>
+<g class="terminal">
+<path d="M1727 70h0"></path>
+<path d="M1840.5 70h0"></path>
+<rect x="1727" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1783.75" y="74">"ASSIGNING"</text>
+</g>
+<path d="M1840.5 70h10"></path>
+<path d="M1850.5 70h10"></path>
+<g class="non-terminal">
+<path d="M1860.5 70h0"></path>
+<path d="M1948.5 70h0"></path>
+<rect x="1860.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FSTarget"><text x="1904.5" y="74">FSTarget</text>
+</a>
+</g>
+</g>
+<path d="M1965.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1717 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1727 100h0"></path>
+<path d="M1965.5 100h0"></path>
+<g class="terminal">
+<path d="M1727 100h0"></path>
+<path d="M1840.5 100h0"></path>
+<rect x="1727" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1783.75" y="104">"USING KEY"</text>
+</g>
+<path d="M1840.5 100h10"></path>
+<path d="M1850.5 100h10"></path>
+<g class="non-terminal">
+<path d="M1860.5 100h0"></path>
+<path d="M1965.5 100h0"></path>
+<rect x="1860.5" y="89" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1913" y="104">SimpleName</text>
+</a>
+</g>
+</g>
+<path d="M1965.5 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1717 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1702" y="44" class="diagram-text">1+</text>
+<path d="M 1975.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1982.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1995.5 40h20"></path>
+</g>
+</g>
+<path d="M2015.5 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v301a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 361h0"></path>
+<path d="M789 361h1226.5"></path>
+<g class="terminal">
+<path d="M60 361h0"></path>
+<path d="M199 361h0"></path>
+<rect x="60" y="350" width="139" height="22" rx="10" ry="10"></rect>
+<text x="129.5" y="365">"MODIFY TABLE"</text>
+</g>
+<path d="M199 361h10"></path>
+<g>
+<path d="M209 361h0"></path>
+<path d="M328.5 361h0"></path>
+<path d="M209 361h20"></path>
+<g class="non-terminal">
+<path d="M229 361h0"></path>
+<path d="M300 361h8.5"></path>
+<rect x="229" y="350" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="264.5" y="365">Target</text>
+</a>
+</g>
+<path d="M308.5 361h20"></path>
+<path d="M209 361a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M229 391h0"></path>
+<path d="M308.5 391h0"></path>
+<rect x="229" y="380" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="268.75" y="395">Dynamic</text>
+</a>
+</g>
+<path d="M308.5 391a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M328.5 361h10"></path>
+<g>
+<path d="M338.5 361h0"></path>
+<path d="M500.5 361h0"></path>
+<g class="terminal">
+<path d="M338.5 361h0"></path>
+<path d="M409.5 361h0"></path>
+<rect x="338.5" y="350" width="71" height="22" rx="10" ry="10"></rect>
+<text x="374" y="365">"FROM"</text>
+</g>
+<path d="M409.5 361h10"></path>
+<path d="M419.5 361h10"></path>
+<g class="non-terminal">
+<path d="M429.5 361h0"></path>
+<path d="M500.5 361h0"></path>
+<rect x="429.5" y="350" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="465" y="365">Source</text>
+</a>
+</g>
+</g>
+<path d="M500.5 361h10"></path>
+<g>
+<path d="M510.5 361h0"></path>
+<path d="M789 361h0"></path>
+<path d="M510.5 361a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M530.5 341h238.5"></path>
+</g>
+<path d="M769 341a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M510.5 361h20"></path>
+<g>
+<path d="M530.5 361h0"></path>
+<path d="M769 361h0"></path>
+<g class="terminal">
+<path d="M530.5 361h0"></path>
+<path d="M644 361h0"></path>
+<rect x="530.5" y="350" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="587.25" y="365">"USING KEY"</text>
+</g>
+<path d="M644 361h10"></path>
+<path d="M654 361h10"></path>
+<g class="non-terminal">
+<path d="M664 361h0"></path>
+<path d="M769 361h0"></path>
+<rect x="664" y="350" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="716.5" y="365">SimpleName</text>
+</a>
+</g>
+</g>
+<path d="M769 361h20"></path>
+</g>
+</g>
+<path d="M2015.5 361a10 10 0 0 0 10 -10v-301a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 2035.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ModifyLine.svg b/abap/statement_ModifyLine.svg
new file mode 100644
index 00000000..7f2ad8c4
--- /dev/null
+++ b/abap/statement_ModifyLine.svg
@@ -0,0 +1,428 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1166" height="488" viewBox="0 0 1166 488">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1116 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1116 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"MODIFY"</text>
+</g>
+<path d="M231 40h10"></path>
+<g>
+<path d="M241 40h0"></path>
+<path d="M443 40h0"></path>
+<path d="M241 40h20"></path>
+<g class="terminal">
+<path d="M261 40h0"></path>
+<path d="M400 40h23"></path>
+<rect x="261" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="330.5" y="44">"CURRENT LINE"</text>
+</g>
+<path d="M423 40h20"></path>
+<path d="M241 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M261 70h0"></path>
+<path d="M423 70h0"></path>
+<g class="terminal">
+<path d="M261 70h0"></path>
+<path d="M332 70h0"></path>
+<rect x="261" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="296.5" y="74">"LINE"</text>
+</g>
+<path d="M332 70h10"></path>
+<path d="M342 70h10"></path>
+<g class="non-terminal">
+<path d="M352 70h0"></path>
+<path d="M423 70h0"></path>
+<rect x="352" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="387.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M423 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M443 40h0"></path>
+<path d="M1116 40h0"></path>
+<path d="M443 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M463 20h633"></path>
+</g>
+<path d="M1096 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M443 40h20"></path>
+<g>
+<path d="M463 40h0"></path>
+<path d="M1096 40h0"></path>
+<path d="M493 40h10"></path>
+<g>
+<path d="M503 40h0"></path>
+<path d="M673.5 40h392.5"></path>
+<g class="terminal">
+<path d="M503 40h0"></path>
+<path d="M582.5 40h0"></path>
+<rect x="503" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="542.75" y="44">"INDEX"</text>
+</g>
+<path d="M582.5 40h10"></path>
+<path d="M592.5 40h10"></path>
+<g class="non-terminal">
+<path d="M602.5 40h0"></path>
+<path d="M673.5 40h0"></path>
+<rect x="602.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="638" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1066 40h10"></path>
+<path d="M493 40v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 79h0"></path>
+<path d="M956.5 79h109.5"></path>
+<g class="terminal">
+<path d="M503 79h0"></path>
+<path d="M633.5 79h0"></path>
+<rect x="503" y="68" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="568.25" y="83">"FIELD VALUE"</text>
+</g>
+<path d="M633.5 79h10"></path>
+<path d="M643.5 79h10"></path>
+<g>
+<path d="M653.5 79h0"></path>
+<path d="M956.5 79h0"></path>
+<path d="M653.5 79h10"></path>
+<g>
+<path d="M663.5 79h0"></path>
+<path d="M946.5 79h0"></path>
+<g class="non-terminal">
+<path d="M663.5 79h0"></path>
+<path d="M734.5 79h0"></path>
+<rect x="663.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="699" y="83">Source</text>
+</a>
+</g>
+<path d="M734.5 79h10"></path>
+<g>
+<path d="M744.5 79h0"></path>
+<path d="M946.5 79h0"></path>
+<path d="M744.5 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M764.5 59h162"></path>
+</g>
+<path d="M926.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M744.5 79h20"></path>
+<g>
+<path d="M764.5 79h0"></path>
+<path d="M926.5 79h0"></path>
+<g class="terminal">
+<path d="M764.5 79h0"></path>
+<path d="M835.5 79h0"></path>
+<rect x="764.5" y="68" width="71" height="22" rx="10" ry="10"></rect>
+<text x="800" y="83">"FROM"</text>
+</g>
+<path d="M835.5 79h10"></path>
+<path d="M845.5 79h10"></path>
+<g class="non-terminal">
+<path d="M855.5 79h0"></path>
+<path d="M926.5 79h0"></path>
+<rect x="855.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="891" y="83">Source</text>
+</a>
+</g>
+</g>
+<path d="M926.5 79h20"></path>
+</g>
+</g>
+<path d="M946.5 79h10"></path>
+<path d="M663.5 79a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M663.5 99h283"></path>
+</g>
+<path d="M946.5 99a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1066 79a10 10 0 0 0 10 -10v-29"></path>
+<path d="M493 40v77a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 127h0"></path>
+<path d="M1066 127h0"></path>
+<g class="terminal">
+<path d="M503 127h0"></path>
+<path d="M642 127h0"></path>
+<rect x="503" y="116" width="139" height="22" rx="10" ry="10"></rect>
+<text x="572.5" y="131">"FIELD FORMAT"</text>
+</g>
+<path d="M642 127h10"></path>
+<path d="M652 127h10"></path>
+<g class="non-terminal">
+<path d="M662 127h0"></path>
+<path d="M733 127h0"></path>
+<rect x="662" y="116" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="697.5" y="131">Source</text>
+</a>
+</g>
+<path d="M733 127h10"></path>
+<g>
+<path d="M743 127h0"></path>
+<path d="M1066 127h0"></path>
+<path d="M743 127a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M763 107h283"></path>
+</g>
+<path d="M1046 107a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M743 127h20"></path>
+<g>
+<path d="M763 127h0"></path>
+<path d="M1046 127h0"></path>
+<g>
+<path d="M763 127h0"></path>
+<path d="M899.5 127h0"></path>
+<path d="M763 127h20"></path>
+<g class="terminal">
+<path d="M783 127h0"></path>
+<path d="M879.5 127h0"></path>
+<rect x="783" y="116" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="831.25" y="131">"INVERSE"</text>
+</g>
+<path d="M879.5 127h20"></path>
+<path d="M763 127a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M783 157h0"></path>
+<path d="M862.5 157h17"></path>
+<rect x="783" y="146" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="822.75" y="161">"INPUT"</text>
+</g>
+<path d="M879.5 157a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M899.5 127h10"></path>
+<g class="terminal">
+<path d="M909.5 127h0"></path>
+<path d="M955 127h0"></path>
+<rect x="909.5" y="116" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="932.25" y="131">"="</text>
+</g>
+<path d="M955 127h10"></path>
+<path d="M965 127h10"></path>
+<g class="non-terminal">
+<path d="M975 127h0"></path>
+<path d="M1046 127h0"></path>
+<rect x="975" y="116" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1010.5" y="131">Source</text>
+</a>
+</g>
+</g>
+<path d="M1046 127h20"></path>
+</g>
+</g>
+<path d="M1066 127a10 10 0 0 0 10 -10v-77"></path>
+<path d="M493 40v137a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 187h0"></path>
+<path d="M690.5 187h375.5"></path>
+<g class="terminal">
+<path d="M503 187h0"></path>
+<path d="M599.5 187h0"></path>
+<rect x="503" y="176" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="551.25" y="191">"OF PAGE"</text>
+</g>
+<path d="M599.5 187h10"></path>
+<path d="M609.5 187h10"></path>
+<g class="non-terminal">
+<path d="M619.5 187h0"></path>
+<path d="M690.5 187h0"></path>
+<rect x="619.5" y="176" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="655" y="191">Source</text>
+</a>
+</g>
+</g>
+<path d="M1066 187a10 10 0 0 0 10 -10v-137"></path>
+<path d="M493 40v167a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 217h0"></path>
+<path d="M814 217h252"></path>
+<g class="terminal">
+<path d="M503 217h0"></path>
+<path d="M633.5 217h0"></path>
+<rect x="503" y="206" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="568.25" y="221">"LINE FORMAT"</text>
+</g>
+<path d="M633.5 217h10"></path>
+<g>
+<path d="M643.5 217h0"></path>
+<path d="M814 217h0"></path>
+<path d="M643.5 217h20"></path>
+<g class="terminal">
+<path d="M663.5 217h0"></path>
+<path d="M777 217h17"></path>
+<rect x="663.5" y="206" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="720.25" y="221">"INPUT OFF"</text>
+</g>
+<path d="M794 217h20"></path>
+<path d="M643.5 217a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M663.5 247h0"></path>
+<path d="M760 247h34"></path>
+<rect x="663.5" y="236" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="711.75" y="251">"INVERSE"</text>
+</g>
+<path d="M794 247a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M643.5 217a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M663.5 277h0"></path>
+<path d="M743 277h51"></path>
+<rect x="663.5" y="266" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="703.25" y="281">"RESET"</text>
+</g>
+<path d="M794 277a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M643.5 217a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M663.5 307h0"></path>
+<path d="M794 307h0"></path>
+<rect x="663.5" y="296" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="728.75" y="311">"INTENSIFIED"</text>
+</g>
+<path d="M794 307a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1066 217a10 10 0 0 0 10 -10v-167"></path>
+<path d="M493 40v287a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 337h0"></path>
+<path d="M758.5 337h307.5"></path>
+<g class="terminal">
+<path d="M503 337h0"></path>
+<path d="M667.5 337h0"></path>
+<rect x="503" y="326" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="585.25" y="341">"LINE VALUE FROM"</text>
+</g>
+<path d="M667.5 337h10"></path>
+<path d="M677.5 337h10"></path>
+<g class="non-terminal">
+<path d="M687.5 337h0"></path>
+<path d="M758.5 337h0"></path>
+<rect x="687.5" y="326" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="723" y="341">Source</text>
+</a>
+</g>
+</g>
+<path d="M1066 337a10 10 0 0 0 10 -10v-287"></path>
+<path d="M493 40v317a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M503 367h0"></path>
+<path d="M667.5 367h398.5"></path>
+<rect x="503" y="356" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="585.25" y="371">"OF CURRENT PAGE"</text>
+</g>
+<path d="M1066 367a10 10 0 0 0 10 -10v-317"></path>
+<path d="M493 40v347a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M503 397h0"></path>
+<path d="M746 397h320"></path>
+<g class="terminal">
+<path d="M503 397h0"></path>
+<path d="M633.5 397h0"></path>
+<rect x="503" y="386" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="568.25" y="401">"INTENSIFIED"</text>
+</g>
+<path d="M633.5 397h10"></path>
+<g>
+<path d="M643.5 397h0"></path>
+<path d="M746 397h0"></path>
+<path d="M643.5 397h20"></path>
+<g class="terminal">
+<path d="M663.5 397h0"></path>
+<path d="M717.5 397h8.5"></path>
+<rect x="663.5" y="386" width="54" height="22" rx="10" ry="10"></rect>
+<text x="690.5" y="401">"ON"</text>
+</g>
+<path d="M726 397h20"></path>
+<path d="M643.5 397a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M663.5 427h0"></path>
+<path d="M726 427h0"></path>
+<rect x="663.5" y="416" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="694.75" y="431">"OFF"</text>
+</g>
+<path d="M726 427a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1066 397a10 10 0 0 0 10 -10v-347"></path>
+<path d="M493 40v407a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M503 457h0"></path>
+<path d="M565.5 457h500.5"></path>
+<rect x="503" y="446" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Color"><text x="534.25" y="461">Color</text>
+</a>
+</g>
+<path d="M1066 457a10 10 0 0 0 10 -10v-407"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 493 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="478" y="44" class="diagram-text">1+</text>
+<path d="M 1076 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1083 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1096 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1116 40h10"></path>
+<path d="M 1126 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ModifyScreen.svg b/abap/statement_ModifyScreen.svg
new file mode 100644
index 00000000..76448b37
--- /dev/null
+++ b/abap/statement_ModifyScreen.svg
@@ -0,0 +1,101 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="552.5" height="71" viewBox="0 0 552.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M502.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M502.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"MODIFY SCREEN"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<g>
+<path d="M300.5 40h0"></path>
+<path d="M502.5 40h0"></path>
+<path d="M300.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M320.5 20h162"></path>
+</g>
+<path d="M482.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M300.5 40h20"></path>
+<g>
+<path d="M320.5 40h0"></path>
+<path d="M482.5 40h0"></path>
+<g class="terminal">
+<path d="M320.5 40h0"></path>
+<path d="M391.5 40h0"></path>
+<rect x="320.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="356" y="44">"FROM"</text>
+</g>
+<path d="M391.5 40h10"></path>
+<path d="M401.5 40h10"></path>
+<g class="non-terminal">
+<path d="M411.5 40h0"></path>
+<path d="M482.5 40h0"></path>
+<rect x="411.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="447" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M482.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M502.5 40h10"></path>
+<path d="M 512.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Module.svg b/abap/statement_Module.svg
new file mode 100644
index 00000000..1cdde008
--- /dev/null
+++ b/abap/statement_Module.svg
@@ -0,0 +1,111 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="567" height="101" viewBox="0 0 567 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M517 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M517 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"MODULE"</text>
+</g>
+<path d="M231 40h10"></path>
+<path d="M241 40h10"></path>
+<g class="non-terminal">
+<path d="M251 40h0"></path>
+<path d="M339 40h0"></path>
+<rect x="251" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="295" y="44">FormName</text>
+</a>
+</g>
+<path d="M339 40h10"></path>
+<g>
+<path d="M349 40h0"></path>
+<path d="M517 40h0"></path>
+<path d="M349 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M369 20h128"></path>
+</g>
+<path d="M497 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M349 40h20"></path>
+<g>
+<path d="M369 40h0"></path>
+<path d="M497 40h0"></path>
+<path d="M369 40h20"></path>
+<g class="terminal">
+<path d="M389 40h0"></path>
+<path d="M468.5 40h8.5"></path>
+<rect x="389" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="428.75" y="44">"INPUT"</text>
+</g>
+<path d="M477 40h20"></path>
+<path d="M369 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M389 70h0"></path>
+<path d="M477 70h0"></path>
+<rect x="389" y="59" width="88" height="22" rx="10" ry="10"></rect>
+<text x="433" y="74">"OUTPUT"</text>
+</g>
+<path d="M477 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M497 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M517 40h10"></path>
+<path d="M 527 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Move.svg b/abap/statement_Move.svg
new file mode 100644
index 00000000..272b29f3
--- /dev/null
+++ b/abap/statement_Move.svg
@@ -0,0 +1,333 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="669.5" height="350" viewBox="0 0 669.5 350">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M629.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M609.5 31h0"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M224 31h0"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M133 31h0"></path>
+<text x="96.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M133 31h10"></path>
+<path d="M143 31h10"></path>
+<g class="terminal">
+<path d="M153 31h0"></path>
+<path d="M224 31h0"></path>
+<rect x="153" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="188.5" y="35">"MOVE"</text>
+</g>
+</g>
+<path d="M224 31h10"></path>
+<g>
+<path d="M234 31h0"></path>
+<path d="M609.5 31h0"></path>
+<path d="M234 31h20"></path>
+<g>
+<path d="M254 31h0"></path>
+<path d="M589.5 31h0"></path>
+<g class="terminal">
+<path d="M254 31h0"></path>
+<path d="M333.5 31h0"></path>
+<rect x="254" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="293.75" y="35">"EXACT"</text>
+</g>
+<path d="M333.5 31h10"></path>
+<path d="M343.5 31h10"></path>
+<g class="non-terminal">
+<path d="M353.5 31h0"></path>
+<path d="M424.5 31h0"></path>
+<rect x="353.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="389" y="35">Source</text>
+</a>
+</g>
+<path d="M424.5 31h10"></path>
+<path d="M434.5 31h10"></path>
+<g class="terminal">
+<path d="M444.5 31h0"></path>
+<path d="M498.5 31h0"></path>
+<rect x="444.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="471.5" y="35">"TO"</text>
+</g>
+<path d="M498.5 31h10"></path>
+<path d="M508.5 31h10"></path>
+<g class="non-terminal">
+<path d="M518.5 31h0"></path>
+<path d="M589.5 31h0"></path>
+<rect x="518.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="554" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M589.5 31h20"></path>
+<path d="M234 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M254 61h0"></path>
+<path d="M518.5 61h71"></path>
+<g class="non-terminal">
+<path d="M254 61h0"></path>
+<path d="M325 61h0"></path>
+<rect x="254" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="289.5" y="65">Source</text>
+</a>
+</g>
+<path d="M325 61h10"></path>
+<g>
+<path d="M335 61h0"></path>
+<path d="M437.5 61h0"></path>
+<path d="M335 61h20"></path>
+<g class="terminal">
+<path d="M355 61h0"></path>
+<path d="M417.5 61h0"></path>
+<rect x="355" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="386.25" y="65">"?TO"</text>
+</g>
+<path d="M417.5 61h20"></path>
+<path d="M335 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M355 91h0"></path>
+<path d="M409 91h8.5"></path>
+<rect x="355" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="382" y="95">"TO"</text>
+</g>
+<path d="M417.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M437.5 61h10"></path>
+<g class="non-terminal">
+<path d="M447.5 61h0"></path>
+<path d="M518.5 61h0"></path>
+<rect x="447.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="483" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M589.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M609.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 130h0"></path>
+<path d="M554 130h55.5"></path>
+<g class="non-terminal">
+<path d="M60 130h0"></path>
+<path d="M131 130h0"></path>
+<rect x="60" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="95.5" y="134">Target</text>
+</a>
+</g>
+<path d="M131 130h10"></path>
+<g>
+<path d="M141 130h0"></path>
+<path d="M473 130h0"></path>
+<path d="M141 130h20"></path>
+<g>
+<path d="M161 130h0"></path>
+<path d="M453 130h0"></path>
+<path d="M161 130h20"></path>
+<g>
+<path d="M181 130h0"></path>
+<path d="M433 130h0"></path>
+<g class="terminal">
+<path d="M181 130h0"></path>
+<path d="M226.5 130h0"></path>
+<rect x="181" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="203.75" y="134">"="</text>
+</g>
+<path d="M226.5 130h10"></path>
+<g>
+<path d="M236.5 130h0"></path>
+<path d="M433 130h0"></path>
+<path d="M236.5 130a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M256.5 110h156.5"></path>
+</g>
+<path d="M413 110a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M236.5 130h20"></path>
+<g>
+<path d="M256.5 130h0"></path>
+<path d="M413 130h0"></path>
+<path d="M256.5 130h10"></path>
+<g>
+<path d="M266.5 130h0"></path>
+<path d="M403 130h0"></path>
+<g class="non-terminal">
+<path d="M266.5 130h0"></path>
+<path d="M337.5 130h0"></path>
+<rect x="266.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="302" y="134">Target</text>
+</a>
+</g>
+<path d="M337.5 130h10"></path>
+<path d="M347.5 130h10"></path>
+<g class="terminal">
+<path d="M357.5 130h0"></path>
+<path d="M403 130h0"></path>
+<rect x="357.5" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="380.25" y="134">"="</text>
+</g>
+</g>
+<path d="M403 130h10"></path>
+<path d="M266.5 130a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M266.5 150h136.5"></path>
+</g>
+<path d="M403 150a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M413 130h20"></path>
+</g>
+</g>
+<path d="M433 130h20"></path>
+<path d="M161 130a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M181 169h0"></path>
+<path d="M235 169h198"></path>
+<rect x="181" y="158" width="54" height="22" rx="10" ry="10"></rect>
+<text x="208" y="173">"?="</text>
+</g>
+<path d="M433 169a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M453 130h20"></path>
+<path d="M141 130a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 199h0"></path>
+<path d="M377 199h76"></path>
+<g>
+<path d="M161 199h0"></path>
+<path d="M199 199h0"></path>
+<text x="180" y="204" class="comment">v754</text>
+</g>
+<path d="M199 199h10"></path>
+<g>
+<path d="M209 199h0"></path>
+<path d="M377 199h0"></path>
+<path d="M209 199h20"></path>
+<g>
+<path d="M229 199h0"></path>
+<path d="M357 199h0"></path>
+<g class="terminal">
+<path d="M229 199h0"></path>
+<path d="M291.5 199h0"></path>
+<rect x="229" y="188" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="260.25" y="203">!" +"</text>
+</g>
+<path d="M291.5 199h10"></path>
+<path d="M301.5 199h10"></path>
+<g class="terminal">
+<path d="M311.5 199h0"></path>
+<path d="M357 199h0"></path>
+<rect x="311.5" y="188" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="203">"="</text>
+</g>
+</g>
+<path d="M357 199h20"></path>
+<path d="M209 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M229 229h0"></path>
+<path d="M357 229h0"></path>
+<g class="terminal">
+<path d="M229 229h0"></path>
+<path d="M291.5 229h0"></path>
+<rect x="229" y="218" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="260.25" y="233">!" -"</text>
+</g>
+<path d="M291.5 229h10"></path>
+<path d="M301.5 229h10"></path>
+<g class="terminal">
+<path d="M311.5 229h0"></path>
+<path d="M357 229h0"></path>
+<rect x="311.5" y="218" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="233">"="</text>
+</g>
+</g>
+<path d="M357 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M209 199a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M229 259h0"></path>
+<path d="M283 259h74"></path>
+<rect x="229" y="248" width="54" height="22" rx="10" ry="10"></rect>
+<text x="256" y="263">"/="</text>
+</g>
+<path d="M357 259a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M209 199a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M229 289h0"></path>
+<path d="M283 289h74"></path>
+<rect x="229" y="278" width="54" height="22" rx="10" ry="10"></rect>
+<text x="256" y="293">"&#42;="</text>
+</g>
+<path d="M357 289a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M209 199a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M229 319h0"></path>
+<path d="M291.5 319h65.5"></path>
+<rect x="229" y="308" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="260.25" y="323">"&#38;&#38;="</text>
+</g>
+<path d="M357 319a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M453 199a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M473 130h10"></path>
+<g class="non-terminal">
+<path d="M483 130h0"></path>
+<path d="M554 130h0"></path>
+<rect x="483" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="518.5" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M609.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 629.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_MoveCorresponding.svg b/abap/statement_MoveCorresponding.svg
new file mode 100644
index 00000000..d2a6b67d
--- /dev/null
+++ b/abap/statement_MoveCorresponding.svg
@@ -0,0 +1,159 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1418" height="71" viewBox="0 0 1418 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1368 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M240 40h0"></path>
+<rect x="50" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="44">"MOVE-CORRESPONDING"</text>
+</g>
+<path d="M240 40h10"></path>
+<g>
+<path d="M250 40h0"></path>
+<path d="M369.5 40h0"></path>
+<path d="M250 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M270 20h79.5"></path>
+</g>
+<path d="M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M250 40h20"></path>
+<g class="terminal">
+<path d="M270 40h0"></path>
+<path d="M349.5 40h0"></path>
+<rect x="270" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="309.75" y="44">"EXACT"</text>
+</g>
+<path d="M349.5 40h20"></path>
+</g>
+<path d="M369.5 40h10"></path>
+<g class="non-terminal">
+<path d="M379.5 40h0"></path>
+<path d="M450.5 40h0"></path>
+<rect x="379.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="415" y="44">Source</text>
+</a>
+</g>
+<path d="M450.5 40h10"></path>
+<path d="M460.5 40h10"></path>
+<g class="terminal">
+<path d="M470.5 40h0"></path>
+<path d="M524.5 40h0"></path>
+<rect x="470.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="497.5" y="44">"TO"</text>
+</g>
+<path d="M524.5 40h10"></path>
+<path d="M534.5 40h10"></path>
+<g class="non-terminal">
+<path d="M544.5 40h0"></path>
+<path d="M666.5 40h0"></path>
+<rect x="544.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleTarget"><text x="605.5" y="44">SimpleTarget</text>
+</a>
+</g>
+<path d="M666.5 40h10"></path>
+<g>
+<path d="M676.5 40h0"></path>
+<path d="M1035 40h0"></path>
+<path d="M676.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M696.5 20h318.5"></path>
+</g>
+<path d="M1015 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M676.5 40h20"></path>
+<g>
+<path d="M696.5 40h0"></path>
+<path d="M1015 40h0"></path>
+<g>
+<path d="M696.5 40h0"></path>
+<path d="M762.5 40h0"></path>
+<text x="729.5" y="45" class="comment">v740sp05</text>
+</g>
+<path d="M762.5 40h10"></path>
+<path d="M772.5 40h10"></path>
+<g class="terminal">
+<path d="M782.5 40h0"></path>
+<path d="M1015 40h0"></path>
+<rect x="782.5" y="29" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="898.75" y="44">"EXPANDING NESTED TABLES"</text>
+</g>
+</g>
+<path d="M1015 40h20"></path>
+</g>
+<g>
+<path d="M1035 40h0"></path>
+<path d="M1368 40h0"></path>
+<path d="M1035 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1055 20h293"></path>
+</g>
+<path d="M1348 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1035 40h20"></path>
+<g>
+<path d="M1055 40h0"></path>
+<path d="M1348 40h0"></path>
+<g>
+<path d="M1055 40h0"></path>
+<path d="M1121 40h0"></path>
+<text x="1088" y="45" class="comment">v740sp05</text>
+</g>
+<path d="M1121 40h10"></path>
+<path d="M1131 40h10"></path>
+<g class="terminal">
+<path d="M1141 40h0"></path>
+<path d="M1348 40h0"></path>
+<rect x="1141" y="29" width="207" height="22" rx="10" ry="10"></rect>
+<text x="1244.5" y="44">"KEEPING TARGET LINES"</text>
+</g>
+</g>
+<path d="M1348 40h20"></path>
+</g>
+</g>
+<path d="M1368 40h10"></path>
+<path d="M 1378 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Multiply.svg b/abap/statement_Multiply.svg
new file mode 100644
index 00000000..3eb9efdf
--- /dev/null
+++ b/abap/statement_Multiply.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="461" height="62" viewBox="0 0 461 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M411 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"MULTIPLY"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="175" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="210.5" y="35">Target</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M320 31h0"></path>
+<rect x="266" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="293" y="35">"BY"</text>
+</g>
+<path d="M320 31h10"></path>
+<path d="M330 31h10"></path>
+<g class="non-terminal">
+<path d="M340 31h0"></path>
+<path d="M411 31h0"></path>
+<rect x="340" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="375.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M411 31h10"></path>
+<path d="M 421 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_NewLine.svg b/abap/statement_NewLine.svg
new file mode 100644
index 00000000..92ddc3fe
--- /dev/null
+++ b/abap/statement_NewLine.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="527" height="101" viewBox="0 0 527 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M477 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M477 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"NEW-LINE"</text>
+</g>
+<path d="M248 40h10"></path>
+<g>
+<path d="M258 40h0"></path>
+<path d="M477 40h0"></path>
+<path d="M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M278 20h179"></path>
+</g>
+<path d="M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M258 40h20"></path>
+<g>
+<path d="M278 40h0"></path>
+<path d="M457 40h0"></path>
+<path d="M278 40h20"></path>
+<g class="terminal">
+<path d="M298 40h0"></path>
+<path d="M411.5 40h25.5"></path>
+<rect x="298" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="354.75" y="44">"SCROLLING"</text>
+</g>
+<path d="M437 40h20"></path>
+<path d="M278 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M298 70h0"></path>
+<path d="M437 70h0"></path>
+<rect x="298" y="59" width="139" height="22" rx="10" ry="10"></rect>
+<text x="367.5" y="74">"NO-SCROLLING"</text>
+</g>
+<path d="M437 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M457 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M477 40h10"></path>
+<path d="M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_NewPage.svg b/abap/statement_NewPage.svg
new file mode 100644
index 00000000..87002ca6
--- /dev/null
+++ b/abap/statement_NewPage.svg
@@ -0,0 +1,522 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="741.5" height="761" viewBox="0 0 741.5 761">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M691.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M691.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"NEW-PAGE"</text>
+</g>
+<path d="M248 40h10"></path>
+<g>
+<path d="M258 40h0"></path>
+<path d="M691.5 40h0"></path>
+<path d="M258 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M278 20h393.5"></path>
+</g>
+<path d="M671.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M258 40h20"></path>
+<g>
+<path d="M278 40h0"></path>
+<path d="M671.5 40h0"></path>
+<path d="M308 40h10"></path>
+<g>
+<path d="M318 40h0"></path>
+<path d="M510 40h131.5"></path>
+<g class="terminal">
+<path d="M318 40h0"></path>
+<path d="M397.5 40h0"></path>
+<rect x="318" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="357.75" y="44">"PRINT"</text>
+</g>
+<path d="M397.5 40h10"></path>
+<g>
+<path d="M407.5 40h0"></path>
+<path d="M510 40h0"></path>
+<path d="M407.5 40h20"></path>
+<g class="terminal">
+<path d="M427.5 40h0"></path>
+<path d="M490 40h0"></path>
+<rect x="427.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="458.75" y="44">"OFF"</text>
+</g>
+<path d="M490 40h20"></path>
+<path d="M407.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M427.5 70h0"></path>
+<path d="M481.5 70h8.5"></path>
+<rect x="427.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="454.5" y="74">"ON"</text>
+</g>
+<path d="M490 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M641.5 40h10"></path>
+<path d="M308 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 100h0"></path>
+<path d="M480 100h161.5"></path>
+<path d="M318 100h20"></path>
+<g class="terminal">
+<path d="M338 100h0"></path>
+<path d="M443 100h17"></path>
+<rect x="338" y="89" width="105" height="22" rx="10" ry="10"></rect>
+<text x="390.5" y="104">"NO-TITLE"</text>
+</g>
+<path d="M460 100h20"></path>
+<path d="M318 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M338 130h0"></path>
+<path d="M460 130h0"></path>
+<rect x="338" y="119" width="122" height="22" rx="10" ry="10"></rect>
+<text x="399" y="134">"WITH-TITLE"</text>
+</g>
+<path d="M460 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M641.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M308 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 160h0"></path>
+<path d="M497 160h144.5"></path>
+<path d="M318 160h20"></path>
+<g class="terminal">
+<path d="M338 160h0"></path>
+<path d="M460 160h17"></path>
+<rect x="338" y="149" width="122" height="22" rx="10" ry="10"></rect>
+<text x="399" y="164">"NO-HEADING"</text>
+</g>
+<path d="M477 160h20"></path>
+<path d="M318 160a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M338 190h0"></path>
+<path d="M477 190h0"></path>
+<rect x="338" y="179" width="139" height="22" rx="10" ry="10"></rect>
+<text x="407.5" y="194">"WITH-HEADING"</text>
+</g>
+<path d="M477 190a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M641.5 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M308 40v170a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M318 220h0"></path>
+<path d="M431.5 220h210"></path>
+<rect x="318" y="209" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="224">"NO DIALOG"</text>
+</g>
+<path d="M641.5 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M308 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 250h0"></path>
+<path d="M531 250h110.5"></path>
+<g class="terminal">
+<path d="M318 250h0"></path>
+<path d="M440 250h0"></path>
+<rect x="318" y="239" width="122" height="22" rx="10" ry="10"></rect>
+<text x="379" y="254">"PARAMETERS"</text>
+</g>
+<path d="M440 250h10"></path>
+<path d="M450 250h10"></path>
+<g class="non-terminal">
+<path d="M460 250h0"></path>
+<path d="M531 250h0"></path>
+<rect x="460" y="239" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="495.5" y="254">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M308 40v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 280h0"></path>
+<path d="M565 280h76.5"></path>
+<g class="terminal">
+<path d="M318 280h0"></path>
+<path d="M474 280h0"></path>
+<rect x="318" y="269" width="156" height="22" rx="10" ry="10"></rect>
+<text x="396" y="284">"LIST AUTHORITY"</text>
+</g>
+<path d="M474 280h10"></path>
+<path d="M484 280h10"></path>
+<g class="non-terminal">
+<path d="M494 280h0"></path>
+<path d="M565 280h0"></path>
+<rect x="494" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="529.5" y="284">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M308 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 310h0"></path>
+<path d="M539.5 310h102"></path>
+<g class="terminal">
+<path d="M318 310h0"></path>
+<path d="M448.5 310h0"></path>
+<rect x="318" y="299" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="383.25" y="314">"IMMEDIATELY"</text>
+</g>
+<path d="M448.5 310h10"></path>
+<path d="M458.5 310h10"></path>
+<g class="non-terminal">
+<path d="M468.5 310h0"></path>
+<path d="M539.5 310h0"></path>
+<rect x="468.5" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="504" y="314">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 310a10 10 0 0 0 10 -10v-260"></path>
+<path d="M308 40v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 340h0"></path>
+<path d="M548 340h93.5"></path>
+<g class="terminal">
+<path d="M318 340h0"></path>
+<path d="M457 340h0"></path>
+<rect x="318" y="329" width="139" height="22" rx="10" ry="10"></rect>
+<text x="387.5" y="344">"LIST DATASET"</text>
+</g>
+<path d="M457 340h10"></path>
+<path d="M467 340h10"></path>
+<g class="non-terminal">
+<path d="M477 340h0"></path>
+<path d="M548 340h0"></path>
+<rect x="477" y="329" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="512.5" y="344">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 340a10 10 0 0 0 10 -10v-290"></path>
+<path d="M308 40v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 370h0"></path>
+<path d="M565 370h76.5"></path>
+<g class="terminal">
+<path d="M318 370h0"></path>
+<path d="M474 370h0"></path>
+<rect x="318" y="359" width="156" height="22" rx="10" ry="10"></rect>
+<text x="396" y="374">"SAP COVER PAGE"</text>
+</g>
+<path d="M474 370h10"></path>
+<path d="M484 370h10"></path>
+<g class="non-terminal">
+<path d="M494 370h0"></path>
+<path d="M565 370h0"></path>
+<rect x="494" y="359" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="529.5" y="374">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 370a10 10 0 0 0 10 -10v-320"></path>
+<path d="M308 40v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 400h0"></path>
+<path d="M641.5 400h0"></path>
+<g class="terminal">
+<path d="M318 400h0"></path>
+<path d="M550.5 400h0"></path>
+<rect x="318" y="389" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="434.25" y="404">"NEW LIST IDENTIFICATION"</text>
+</g>
+<path d="M550.5 400h10"></path>
+<path d="M560.5 400h10"></path>
+<g class="non-terminal">
+<path d="M570.5 400h0"></path>
+<path d="M641.5 400h0"></path>
+<rect x="570.5" y="389" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="606" y="404">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 400a10 10 0 0 0 10 -10v-350"></path>
+<path d="M308 40v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 430h0"></path>
+<path d="M556.5 430h85"></path>
+<g class="terminal">
+<path d="M318 430h0"></path>
+<path d="M465.5 430h0"></path>
+<rect x="318" y="419" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="391.75" y="434">"KEEP IN SPOOL"</text>
+</g>
+<path d="M465.5 430h10"></path>
+<path d="M475.5 430h10"></path>
+<g class="non-terminal">
+<path d="M485.5 430h0"></path>
+<path d="M556.5 430h0"></path>
+<rect x="485.5" y="419" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="521" y="434">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 430a10 10 0 0 0 10 -10v-380"></path>
+<path d="M308 40v410a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 460h0"></path>
+<path d="M531 460h110.5"></path>
+<g class="terminal">
+<path d="M318 460h0"></path>
+<path d="M440 460h0"></path>
+<rect x="318" y="449" width="122" height="22" rx="10" ry="10"></rect>
+<text x="379" y="464">"DEPARTMENT"</text>
+</g>
+<path d="M440 460h10"></path>
+<path d="M450 460h10"></path>
+<g class="non-terminal">
+<path d="M460 460h0"></path>
+<path d="M531 460h0"></path>
+<rect x="460" y="449" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="495.5" y="464">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 460a10 10 0 0 0 10 -10v-410"></path>
+<path d="M308 40v440a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 490h0"></path>
+<path d="M522.5 490h119"></path>
+<g class="terminal">
+<path d="M318 490h0"></path>
+<path d="M431.5 490h0"></path>
+<rect x="318" y="479" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="494">"LIST NAME"</text>
+</g>
+<path d="M431.5 490h10"></path>
+<path d="M441.5 490h10"></path>
+<g class="non-terminal">
+<path d="M451.5 490h0"></path>
+<path d="M522.5 490h0"></path>
+<rect x="451.5" y="479" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="487" y="494">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 490a10 10 0 0 0 10 -10v-440"></path>
+<path d="M308 40v470a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 520h0"></path>
+<path d="M497 520h144.5"></path>
+<g class="terminal">
+<path d="M318 520h0"></path>
+<path d="M406 520h0"></path>
+<rect x="318" y="509" width="88" height="22" rx="10" ry="10"></rect>
+<text x="362" y="524">"LAYOUT"</text>
+</g>
+<path d="M406 520h10"></path>
+<path d="M416 520h10"></path>
+<g class="non-terminal">
+<path d="M426 520h0"></path>
+<path d="M497 520h0"></path>
+<rect x="426" y="509" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="461.5" y="524">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 520a10 10 0 0 0 10 -10v-470"></path>
+<path d="M308 40v500a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 550h0"></path>
+<path d="M539.5 550h102"></path>
+<g class="terminal">
+<path d="M318 550h0"></path>
+<path d="M448.5 550h0"></path>
+<rect x="318" y="539" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="383.25" y="554">"DESTINATION"</text>
+</g>
+<path d="M448.5 550h10"></path>
+<path d="M458.5 550h10"></path>
+<g class="non-terminal">
+<path d="M468.5 550h0"></path>
+<path d="M539.5 550h0"></path>
+<rect x="468.5" y="539" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="504" y="554">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 550a10 10 0 0 0 10 -10v-500"></path>
+<path d="M308 40v530a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 580h0"></path>
+<path d="M514 580h127.5"></path>
+<g class="terminal">
+<path d="M318 580h0"></path>
+<path d="M423 580h0"></path>
+<rect x="318" y="569" width="105" height="22" rx="10" ry="10"></rect>
+<text x="370.5" y="584">"RECEIVER"</text>
+</g>
+<path d="M423 580h10"></path>
+<path d="M433 580h10"></path>
+<g class="non-terminal">
+<path d="M443 580h0"></path>
+<path d="M514 580h0"></path>
+<rect x="443" y="569" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="478.5" y="584">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 580a10 10 0 0 0 10 -10v-530"></path>
+<path d="M308 40v560a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 610h0"></path>
+<path d="M531 610h110.5"></path>
+<g class="terminal">
+<path d="M318 610h0"></path>
+<path d="M440 610h0"></path>
+<rect x="318" y="599" width="122" height="22" rx="10" ry="10"></rect>
+<text x="379" y="614">"COVER TEXT"</text>
+</g>
+<path d="M440 610h10"></path>
+<path d="M450 610h10"></path>
+<g class="non-terminal">
+<path d="M460 610h0"></path>
+<path d="M531 610h0"></path>
+<rect x="460" y="599" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="495.5" y="614">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 610a10 10 0 0 0 10 -10v-560"></path>
+<path d="M308 40v590a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 640h0"></path>
+<path d="M599 640h42.5"></path>
+<g class="terminal">
+<path d="M318 640h0"></path>
+<path d="M508 640h0"></path>
+<rect x="318" y="629" width="190" height="22" rx="10" ry="10"></rect>
+<text x="413" y="644">"ARCHIVE PARAMETERS"</text>
+</g>
+<path d="M508 640h10"></path>
+<path d="M518 640h10"></path>
+<g class="non-terminal">
+<path d="M528 640h0"></path>
+<path d="M599 640h0"></path>
+<rect x="528" y="629" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="563.5" y="644">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 640a10 10 0 0 0 10 -10v-590"></path>
+<path d="M308 40v620a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M318 670h0"></path>
+<path d="M448.5 670h193"></path>
+<rect x="318" y="659" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="383.25" y="674">"NEW-SECTION"</text>
+</g>
+<path d="M641.5 670a10 10 0 0 0 10 -10v-620"></path>
+<path d="M308 40v650a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 700h0"></path>
+<path d="M531 700h110.5"></path>
+<g class="terminal">
+<path d="M318 700h0"></path>
+<path d="M440 700h0"></path>
+<rect x="318" y="689" width="122" height="22" rx="10" ry="10"></rect>
+<text x="379" y="704">"LINE-COUNT"</text>
+</g>
+<path d="M440 700h10"></path>
+<path d="M450 700h10"></path>
+<g class="non-terminal">
+<path d="M460 700h0"></path>
+<path d="M531 700h0"></path>
+<rect x="460" y="689" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="495.5" y="704">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 700a10 10 0 0 0 10 -10v-650"></path>
+<path d="M308 40v680a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M318 730h0"></path>
+<path d="M522.5 730h119"></path>
+<g class="terminal">
+<path d="M318 730h0"></path>
+<path d="M431.5 730h0"></path>
+<rect x="318" y="719" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="734">"LINE-SIZE"</text>
+</g>
+<path d="M431.5 730h10"></path>
+<path d="M441.5 730h10"></path>
+<g class="non-terminal">
+<path d="M451.5 730h0"></path>
+<path d="M522.5 730h0"></path>
+<rect x="451.5" y="719" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="487" y="734">Source</text>
+</a>
+</g>
+</g>
+<path d="M641.5 730a10 10 0 0 0 10 -10v-680"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 308 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="293" y="44" class="diagram-text">1+</text>
+<path d="M 651.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 658.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M671.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M691.5 40h10"></path>
+<path d="M 701.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Nodes.svg b/abap/statement_Nodes.svg
new file mode 100644
index 00000000..c091b72c
--- /dev/null
+++ b/abap/statement_Nodes.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="355" height="62" viewBox="0 0 355 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M305 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M305 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M222.5 31h0"></path>
+<rect x="143" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="35">"NODES"</text>
+</g>
+<path d="M222.5 31h10"></path>
+<path d="M232.5 31h10"></path>
+<g class="non-terminal">
+<path d="M242.5 31h0"></path>
+<path d="M305 31h0"></path>
+<rect x="242.5" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="273.75" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M305 31h10"></path>
+<path d="M 315 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_OnChange.svg b/abap/statement_OnChange.svg
new file mode 100644
index 00000000..31a86775
--- /dev/null
+++ b/abap/statement_OnChange.svg
@@ -0,0 +1,121 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="638" height="80" viewBox="0 0 638 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M588 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M588 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M282 40h0"></path>
+<rect x="143" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="44">"ON CHANGE OF"</text>
+</g>
+<path d="M282 40h10"></path>
+<path d="M292 40h10"></path>
+<g class="non-terminal">
+<path d="M302 40h0"></path>
+<path d="M373 40h0"></path>
+<rect x="302" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="337.5" y="44">Target</text>
+</a>
+</g>
+<path d="M373 40h10"></path>
+<g>
+<path d="M383 40h0"></path>
+<path d="M588 40h0"></path>
+<path d="M383 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M403 20h165"></path>
+</g>
+<path d="M568 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M383 40h20"></path>
+<g>
+<path d="M403 40h0"></path>
+<path d="M568 40h0"></path>
+<path d="M403 40h10"></path>
+<g>
+<path d="M413 40h0"></path>
+<path d="M558 40h0"></path>
+<g class="terminal">
+<path d="M413 40h0"></path>
+<path d="M467 40h0"></path>
+<rect x="413" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="440" y="44">"OR"</text>
+</g>
+<path d="M467 40h10"></path>
+<path d="M477 40h10"></path>
+<g class="non-terminal">
+<path d="M487 40h0"></path>
+<path d="M558 40h0"></path>
+<rect x="487" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="522.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M558 40h10"></path>
+<path d="M413 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M413 60h145"></path>
+</g>
+<path d="M558 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M568 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M588 40h10"></path>
+<path d="M 598 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_OpenCursor.svg b/abap/statement_OpenCursor.svg
new file mode 100644
index 00000000..034d6301
--- /dev/null
+++ b/abap/statement_OpenCursor.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="767" height="71" viewBox="0 0 767 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M717 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M717 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="143" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="44">"OPEN CURSOR"</text>
+</g>
+<path d="M273.5 40h10"></path>
+<g>
+<path d="M283.5 40h0"></path>
+<path d="M437 40h0"></path>
+<path d="M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M303.5 20h113.5"></path>
+</g>
+<path d="M417 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M283.5 40h20"></path>
+<g class="terminal">
+<path d="M303.5 40h0"></path>
+<path d="M417 40h0"></path>
+<rect x="303.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="360.25" y="44">"WITH HOLD"</text>
+</g>
+<path d="M417 40h20"></path>
+</g>
+<path d="M437 40h10"></path>
+<g class="non-terminal">
+<path d="M447 40h0"></path>
+<path d="M543.5 40h0"></path>
+<rect x="447" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLTarget"><text x="495.25" y="44">SQLTarget</text>
+</a>
+</g>
+<path d="M543.5 40h10"></path>
+<path d="M553.5 40h10"></path>
+<g class="terminal">
+<path d="M563.5 40h0"></path>
+<path d="M626 40h0"></path>
+<rect x="563.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="594.75" y="44">"FOR"</text>
+</g>
+<path d="M626 40h10"></path>
+<path d="M636 40h10"></path>
+<g class="non-terminal">
+<path d="M646 40h0"></path>
+<path d="M717 40h0"></path>
+<rect x="646" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="681.5" y="44">Select</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M717 40h10"></path>
+<path d="M 727 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_OpenDataset.svg b/abap/statement_OpenDataset.svg
new file mode 100644
index 00000000..72cb4c9e
--- /dev/null
+++ b/abap/statement_OpenDataset.svg
@@ -0,0 +1,438 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="875.5" height="701" viewBox="0 0 875.5 701">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M825.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M825.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M282 31h0"></path>
+<rect x="143" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="35">"OPEN DATASET"</text>
+</g>
+<path d="M282 31h10"></path>
+<path d="M292 31h10"></path>
+<g class="non-terminal">
+<path d="M302 31h0"></path>
+<path d="M373 31h0"></path>
+<rect x="302" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="337.5" y="35">Source</text>
+</a>
+</g>
+<path d="M373 31h10"></path>
+<path d="M383 31h10"></path>
+<g>
+<path d="M393 31h0"></path>
+<path d="M825.5 31h0"></path>
+<path d="M423 31h10"></path>
+<g>
+<path d="M433 31h0"></path>
+<path d="M659 31h136.5"></path>
+<g class="terminal">
+<path d="M433 31h0"></path>
+<path d="M495.5 31h0"></path>
+<rect x="433" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="464.25" y="35">"FOR"</text>
+</g>
+<path d="M495.5 31h10"></path>
+<g>
+<path d="M505.5 31h0"></path>
+<path d="M659 31h0"></path>
+<path d="M505.5 31h20"></path>
+<g class="terminal">
+<path d="M525.5 31h0"></path>
+<path d="M613.5 31h25.5"></path>
+<rect x="525.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="569.5" y="35">"OUTPUT"</text>
+</g>
+<path d="M639 31h20"></path>
+<path d="M505.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M525.5 61h0"></path>
+<path d="M605 61h34"></path>
+<rect x="525.5" y="50" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="565.25" y="65">"INPUT"</text>
+</g>
+<path d="M639 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M505.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M525.5 91h0"></path>
+<path d="M613.5 91h25.5"></path>
+<rect x="525.5" y="80" width="88" height="22" rx="10" ry="10"></rect>
+<text x="569.5" y="95">"UPDATE"</text>
+</g>
+<path d="M639 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M505.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M525.5 121h0"></path>
+<path d="M639 121h0"></path>
+<rect x="525.5" y="110" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="582.25" y="125">"APPENDING"</text>
+</g>
+<path d="M639 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M795.5 31h10"></path>
+<path d="M423 31v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 151h0"></path>
+<path d="M595 151h200.5"></path>
+<g class="terminal">
+<path d="M433 151h0"></path>
+<path d="M504 151h0"></path>
+<rect x="433" y="140" width="71" height="22" rx="10" ry="10"></rect>
+<text x="468.5" y="155">"TYPE"</text>
+</g>
+<path d="M504 151h10"></path>
+<path d="M514 151h10"></path>
+<g class="non-terminal">
+<path d="M524 151h0"></path>
+<path d="M595 151h0"></path>
+<rect x="524" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="559.5" y="155">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 151a10 10 0 0 0 10 -10v-110"></path>
+<path d="M423 31v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 190h0"></path>
+<path d="M795.5 190h0"></path>
+<g class="terminal">
+<path d="M433 190h0"></path>
+<path d="M487 190h0"></path>
+<rect x="433" y="179" width="54" height="22" rx="10" ry="10"></rect>
+<text x="460" y="194">"IN"</text>
+</g>
+<path d="M487 190h10"></path>
+<g>
+<path d="M497 190h0"></path>
+<path d="M625 190h0"></path>
+<path d="M497 190a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M517 170h88"></path>
+</g>
+<path d="M605 170a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M497 190h20"></path>
+<g class="terminal">
+<path d="M517 190h0"></path>
+<path d="M605 190h0"></path>
+<rect x="517" y="179" width="88" height="22" rx="10" ry="10"></rect>
+<text x="561" y="194">"LEGACY"</text>
+</g>
+<path d="M605 190h20"></path>
+</g>
+<g>
+<path d="M625 190h0"></path>
+<path d="M795.5 190h0"></path>
+<path d="M625 190h20"></path>
+<g class="terminal">
+<path d="M645 190h0"></path>
+<path d="M775.5 190h0"></path>
+<rect x="645" y="179" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="710.25" y="194">"BINARY MODE"</text>
+</g>
+<path d="M775.5 190h20"></path>
+<path d="M625 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M645 220h0"></path>
+<path d="M758.5 220h17"></path>
+<rect x="645" y="209" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="701.75" y="224">"TEXT MODE"</text>
+</g>
+<path d="M775.5 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M795.5 190a10 10 0 0 0 10 -10v-149"></path>
+<path d="M423 31v209a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M433 250h0"></path>
+<path d="M640 250h155.5"></path>
+<rect x="433" y="239" width="207" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="254">"WITH BYTE-ORDER MARK"</text>
+</g>
+<path d="M795.5 250a10 10 0 0 0 10 -10v-209"></path>
+<path d="M423 31v239a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 280h0"></path>
+<path d="M739.5 280h56"></path>
+<g class="terminal">
+<path d="M433 280h0"></path>
+<path d="M648.5 280h0"></path>
+<rect x="433" y="269" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="284">"REPLACEMENT CHARACTER"</text>
+</g>
+<path d="M648.5 280h10"></path>
+<path d="M658.5 280h10"></path>
+<g class="non-terminal">
+<path d="M668.5 280h0"></path>
+<path d="M739.5 280h0"></path>
+<rect x="668.5" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="704" y="284">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 280a10 10 0 0 0 10 -10v-239"></path>
+<path d="M423 31v269a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 310h0"></path>
+<path d="M612 310h183.5"></path>
+<g class="terminal">
+<path d="M433 310h0"></path>
+<path d="M521 310h0"></path>
+<rect x="433" y="299" width="88" height="22" rx="10" ry="10"></rect>
+<text x="477" y="314">"FILTER"</text>
+</g>
+<path d="M521 310h10"></path>
+<path d="M531 310h10"></path>
+<g class="non-terminal">
+<path d="M541 310h0"></path>
+<path d="M612 310h0"></path>
+<rect x="541" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="576.5" y="314">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 310a10 10 0 0 0 10 -10v-269"></path>
+<path d="M423 31v299a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 340h0"></path>
+<path d="M718.5 340h77"></path>
+<g class="terminal">
+<path d="M433 340h0"></path>
+<path d="M538 340h0"></path>
+<rect x="433" y="329" width="105" height="22" rx="10" ry="10"></rect>
+<text x="485.5" y="344">"ENCODING"</text>
+</g>
+<path d="M538 340h10"></path>
+<g>
+<path d="M548 340h0"></path>
+<path d="M718.5 340h0"></path>
+<path d="M548 340h20"></path>
+<g class="terminal">
+<path d="M568 340h0"></path>
+<path d="M664.5 340h34"></path>
+<rect x="568" y="329" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="616.25" y="344">"DEFAULT"</text>
+</g>
+<path d="M698.5 340h20"></path>
+<path d="M548 340a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M568 370h0"></path>
+<path d="M647.5 370h51"></path>
+<rect x="568" y="359" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="607.75" y="374">"UTF-8"</text>
+</g>
+<path d="M698.5 370a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M548 340a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M568 400h0"></path>
+<path d="M698.5 400h0"></path>
+<rect x="568" y="389" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="633.25" y="404">"NON-UNICODE"</text>
+</g>
+<path d="M698.5 400a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M795.5 340a10 10 0 0 0 10 -10v-299"></path>
+<path d="M423 31v389a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 430h0"></path>
+<path d="M654.5 430h141"></path>
+<g class="terminal">
+<path d="M433 430h0"></path>
+<path d="M563.5 430h0"></path>
+<rect x="433" y="419" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="498.25" y="434">"AT POSITION"</text>
+</g>
+<path d="M563.5 430h10"></path>
+<path d="M573.5 430h10"></path>
+<g class="non-terminal">
+<path d="M583.5 430h0"></path>
+<path d="M654.5 430h0"></path>
+<rect x="583.5" y="419" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="619" y="434">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 430a10 10 0 0 0 10 -10v-389"></path>
+<path d="M423 31v419a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 460h0"></path>
+<path d="M620.5 460h175"></path>
+<g class="terminal">
+<path d="M433 460h0"></path>
+<path d="M529.5 460h0"></path>
+<rect x="433" y="449" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="481.25" y="464">"MESSAGE"</text>
+</g>
+<path d="M529.5 460h10"></path>
+<path d="M539.5 460h10"></path>
+<g class="non-terminal">
+<path d="M549.5 460h0"></path>
+<path d="M620.5 460h0"></path>
+<rect x="549.5" y="449" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="585" y="464">Target</text>
+</a>
+</g>
+</g>
+<path d="M795.5 460a10 10 0 0 0 10 -10v-419"></path>
+<path d="M423 31v449a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M433 490h0"></path>
+<path d="M691 490h104.5"></path>
+<rect x="433" y="479" width="258" height="22" rx="10" ry="10"></rect>
+<text x="562" y="494">"IGNORING CONVERSION ERRORS"</text>
+</g>
+<path d="M795.5 490a10 10 0 0 0 10 -10v-449"></path>
+<path d="M423 31v479a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M433 520h0"></path>
+<path d="M674 520h121.5"></path>
+<rect x="433" y="509" width="241" height="22" rx="10" ry="10"></rect>
+<text x="553.5" y="524">"SKIPPING BYTE-ORDER MARK"</text>
+</g>
+<path d="M795.5 520a10 10 0 0 0 10 -10v-479"></path>
+<path d="M423 31v509a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 550h0"></path>
+<path d="M637.5 550h158"></path>
+<g class="terminal">
+<path d="M433 550h0"></path>
+<path d="M546.5 550h0"></path>
+<rect x="433" y="539" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="489.75" y="554">"CODE PAGE"</text>
+</g>
+<path d="M546.5 550h10"></path>
+<path d="M556.5 550h10"></path>
+<g class="non-terminal">
+<path d="M566.5 550h0"></path>
+<path d="M637.5 550h0"></path>
+<rect x="566.5" y="539" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="602" y="554">Source</text>
+</a>
+</g>
+</g>
+<path d="M795.5 550a10 10 0 0 0 10 -10v-509"></path>
+<path d="M423 31v539a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M433 580h0"></path>
+<path d="M757 580h38.5"></path>
+<g class="terminal">
+<path d="M433 580h0"></path>
+<path d="M504 580h0"></path>
+<rect x="433" y="569" width="71" height="22" rx="10" ry="10"></rect>
+<text x="468.5" y="584">"WITH"</text>
+</g>
+<path d="M504 580h10"></path>
+<g>
+<path d="M514 580h0"></path>
+<path d="M642 580h0"></path>
+<path d="M514 580h20"></path>
+<g class="terminal">
+<path d="M534 580h0"></path>
+<path d="M613.5 580h8.5"></path>
+<rect x="534" y="569" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="573.75" y="584">"SMART"</text>
+</g>
+<path d="M622 580h20"></path>
+<path d="M514 580a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M534 610h0"></path>
+<path d="M622 610h0"></path>
+<rect x="534" y="599" width="88" height="22" rx="10" ry="10"></rect>
+<text x="578" y="614">"NATIVE"</text>
+</g>
+<path d="M622 610a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M514 580a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M534 640h0"></path>
+<path d="M605 640h17"></path>
+<rect x="534" y="629" width="71" height="22" rx="10" ry="10"></rect>
+<text x="569.5" y="644">"UNIX"</text>
+</g>
+<path d="M622 640a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M642 580h10"></path>
+<g class="terminal">
+<path d="M652 580h0"></path>
+<path d="M757 580h0"></path>
+<rect x="652" y="569" width="105" height="22" rx="10" ry="10"></rect>
+<text x="704.5" y="584">"LINEFEED"</text>
+</g>
+</g>
+<path d="M795.5 580a10 10 0 0 0 10 -10v-539"></path>
+<path d="M423 31v629a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M433 670h0"></path>
+<path d="M648.5 670h147"></path>
+<rect x="433" y="659" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="674">"WITH WINDOWS LINEFEED"</text>
+</g>
+<path d="M795.5 670a10 10 0 0 0 10 -10v-629"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 423 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="408" y="35" class="diagram-text">1+</text>
+<path d="M 805.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 812.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M825.5 31h10"></path>
+<path d="M 835.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Overlay.svg b/abap/statement_Overlay.svg
new file mode 100644
index 00000000..26b14ad3
--- /dev/null
+++ b/abap/statement_Overlay.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="681.5" height="71" viewBox="0 0 681.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M631.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"OVERLAY"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<path d="M156.5 40h10"></path>
+<g class="non-terminal">
+<path d="M166.5 40h0"></path>
+<path d="M237.5 40h0"></path>
+<rect x="166.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="202" y="44">Target</text>
+</a>
+</g>
+<path d="M237.5 40h10"></path>
+<path d="M247.5 40h10"></path>
+<g class="terminal">
+<path d="M257.5 40h0"></path>
+<path d="M328.5 40h0"></path>
+<rect x="257.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="293" y="44">"WITH"</text>
+</g>
+<path d="M328.5 40h10"></path>
+<path d="M338.5 40h10"></path>
+<g class="non-terminal">
+<path d="M348.5 40h0"></path>
+<path d="M419.5 40h0"></path>
+<rect x="348.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="384" y="44">Source</text>
+</a>
+</g>
+<path d="M419.5 40h10"></path>
+<g>
+<path d="M429.5 40h0"></path>
+<path d="M631.5 40h0"></path>
+<path d="M429.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M449.5 20h162"></path>
+</g>
+<path d="M611.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M429.5 40h20"></path>
+<g>
+<path d="M449.5 40h0"></path>
+<path d="M611.5 40h0"></path>
+<g class="terminal">
+<path d="M449.5 40h0"></path>
+<path d="M520.5 40h0"></path>
+<rect x="449.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="485" y="44">"ONLY"</text>
+</g>
+<path d="M520.5 40h10"></path>
+<path d="M530.5 40h10"></path>
+<g class="non-terminal">
+<path d="M540.5 40h0"></path>
+<path d="M611.5 40h0"></path>
+<rect x="540.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="576" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M611.5 40h20"></path>
+</g>
+</g>
+<path d="M631.5 40h10"></path>
+<path d="M 641.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Pack.svg b/abap/statement_Pack.svg
new file mode 100644
index 00000000..72be0a4c
--- /dev/null
+++ b/abap/statement_Pack.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="520" height="62" viewBox="0 0 520 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M470 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M470 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M214 31h0"></path>
+<rect x="143" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="35">"PACK"</text>
+</g>
+<path d="M214 31h10"></path>
+<path d="M224 31h10"></path>
+<g class="non-terminal">
+<path d="M234 31h0"></path>
+<path d="M305 31h0"></path>
+<rect x="234" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="269.5" y="35">Source</text>
+</a>
+</g>
+<path d="M305 31h10"></path>
+<path d="M315 31h10"></path>
+<g class="terminal">
+<path d="M325 31h0"></path>
+<path d="M379 31h0"></path>
+<rect x="325" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="352" y="35">"TO"</text>
+</g>
+<path d="M379 31h10"></path>
+<path d="M389 31h10"></path>
+<g class="non-terminal">
+<path d="M399 31h0"></path>
+<path d="M470 31h0"></path>
+<rect x="399" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="434.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M470 31h10"></path>
+<path d="M 480 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Parameter.svg b/abap/statement_Parameter.svg
new file mode 100644
index 00000000..6a7b7db2
--- /dev/null
+++ b/abap/statement_Parameter.svg
@@ -0,0 +1,431 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1067" height="581" viewBox="0 0 1067 581">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1017 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1017 40h0"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M305 40h0"></path>
+<path d="M143 40h20"></path>
+<g class="terminal">
+<path d="M163 40h0"></path>
+<path d="M276.5 40h8.5"></path>
+<rect x="163" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="219.75" y="44">"PARAMETER"</text>
+</g>
+<path d="M285 40h20"></path>
+<path d="M143 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M163 70h0"></path>
+<path d="M285 70h0"></path>
+<rect x="163" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="224" y="74">"PARAMETERS"</text>
+</g>
+<path d="M285 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M305 40h10"></path>
+<g class="non-terminal">
+<path d="M315 40h0"></path>
+<path d="M403 40h0"></path>
+<rect x="315" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="359" y="44">FieldSub</text>
+</a>
+</g>
+<path d="M403 40h10"></path>
+<g>
+<path d="M413 40h0"></path>
+<path d="M566.5 40h0"></path>
+<path d="M413 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M433 20h113.5"></path>
+</g>
+<path d="M546.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M413 40h20"></path>
+<g class="non-terminal">
+<path d="M433 40h0"></path>
+<path d="M546.5 40h0"></path>
+<rect x="433" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldLength"><text x="489.75" y="44">FieldLength</text>
+</a>
+</g>
+<path d="M546.5 40h20"></path>
+</g>
+<g>
+<path d="M566.5 40h0"></path>
+<path d="M1017 40h0"></path>
+<path d="M566.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M586.5 20h410.5"></path>
+</g>
+<path d="M997 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M566.5 40h20"></path>
+<g>
+<path d="M586.5 40h0"></path>
+<path d="M997 40h0"></path>
+<path d="M616.5 40h10"></path>
+<g>
+<path d="M626.5 40h0"></path>
+<path d="M865.5 40h101.5"></path>
+<g>
+<path d="M626.5 40h0"></path>
+<path d="M737.5 40h0"></path>
+<path d="M626.5 40h20"></path>
+<g class="terminal">
+<path d="M646.5 40h0"></path>
+<path d="M717.5 40h0"></path>
+<rect x="646.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="682" y="44">"TYPE"</text>
+</g>
+<path d="M717.5 40h20"></path>
+<path d="M626.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M646.5 70h0"></path>
+<path d="M717.5 70h0"></path>
+<rect x="646.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="682" y="74">"LIKE"</text>
+</g>
+<path d="M717.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M737.5 40h0"></path>
+<path d="M865.5 40h0"></path>
+<path d="M737.5 40h20"></path>
+<g class="non-terminal">
+<path d="M757.5 40h0"></path>
+<path d="M845.5 40h0"></path>
+<rect x="757.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="801.5" y="44">TypeName</text>
+</a>
+</g>
+<path d="M845.5 40h20"></path>
+<path d="M737.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M757.5 70h0"></path>
+<path d="M837 70h8.5"></path>
+<rect x="757.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="797.25" y="74">Dynamic</text>
+</a>
+</g>
+<path d="M845.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M967 40h10"></path>
+<path d="M616.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 100h0"></path>
+<path d="M878 100h89"></path>
+<g class="terminal">
+<path d="M626.5 100h0"></path>
+<path d="M723 100h0"></path>
+<rect x="626.5" y="89" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="674.75" y="104">"DEFAULT"</text>
+</g>
+<path d="M723 100h10"></path>
+<g>
+<path d="M733 100h0"></path>
+<path d="M878 100h0"></path>
+<path d="M733 100h20"></path>
+<g class="non-terminal">
+<path d="M753 100h0"></path>
+<path d="M841 100h17"></path>
+<rect x="753" y="89" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="797" y="104">Constant</text>
+</a>
+</g>
+<path d="M858 100h20"></path>
+<path d="M733 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M753 130h0"></path>
+<path d="M858 130h0"></path>
+<rect x="753" y="119" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="805.5" y="134">FieldChain</text>
+</a>
+</g>
+<path d="M858 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M967 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M616.5 40v110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 160h0"></path>
+<path d="M748.5 160h218.5"></path>
+<rect x="626.5" y="149" width="122" height="22" rx="10" ry="10"></rect>
+<text x="687.5" y="164">"OBLIGATORY"</text>
+</g>
+<path d="M967 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M616.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 190h0"></path>
+<path d="M882 190h85"></path>
+<g class="terminal">
+<path d="M626.5 190h0"></path>
+<path d="M799.5 190h0"></path>
+<rect x="626.5" y="179" width="173" height="22" rx="10" ry="10"></rect>
+<text x="713" y="194">"MATCHCODE OBJECT"</text>
+</g>
+<path d="M799.5 190h10"></path>
+<path d="M809.5 190h10"></path>
+<g class="non-terminal">
+<path d="M819.5 190h0"></path>
+<path d="M882 190h0"></path>
+<rect x="819.5" y="179" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="850.75" y="194">Field</text>
+</a>
+</g>
+</g>
+<path d="M967 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M616.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 220h0"></path>
+<path d="M848 220h119"></path>
+<g class="terminal">
+<path d="M626.5 220h0"></path>
+<path d="M765.5 220h0"></path>
+<rect x="626.5" y="209" width="139" height="22" rx="10" ry="10"></rect>
+<text x="696" y="224">"USER-COMMAND"</text>
+</g>
+<path d="M765.5 220h10"></path>
+<path d="M775.5 220h10"></path>
+<g class="terminal">
+<path d="M785.5 220h0"></path>
+<path d="M848 220h0"></path>
+<rect x="785.5" y="209" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="816.75" y="224">^\w+$</text>
+</g>
+</g>
+<path d="M967 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M616.5 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 250h0"></path>
+<path d="M822.5 250h144.5"></path>
+<g class="terminal">
+<path d="M626.5 250h0"></path>
+<path d="M714.5 250h0"></path>
+<rect x="626.5" y="239" width="88" height="22" rx="10" ry="10"></rect>
+<text x="670.5" y="254">"LENGTH"</text>
+</g>
+<path d="M714.5 250h10"></path>
+<path d="M724.5 250h10"></path>
+<g class="non-terminal">
+<path d="M734.5 250h0"></path>
+<path d="M822.5 250h0"></path>
+<rect x="734.5" y="239" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="778.5" y="254">Constant</text>
+</a>
+</g>
+</g>
+<path d="M967 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M616.5 40v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 280h0"></path>
+<path d="M822.5 280h144.5"></path>
+<g class="terminal">
+<path d="M626.5 280h0"></path>
+<path d="M731.5 280h0"></path>
+<rect x="626.5" y="269" width="105" height="22" rx="10" ry="10"></rect>
+<text x="679" y="284">"DECIMALS"</text>
+</g>
+<path d="M731.5 280h10"></path>
+<path d="M741.5 280h10"></path>
+<g class="non-terminal">
+<path d="M751.5 280h0"></path>
+<path d="M822.5 280h0"></path>
+<rect x="751.5" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="787" y="284">Source</text>
+</a>
+</g>
+</g>
+<path d="M967 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M616.5 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 310h0"></path>
+<path d="M967 310h0"></path>
+<g class="terminal">
+<path d="M626.5 310h0"></path>
+<path d="M808 310h0"></path>
+<rect x="626.5" y="299" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="717.25" y="314">"RADIOBUTTON GROUP"</text>
+</g>
+<path d="M808 310h10"></path>
+<path d="M818 310h10"></path>
+<g class="non-terminal">
+<path d="M828 310h0"></path>
+<path d="M967 310h0"></path>
+<rect x="828" y="299" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/RadioGroupName"><text x="897.5" y="314">RadioGroupName</text>
+</a>
+</g>
+</g>
+<path d="M967 310a10 10 0 0 0 10 -10v-260"></path>
+<path d="M616.5 40v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 340h0"></path>
+<path d="M890.5 340h76.5"></path>
+<g class="terminal">
+<path d="M626.5 340h0"></path>
+<path d="M740 340h0"></path>
+<rect x="626.5" y="329" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="683.25" y="344">"MEMORY ID"</text>
+</g>
+<path d="M740 340h10"></path>
+<path d="M750 340h10"></path>
+<g class="non-terminal">
+<path d="M760 340h0"></path>
+<path d="M890.5 340h0"></path>
+<rect x="760" y="329" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="825.25" y="344">SimpleSource1</text>
+</a>
+</g>
+</g>
+<path d="M967 340a10 10 0 0 0 10 -10v-290"></path>
+<path d="M616.5 40v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 370h0"></path>
+<path d="M814 370h153"></path>
+<g class="terminal">
+<path d="M626.5 370h0"></path>
+<path d="M731.5 370h0"></path>
+<rect x="626.5" y="359" width="105" height="22" rx="10" ry="10"></rect>
+<text x="679" y="374">"MODIF ID"</text>
+</g>
+<path d="M731.5 370h10"></path>
+<path d="M741.5 370h10"></path>
+<g class="non-terminal">
+<path d="M751.5 370h0"></path>
+<path d="M814 370h0"></path>
+<rect x="751.5" y="359" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Modif"><text x="782.75" y="374">Modif</text>
+</a>
+</g>
+</g>
+<path d="M967 370a10 10 0 0 0 10 -10v-320"></path>
+<path d="M616.5 40v350a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 400h0"></path>
+<path d="M748.5 400h218.5"></path>
+<rect x="626.5" y="389" width="122" height="22" rx="10" ry="10"></rect>
+<text x="687.5" y="404">"AS LISTBOX"</text>
+</g>
+<path d="M967 400a10 10 0 0 0 10 -10v-350"></path>
+<path d="M616.5 40v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M626.5 430h0"></path>
+<path d="M890.5 430h76.5"></path>
+<g class="terminal">
+<path d="M626.5 430h0"></path>
+<path d="M782.5 430h0"></path>
+<rect x="626.5" y="419" width="156" height="22" rx="10" ry="10"></rect>
+<text x="704.5" y="434">"VISIBLE LENGTH"</text>
+</g>
+<path d="M782.5 430h10"></path>
+<path d="M792.5 430h10"></path>
+<g class="non-terminal">
+<path d="M802.5 430h0"></path>
+<path d="M890.5 430h0"></path>
+<rect x="802.5" y="419" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="846.5" y="434">Constant</text>
+</a>
+</g>
+</g>
+<path d="M967 430a10 10 0 0 0 10 -10v-380"></path>
+<path d="M616.5 40v410a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 460h0"></path>
+<path d="M757 460h210"></path>
+<rect x="626.5" y="449" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="691.75" y="464">"VALUE CHECK"</text>
+</g>
+<path d="M967 460a10 10 0 0 0 10 -10v-410"></path>
+<path d="M616.5 40v440a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 490h0"></path>
+<path d="M748.5 490h218.5"></path>
+<rect x="626.5" y="479" width="122" height="22" rx="10" ry="10"></rect>
+<text x="687.5" y="494">"NO-DISPLAY"</text>
+</g>
+<path d="M967 490a10 10 0 0 0 10 -10v-440"></path>
+<path d="M616.5 40v470a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 520h0"></path>
+<path d="M757 520h210"></path>
+<rect x="626.5" y="509" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="691.75" y="524">"AS CHECKBOX"</text>
+</g>
+<path d="M967 520a10 10 0 0 0 10 -10v-470"></path>
+<path d="M616.5 40v500a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M626.5 550h0"></path>
+<path d="M748.5 550h218.5"></path>
+<rect x="626.5" y="539" width="122" height="22" rx="10" ry="10"></rect>
+<text x="687.5" y="554">"LOWER CASE"</text>
+</g>
+<path d="M967 550a10 10 0 0 0 10 -10v-500"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 616.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="601.5" y="44" class="diagram-text">1+</text>
+<path d="M 977 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 984 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M997 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1017 40h10"></path>
+<path d="M 1027 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Perform.svg b/abap/statement_Perform.svg
new file mode 100644
index 00000000..352b5a9d
--- /dev/null
+++ b/abap/statement_Perform.svg
@@ -0,0 +1,361 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2057" height="156" viewBox="0 0 2057 156">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M2007 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M146.5 48h0"></path>
+<rect x="50" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="52">"PERFORM"</text>
+</g>
+<path d="M146.5 48h10"></path>
+<g>
+<path d="M156.5 48h0"></path>
+<path d="M783 48h0"></path>
+<path d="M156.5 48h20"></path>
+<g>
+<path d="M176.5 48h0"></path>
+<path d="M647.5 48h115.5"></path>
+<g>
+<path d="M176.5 48h0"></path>
+<path d="M249.5 48h0"></path>
+<text x="213" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M249.5 48h10"></path>
+<path d="M259.5 48h10"></path>
+<g>
+<path d="M269.5 48h0"></path>
+<path d="M647.5 48h0"></path>
+<g class="non-terminal">
+<path d="M269.5 48h0"></path>
+<path d="M357.5 48h0"></path>
+<rect x="269.5" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="313.5" y="52">FormName</text>
+</a>
+</g>
+<path d="M357.5 48h10"></path>
+<path d="M367.5 48h10"></path>
+<g class="terminal">
+<path d="M377.5 48h0"></path>
+<path d="M431.5 48h0"></path>
+<rect x="377.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="404.5" y="52">!"("</text>
+</g>
+<path d="M431.5 48h10"></path>
+<path d="M441.5 48h10"></path>
+<g class="non-terminal">
+<path d="M451.5 48h0"></path>
+<path d="M565 48h0"></path>
+<rect x="451.5" y="37" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/IncludeName"><text x="508.25" y="52">IncludeName</text>
+</a>
+</g>
+<path d="M565 48h10"></path>
+<path d="M575 48h10"></path>
+<g class="terminal">
+<path d="M585 48h0"></path>
+<path d="M647.5 48h0"></path>
+<rect x="585" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="616.25" y="52">!") "</text>
+</g>
+</g>
+</g>
+<path d="M763 48h20"></path>
+<path d="M156.5 48a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M176.5 95h0"></path>
+<path d="M763 95h0"></path>
+<g>
+<path d="M176.5 95h0"></path>
+<path d="M304.5 95h0"></path>
+<path d="M176.5 95h20"></path>
+<g class="non-terminal">
+<path d="M196.5 95h0"></path>
+<path d="M284.5 95h0"></path>
+<rect x="196.5" y="84" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FormName"><text x="240.5" y="99">FormName</text>
+</a>
+</g>
+<path d="M284.5 95h20"></path>
+<path d="M176.5 95a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M196.5 125h0"></path>
+<path d="M276 125h8.5"></path>
+<rect x="196.5" y="114" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="236.25" y="129">Dynamic</text>
+</a>
+</g>
+<path d="M284.5 125a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M304.5 95h0"></path>
+<path d="M763 95h0"></path>
+<path d="M304.5 95a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M324.5 67h418.5"></path>
+</g>
+<path d="M743 67a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M304.5 95h20"></path>
+<g>
+<path d="M324.5 95h0"></path>
+<path d="M743 95h0"></path>
+<g>
+<path d="M324.5 95h0"></path>
+<path d="M397.5 95h0"></path>
+<text x="361" y="100" class="comment">not Cloud</text>
+</g>
+<path d="M397.5 95h10"></path>
+<path d="M407.5 95h10"></path>
+<g>
+<path d="M417.5 95h0"></path>
+<path d="M743 95h0"></path>
+<g class="terminal">
+<path d="M417.5 95h0"></path>
+<path d="M539.5 95h0"></path>
+<rect x="417.5" y="84" width="122" height="22" rx="10" ry="10"></rect>
+<text x="478.5" y="99">"IN PROGRAM"</text>
+</g>
+<path d="M539.5 95h10"></path>
+<g>
+<path d="M549.5 95h0"></path>
+<path d="M743 95h0"></path>
+<path d="M549.5 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M569.5 75h153.5"></path>
+</g>
+<path d="M723 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M549.5 95h20"></path>
+<g>
+<path d="M569.5 95h0"></path>
+<path d="M723 95h0"></path>
+<path d="M569.5 95h20"></path>
+<g class="non-terminal">
+<path d="M589.5 95h0"></path>
+<path d="M669 95h34"></path>
+<rect x="589.5" y="84" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="629.25" y="99">Dynamic</text>
+</a>
+</g>
+<path d="M703 95h20"></path>
+<path d="M569.5 95a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M589.5 125h0"></path>
+<path d="M703 125h0"></path>
+<rect x="589.5" y="114" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/IncludeName"><text x="646.25" y="129">IncludeName</text>
+</a>
+</g>
+<path d="M703 125a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M723 95h20"></path>
+</g>
+</g>
+</g>
+<path d="M743 95h20"></path>
+</g>
+</g>
+<path d="M763 95a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M783 48h0"></path>
+<path d="M928 48h0"></path>
+<path d="M783 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M803 28h105"></path>
+</g>
+<path d="M908 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M783 48h20"></path>
+<g class="terminal">
+<path d="M803 48h0"></path>
+<path d="M908 48h0"></path>
+<rect x="803" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="855.5" y="52">"IF FOUND"</text>
+</g>
+<path d="M908 48h20"></path>
+</g>
+<g>
+<path d="M928 48h0"></path>
+<path d="M1098.5 48h0"></path>
+<path d="M928 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M948 28h130.5"></path>
+</g>
+<path d="M1078.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M928 48h20"></path>
+<g class="non-terminal">
+<path d="M948 48h0"></path>
+<path d="M1078.5 48h0"></path>
+<rect x="948" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/PerformTables"><text x="1013.25" y="52">PerformTables</text>
+</a>
+</g>
+<path d="M1078.5 48h20"></path>
+</g>
+<g>
+<path d="M1098.5 48h0"></path>
+<path d="M1260.5 48h0"></path>
+<path d="M1098.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1118.5 28h122"></path>
+</g>
+<path d="M1240.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1098.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1118.5 48h0"></path>
+<path d="M1240.5 48h0"></path>
+<rect x="1118.5" y="37" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/PerformUsing"><text x="1179.5" y="52">PerformUsing</text>
+</a>
+</g>
+<path d="M1240.5 48h20"></path>
+</g>
+<g>
+<path d="M1260.5 48h0"></path>
+<path d="M1448 48h0"></path>
+<path d="M1260.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1280.5 28h147.5"></path>
+</g>
+<path d="M1428 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1260.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1280.5 48h0"></path>
+<path d="M1428 48h0"></path>
+<rect x="1280.5" y="37" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/PerformChanging"><text x="1354.25" y="52">PerformChanging</text>
+</a>
+</g>
+<path d="M1428 48h20"></path>
+</g>
+<g>
+<path d="M1448 48h0"></path>
+<path d="M1593 48h0"></path>
+<path d="M1448 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1468 28h105"></path>
+</g>
+<path d="M1573 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1448 48h20"></path>
+<g class="terminal">
+<path d="M1468 48h0"></path>
+<path d="M1573 48h0"></path>
+<rect x="1468" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1520.5" y="52">"IF FOUND"</text>
+</g>
+<path d="M1573 48h20"></path>
+</g>
+<g>
+<path d="M1593 48h0"></path>
+<path d="M2007 48h0"></path>
+<path d="M1593 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1613 20h374"></path>
+</g>
+<path d="M1987 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1593 48h20"></path>
+<g>
+<path d="M1613 48h0"></path>
+<path d="M1987 48h0"></path>
+<path d="M1613 48h20"></path>
+<g>
+<path d="M1633 48h0"></path>
+<path d="M1967 48h0"></path>
+<g class="terminal">
+<path d="M1633 48h0"></path>
+<path d="M1746.5 48h0"></path>
+<rect x="1633" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1689.75" y="52">"ON COMMIT"</text>
+</g>
+<path d="M1746.5 48h10"></path>
+<g>
+<path d="M1756.5 48h0"></path>
+<path d="M1967 48h0"></path>
+<path d="M1756.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1776.5 28h170.5"></path>
+</g>
+<path d="M1947 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1756.5 48h20"></path>
+<g>
+<path d="M1776.5 48h0"></path>
+<path d="M1947 48h0"></path>
+<g class="terminal">
+<path d="M1776.5 48h0"></path>
+<path d="M1856 48h0"></path>
+<rect x="1776.5" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1816.25" y="52">"LEVEL"</text>
+</g>
+<path d="M1856 48h10"></path>
+<path d="M1866 48h10"></path>
+<g class="non-terminal">
+<path d="M1876 48h0"></path>
+<path d="M1947 48h0"></path>
+<rect x="1876" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1911.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1947 48h20"></path>
+</g>
+</g>
+<path d="M1967 48h20"></path>
+<path d="M1613 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1633 78h0"></path>
+<path d="M1763.5 78h203.5"></path>
+<rect x="1633" y="67" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="1698.25" y="82">"ON ROLLBACK"</text>
+</g>
+<path d="M1967 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1987 48h20"></path>
+</g>
+</g>
+<path d="M2007 48h10"></path>
+<path d="M 2017 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Position.svg b/abap/statement_Position.svg
new file mode 100644
index 00000000..f94cbe79
--- /dev/null
+++ b/abap/statement_Position.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="389" height="62" viewBox="0 0 389 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M339 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M339 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M248 31h0"></path>
+<rect x="143" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="35">"POSITION"</text>
+</g>
+<path d="M248 31h10"></path>
+<path d="M258 31h10"></path>
+<g class="non-terminal">
+<path d="M268 31h0"></path>
+<path d="M339 31h0"></path>
+<rect x="268" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="303.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M339 31h10"></path>
+<path d="M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_PrintControl.svg b/abap/statement_PrintControl.svg
new file mode 100644
index 00000000..2ebcbfb7
--- /dev/null
+++ b/abap/statement_PrintControl.svg
@@ -0,0 +1,117 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="603.5" height="92" viewBox="0 0 603.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M553.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M553.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"PRINT-CONTROL"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<g>
+<path d="M300.5 31h0"></path>
+<path d="M553.5 31h0"></path>
+<path d="M300.5 31h20"></path>
+<g>
+<path d="M320.5 31h0"></path>
+<path d="M533.5 31h0"></path>
+<g class="terminal">
+<path d="M320.5 31h0"></path>
+<path d="M442.5 31h0"></path>
+<rect x="320.5" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="381.5" y="35">"INDEX-LINE"</text>
+</g>
+<path d="M442.5 31h10"></path>
+<path d="M452.5 31h10"></path>
+<g class="non-terminal">
+<path d="M462.5 31h0"></path>
+<path d="M533.5 31h0"></path>
+<rect x="462.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="498" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M533.5 31h20"></path>
+<path d="M300.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320.5 61h0"></path>
+<path d="M516.5 61h17"></path>
+<g class="terminal">
+<path d="M320.5 61h0"></path>
+<path d="M425.5 61h0"></path>
+<rect x="320.5" y="50" width="105" height="22" rx="10" ry="10"></rect>
+<text x="373" y="65">"FUNCTION"</text>
+</g>
+<path d="M425.5 61h10"></path>
+<path d="M435.5 61h10"></path>
+<g class="non-terminal">
+<path d="M445.5 61h0"></path>
+<path d="M516.5 61h0"></path>
+<rect x="445.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="481" y="65">Source</text>
+</a>
+</g>
+</g>
+<path d="M533.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M553.5 31h10"></path>
+<path d="M 563.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Private.svg b/abap/statement_Private.svg
new file mode 100644
index 00000000..6c8a6a3e
--- /dev/null
+++ b/abap/statement_Private.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="264.5" height="62" viewBox="0 0 264.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M214.5 31h0"></path>
+<rect x="50" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="132.25" y="35">"PRIVATE SECTION"</text>
+</g>
+<path d="M214.5 31h10"></path>
+<path d="M 224.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Program.svg b/abap/statement_Program.svg
new file mode 100644
index 00000000..dc0428ae
--- /dev/null
+++ b/abap/statement_Program.svg
@@ -0,0 +1,182 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="795.5" height="161" viewBox="0 0 795.5 161">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M745.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M745.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M239.5 40h0"></path>
+<rect x="143" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="44">"PROGRAM"</text>
+</g>
+<path d="M239.5 40h10"></path>
+<g>
+<path d="M249.5 40h0"></path>
+<path d="M394.5 40h0"></path>
+<path d="M249.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M269.5 20h105"></path>
+</g>
+<path d="M374.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M249.5 40h20"></path>
+<g class="non-terminal">
+<path d="M269.5 40h0"></path>
+<path d="M374.5 40h0"></path>
+<rect x="269.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ReportName"><text x="322" y="44">ReportName</text>
+</a>
+</g>
+<path d="M374.5 40h20"></path>
+</g>
+<g>
+<path d="M394.5 40h0"></path>
+<path d="M745.5 40h0"></path>
+<path d="M394.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M414.5 20h311"></path>
+</g>
+<path d="M725.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M394.5 40h20"></path>
+<g>
+<path d="M414.5 40h0"></path>
+<path d="M725.5 40h0"></path>
+<path d="M444.5 40h10"></path>
+<g>
+<path d="M454.5 40h0"></path>
+<path d="M667.5 40h28"></path>
+<g class="terminal">
+<path d="M454.5 40h0"></path>
+<path d="M576.5 40h0"></path>
+<rect x="454.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="515.5" y="44">"MESSAGE-ID"</text>
+</g>
+<path d="M576.5 40h10"></path>
+<path d="M586.5 40h10"></path>
+<g class="non-terminal">
+<path d="M596.5 40h0"></path>
+<path d="M667.5 40h0"></path>
+<rect x="596.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="632" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M695.5 40h10"></path>
+<path d="M444.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M454.5 70h0"></path>
+<path d="M659 70h36.5"></path>
+<g class="terminal">
+<path d="M454.5 70h0"></path>
+<path d="M568 70h0"></path>
+<rect x="454.5" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="511.25" y="74">"LINE-SIZE"</text>
+</g>
+<path d="M568 70h10"></path>
+<path d="M578 70h10"></path>
+<g class="non-terminal">
+<path d="M588 70h0"></path>
+<path d="M659 70h0"></path>
+<rect x="588" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="623.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M695.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M444.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M454.5 100h0"></path>
+<path d="M695.5 100h0"></path>
+<rect x="454.5" y="89" width="241" height="22" rx="10" ry="10"></rect>
+<text x="575" y="104">"NO STANDARD PAGE HEADING"</text>
+</g>
+<path d="M695.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M444.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M454.5 130h0"></path>
+<path d="M667.5 130h28"></path>
+<g class="terminal">
+<path d="M454.5 130h0"></path>
+<path d="M576.5 130h0"></path>
+<rect x="454.5" y="119" width="122" height="22" rx="10" ry="10"></rect>
+<text x="515.5" y="134">"LINE-COUNT"</text>
+</g>
+<path d="M576.5 130h10"></path>
+<path d="M586.5 130h10"></path>
+<g class="non-terminal">
+<path d="M596.5 130h0"></path>
+<path d="M667.5 130h0"></path>
+<rect x="596.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="632" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M695.5 130a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 444.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="429.5" y="44" class="diagram-text">1+</text>
+<path d="M 705.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 712.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M725.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M745.5 40h10"></path>
+<path d="M 755.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Protected.svg b/abap/statement_Protected.svg
new file mode 100644
index 00000000..6373ea8a
--- /dev/null
+++ b/abap/statement_Protected.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="281.5" height="62" viewBox="0 0 281.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M231.5 31h0"></path>
+<rect x="50" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="140.75" y="35">"PROTECTED SECTION"</text>
+</g>
+<path d="M231.5 31h10"></path>
+<path d="M 241.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Provide.svg b/abap/statement_Provide.svg
new file mode 100644
index 00000000..bf6fc732
--- /dev/null
+++ b/abap/statement_Provide.svg
@@ -0,0 +1,356 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1981.5" height="252" viewBox="0 0 1981.5 252">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1931.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M1931.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M239.5 31h0"></path>
+<rect x="143" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="35">"PROVIDE"</text>
+</g>
+<path d="M239.5 31h10"></path>
+<g>
+<path d="M249.5 31h0"></path>
+<path d="M1441.5 31h0"></path>
+<path d="M249.5 31h20"></path>
+<g>
+<path d="M269.5 31h0"></path>
+<path d="M1421.5 31h0"></path>
+<path d="M269.5 31h10"></path>
+<g>
+<path d="M279.5 31h0"></path>
+<path d="M1411.5 31h0"></path>
+<g class="terminal">
+<path d="M279.5 31h0"></path>
+<path d="M367.5 31h0"></path>
+<rect x="279.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="323.5" y="35">"FIELDS"</text>
+</g>
+<path d="M367.5 31h10"></path>
+<path d="M377.5 31h10"></path>
+<g>
+<path d="M387.5 31h0"></path>
+<path d="M510 31h0"></path>
+<path d="M387.5 31h10"></path>
+<g>
+<path d="M397.5 31h0"></path>
+<path d="M500 31h0"></path>
+<path d="M397.5 31h20"></path>
+<g class="terminal">
+<path d="M417.5 31h0"></path>
+<path d="M463 31h17"></path>
+<rect x="417.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="440.25" y="35">"&#42;"</text>
+</g>
+<path d="M480 31h20"></path>
+<path d="M397.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M417.5 61h0"></path>
+<path d="M480 61h0"></path>
+<rect x="417.5" y="50" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="448.75" y="65">Field</text>
+</a>
+</g>
+<path d="M480 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M500 31h10"></path>
+<path d="M397.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M397.5 80h102.5"></path>
+</g>
+<path d="M500 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M510 31h10"></path>
+<path d="M520 31h10"></path>
+<g class="terminal">
+<path d="M530 31h0"></path>
+<path d="M601 31h0"></path>
+<rect x="530" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="565.5" y="35">"FROM"</text>
+</g>
+<path d="M601 31h10"></path>
+<path d="M611 31h10"></path>
+<g class="non-terminal">
+<path d="M621 31h0"></path>
+<path d="M692 31h0"></path>
+<rect x="621" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="656.5" y="35">Source</text>
+</a>
+</g>
+<path d="M692 31h10"></path>
+<path d="M702 31h10"></path>
+<g class="terminal">
+<path d="M712 31h0"></path>
+<path d="M783 31h0"></path>
+<rect x="712" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="747.5" y="35">"INTO"</text>
+</g>
+<path d="M783 31h10"></path>
+<path d="M793 31h10"></path>
+<g class="non-terminal">
+<path d="M803 31h0"></path>
+<path d="M874 31h0"></path>
+<rect x="803" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="838.5" y="35">Target</text>
+</a>
+</g>
+<path d="M874 31h10"></path>
+<path d="M884 31h10"></path>
+<g class="terminal">
+<path d="M894 31h0"></path>
+<path d="M973.5 31h0"></path>
+<rect x="894" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="933.75" y="35">"VALID"</text>
+</g>
+<path d="M973.5 31h10"></path>
+<path d="M983.5 31h10"></path>
+<g class="non-terminal">
+<path d="M993.5 31h0"></path>
+<path d="M1056 31h0"></path>
+<rect x="993.5" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1024.75" y="35">Field</text>
+</a>
+</g>
+<path d="M1056 31h10"></path>
+<path d="M1066 31h10"></path>
+<g class="terminal">
+<path d="M1076 31h0"></path>
+<path d="M1164 31h0"></path>
+<rect x="1076" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1120" y="35">"BOUNDS"</text>
+</g>
+<path d="M1164 31h10"></path>
+<path d="M1174 31h10"></path>
+<g class="non-terminal">
+<path d="M1184 31h0"></path>
+<path d="M1246.5 31h0"></path>
+<rect x="1184" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1215.25" y="35">Field</text>
+</a>
+</g>
+<path d="M1246.5 31h10"></path>
+<path d="M1256.5 31h10"></path>
+<g class="terminal">
+<path d="M1266.5 31h0"></path>
+<path d="M1329 31h0"></path>
+<rect x="1266.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1297.75" y="35">"AND"</text>
+</g>
+<path d="M1329 31h10"></path>
+<path d="M1339 31h10"></path>
+<g class="non-terminal">
+<path d="M1349 31h0"></path>
+<path d="M1411.5 31h0"></path>
+<rect x="1349" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1380.25" y="35">Field</text>
+</a>
+</g>
+</g>
+<path d="M1411.5 31h10"></path>
+<path d="M279.5 31a10 10 0 0 0 -10 10v37a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M279.5 88h1132"></path>
+</g>
+<path d="M1411.5 88a10 10 0 0 0 10 -10v-37a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1421.5 31h20"></path>
+<path d="M249.5 31a10 10 0 0 1 10 10v56a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M269.5 107h0"></path>
+<path d="M634 107h787.5"></path>
+<path d="M269.5 107h10"></path>
+<g>
+<path d="M279.5 107h0"></path>
+<path d="M624 107h0"></path>
+<path d="M279.5 107h20"></path>
+<g>
+<path d="M299.5 107h0"></path>
+<path d="M604 107h0"></path>
+<g>
+<path d="M299.5 107h0"></path>
+<path d="M422 107h0"></path>
+<path d="M299.5 107h10"></path>
+<g>
+<path d="M309.5 107h0"></path>
+<path d="M412 107h0"></path>
+<path d="M309.5 107h20"></path>
+<g class="terminal">
+<path d="M329.5 107h0"></path>
+<path d="M375 107h17"></path>
+<rect x="329.5" y="96" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="352.25" y="111">"&#42;"</text>
+</g>
+<path d="M392 107h20"></path>
+<path d="M309.5 107a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M329.5 137h0"></path>
+<path d="M392 137h0"></path>
+<rect x="329.5" y="126" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="360.75" y="141">Field</text>
+</a>
+</g>
+<path d="M392 137a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M412 107h10"></path>
+<path d="M309.5 107a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M309.5 156h102.5"></path>
+</g>
+<path d="M412 156a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M422 107h10"></path>
+<path d="M432 107h10"></path>
+<g class="terminal">
+<path d="M442 107h0"></path>
+<path d="M513 107h0"></path>
+<rect x="442" y="96" width="71" height="22" rx="10" ry="10"></rect>
+<text x="477.5" y="111">"FROM"</text>
+</g>
+<path d="M513 107h10"></path>
+<path d="M523 107h10"></path>
+<g class="non-terminal">
+<path d="M533 107h0"></path>
+<path d="M604 107h0"></path>
+<rect x="533" y="96" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="568.5" y="111">Source</text>
+</a>
+</g>
+</g>
+<path d="M604 107h20"></path>
+<path d="M279.5 107a10 10 0 0 1 10 10v48a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M299.5 175h0"></path>
+<path d="M422 175h182"></path>
+<path d="M299.5 175h10"></path>
+<g>
+<path d="M309.5 175h0"></path>
+<path d="M412 175h0"></path>
+<path d="M309.5 175h20"></path>
+<g class="terminal">
+<path d="M329.5 175h0"></path>
+<path d="M375 175h17"></path>
+<rect x="329.5" y="164" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="352.25" y="179">"&#42;"</text>
+</g>
+<path d="M392 175h20"></path>
+<path d="M309.5 175a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M329.5 205h0"></path>
+<path d="M392 205h0"></path>
+<rect x="329.5" y="194" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="360.75" y="209">Field</text>
+</a>
+</g>
+<path d="M392 205a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M412 175h10"></path>
+<path d="M309.5 175a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M309.5 224h102.5"></path>
+</g>
+<path d="M412 224a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M604 175a10 10 0 0 0 10 -10v-48a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M624 107h10"></path>
+<path d="M279.5 107a10 10 0 0 0 -10 10v105a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M279.5 232h344.5"></path>
+</g>
+<path d="M624 232a10 10 0 0 0 10 -10v-105a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1421.5 107a10 10 0 0 0 10 -10v-56a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1441.5 31h10"></path>
+<g class="terminal">
+<path d="M1451.5 31h0"></path>
+<path d="M1548 31h0"></path>
+<rect x="1451.5" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1499.75" y="35">"BETWEEN"</text>
+</g>
+<path d="M1548 31h10"></path>
+<path d="M1558 31h10"></path>
+<g class="non-terminal">
+<path d="M1568 31h0"></path>
+<path d="M1698.5 31h0"></path>
+<rect x="1568" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1633.25" y="35">SimpleSource3</text>
+</a>
+</g>
+<path d="M1698.5 31h10"></path>
+<path d="M1708.5 31h10"></path>
+<g class="terminal">
+<path d="M1718.5 31h0"></path>
+<path d="M1781 31h0"></path>
+<rect x="1718.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1749.75" y="35">"AND"</text>
+</g>
+<path d="M1781 31h10"></path>
+<path d="M1791 31h10"></path>
+<g class="non-terminal">
+<path d="M1801 31h0"></path>
+<path d="M1931.5 31h0"></path>
+<rect x="1801" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource3"><text x="1866.25" y="35">SimpleSource3</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1931.5 31h10"></path>
+<path d="M 1941.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Public.svg b/abap/statement_Public.svg
new file mode 100644
index 00000000..14dae302
--- /dev/null
+++ b/abap/statement_Public.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="256" height="62" viewBox="0 0 256 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M206 31h0"></path>
+<rect x="50" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="128" y="35">"PUBLIC SECTION"</text>
+</g>
+<path d="M206 31h10"></path>
+<path d="M 216 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Put.svg b/abap/statement_Put.svg
new file mode 100644
index 00000000..3896c4d3
--- /dev/null
+++ b/abap/statement_Put.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="338" height="62" viewBox="0 0 338 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M288 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M288 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M205.5 31h0"></path>
+<rect x="143" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="174.25" y="35">"PUT"</text>
+</g>
+<path d="M205.5 31h10"></path>
+<path d="M215.5 31h10"></path>
+<g class="non-terminal">
+<path d="M225.5 31h0"></path>
+<path d="M288 31h0"></path>
+<rect x="225.5" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="256.75" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M288 31h10"></path>
+<path d="M 298 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Raise.svg b/abap/statement_Raise.svg
new file mode 100644
index 00000000..89b2d5d2
--- /dev/null
+++ b/abap/statement_Raise.svg
@@ -0,0 +1,366 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1902.5" height="268" viewBox="0 0 1902.5 268">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1852.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M129.5 48h0"></path>
+<rect x="50" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="52">"RAISE"</text>
+</g>
+<path d="M129.5 48h10"></path>
+<g>
+<path d="M139.5 48h0"></path>
+<path d="M1852.5 48h0"></path>
+<path d="M139.5 48h20"></path>
+<g>
+<path d="M159.5 48h0"></path>
+<path d="M1832.5 48h0"></path>
+<g>
+<path d="M159.5 48h0"></path>
+<path d="M476.5 48h0"></path>
+<path d="M159.5 48h20"></path>
+<g>
+<path d="M179.5 48h0"></path>
+<path d="M456.5 48h0"></path>
+<g>
+<path d="M179.5 48h0"></path>
+<path d="M333 48h0"></path>
+<path d="M179.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M199.5 28h113.5"></path>
+</g>
+<path d="M313 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M179.5 48h20"></path>
+<g class="terminal">
+<path d="M199.5 48h0"></path>
+<path d="M313 48h0"></path>
+<rect x="199.5" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="256.25" y="52">"RESUMABLE"</text>
+</g>
+<path d="M313 48h20"></path>
+</g>
+<path d="M333 48h10"></path>
+<g class="terminal">
+<path d="M343 48h0"></path>
+<path d="M456.5 48h0"></path>
+<rect x="343" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="399.75" y="52">"EXCEPTION"</text>
+</g>
+</g>
+<path d="M456.5 48h20"></path>
+<path d="M159.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M179.5 78h0"></path>
+<path d="M293 78h163.5"></path>
+<rect x="179.5" y="67" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="236.25" y="82">"SHORTDUMP"</text>
+</g>
+<path d="M456.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M476.5 48h0"></path>
+<path d="M1832.5 48h0"></path>
+<path d="M476.5 48h20"></path>
+<g>
+<path d="M496.5 48h0"></path>
+<path d="M1812.5 48h0"></path>
+<g class="terminal">
+<path d="M496.5 48h0"></path>
+<path d="M567.5 48h0"></path>
+<rect x="496.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="532" y="52">"TYPE"</text>
+</g>
+<path d="M567.5 48h10"></path>
+<path d="M577.5 48h10"></path>
+<g class="non-terminal">
+<path d="M587.5 48h0"></path>
+<path d="M684 48h0"></path>
+<rect x="587.5" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="635.75" y="52">ClassName</text>
+</a>
+</g>
+<path d="M684 48h10"></path>
+<g>
+<path d="M694 48h0"></path>
+<path d="M1500 48h0"></path>
+<path d="M694 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M714 20h766"></path>
+</g>
+<path d="M1480 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M694 48h20"></path>
+<g>
+<path d="M714 48h0"></path>
+<path d="M1480 48h0"></path>
+<path d="M714 48h20"></path>
+<g>
+<path d="M734 48h0"></path>
+<path d="M1460 48h0"></path>
+<g>
+<path d="M734 48h0"></path>
+<path d="M772 48h0"></path>
+<text x="753" y="53" class="comment">v750</text>
+</g>
+<path d="M772 48h10"></path>
+<g>
+<path d="M782 48h0"></path>
+<path d="M1460 48h0"></path>
+<path d="M782 48h20"></path>
+<g>
+<path d="M802 48h0"></path>
+<path d="M1195.5 48h244.5"></path>
+<g class="terminal">
+<path d="M802 48h0"></path>
+<path d="M898.5 48h0"></path>
+<rect x="802" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="850.25" y="52">"MESSAGE"</text>
+</g>
+<path d="M898.5 48h10"></path>
+<path d="M908.5 48h10"></path>
+<g class="non-terminal">
+<path d="M918.5 48h0"></path>
+<path d="M1049 48h0"></path>
+<rect x="918.5" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageSource"><text x="983.75" y="52">MessageSource</text>
+</a>
+</g>
+<path d="M1049 48h10"></path>
+<g>
+<path d="M1059 48h0"></path>
+<path d="M1195.5 48h0"></path>
+<path d="M1059 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1079 28h96.5"></path>
+</g>
+<path d="M1175.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1059 48h20"></path>
+<g class="non-terminal">
+<path d="M1079 48h0"></path>
+<path d="M1175.5 48h0"></path>
+<rect x="1079" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/RaiseWith"><text x="1127.25" y="52">RaiseWith</text>
+</a>
+</g>
+<path d="M1175.5 48h20"></path>
+</g>
+</g>
+<path d="M1440 48h20"></path>
+<path d="M782 48a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M802 87h0"></path>
+<path d="M1440 87h0"></path>
+<g class="terminal">
+<path d="M802 87h0"></path>
+<path d="M924 87h0"></path>
+<rect x="802" y="76" width="122" height="22" rx="10" ry="10"></rect>
+<text x="863" y="91">"MESSAGE ID"</text>
+</g>
+<path d="M924 87h10"></path>
+<path d="M934 87h10"></path>
+<g class="non-terminal">
+<path d="M944 87h0"></path>
+<path d="M1015 87h0"></path>
+<rect x="944" y="76" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="979.5" y="91">Source</text>
+</a>
+</g>
+<path d="M1015 87h10"></path>
+<path d="M1025 87h10"></path>
+<g class="terminal">
+<path d="M1035 87h0"></path>
+<path d="M1123 87h0"></path>
+<rect x="1035" y="76" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1079" y="91">"NUMBER"</text>
+</g>
+<path d="M1123 87h10"></path>
+<g>
+<path d="M1133 87h0"></path>
+<path d="M1303.5 87h0"></path>
+<path d="M1133 87h20"></path>
+<g class="non-terminal">
+<path d="M1153 87h0"></path>
+<path d="M1283.5 87h0"></path>
+<rect x="1153" y="76" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageNumber"><text x="1218.25" y="91">MessageNumber</text>
+</a>
+</g>
+<path d="M1283.5 87h20"></path>
+<path d="M1133 87a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1153 117h0"></path>
+<path d="M1224 117h59.5"></path>
+<rect x="1153" y="106" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1188.5" y="121">Source</text>
+</a>
+</g>
+<path d="M1283.5 117a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1303.5 87h0"></path>
+<path d="M1440 87h0"></path>
+<path d="M1303.5 87a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1323.5 67h96.5"></path>
+</g>
+<path d="M1420 67a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1303.5 87h20"></path>
+<g class="non-terminal">
+<path d="M1323.5 87h0"></path>
+<path d="M1420 87h0"></path>
+<rect x="1323.5" y="76" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/RaiseWith"><text x="1371.75" y="91">RaiseWith</text>
+</a>
+</g>
+<path d="M1420 87h20"></path>
+</g>
+</g>
+<path d="M1440 87a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1460 48h20"></path>
+<path d="M714 48a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M734 147h0"></path>
+<path d="M939.5 147h520.5"></path>
+<g>
+<path d="M734 147h0"></path>
+<path d="M772 147h0"></path>
+<text x="753" y="152" class="comment">v752</text>
+</g>
+<path d="M772 147h10"></path>
+<path d="M782 147h10"></path>
+<g class="terminal">
+<path d="M792 147h0"></path>
+<path d="M939.5 147h0"></path>
+<rect x="792" y="136" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="865.75" y="151">"USING MESSAGE"</text>
+</g>
+</g>
+<path d="M1460 147a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1480 48h20"></path>
+</g>
+<g>
+<path d="M1500 48h0"></path>
+<path d="M1812.5 48h0"></path>
+<path d="M1500 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1520 28h272.5"></path>
+</g>
+<path d="M1792.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1500 48h20"></path>
+<g>
+<path d="M1520 48h0"></path>
+<path d="M1792.5 48h0"></path>
+<g class="terminal">
+<path d="M1520 48h0"></path>
+<path d="M1633.5 48h0"></path>
+<rect x="1520" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1576.75" y="52">"EXPORTING"</text>
+</g>
+<path d="M1633.5 48h10"></path>
+<path d="M1643.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1653.5 48h0"></path>
+<path d="M1792.5 48h0"></path>
+<rect x="1653.5" y="37" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="1723" y="52">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M1792.5 48h20"></path>
+</g>
+</g>
+<path d="M1812.5 48h20"></path>
+<path d="M476.5 48a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M496.5 177h0"></path>
+<path d="M625.5 177h1187"></path>
+<g>
+<path d="M496.5 177h0"></path>
+<path d="M534.5 177h0"></path>
+<text x="515.5" y="182" class="comment">v752</text>
+</g>
+<path d="M534.5 177h10"></path>
+<path d="M544.5 177h10"></path>
+<g class="non-terminal">
+<path d="M554.5 177h0"></path>
+<path d="M625.5 177h0"></path>
+<rect x="554.5" y="166" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="590" y="181">Source</text>
+</a>
+</g>
+</g>
+<path d="M1812.5 177a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M476.5 48a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M496.5 207h0"></path>
+<path d="M627 207h1185.5"></path>
+<rect x="496.5" y="196" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource2"><text x="561.75" y="211">SimpleSource2</text>
+</a>
+</g>
+<path d="M1812.5 207a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1832.5 48h20"></path>
+<path d="M139.5 48a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M159.5 237h0"></path>
+<path d="M290 237h1542.5"></path>
+<rect x="159.5" y="226" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ExceptionName"><text x="224.75" y="241">ExceptionName</text>
+</a>
+</g>
+<path d="M1832.5 237a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1852.5 48h10"></path>
+<path d="M 1862.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_RaiseEntityEvent.svg b/abap/statement_RaiseEntityEvent.svg
new file mode 100644
index 00000000..96f7061a
--- /dev/null
+++ b/abap/statement_RaiseEntityEvent.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="588.5" height="62" viewBox="0 0 588.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M538.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M240 31h0"></path>
+<rect x="50" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="145" y="35">"RAISE ENTITY EVENT"</text>
+</g>
+<path d="M240 31h10"></path>
+<path d="M250 31h10"></path>
+<g class="non-terminal">
+<path d="M260 31h0"></path>
+<path d="M356.5 31h0"></path>
+<rect x="260" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EventName"><text x="308.25" y="35">EventName</text>
+</a>
+</g>
+<path d="M356.5 31h10"></path>
+<path d="M366.5 31h10"></path>
+<g class="terminal">
+<path d="M376.5 31h0"></path>
+<path d="M447.5 31h0"></path>
+<rect x="376.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="412" y="35">"FROM"</text>
+</g>
+<path d="M447.5 31h10"></path>
+<path d="M457.5 31h10"></path>
+<g class="non-terminal">
+<path d="M467.5 31h0"></path>
+<path d="M538.5 31h0"></path>
+<rect x="467.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="503" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M538.5 31h10"></path>
+<path d="M 548.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_RaiseEvent.svg b/abap/statement_RaiseEvent.svg
new file mode 100644
index 00000000..33d1ff2f
--- /dev/null
+++ b/abap/statement_RaiseEvent.svg
@@ -0,0 +1,99 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="669.5" height="71" viewBox="0 0 669.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M619.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"RAISE EVENT"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<path d="M190.5 40h10"></path>
+<g class="non-terminal">
+<path d="M200.5 40h0"></path>
+<path d="M297 40h0"></path>
+<rect x="200.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/EventName"><text x="248.75" y="44">EventName</text>
+</a>
+</g>
+<path d="M297 40h10"></path>
+<g>
+<path d="M307 40h0"></path>
+<path d="M619.5 40h0"></path>
+<path d="M307 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M327 20h272.5"></path>
+</g>
+<path d="M599.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M307 40h20"></path>
+<g>
+<path d="M327 40h0"></path>
+<path d="M599.5 40h0"></path>
+<g class="terminal">
+<path d="M327 40h0"></path>
+<path d="M440.5 40h0"></path>
+<rect x="327" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="383.75" y="44">"EXPORTING"</text>
+</g>
+<path d="M440.5 40h10"></path>
+<path d="M450.5 40h10"></path>
+<g class="non-terminal">
+<path d="M460.5 40h0"></path>
+<path d="M599.5 40h0"></path>
+<rect x="460.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ParameterListS"><text x="530" y="44">ParameterListS</text>
+</a>
+</g>
+</g>
+<path d="M599.5 40h20"></path>
+</g>
+</g>
+<path d="M619.5 40h10"></path>
+<path d="M 629.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Ranges.svg b/abap/statement_Ranges.svg
new file mode 100644
index 00000000..2f727d9b
--- /dev/null
+++ b/abap/statement_Ranges.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="902" height="71" viewBox="0 0 902 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M852 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M852 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"RANGES"</text>
+</g>
+<path d="M231 40h10"></path>
+<path d="M241 40h10"></path>
+<g class="non-terminal">
+<path d="M251 40h0"></path>
+<path d="M356 40h0"></path>
+<rect x="251" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="303.5" y="44">SimpleName</text>
+</a>
+</g>
+<path d="M356 40h10"></path>
+<path d="M366 40h10"></path>
+<g class="terminal">
+<path d="M376 40h0"></path>
+<path d="M438.5 40h0"></path>
+<rect x="376" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="407.25" y="44">"FOR"</text>
+</g>
+<path d="M438.5 40h10"></path>
+<path d="M448.5 40h10"></path>
+<g class="non-terminal">
+<path d="M458.5 40h0"></path>
+<path d="M623 40h0"></path>
+<rect x="458.5" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleFieldChain2"><text x="540.75" y="44">SimpleFieldChain2</text>
+</a>
+</g>
+<path d="M623 40h10"></path>
+<g>
+<path d="M633 40h0"></path>
+<path d="M852 40h0"></path>
+<path d="M633 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M653 20h179"></path>
+</g>
+<path d="M832 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M633 40h20"></path>
+<g>
+<path d="M653 40h0"></path>
+<path d="M832 40h0"></path>
+<g class="terminal">
+<path d="M653 40h0"></path>
+<path d="M741 40h0"></path>
+<rect x="653" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="697" y="44">"OCCURS"</text>
+</g>
+<path d="M741 40h10"></path>
+<path d="M751 40h10"></path>
+<g class="non-terminal">
+<path d="M761 40h0"></path>
+<path d="M832 40h0"></path>
+<rect x="761" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="796.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M832 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M852 40h10"></path>
+<path d="M 862 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadDataset.svg b/abap/statement_ReadDataset.svg
new file mode 100644
index 00000000..23b45650
--- /dev/null
+++ b/abap/statement_ReadDataset.svg
@@ -0,0 +1,187 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1399.5" height="71" viewBox="0 0 1399.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1349.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1349.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M282 40h0"></path>
+<rect x="143" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="44">"READ DATASET"</text>
+</g>
+<path d="M282 40h10"></path>
+<path d="M292 40h10"></path>
+<g class="non-terminal">
+<path d="M302 40h0"></path>
+<path d="M373 40h0"></path>
+<rect x="302" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="337.5" y="44">Source</text>
+</a>
+</g>
+<path d="M373 40h10"></path>
+<path d="M383 40h10"></path>
+<g class="terminal">
+<path d="M393 40h0"></path>
+<path d="M464 40h0"></path>
+<rect x="393" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="428.5" y="44">"INTO"</text>
+</g>
+<path d="M464 40h10"></path>
+<path d="M474 40h10"></path>
+<g class="non-terminal">
+<path d="M484 40h0"></path>
+<path d="M555 40h0"></path>
+<rect x="484" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="519.5" y="44">Target</text>
+</a>
+</g>
+<path d="M555 40h10"></path>
+<g>
+<path d="M565 40h0"></path>
+<path d="M852 40h0"></path>
+<path d="M565 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M585 20h247"></path>
+</g>
+<path d="M832 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M565 40h20"></path>
+<g>
+<path d="M585 40h0"></path>
+<path d="M832 40h0"></path>
+<g class="terminal">
+<path d="M585 40h0"></path>
+<path d="M741 40h0"></path>
+<rect x="585" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<text x="663" y="44">"MAXIMUM LENGTH"</text>
+</g>
+<path d="M741 40h10"></path>
+<path d="M751 40h10"></path>
+<g class="non-terminal">
+<path d="M761 40h0"></path>
+<path d="M832 40h0"></path>
+<rect x="761" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="796.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M832 40h20"></path>
+</g>
+<g>
+<path d="M852 40h0"></path>
+<path d="M1130.5 40h0"></path>
+<path d="M852 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M872 20h238.5"></path>
+</g>
+<path d="M1110.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M852 40h20"></path>
+<g>
+<path d="M872 40h0"></path>
+<path d="M1110.5 40h0"></path>
+<g class="terminal">
+<path d="M872 40h0"></path>
+<path d="M1019.5 40h0"></path>
+<rect x="872" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="945.75" y="44">"ACTUAL LENGTH"</text>
+</g>
+<path d="M1019.5 40h10"></path>
+<path d="M1029.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1039.5 40h0"></path>
+<path d="M1110.5 40h0"></path>
+<rect x="1039.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1075" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1110.5 40h20"></path>
+</g>
+<g>
+<path d="M1130.5 40h0"></path>
+<path d="M1349.5 40h0"></path>
+<path d="M1130.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1150.5 20h179"></path>
+</g>
+<path d="M1329.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1130.5 40h20"></path>
+<g>
+<path d="M1150.5 40h0"></path>
+<path d="M1329.5 40h0"></path>
+<g class="terminal">
+<path d="M1150.5 40h0"></path>
+<path d="M1238.5 40h0"></path>
+<rect x="1150.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1194.5" y="44">"LENGTH"</text>
+</g>
+<path d="M1238.5 40h10"></path>
+<path d="M1248.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1258.5 40h0"></path>
+<path d="M1329.5 40h0"></path>
+<rect x="1258.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1294" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M1329.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1349.5 40h10"></path>
+<path d="M 1359.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadEntities.svg b/abap/statement_ReadEntities.svg
new file mode 100644
index 00000000..c016556f
--- /dev/null
+++ b/abap/statement_ReadEntities.svg
@@ -0,0 +1,362 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2717.5" height="140" viewBox="0 0 2717.5 140">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2667.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v754</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M2667.5 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M281 40h0"></path>
+<rect x="108" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="194.5" y="44">"READ ENTITIES OF"</text>
+</g>
+<path d="M281 40h10"></path>
+<path d="M291 40h10"></path>
+<g class="non-terminal">
+<path d="M301 40h0"></path>
+<path d="M482.5 40h0"></path>
+<rect x="301" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="391.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M482.5 40h10"></path>
+<g>
+<path d="M492.5 40h0"></path>
+<path d="M680 40h0"></path>
+<path d="M492.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M512.5 20h147.5"></path>
+</g>
+<path d="M660 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M492.5 40h20"></path>
+<g class="terminal">
+<path d="M512.5 40h0"></path>
+<path d="M660 40h0"></path>
+<rect x="512.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="586.25" y="44">"IN LOCAL MODE"</text>
+</g>
+<path d="M660 40h20"></path>
+</g>
+<path d="M680 40h10"></path>
+<g class="terminal">
+<path d="M690 40h0"></path>
+<path d="M778 40h0"></path>
+<rect x="690" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="734" y="44">"ENTITY"</text>
+</g>
+<path d="M778 40h10"></path>
+<path d="M788 40h10"></path>
+<g class="non-terminal">
+<path d="M798 40h0"></path>
+<path d="M903 40h0"></path>
+<rect x="798" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="850.5" y="44">SimpleName</text>
+</a>
+</g>
+<path d="M903 40h10"></path>
+<g>
+<path d="M913 40h0"></path>
+<path d="M1174.5 40h0"></path>
+<path d="M913 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M933 20h221.5"></path>
+</g>
+<path d="M1154.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M913 40h20"></path>
+<g>
+<path d="M933 40h0"></path>
+<path d="M1154.5 40h0"></path>
+<g class="terminal">
+<path d="M933 40h0"></path>
+<path d="M987 40h0"></path>
+<rect x="933" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="960" y="44">"BY"</text>
+</g>
+<path d="M987 40h10"></path>
+<path d="M997 40h10"></path>
+<g class="non-terminal">
+<path d="M1007 40h0"></path>
+<path d="M1154.5 40h0"></path>
+<rect x="1007" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AssociationName"><text x="1080.75" y="44">AssociationName</text>
+</a>
+</g>
+</g>
+<path d="M1154.5 40h20"></path>
+</g>
+<g>
+<path d="M1174.5 40h0"></path>
+<path d="M1811.5 40h0"></path>
+<path d="M1174.5 40h20"></path>
+<g>
+<path d="M1194.5 40h0"></path>
+<path d="M1791.5 40h0"></path>
+<g class="terminal">
+<path d="M1194.5 40h0"></path>
+<path d="M1282.5 40h0"></path>
+<rect x="1194.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1238.5" y="44">"FIELDS"</text>
+</g>
+<path d="M1282.5 40h10"></path>
+<path d="M1292.5 40h10"></path>
+<g class="terminal">
+<path d="M1302.5 40h0"></path>
+<path d="M1373.5 40h0"></path>
+<rect x="1302.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1338" y="44">!" ( "</text>
+</g>
+<path d="M1373.5 40h10"></path>
+<path d="M1383.5 40h10"></path>
+<g>
+<path d="M1393.5 40h0"></path>
+<path d="M1518.5 40h0"></path>
+<path d="M1393.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1403.5 40h0"></path>
+<path d="M1508.5 40h0"></path>
+<rect x="1403.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="1456" y="44">SimpleName</text>
+</a>
+</g>
+<path d="M1508.5 40h10"></path>
+<path d="M1403.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1403.5 60h105"></path>
+</g>
+<path d="M1508.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1518.5 40h10"></path>
+<path d="M1528.5 40h10"></path>
+<g class="terminal">
+<path d="M1538.5 40h0"></path>
+<path d="M1609.5 40h0"></path>
+<rect x="1538.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1574" y="44">!" ) "</text>
+</g>
+<path d="M1609.5 40h10"></path>
+<path d="M1619.5 40h10"></path>
+<g class="terminal">
+<path d="M1629.5 40h0"></path>
+<path d="M1700.5 40h0"></path>
+<rect x="1629.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1665" y="44">"WITH"</text>
+</g>
+<path d="M1700.5 40h10"></path>
+<path d="M1710.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1720.5 40h0"></path>
+<path d="M1791.5 40h0"></path>
+<rect x="1720.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1756" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1791.5 40h20"></path>
+<path d="M1174.5 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1194.5 79h0"></path>
+<path d="M1356.5 79h435"></path>
+<g class="terminal">
+<path d="M1194.5 79h0"></path>
+<path d="M1265.5 79h0"></path>
+<rect x="1194.5" y="68" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1230" y="83">"FROM"</text>
+</g>
+<path d="M1265.5 79h10"></path>
+<path d="M1275.5 79h10"></path>
+<g class="non-terminal">
+<path d="M1285.5 79h0"></path>
+<path d="M1356.5 79h0"></path>
+<rect x="1285.5" y="68" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1321" y="83">Source</text>
+</a>
+</g>
+</g>
+<path d="M1791.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M1174.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1194.5 109h0"></path>
+<path d="M1450 109h341.5"></path>
+<g class="terminal">
+<path d="M1194.5 109h0"></path>
+<path d="M1359 109h0"></path>
+<rect x="1194.5" y="98" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1276.75" y="113">"ALL FIELDS WITH"</text>
+</g>
+<path d="M1359 109h10"></path>
+<path d="M1369 109h10"></path>
+<g class="non-terminal">
+<path d="M1379 109h0"></path>
+<path d="M1450 109h0"></path>
+<rect x="1379" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1414.5" y="113">Source</text>
+</a>
+</g>
+</g>
+<path d="M1791.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1811.5 40h10"></path>
+<g class="terminal">
+<path d="M1821.5 40h0"></path>
+<path d="M1909.5 40h0"></path>
+<rect x="1821.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1865.5" y="44">"RESULT"</text>
+</g>
+<path d="M1909.5 40h10"></path>
+<path d="M1919.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1929.5 40h0"></path>
+<path d="M2000.5 40h0"></path>
+<rect x="1929.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1965" y="44">Target</text>
+</a>
+</g>
+<path d="M2000.5 40h10"></path>
+<g>
+<path d="M2010.5 40h0"></path>
+<path d="M2212.5 40h0"></path>
+<path d="M2010.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2030.5 20h162"></path>
+</g>
+<path d="M2192.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2010.5 40h20"></path>
+<g>
+<path d="M2030.5 40h0"></path>
+<path d="M2192.5 40h0"></path>
+<g class="terminal">
+<path d="M2030.5 40h0"></path>
+<path d="M2101.5 40h0"></path>
+<rect x="2030.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="2066" y="44">"LINK"</text>
+</g>
+<path d="M2101.5 40h10"></path>
+<path d="M2111.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2121.5 40h0"></path>
+<path d="M2192.5 40h0"></path>
+<rect x="2121.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="2157" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M2192.5 40h20"></path>
+</g>
+<g>
+<path d="M2212.5 40h0"></path>
+<path d="M2431.5 40h0"></path>
+<path d="M2212.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2232.5 20h179"></path>
+</g>
+<path d="M2411.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2212.5 40h20"></path>
+<g>
+<path d="M2232.5 40h0"></path>
+<path d="M2411.5 40h0"></path>
+<g class="terminal">
+<path d="M2232.5 40h0"></path>
+<path d="M2320.5 40h0"></path>
+<rect x="2232.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="2276.5" y="44">"FAILED"</text>
+</g>
+<path d="M2320.5 40h10"></path>
+<path d="M2330.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2340.5 40h0"></path>
+<path d="M2411.5 40h0"></path>
+<rect x="2340.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="2376" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M2411.5 40h20"></path>
+</g>
+<g>
+<path d="M2431.5 40h0"></path>
+<path d="M2667.5 40h0"></path>
+<path d="M2431.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2451.5 20h196"></path>
+</g>
+<path d="M2647.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2431.5 40h20"></path>
+<g>
+<path d="M2451.5 40h0"></path>
+<path d="M2647.5 40h0"></path>
+<g class="terminal">
+<path d="M2451.5 40h0"></path>
+<path d="M2556.5 40h0"></path>
+<rect x="2451.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="2504" y="44">"REPORTED"</text>
+</g>
+<path d="M2556.5 40h10"></path>
+<path d="M2566.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2576.5 40h0"></path>
+<path d="M2647.5 40h0"></path>
+<rect x="2576.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="2612" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M2647.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M2667.5 40h10"></path>
+<path d="M 2677.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadLine.svg b/abap/statement_ReadLine.svg
new file mode 100644
index 00000000..cd2cf120
--- /dev/null
+++ b/abap/statement_ReadLine.svg
@@ -0,0 +1,264 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1039.5" height="209" viewBox="0 0 1039.5 209">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M989.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M989.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M214 40h0"></path>
+<rect x="143" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="44">"READ"</text>
+</g>
+<path d="M214 40h10"></path>
+<g>
+<path d="M224 40h0"></path>
+<path d="M426 40h0"></path>
+<path d="M224 40h20"></path>
+<g class="terminal">
+<path d="M244 40h0"></path>
+<path d="M383 40h23"></path>
+<rect x="244" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="313.5" y="44">"CURRENT LINE"</text>
+</g>
+<path d="M406 40h20"></path>
+<path d="M224 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M244 70h0"></path>
+<path d="M406 70h0"></path>
+<g class="terminal">
+<path d="M244 70h0"></path>
+<path d="M315 70h0"></path>
+<rect x="244" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="279.5" y="74">"LINE"</text>
+</g>
+<path d="M315 70h10"></path>
+<path d="M325 70h10"></path>
+<g class="non-terminal">
+<path d="M335 70h0"></path>
+<path d="M406 70h0"></path>
+<rect x="335" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="370.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M406 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M426 40h0"></path>
+<path d="M989.5 40h0"></path>
+<path d="M426 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M446 20h523.5"></path>
+</g>
+<path d="M969.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M426 40h20"></path>
+<g>
+<path d="M446 40h0"></path>
+<path d="M969.5 40h0"></path>
+<path d="M476 40h10"></path>
+<g>
+<path d="M486 40h0"></path>
+<path d="M741.5 40h198"></path>
+<g class="terminal">
+<path d="M486 40h0"></path>
+<path d="M650.5 40h0"></path>
+<rect x="486" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="568.25" y="44">"LINE VALUE INTO"</text>
+</g>
+<path d="M650.5 40h10"></path>
+<path d="M660.5 40h10"></path>
+<g class="non-terminal">
+<path d="M670.5 40h0"></path>
+<path d="M741.5 40h0"></path>
+<rect x="670.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="706" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M939.5 40h10"></path>
+<path d="M476 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M486 70h0"></path>
+<path d="M656.5 70h283"></path>
+<g class="terminal">
+<path d="M486 70h0"></path>
+<path d="M565.5 70h0"></path>
+<rect x="486" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="525.75" y="74">"INDEX"</text>
+</g>
+<path d="M565.5 70h10"></path>
+<path d="M575.5 70h10"></path>
+<g class="non-terminal">
+<path d="M585.5 70h0"></path>
+<path d="M656.5 70h0"></path>
+<rect x="585.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="621" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M939.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M476 40v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M486 109h0"></path>
+<path d="M939.5 109h0"></path>
+<g class="terminal">
+<path d="M486 109h0"></path>
+<path d="M616.5 109h0"></path>
+<rect x="486" y="98" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="551.25" y="113">"FIELD VALUE"</text>
+</g>
+<path d="M616.5 109h10"></path>
+<path d="M626.5 109h10"></path>
+<g>
+<path d="M636.5 109h0"></path>
+<path d="M939.5 109h0"></path>
+<path d="M636.5 109h10"></path>
+<g>
+<path d="M646.5 109h0"></path>
+<path d="M929.5 109h0"></path>
+<g class="non-terminal">
+<path d="M646.5 109h0"></path>
+<path d="M717.5 109h0"></path>
+<rect x="646.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="682" y="113">Target</text>
+</a>
+</g>
+<path d="M717.5 109h10"></path>
+<g>
+<path d="M727.5 109h0"></path>
+<path d="M929.5 109h0"></path>
+<path d="M727.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M747.5 89h162"></path>
+</g>
+<path d="M909.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M727.5 109h20"></path>
+<g>
+<path d="M747.5 109h0"></path>
+<path d="M909.5 109h0"></path>
+<g class="terminal">
+<path d="M747.5 109h0"></path>
+<path d="M818.5 109h0"></path>
+<rect x="747.5" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="783" y="113">"INTO"</text>
+</g>
+<path d="M818.5 109h10"></path>
+<path d="M828.5 109h10"></path>
+<g class="non-terminal">
+<path d="M838.5 109h0"></path>
+<path d="M909.5 109h0"></path>
+<rect x="838.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="874" y="113">Target</text>
+</a>
+</g>
+</g>
+<path d="M909.5 109h20"></path>
+</g>
+</g>
+<path d="M929.5 109h10"></path>
+<path d="M646.5 109a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M646.5 129h283"></path>
+</g>
+<path d="M929.5 129a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M939.5 109a10 10 0 0 0 10 -10v-59"></path>
+<path d="M476 40v98a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M486 148h0"></path>
+<path d="M673.5 148h266"></path>
+<g class="terminal">
+<path d="M486 148h0"></path>
+<path d="M582.5 148h0"></path>
+<rect x="486" y="137" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="534.25" y="152">"OF PAGE"</text>
+</g>
+<path d="M582.5 148h10"></path>
+<path d="M592.5 148h10"></path>
+<g class="non-terminal">
+<path d="M602.5 148h0"></path>
+<path d="M673.5 148h0"></path>
+<rect x="602.5" y="137" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="638" y="152">Source</text>
+</a>
+</g>
+</g>
+<path d="M939.5 148a10 10 0 0 0 10 -10v-98"></path>
+<path d="M476 40v128a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M486 178h0"></path>
+<path d="M650.5 178h289"></path>
+<rect x="486" y="167" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="568.25" y="182">"OF CURRENT PAGE"</text>
+</g>
+<path d="M939.5 178a10 10 0 0 0 10 -10v-128"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 476 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="461" y="44" class="diagram-text">1+</text>
+<path d="M 949.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 956.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M969.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M989.5 40h10"></path>
+<path d="M 999.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadReport.svg b/abap/statement_ReadReport.svg
new file mode 100644
index 00000000..a4c26864
--- /dev/null
+++ b/abap/statement_ReadReport.svg
@@ -0,0 +1,155 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="785.5" height="122" viewBox="0 0 785.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M735.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M735.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"READ REPORT"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g class="non-terminal">
+<path d="M293.5 31h0"></path>
+<path d="M364.5 31h0"></path>
+<rect x="293.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329" y="35">Source</text>
+</a>
+</g>
+<path d="M364.5 31h10"></path>
+<path d="M374.5 31h10"></path>
+<g>
+<path d="M384.5 31h0"></path>
+<path d="M735.5 31h0"></path>
+<path d="M414.5 31h10"></path>
+<g>
+<path d="M424.5 31h0"></path>
+<path d="M595 31h110.5"></path>
+<g class="terminal">
+<path d="M424.5 31h0"></path>
+<path d="M504 31h0"></path>
+<rect x="424.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="464.25" y="35">"STATE"</text>
+</g>
+<path d="M504 31h10"></path>
+<path d="M514 31h10"></path>
+<g class="non-terminal">
+<path d="M524 31h0"></path>
+<path d="M595 31h0"></path>
+<rect x="524" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="559.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M705.5 31h10"></path>
+<path d="M414.5 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M424.5 61h0"></path>
+<path d="M586.5 61h119"></path>
+<g class="terminal">
+<path d="M424.5 61h0"></path>
+<path d="M495.5 61h0"></path>
+<rect x="424.5" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="460" y="65">"INTO"</text>
+</g>
+<path d="M495.5 61h10"></path>
+<path d="M505.5 61h10"></path>
+<g class="non-terminal">
+<path d="M515.5 61h0"></path>
+<path d="M586.5 61h0"></path>
+<rect x="515.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="551" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M705.5 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M414.5 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M424.5 91h0"></path>
+<path d="M705.5 91h0"></path>
+<g class="terminal">
+<path d="M424.5 91h0"></path>
+<path d="M614.5 91h0"></path>
+<rect x="424.5" y="80" width="190" height="22" rx="10" ry="10"></rect>
+<text x="519.5" y="95">"MAXIMUM WIDTH INTO"</text>
+</g>
+<path d="M614.5 91h10"></path>
+<path d="M624.5 91h10"></path>
+<g class="non-terminal">
+<path d="M634.5 91h0"></path>
+<path d="M705.5 91h0"></path>
+<rect x="634.5" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="670" y="95">Target</text>
+</a>
+</g>
+</g>
+<path d="M705.5 91a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 414.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="399.5" y="35" class="diagram-text">1+</text>
+<path d="M 715.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 722.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M735.5 31h10"></path>
+<path d="M 745.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadTable.svg b/abap/statement_ReadTable.svg
new file mode 100644
index 00000000..e3e3a25e
--- /dev/null
+++ b/abap/statement_ReadTable.svg
@@ -0,0 +1,412 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1293.5" height="509" viewBox="0 0 1293.5 509">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1243.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="111" y="44">"READ TABLE"</text>
+</g>
+<path d="M172 40h10"></path>
+<g>
+<path d="M182 40h0"></path>
+<path d="M379 40h0"></path>
+<path d="M182 40h20"></path>
+<g class="non-terminal">
+<path d="M202 40h0"></path>
+<path d="M332.5 40h26.5"></path>
+<rect x="202" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource2"><text x="267.25" y="44">SimpleSource2</text>
+</a>
+</g>
+<path d="M359 40h20"></path>
+<path d="M182 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M202 70h0"></path>
+<path d="M359 70h0"></path>
+<g>
+<path d="M202 70h0"></path>
+<path d="M268 70h0"></path>
+<text x="235" y="75" class="comment">v740sp02</text>
+</g>
+<path d="M268 70h10"></path>
+<path d="M278 70h10"></path>
+<g class="non-terminal">
+<path d="M288 70h0"></path>
+<path d="M359 70h0"></path>
+<rect x="288" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="323.5" y="74">Source</text>
+</a>
+</g>
+</g>
+<path d="M359 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M379 40h0"></path>
+<path d="M1243.5 40h0"></path>
+<path d="M379 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M399 20h824.5"></path>
+</g>
+<path d="M1223.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M379 40h20"></path>
+<g>
+<path d="M399 40h0"></path>
+<path d="M1223.5 40h0"></path>
+<path d="M429 40h10"></path>
+<g>
+<path d="M439 40h0"></path>
+<path d="M1193.5 40h0"></path>
+<path d="M439 40h20"></path>
+<g>
+<path d="M459 40h0"></path>
+<path d="M629.5 40h544"></path>
+<g class="terminal">
+<path d="M459 40h0"></path>
+<path d="M538.5 40h0"></path>
+<rect x="459" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="498.75" y="44">"INDEX"</text>
+</g>
+<path d="M538.5 40h10"></path>
+<path d="M548.5 40h10"></path>
+<g class="non-terminal">
+<path d="M558.5 40h0"></path>
+<path d="M629.5 40h0"></path>
+<rect x="558.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="594" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M1173.5 40h20"></path>
+<path d="M439 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M459 70h0"></path>
+<path d="M1173.5 70h0"></path>
+<g>
+<path d="M459 70h0"></path>
+<path d="M655 70h0"></path>
+<path d="M459 70h20"></path>
+<g class="terminal">
+<path d="M479 70h0"></path>
+<path d="M584 70h51"></path>
+<rect x="479" y="59" width="105" height="22" rx="10" ry="10"></rect>
+<text x="531.5" y="74">"WITH KEY"</text>
+</g>
+<path d="M635 70h20"></path>
+<path d="M459 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M479 100h0"></path>
+<path d="M635 100h0"></path>
+<rect x="479" y="89" width="156" height="22" rx="10" ry="10"></rect>
+<text x="557" y="104">"WITH TABLE KEY"</text>
+</g>
+<path d="M635 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M655 70h0"></path>
+<path d="M1173.5 70h0"></path>
+<path d="M655 70h20"></path>
+<g class="non-terminal">
+<path d="M675 70h0"></path>
+<path d="M882 70h271.5"></path>
+<rect x="675" y="59" width="207" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompareSimple"><text x="778.5" y="74">ComponentCompareSimple</text>
+</a>
+</g>
+<path d="M1153.5 70h20"></path>
+<path d="M655 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M675 100h0"></path>
+<path d="M1153.5 100h0"></path>
+<g>
+<path d="M675 100h0"></path>
+<path d="M794.5 100h0"></path>
+<path d="M675 100h20"></path>
+<g class="non-terminal">
+<path d="M695 100h0"></path>
+<path d="M757.5 100h17"></path>
+<rect x="695" y="89" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="726.25" y="104">Field</text>
+</a>
+</g>
+<path d="M774.5 100h20"></path>
+<path d="M675 100a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M695 130h0"></path>
+<path d="M774.5 130h0"></path>
+<rect x="695" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="734.75" y="134">Dynamic</text>
+</a>
+</g>
+<path d="M774.5 130a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M794.5 100h10"></path>
+<g class="terminal">
+<path d="M804.5 100h0"></path>
+<path d="M926.5 100h0"></path>
+<rect x="804.5" y="89" width="122" height="22" rx="10" ry="10"></rect>
+<text x="865.5" y="104">"COMPONENTS"</text>
+</g>
+<path d="M926.5 100h10"></path>
+<path d="M936.5 100h10"></path>
+<g class="non-terminal">
+<path d="M946.5 100h0"></path>
+<path d="M1153.5 100h0"></path>
+<rect x="946.5" y="89" width="207" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentCompareSimple"><text x="1050" y="104">ComponentCompareSimple</text>
+</a>
+</g>
+</g>
+<path d="M1153.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M655 70a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M675 169h0"></path>
+<path d="M841.5 169h312"></path>
+<g>
+<path d="M675 169h0"></path>
+<path d="M760.5 169h0"></path>
+<path d="M675 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M695 149h45.5"></path>
+</g>
+<path d="M740.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M675 169h20"></path>
+<g class="terminal">
+<path d="M695 169h0"></path>
+<path d="M740.5 169h0"></path>
+<rect x="695" y="158" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="717.75" y="173">"="</text>
+</g>
+<path d="M740.5 169h20"></path>
+</g>
+<path d="M760.5 169h10"></path>
+<g class="non-terminal">
+<path d="M770.5 169h0"></path>
+<path d="M841.5 169h0"></path>
+<rect x="770.5" y="158" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="806" y="173">Source</text>
+</a>
+</g>
+</g>
+<path d="M1153.5 169a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1173.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M439 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M459 199h0"></path>
+<path d="M621 199h552.5"></path>
+<g class="terminal">
+<path d="M459 199h0"></path>
+<path d="M530 199h0"></path>
+<rect x="459" y="188" width="71" height="22" rx="10" ry="10"></rect>
+<text x="494.5" y="203">"FROM"</text>
+</g>
+<path d="M530 199h10"></path>
+<path d="M540 199h10"></path>
+<g class="non-terminal">
+<path d="M550 199h0"></path>
+<path d="M621 199h0"></path>
+<rect x="550" y="188" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="585.5" y="203">Source</text>
+</a>
+</g>
+</g>
+<path d="M1173.5 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1193.5 40h10"></path>
+<path d="M429 40v179a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M439 229h0"></path>
+<path d="M586.5 229h607"></path>
+<rect x="439" y="218" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ReadTableTarget"><text x="512.75" y="233">ReadTableTarget</text>
+</a>
+</g>
+<path d="M1193.5 229a10 10 0 0 0 10 -10v-179"></path>
+<path d="M429 40v209a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M439 259h0"></path>
+<path d="M682 259h511.5"></path>
+<g class="terminal">
+<path d="M439 259h0"></path>
+<path d="M552.5 259h0"></path>
+<rect x="439" y="248" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="495.75" y="263">"USING KEY"</text>
+</g>
+<path d="M552.5 259h10"></path>
+<g>
+<path d="M562.5 259h0"></path>
+<path d="M682 259h0"></path>
+<path d="M562.5 259h20"></path>
+<g class="non-terminal">
+<path d="M582.5 259h0"></path>
+<path d="M645 259h17"></path>
+<rect x="582.5" y="248" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="613.75" y="263">Field</text>
+</a>
+</g>
+<path d="M662 259h20"></path>
+<path d="M562.5 259a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M582.5 289h0"></path>
+<path d="M662 289h0"></path>
+<rect x="582.5" y="278" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="622.25" y="293">Dynamic</text>
+</a>
+</g>
+<path d="M662 289a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1193.5 259a10 10 0 0 0 10 -10v-209"></path>
+<path d="M429 40v269a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M439 319h0"></path>
+<path d="M710.5 319h483"></path>
+<g class="terminal">
+<path d="M439 319h0"></path>
+<path d="M552.5 319h0"></path>
+<rect x="439" y="308" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="495.75" y="323">"COMPARING"</text>
+</g>
+<path d="M552.5 319h10"></path>
+<g>
+<path d="M562.5 319h0"></path>
+<path d="M710.5 319h0"></path>
+<path d="M562.5 319h20"></path>
+<g>
+<path d="M582.5 319h0"></path>
+<path d="M690.5 319h0"></path>
+<path d="M582.5 319h10"></path>
+<g class="non-terminal">
+<path d="M592.5 319h0"></path>
+<path d="M680.5 319h0"></path>
+<rect x="592.5" y="308" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="636.5" y="323">FieldSub</text>
+</a>
+</g>
+<path d="M680.5 319h10"></path>
+<path d="M592.5 319a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M592.5 339h88"></path>
+</g>
+<path d="M680.5 339a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M690.5 319h20"></path>
+<path d="M562.5 319a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M582.5 358h0"></path>
+<path d="M662 358h28.5"></path>
+<rect x="582.5" y="347" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="622.25" y="362">Dynamic</text>
+</a>
+</g>
+<path d="M690.5 358a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1193.5 319a10 10 0 0 0 10 -10v-269"></path>
+<path d="M429 40v338a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M439 388h0"></path>
+<path d="M535.5 388h658"></path>
+<rect x="439" y="377" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="487.25" y="392">"CASTING"</text>
+</g>
+<path d="M1193.5 388a10 10 0 0 0 10 -10v-338"></path>
+<path d="M429 40v368a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M439 418h0"></path>
+<path d="M671.5 418h522"></path>
+<rect x="439" y="407" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="555.25" y="422">"TRANSPORTING ALL FIELDS"</text>
+</g>
+<path d="M1193.5 418a10 10 0 0 0 10 -10v-368"></path>
+<path d="M429 40v398a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M439 448h0"></path>
+<path d="M771 448h422.5"></path>
+<g class="terminal">
+<path d="M439 448h0"></path>
+<path d="M578 448h0"></path>
+<rect x="439" y="437" width="139" height="22" rx="10" ry="10"></rect>
+<text x="508.5" y="452">"TRANSPORTING"</text>
+</g>
+<path d="M578 448h10"></path>
+<path d="M588 448h10"></path>
+<g class="non-terminal">
+<path d="M598 448h0"></path>
+<path d="M771 448h0"></path>
+<rect x="598" y="437" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/TransportingFields"><text x="684.5" y="452">TransportingFields</text>
+</a>
+</g>
+</g>
+<path d="M1193.5 448a10 10 0 0 0 10 -10v-398"></path>
+<path d="M429 40v428a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M439 478h0"></path>
+<path d="M586.5 478h607"></path>
+<rect x="439" y="467" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="512.75" y="482">"BINARY SEARCH"</text>
+</g>
+<path d="M1193.5 478a10 10 0 0 0 10 -10v-428"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 429 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="414" y="44" class="diagram-text">1+</text>
+<path d="M 1203.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1210.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1223.5 40h20"></path>
+</g>
+</g>
+<path d="M1243.5 40h10"></path>
+<path d="M 1253.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ReadTextpool.svg b/abap/statement_ReadTextpool.svg
new file mode 100644
index 00000000..b7c0e315
--- /dev/null
+++ b/abap/statement_ReadTextpool.svg
@@ -0,0 +1,155 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="734.5" height="122" viewBox="0 0 734.5 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M684.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M684.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M290.5 31h0"></path>
+<rect x="143" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="35">"READ TEXTPOOL"</text>
+</g>
+<path d="M290.5 31h10"></path>
+<path d="M300.5 31h10"></path>
+<g class="non-terminal">
+<path d="M310.5 31h0"></path>
+<path d="M381.5 31h0"></path>
+<rect x="310.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="35">Source</text>
+</a>
+</g>
+<path d="M381.5 31h10"></path>
+<path d="M391.5 31h10"></path>
+<g>
+<path d="M401.5 31h0"></path>
+<path d="M684.5 31h0"></path>
+<path d="M431.5 31h10"></path>
+<g>
+<path d="M441.5 31h0"></path>
+<path d="M654.5 31h0"></path>
+<g class="terminal">
+<path d="M441.5 31h0"></path>
+<path d="M512.5 31h0"></path>
+<rect x="441.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="477" y="35">"INTO"</text>
+</g>
+<path d="M512.5 31h10"></path>
+<path d="M522.5 31h10"></path>
+<g class="non-terminal">
+<path d="M532.5 31h0"></path>
+<path d="M654.5 31h0"></path>
+<rect x="532.5" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleTarget"><text x="593.5" y="35">SimpleTarget</text>
+</a>
+</g>
+</g>
+<path d="M654.5 31h10"></path>
+<path d="M431.5 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M441.5 61h0"></path>
+<path d="M637.5 61h17"></path>
+<g class="terminal">
+<path d="M441.5 61h0"></path>
+<path d="M546.5 61h0"></path>
+<rect x="441.5" y="50" width="105" height="22" rx="10" ry="10"></rect>
+<text x="494" y="65">"LANGUAGE"</text>
+</g>
+<path d="M546.5 61h10"></path>
+<path d="M556.5 61h10"></path>
+<g class="non-terminal">
+<path d="M566.5 61h0"></path>
+<path d="M637.5 61h0"></path>
+<rect x="566.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="602" y="65">Source</text>
+</a>
+</g>
+</g>
+<path d="M654.5 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M431.5 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M441.5 91h0"></path>
+<path d="M612 91h42.5"></path>
+<g class="terminal">
+<path d="M441.5 91h0"></path>
+<path d="M521 91h0"></path>
+<rect x="441.5" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="481.25" y="95">"STATE"</text>
+</g>
+<path d="M521 91h10"></path>
+<path d="M531 91h10"></path>
+<g class="non-terminal">
+<path d="M541 91h0"></path>
+<path d="M612 91h0"></path>
+<rect x="541" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="576.5" y="95">Source</text>
+</a>
+</g>
+</g>
+<path d="M654.5 91a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 431.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="416.5" y="35" class="diagram-text">1+</text>
+<path d="M 664.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 671.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M684.5 31h10"></path>
+<path d="M 694.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Receive.svg b/abap/statement_Receive.svg
new file mode 100644
index 00000000..bfa6e029
--- /dev/null
+++ b/abap/statement_Receive.svg
@@ -0,0 +1,105 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="982" height="71" viewBox="0 0 982 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M932 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M932 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M426.5 40h0"></path>
+<rect x="143" y="29" width="283.5" height="22" rx="10" ry="10"></rect>
+<text x="284.75" y="44">"RECEIVE RESULTS FROM FUNCTION"</text>
+</g>
+<path d="M426.5 40h10"></path>
+<path d="M436.5 40h10"></path>
+<g class="non-terminal">
+<path d="M446.5 40h0"></path>
+<path d="M568.5 40h0"></path>
+<rect x="446.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/FunctionName"><text x="507.5" y="44">FunctionName</text>
+</a>
+</g>
+<path d="M568.5 40h10"></path>
+<g>
+<path d="M578.5 40h0"></path>
+<path d="M757.5 40h0"></path>
+<path d="M578.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M598.5 20h139"></path>
+</g>
+<path d="M737.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M578.5 40h20"></path>
+<g class="terminal">
+<path d="M598.5 40h0"></path>
+<path d="M737.5 40h0"></path>
+<rect x="598.5" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="668" y="44">"KEEPING TASK"</text>
+</g>
+<path d="M737.5 40h20"></path>
+</g>
+<path d="M757.5 40h10"></path>
+<g class="non-terminal">
+<path d="M767.5 40h0"></path>
+<path d="M932 40h0"></path>
+<rect x="767.5" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ReceiveParameters"><text x="849.75" y="44">ReceiveParameters</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M932 40h10"></path>
+<path d="M 942 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Refresh.svg b/abap/statement_Refresh.svg
new file mode 100644
index 00000000..8a5bda4e
--- /dev/null
+++ b/abap/statement_Refresh.svg
@@ -0,0 +1,110 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="703" height="71" viewBox="0 0 703 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M653 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M653 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M239.5 40h0"></path>
+<rect x="143" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="44">"REFRESH"</text>
+</g>
+<path d="M239.5 40h10"></path>
+<path d="M249.5 40h10"></path>
+<g class="non-terminal">
+<path d="M259.5 40h0"></path>
+<path d="M330.5 40h0"></path>
+<rect x="259.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="295" y="44">Target</text>
+</a>
+</g>
+<path d="M330.5 40h10"></path>
+<g>
+<path d="M340.5 40h0"></path>
+<path d="M653 40h0"></path>
+<path d="M340.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M360.5 20h272.5"></path>
+</g>
+<path d="M633 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M340.5 40h20"></path>
+<g>
+<path d="M360.5 40h0"></path>
+<path d="M633 40h0"></path>
+<g class="terminal">
+<path d="M360.5 40h0"></path>
+<path d="M482.5 40h0"></path>
+<rect x="360.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="421.5" y="44">"FROM TABLE"</text>
+</g>
+<path d="M482.5 40h10"></path>
+<path d="M492.5 40h10"></path>
+<g class="non-terminal">
+<path d="M502.5 40h0"></path>
+<path d="M633 40h0"></path>
+<rect x="502.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="567.75" y="44">DatabaseTable</text>
+</a>
+</g>
+</g>
+<path d="M633 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M653 40h10"></path>
+<path d="M 663 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_RefreshControl.svg b/abap/statement_RefreshControl.svg
new file mode 100644
index 00000000..966dcfcd
--- /dev/null
+++ b/abap/statement_RefreshControl.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="690" height="62" viewBox="0 0 690 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M640 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M640 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"REFRESH CONTROL"</text>
+</g>
+<path d="M307.5 31h10"></path>
+<path d="M317.5 31h10"></path>
+<g class="non-terminal">
+<path d="M327.5 31h0"></path>
+<path d="M398.5 31h0"></path>
+<rect x="327.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="35">Source</text>
+</a>
+</g>
+<path d="M398.5 31h10"></path>
+<path d="M408.5 31h10"></path>
+<g class="terminal">
+<path d="M418.5 31h0"></path>
+<path d="M549 31h0"></path>
+<rect x="418.5" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="483.75" y="35">"FROM SCREEN"</text>
+</g>
+<path d="M549 31h10"></path>
+<path d="M559 31h10"></path>
+<g class="non-terminal">
+<path d="M569 31h0"></path>
+<path d="M640 31h0"></path>
+<rect x="569" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="604.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M640 31h10"></path>
+<path d="M 650 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Reject.svg b/abap/statement_Reject.svg
new file mode 100644
index 00000000..8085c837
--- /dev/null
+++ b/abap/statement_Reject.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="402" height="71" viewBox="0 0 402 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M352 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M352 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"REJECT"</text>
+</g>
+<path d="M231 40h10"></path>
+<g>
+<path d="M241 40h0"></path>
+<path d="M352 40h0"></path>
+<path d="M241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M261 20h71"></path>
+</g>
+<path d="M332 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M241 40h20"></path>
+<g class="non-terminal">
+<path d="M261 40h0"></path>
+<path d="M332 40h0"></path>
+<rect x="261" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="296.5" y="44">Source</text>
+</a>
+</g>
+<path d="M332 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M352 40h10"></path>
+<path d="M 362 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Replace.svg b/abap/statement_Replace.svg
new file mode 100644
index 00000000..27693de8
--- /dev/null
+++ b/abap/statement_Replace.svg
@@ -0,0 +1,527 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1626.5" height="379" viewBox="0 0 1626.5 379">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1576.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M146.5 48h0"></path>
+<rect x="50" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="52">"REPLACE"</text>
+</g>
+<path d="M146.5 48h10"></path>
+<path d="M156.5 48h10"></path>
+<g>
+<path d="M166.5 48h0"></path>
+<path d="M871 48h0"></path>
+<path d="M196.5 48h10"></path>
+<g>
+<path d="M206.5 48h0"></path>
+<path d="M841 48h0"></path>
+<g>
+<path d="M206.5 48h0"></path>
+<path d="M300.5 48h0"></path>
+<path d="M206.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M226.5 28h54"></path>
+</g>
+<path d="M280.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M206.5 48h20"></path>
+<g class="terminal">
+<path d="M226.5 48h0"></path>
+<path d="M280.5 48h0"></path>
+<rect x="226.5" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="253.5" y="52">"IN"</text>
+</g>
+<path d="M280.5 48h20"></path>
+</g>
+<path d="M300.5 48h10"></path>
+<g class="terminal">
+<path d="M310.5 48h0"></path>
+<path d="M407 48h0"></path>
+<rect x="310.5" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="358.75" y="52">"SECTION"</text>
+</g>
+<path d="M407 48h10"></path>
+<path d="M417 48h10"></path>
+<g>
+<path d="M427 48h0"></path>
+<path d="M676 48h0"></path>
+<path d="M457 48h10"></path>
+<g>
+<path d="M467 48h0"></path>
+<path d="M646 48h0"></path>
+<g class="terminal">
+<path d="M467 48h0"></path>
+<path d="M555 48h0"></path>
+<rect x="467" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="511" y="52">"OFFSET"</text>
+</g>
+<path d="M555 48h10"></path>
+<path d="M565 48h10"></path>
+<g class="non-terminal">
+<path d="M575 48h0"></path>
+<path d="M646 48h0"></path>
+<rect x="575" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="610.5" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M646 48h10"></path>
+<path d="M457 48v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 78h0"></path>
+<path d="M646 78h0"></path>
+<g class="terminal">
+<path d="M467 78h0"></path>
+<path d="M555 78h0"></path>
+<rect x="467" y="67" width="88" height="22" rx="10" ry="10"></rect>
+<text x="511" y="82">"LENGTH"</text>
+</g>
+<path d="M555 78h10"></path>
+<path d="M565 78h10"></path>
+<g class="non-terminal">
+<path d="M575 78h0"></path>
+<path d="M646 78h0"></path>
+<rect x="575" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="610.5" y="82">Source</text>
+</a>
+</g>
+</g>
+<path d="M646 78a10 10 0 0 0 10 -10v-20"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 457 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="442" y="52" class="diagram-text">1+</text>
+<path d="M 656 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 663 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M676 48h10"></path>
+<path d="M686 48h10"></path>
+<g class="terminal">
+<path d="M696 48h0"></path>
+<path d="M750 48h0"></path>
+<rect x="696" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="723" y="52">"OF"</text>
+</g>
+<path d="M750 48h10"></path>
+<path d="M760 48h10"></path>
+<g class="non-terminal">
+<path d="M770 48h0"></path>
+<path d="M841 48h0"></path>
+<rect x="770" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="805.5" y="52">Target</text>
+</a>
+</g>
+</g>
+<path d="M841 48h10"></path>
+<path d="M196.5 48v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M206.5 117h0"></path>
+<path d="M752.5 117h88.5"></path>
+<g>
+<path d="M206.5 117h0"></path>
+<path d="M459.5 117h0"></path>
+<path d="M206.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M226.5 97h213"></path>
+</g>
+<path d="M439.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M206.5 117h20"></path>
+<g>
+<path d="M226.5 117h0"></path>
+<path d="M439.5 117h0"></path>
+<path d="M226.5 117h20"></path>
+<g class="terminal">
+<path d="M246.5 117h0"></path>
+<path d="M411 117h8.5"></path>
+<rect x="246.5" y="106" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="328.75" y="121">"ALL OCCURRENCES"</text>
+</g>
+<path d="M419.5 117h20"></path>
+<path d="M226.5 117a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M246.5 147h0"></path>
+<path d="M402.5 147h17"></path>
+<rect x="246.5" y="136" width="156" height="22" rx="10" ry="10"></rect>
+<text x="324.5" y="151">"ALL OCCURENCES"</text>
+</g>
+<path d="M419.5 147a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M226.5 117a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M246.5 177h0"></path>
+<path d="M411 177h8.5"></path>
+<rect x="246.5" y="166" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="328.75" y="181">"FIRST OCCURENCE"</text>
+</g>
+<path d="M419.5 177a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M226.5 117a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M246.5 207h0"></path>
+<path d="M419.5 207h0"></path>
+<rect x="246.5" y="196" width="173" height="22" rx="10" ry="10"></rect>
+<text x="333" y="211">"FIRST OCCURRENCE"</text>
+</g>
+<path d="M419.5 207a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M439.5 117h20"></path>
+</g>
+<path d="M459.5 117h10"></path>
+<g>
+<path d="M469.5 117h0"></path>
+<path d="M752.5 117h0"></path>
+<g>
+<path d="M469.5 117h0"></path>
+<path d="M563.5 117h0"></path>
+<path d="M469.5 117a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M489.5 97h54"></path>
+</g>
+<path d="M543.5 97a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M469.5 117h20"></path>
+<g class="terminal">
+<path d="M489.5 117h0"></path>
+<path d="M543.5 117h0"></path>
+<rect x="489.5" y="106" width="54" height="22" rx="10" ry="10"></rect>
+<text x="516.5" y="121">"OF"</text>
+</g>
+<path d="M543.5 117h20"></path>
+</g>
+<path d="M563.5 117h10"></path>
+<g class="non-terminal">
+<path d="M573.5 117h0"></path>
+<path d="M661.5 117h0"></path>
+<rect x="573.5" y="106" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FindType"><text x="617.5" y="121">FindType</text>
+</a>
+</g>
+<path d="M661.5 117h10"></path>
+<path d="M671.5 117h10"></path>
+<g class="non-terminal">
+<path d="M681.5 117h0"></path>
+<path d="M752.5 117h0"></path>
+<rect x="681.5" y="106" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="717" y="121">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M841 117a10 10 0 0 0 10 -10v-59"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 196.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="181.5" y="52" class="diagram-text">1+</text>
+<path d="M 851 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 858 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M871 48h10"></path>
+<g>
+<path d="M881 48h0"></path>
+<path d="M1185.5 48h0"></path>
+<path d="M881 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M901 20h264.5"></path>
+</g>
+<path d="M1165.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M881 48h20"></path>
+<g>
+<path d="M901 48h0"></path>
+<path d="M1165.5 48h0"></path>
+<g class="terminal">
+<path d="M901 48h0"></path>
+<path d="M955 48h0"></path>
+<rect x="901" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="928" y="52">"IN"</text>
+</g>
+<path d="M955 48h10"></path>
+<g>
+<path d="M965 48h0"></path>
+<path d="M1084.5 48h0"></path>
+<path d="M965 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M985 28h79.5"></path>
+</g>
+<path d="M1064.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M965 48h20"></path>
+<g class="terminal">
+<path d="M985 48h0"></path>
+<path d="M1064.5 48h0"></path>
+<rect x="985" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1024.75" y="52">"TABLE"</text>
+</g>
+<path d="M1064.5 48h20"></path>
+</g>
+<path d="M1084.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1094.5 48h0"></path>
+<path d="M1165.5 48h0"></path>
+<rect x="1094.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1130" y="52">Target</text>
+</a>
+</g>
+</g>
+<path d="M1165.5 48h20"></path>
+</g>
+<g>
+<path d="M1185.5 48h0"></path>
+<path d="M1576.5 48h0"></path>
+<path d="M1185.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1205.5 28h351"></path>
+</g>
+<path d="M1556.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1185.5 48h20"></path>
+<g>
+<path d="M1205.5 48h0"></path>
+<path d="M1556.5 48h0"></path>
+<path d="M1235.5 48h10"></path>
+<g>
+<path d="M1245.5 48h0"></path>
+<path d="M1407.5 48h119"></path>
+<g class="terminal">
+<path d="M1245.5 48h0"></path>
+<path d="M1316.5 48h0"></path>
+<rect x="1245.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1281" y="52">"WITH"</text>
+</g>
+<path d="M1316.5 48h10"></path>
+<path d="M1326.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1336.5 48h0"></path>
+<path d="M1407.5 48h0"></path>
+<rect x="1336.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1372" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 48h10"></path>
+<path d="M1235.5 48v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 78h0"></path>
+<path d="M1407.5 78h119"></path>
+<g class="terminal">
+<path d="M1245.5 78h0"></path>
+<path d="M1316.5 78h0"></path>
+<rect x="1245.5" y="67" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1281" y="82">"INTO"</text>
+</g>
+<path d="M1316.5 78h10"></path>
+<path d="M1326.5 78h10"></path>
+<g class="non-terminal">
+<path d="M1336.5 78h0"></path>
+<path d="M1407.5 78h0"></path>
+<rect x="1336.5" y="67" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1372" y="82">Target</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 78a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1235.5 48v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 108h0"></path>
+<path d="M1450 108h76.5"></path>
+<path d="M1245.5 108h20"></path>
+<g class="terminal">
+<path d="M1265.5 108h0"></path>
+<path d="M1413 108h17"></path>
+<rect x="1265.5" y="97" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="1339.25" y="112">"IGNORING CASE"</text>
+</g>
+<path d="M1430 108h20"></path>
+<path d="M1245.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1265.5 138h0"></path>
+<path d="M1430 138h0"></path>
+<rect x="1265.5" y="127" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="1347.75" y="142">"RESPECTING CASE"</text>
+</g>
+<path d="M1430 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1526.5 108a10 10 0 0 0 10 -10v-50"></path>
+<path d="M1235.5 48v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 168h0"></path>
+<path d="M1467 168h59.5"></path>
+<path d="M1245.5 168h20"></path>
+<g class="terminal">
+<path d="M1265.5 168h0"></path>
+<path d="M1447 168h0"></path>
+<rect x="1265.5" y="157" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="1356.25" y="172">"IN CHARACTER MODE"</text>
+</g>
+<path d="M1447 168h20"></path>
+<path d="M1245.5 168a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1265.5 198h0"></path>
+<path d="M1404.5 198h42.5"></path>
+<rect x="1265.5" y="187" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1335" y="202">"IN BYTE MODE"</text>
+</g>
+<path d="M1447 198a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1526.5 168a10 10 0 0 0 10 -10v-110"></path>
+<path d="M1235.5 48v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 228h0"></path>
+<path d="M1518 228h8.5"></path>
+<g class="terminal">
+<path d="M1245.5 228h0"></path>
+<path d="M1427 228h0"></path>
+<rect x="1245.5" y="217" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="1336.25" y="232">"REPLACEMENT COUNT"</text>
+</g>
+<path d="M1427 228h10"></path>
+<path d="M1437 228h10"></path>
+<g class="non-terminal">
+<path d="M1447 228h0"></path>
+<path d="M1518 228h0"></path>
+<rect x="1447" y="217" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1482.5" y="232">Target</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 228a10 10 0 0 0 10 -10v-170"></path>
+<path d="M1235.5 48v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 258h0"></path>
+<path d="M1526.5 258h0"></path>
+<g class="terminal">
+<path d="M1245.5 258h0"></path>
+<path d="M1435.5 258h0"></path>
+<rect x="1245.5" y="247" width="190" height="22" rx="10" ry="10"></rect>
+<text x="1340.5" y="262">"REPLACEMENT OFFSET"</text>
+</g>
+<path d="M1435.5 258h10"></path>
+<path d="M1445.5 258h10"></path>
+<g class="non-terminal">
+<path d="M1455.5 258h0"></path>
+<path d="M1526.5 258h0"></path>
+<rect x="1455.5" y="247" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1491" y="262">Target</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 258a10 10 0 0 0 10 -10v-200"></path>
+<path d="M1235.5 48v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 288h0"></path>
+<path d="M1526.5 288h0"></path>
+<g class="terminal">
+<path d="M1245.5 288h0"></path>
+<path d="M1435.5 288h0"></path>
+<rect x="1245.5" y="277" width="190" height="22" rx="10" ry="10"></rect>
+<text x="1340.5" y="292">"REPLACEMENT LENGTH"</text>
+</g>
+<path d="M1435.5 288h10"></path>
+<path d="M1445.5 288h10"></path>
+<g class="non-terminal">
+<path d="M1455.5 288h0"></path>
+<path d="M1526.5 288h0"></path>
+<rect x="1455.5" y="277" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1491" y="292">Target</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 288a10 10 0 0 0 10 -10v-230"></path>
+<path d="M1235.5 48v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 318h0"></path>
+<path d="M1509.5 318h17"></path>
+<g class="terminal">
+<path d="M1245.5 318h0"></path>
+<path d="M1418.5 318h0"></path>
+<rect x="1245.5" y="307" width="173" height="22" rx="10" ry="10"></rect>
+<text x="1332" y="322">"REPLACEMENT LINE"</text>
+</g>
+<path d="M1418.5 318h10"></path>
+<path d="M1428.5 318h10"></path>
+<g class="non-terminal">
+<path d="M1438.5 318h0"></path>
+<path d="M1509.5 318h0"></path>
+<rect x="1438.5" y="307" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1474" y="322">Target</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 318a10 10 0 0 0 10 -10v-260"></path>
+<path d="M1235.5 48v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1245.5 348h0"></path>
+<path d="M1424.5 348h102"></path>
+<g class="terminal">
+<path d="M1245.5 348h0"></path>
+<path d="M1333.5 348h0"></path>
+<rect x="1245.5" y="337" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1289.5" y="352">"LENGTH"</text>
+</g>
+<path d="M1333.5 348h10"></path>
+<path d="M1343.5 348h10"></path>
+<g class="non-terminal">
+<path d="M1353.5 348h0"></path>
+<path d="M1424.5 348h0"></path>
+<rect x="1353.5" y="337" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1389" y="352">Source</text>
+</a>
+</g>
+</g>
+<path d="M1526.5 348a10 10 0 0 0 10 -10v-290"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1235.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1220.5" y="52" class="diagram-text">1+</text>
+<path d="M 1536.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1543.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1556.5 48h20"></path>
+</g>
+</g>
+<path d="M1576.5 48h10"></path>
+<path d="M 1586.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Report.svg b/abap/statement_Report.svg
new file mode 100644
index 00000000..a329930a
--- /dev/null
+++ b/abap/statement_Report.svg
@@ -0,0 +1,242 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1053.5" height="200" viewBox="0 0 1053.5 200">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1003.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1003.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"REPORT"</text>
+</g>
+<path d="M231 40h10"></path>
+<g>
+<path d="M241 40h0"></path>
+<path d="M386 40h0"></path>
+<path d="M241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M261 20h105"></path>
+</g>
+<path d="M366 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M241 40h20"></path>
+<g class="non-terminal">
+<path d="M261 40h0"></path>
+<path d="M366 40h0"></path>
+<rect x="261" y="29" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/ReportName"><text x="313.5" y="44">ReportName</text>
+</a>
+</g>
+<path d="M366 40h20"></path>
+</g>
+<g>
+<path d="M386 40h0"></path>
+<path d="M1003.5 40h0"></path>
+<path d="M386 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M406 20h577.5"></path>
+</g>
+<path d="M983.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M386 40h20"></path>
+<g>
+<path d="M406 40h0"></path>
+<path d="M983.5 40h0"></path>
+<path d="M436 40h10"></path>
+<g class="terminal">
+<path d="M446 40h0"></path>
+<path d="M687 40h266.5"></path>
+<rect x="446" y="29" width="241" height="22" rx="10" ry="10"></rect>
+<text x="566.5" y="44">"NO STANDARD PAGE HEADING"</text>
+</g>
+<path d="M953.5 40h10"></path>
+<path d="M436 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M446 70h0"></path>
+<path d="M659 70h294.5"></path>
+<g class="terminal">
+<path d="M446 70h0"></path>
+<path d="M559.5 70h0"></path>
+<rect x="446" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="502.75" y="74">"LINE-SIZE"</text>
+</g>
+<path d="M559.5 70h10"></path>
+<path d="M569.5 70h10"></path>
+<g class="non-terminal">
+<path d="M579.5 70h0"></path>
+<path d="M659 70h0"></path>
+<rect x="579.5" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="619.25" y="74">Integer</text>
+</a>
+</g>
+</g>
+<path d="M953.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M436 40v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M446 109h0"></path>
+<path d="M953.5 109h0"></path>
+<g class="terminal">
+<path d="M446 109h0"></path>
+<path d="M568 109h0"></path>
+<rect x="446" y="98" width="122" height="22" rx="10" ry="10"></rect>
+<text x="507" y="113">"LINE-COUNT"</text>
+</g>
+<path d="M568 109h10"></path>
+<path d="M578 109h10"></path>
+<g class="non-terminal">
+<path d="M588 109h0"></path>
+<path d="M667.5 109h0"></path>
+<rect x="588" y="98" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="627.75" y="113">Integer</text>
+</a>
+</g>
+<path d="M667.5 109h10"></path>
+<g>
+<path d="M677.5 109h0"></path>
+<path d="M953.5 109h0"></path>
+<path d="M677.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M697.5 89h236"></path>
+</g>
+<path d="M933.5 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M677.5 109h20"></path>
+<g>
+<path d="M697.5 109h0"></path>
+<path d="M933.5 109h0"></path>
+<g class="terminal">
+<path d="M697.5 109h0"></path>
+<path d="M751.5 109h0"></path>
+<rect x="697.5" y="98" width="54" height="22" rx="10" ry="10"></rect>
+<text x="724.5" y="113">!"("</text>
+</g>
+<path d="M751.5 109h10"></path>
+<path d="M761.5 109h10"></path>
+<g class="non-terminal">
+<path d="M771.5 109h0"></path>
+<path d="M851 109h0"></path>
+<rect x="771.5" y="98" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="811.25" y="113">Integer</text>
+</a>
+</g>
+<path d="M851 109h10"></path>
+<path d="M861 109h10"></path>
+<g class="terminal">
+<path d="M871 109h0"></path>
+<path d="M933.5 109h0"></path>
+<rect x="871" y="98" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="902.25" y="113">!") "</text>
+</g>
+</g>
+<path d="M933.5 109h20"></path>
+</g>
+</g>
+<path d="M953.5 109a10 10 0 0 0 10 -10v-59"></path>
+<path d="M436 40v89a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M446 139h0"></path>
+<path d="M684.5 139h269"></path>
+<g class="terminal">
+<path d="M446 139h0"></path>
+<path d="M602 139h0"></path>
+<rect x="446" y="128" width="156" height="22" rx="10" ry="10"></rect>
+<text x="524" y="143">"USING DATABASE"</text>
+</g>
+<path d="M602 139h10"></path>
+<path d="M612 139h10"></path>
+<g class="non-terminal">
+<path d="M622 139h0"></path>
+<path d="M684.5 139h0"></path>
+<rect x="622" y="128" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="653.25" y="143">Field</text>
+</a>
+</g>
+</g>
+<path d="M953.5 139a10 10 0 0 0 10 -10v-89"></path>
+<path d="M436 40v119a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M446 169h0"></path>
+<path d="M710 169h243.5"></path>
+<g class="terminal">
+<path d="M446 169h0"></path>
+<path d="M568 169h0"></path>
+<rect x="446" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="507" y="173">"MESSAGE-ID"</text>
+</g>
+<path d="M568 169h10"></path>
+<path d="M578 169h10"></path>
+<g class="non-terminal">
+<path d="M588 169h0"></path>
+<path d="M710 169h0"></path>
+<rect x="588" y="158" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MessageClass"><text x="649" y="173">MessageClass</text>
+</a>
+</g>
+</g>
+<path d="M953.5 169a10 10 0 0 0 10 -10v-119"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 436 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="421" y="44" class="diagram-text">1+</text>
+<path d="M 963.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 970.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M983.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1003.5 40h10"></path>
+<path d="M 1013.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Reserve.svg b/abap/statement_Reserve.svg
new file mode 100644
index 00000000..cdb9a4ac
--- /dev/null
+++ b/abap/statement_Reserve.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="480" height="62" viewBox="0 0 480 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M430 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M430 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M239.5 31h0"></path>
+<rect x="143" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="35">"RESERVE"</text>
+</g>
+<path d="M239.5 31h10"></path>
+<path d="M249.5 31h10"></path>
+<g class="non-terminal">
+<path d="M259.5 31h0"></path>
+<path d="M330.5 31h0"></path>
+<rect x="259.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="295" y="35">Source</text>
+</a>
+</g>
+<path d="M330.5 31h10"></path>
+<path d="M340.5 31h10"></path>
+<g class="terminal">
+<path d="M350.5 31h0"></path>
+<path d="M430 31h0"></path>
+<rect x="350.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="390.25" y="35">"LINES"</text>
+</g>
+</g>
+</g>
+<path d="M430 31h10"></path>
+<path d="M 440 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Resume.svg b/abap/statement_Resume.svg
new file mode 100644
index 00000000..568a0d71
--- /dev/null
+++ b/abap/statement_Resume.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="188" height="62" viewBox="0 0 188 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"RESUME"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M 148 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Retry.svg b/abap/statement_Retry.svg
new file mode 100644
index 00000000..2752f912
--- /dev/null
+++ b/abap/statement_Retry.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="237.5" height="62" viewBox="0 0 237.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M187.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v702</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M187.5 31h0"></path>
+<rect x="108" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="147.75" y="35">"RETRY"</text>
+</g>
+</g>
+<path d="M187.5 31h10"></path>
+<path d="M 197.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Return.svg b/abap/statement_Return.svg
new file mode 100644
index 00000000..6b6a8e8c
--- /dev/null
+++ b/abap/statement_Return.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="367" height="71" viewBox="0 0 367 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M317 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="44">"RETURN"</text>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M317 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h129"></path>
+</g>
+<path d="M297 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M297 40h0"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M206 40h0"></path>
+<text x="187" y="45" class="comment">v758</text>
+</g>
+<path d="M206 40h10"></path>
+<path d="M216 40h10"></path>
+<g class="non-terminal">
+<path d="M226 40h0"></path>
+<path d="M297 40h0"></path>
+<rect x="226" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="261.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M297 40h20"></path>
+</g>
+</g>
+<path d="M317 40h10"></path>
+<path d="M 327 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Rollback.svg b/abap/statement_Rollback.svg
new file mode 100644
index 00000000..8639c8e0
--- /dev/null
+++ b/abap/statement_Rollback.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="428" height="92" viewBox="0 0 428 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M378 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"ROLLBACK"</text>
+</g>
+<path d="M155 31h10"></path>
+<g>
+<path d="M165 31h0"></path>
+<path d="M378 31h0"></path>
+<path d="M165 31h20"></path>
+<g class="terminal">
+<path d="M185 31h0"></path>
+<path d="M256 31h102"></path>
+<rect x="185" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="220.5" y="35">"WORK"</text>
+</g>
+<path d="M358 31h20"></path>
+<path d="M165 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M185 61h0"></path>
+<path d="M358 61h0"></path>
+<rect x="185" y="50" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="271.5" y="65">DatabaseConnection</text>
+</a>
+</g>
+<path d="M358 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M378 31h10"></path>
+<path d="M 388 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_RollbackEntities.svg b/abap/statement_RollbackEntities.svg
new file mode 100644
index 00000000..16d4ca86
--- /dev/null
+++ b/abap/statement_RollbackEntities.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="339.5" height="62" viewBox="0 0 339.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M289.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v754</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M289.5 31h0"></path>
+<rect x="108" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="198.75" y="35">"ROLLBACK ENTITIES"</text>
+</g>
+</g>
+<path d="M289.5 31h10"></path>
+<path d="M 299.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Scan.svg b/abap/statement_Scan.svg
new file mode 100644
index 00000000..0ca7a8e9
--- /dev/null
+++ b/abap/statement_Scan.svg
@@ -0,0 +1,646 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="882.5" height="1022" viewBox="0 0 882.5 1022">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M832.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M832.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"SCAN ABAP-SOURCE"</text>
+</g>
+<path d="M316 31h10"></path>
+<path d="M326 31h10"></path>
+<g class="non-terminal">
+<path d="M336 31h0"></path>
+<path d="M407 31h0"></path>
+<rect x="336" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="35">Source</text>
+</a>
+</g>
+<path d="M407 31h10"></path>
+<path d="M417 31h10"></path>
+<g>
+<path d="M427 31h0"></path>
+<path d="M832.5 31h0"></path>
+<path d="M457 31h10"></path>
+<g>
+<path d="M467 31h0"></path>
+<path d="M688.5 31h114"></path>
+<g class="terminal">
+<path d="M467 31h0"></path>
+<path d="M597.5 31h0"></path>
+<rect x="467" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="35">"TOKENS INTO"</text>
+</g>
+<path d="M597.5 31h10"></path>
+<path d="M607.5 31h10"></path>
+<g class="non-terminal">
+<path d="M617.5 31h0"></path>
+<path d="M688.5 31h0"></path>
+<rect x="617.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="653" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 31h10"></path>
+<path d="M457 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 61h0"></path>
+<path d="M688.5 61h114"></path>
+<g class="terminal">
+<path d="M467 61h0"></path>
+<path d="M597.5 61h0"></path>
+<rect x="467" y="50" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="65">"LEVELS INTO"</text>
+</g>
+<path d="M597.5 61h10"></path>
+<path d="M607.5 61h10"></path>
+<g class="non-terminal">
+<path d="M617.5 61h0"></path>
+<path d="M688.5 61h0"></path>
+<rect x="617.5" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="653" y="65">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M457 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 91h0"></path>
+<path d="M629 91h173.5"></path>
+<g class="terminal">
+<path d="M467 91h0"></path>
+<path d="M538 91h0"></path>
+<rect x="467" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="502.5" y="95">"FROM"</text>
+</g>
+<path d="M538 91h10"></path>
+<path d="M548 91h10"></path>
+<g class="non-terminal">
+<path d="M558 91h0"></path>
+<path d="M629 91h0"></path>
+<rect x="558" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="593.5" y="95">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 91a10 10 0 0 0 10 -10v-50"></path>
+<path d="M457 31v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 121h0"></path>
+<path d="M612 121h190.5"></path>
+<g class="terminal">
+<path d="M467 121h0"></path>
+<path d="M521 121h0"></path>
+<rect x="467" y="110" width="54" height="22" rx="10" ry="10"></rect>
+<text x="494" y="125">"TO"</text>
+</g>
+<path d="M521 121h10"></path>
+<path d="M531 121h10"></path>
+<g class="non-terminal">
+<path d="M541 121h0"></path>
+<path d="M612 121h0"></path>
+<rect x="541" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="576.5" y="125">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 121a10 10 0 0 0 10 -10v-80"></path>
+<path d="M457 31v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 151h0"></path>
+<path d="M722.5 151h80"></path>
+<g class="terminal">
+<path d="M467 151h0"></path>
+<path d="M631.5 151h0"></path>
+<rect x="467" y="140" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="549.25" y="155">"STATEMENTS INTO"</text>
+</g>
+<path d="M631.5 151h10"></path>
+<path d="M641.5 151h10"></path>
+<g class="non-terminal">
+<path d="M651.5 151h0"></path>
+<path d="M722.5 151h0"></path>
+<rect x="651.5" y="140" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="687" y="155">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 151a10 10 0 0 0 10 -10v-110"></path>
+<path d="M457 31v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 181h0"></path>
+<path d="M722.5 181h80"></path>
+<g class="terminal">
+<path d="M467 181h0"></path>
+<path d="M631.5 181h0"></path>
+<rect x="467" y="170" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="549.25" y="185">"STRUCTURES INTO"</text>
+</g>
+<path d="M631.5 181h10"></path>
+<path d="M641.5 181h10"></path>
+<g class="non-terminal">
+<path d="M651.5 181h0"></path>
+<path d="M722.5 181h0"></path>
+<rect x="651.5" y="170" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="687" y="185">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 181a10 10 0 0 0 10 -10v-140"></path>
+<path d="M457 31v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 211h0"></path>
+<path d="M705.5 211h97"></path>
+<g class="terminal">
+<path d="M467 211h0"></path>
+<path d="M614.5 211h0"></path>
+<rect x="467" y="200" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="215">"KEYWORDS FROM"</text>
+</g>
+<path d="M614.5 211h10"></path>
+<path d="M624.5 211h10"></path>
+<g class="non-terminal">
+<path d="M634.5 211h0"></path>
+<path d="M705.5 211h0"></path>
+<rect x="634.5" y="200" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="670" y="215">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 211a10 10 0 0 0 10 -10v-170"></path>
+<path d="M457 31v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 241h0"></path>
+<path d="M671.5 241h131"></path>
+<g class="terminal">
+<path d="M467 241h0"></path>
+<path d="M580.5 241h0"></path>
+<rect x="467" y="230" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="523.75" y="245">"WORD INTO"</text>
+</g>
+<path d="M580.5 241h10"></path>
+<path d="M590.5 241h10"></path>
+<g class="non-terminal">
+<path d="M600.5 241h0"></path>
+<path d="M671.5 241h0"></path>
+<rect x="600.5" y="230" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="636" y="245">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 241a10 10 0 0 0 10 -10v-200"></path>
+<path d="M457 31v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 271h0"></path>
+<path d="M671.5 271h131"></path>
+<g class="terminal">
+<path d="M467 271h0"></path>
+<path d="M580.5 271h0"></path>
+<rect x="467" y="260" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="523.75" y="275">"LINE INTO"</text>
+</g>
+<path d="M580.5 271h10"></path>
+<path d="M590.5 271h10"></path>
+<g class="non-terminal">
+<path d="M600.5 271h0"></path>
+<path d="M671.5 271h0"></path>
+<rect x="600.5" y="260" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="636" y="275">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 271a10 10 0 0 0 10 -10v-230"></path>
+<path d="M457 31v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 301h0"></path>
+<path d="M688.5 301h114"></path>
+<g class="terminal">
+<path d="M467 301h0"></path>
+<path d="M597.5 301h0"></path>
+<rect x="467" y="290" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="305">"OFFSET INTO"</text>
+</g>
+<path d="M597.5 301h10"></path>
+<path d="M607.5 301h10"></path>
+<g class="non-terminal">
+<path d="M617.5 301h0"></path>
+<path d="M688.5 301h0"></path>
+<rect x="617.5" y="290" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="653" y="305">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 301a10 10 0 0 0 10 -10v-260"></path>
+<path d="M457 31v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 331h0"></path>
+<path d="M705.5 331h97"></path>
+<g class="terminal">
+<path d="M467 331h0"></path>
+<path d="M614.5 331h0"></path>
+<rect x="467" y="320" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="335">"OVERFLOW INTO"</text>
+</g>
+<path d="M614.5 331h10"></path>
+<path d="M624.5 331h10"></path>
+<g class="non-terminal">
+<path d="M634.5 331h0"></path>
+<path d="M705.5 331h0"></path>
+<rect x="634.5" y="320" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="670" y="335">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 331a10 10 0 0 0 10 -10v-290"></path>
+<path d="M457 31v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 361h0"></path>
+<path d="M697 361h105.5"></path>
+<g class="terminal">
+<path d="M467 361h0"></path>
+<path d="M606 361h0"></path>
+<rect x="467" y="350" width="139" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="365">"MESSAGE INTO"</text>
+</g>
+<path d="M606 361h10"></path>
+<path d="M616 361h10"></path>
+<g class="non-terminal">
+<path d="M626 361h0"></path>
+<path d="M697 361h0"></path>
+<rect x="626" y="350" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="661.5" y="365">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 361a10 10 0 0 0 10 -10v-320"></path>
+<path d="M457 31v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 391h0"></path>
+<path d="M765 391h37.5"></path>
+<g class="terminal">
+<path d="M467 391h0"></path>
+<path d="M674 391h0"></path>
+<rect x="467" y="380" width="207" height="22" rx="10" ry="10"></rect>
+<text x="570.5" y="395">"INCLUDE PROGRAM FROM"</text>
+</g>
+<path d="M674 391h10"></path>
+<path d="M684 391h10"></path>
+<g class="non-terminal">
+<path d="M694 391h0"></path>
+<path d="M765 391h0"></path>
+<rect x="694" y="380" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="729.5" y="395">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 391a10 10 0 0 0 10 -10v-350"></path>
+<path d="M457 31v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 421h0"></path>
+<path d="M697 421h105.5"></path>
+<g class="terminal">
+<path d="M467 421h0"></path>
+<path d="M606 421h0"></path>
+<rect x="467" y="410" width="139" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="425">"INCLUDE INTO"</text>
+</g>
+<path d="M606 421h10"></path>
+<path d="M616 421h10"></path>
+<g class="non-terminal">
+<path d="M626 421h0"></path>
+<path d="M697 421h0"></path>
+<rect x="626" y="410" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="661.5" y="425">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 421a10 10 0 0 0 10 -10v-380"></path>
+<path d="M457 31v410a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 451h0"></path>
+<path d="M748 451h54.5"></path>
+<g class="terminal">
+<path d="M467 451h0"></path>
+<path d="M657 451h0"></path>
+<rect x="467" y="440" width="190" height="22" rx="10" ry="10"></rect>
+<text x="562" y="455">"FRAME PROGRAM FROM"</text>
+</g>
+<path d="M657 451h10"></path>
+<path d="M667 451h10"></path>
+<g class="non-terminal">
+<path d="M677 451h0"></path>
+<path d="M748 451h0"></path>
+<rect x="677" y="440" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="712.5" y="455">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 451a10 10 0 0 0 10 -10v-410"></path>
+<path d="M457 31v440a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 481h0"></path>
+<path d="M799 481h3.5"></path>
+<g class="terminal">
+<path d="M467 481h0"></path>
+<path d="M708 481h0"></path>
+<rect x="467" y="470" width="241" height="22" rx="10" ry="10"></rect>
+<text x="587.5" y="485">"ENHANCEMENT OPTIONS INTO"</text>
+</g>
+<path d="M708 481h10"></path>
+<path d="M718 481h10"></path>
+<g class="non-terminal">
+<path d="M728 481h0"></path>
+<path d="M799 481h0"></path>
+<rect x="728" y="470" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="763.5" y="485">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 481a10 10 0 0 0 10 -10v-440"></path>
+<path d="M457 31v470a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 511h0"></path>
+<path d="M739.5 511h63"></path>
+<g class="terminal">
+<path d="M467 511h0"></path>
+<path d="M648.5 511h0"></path>
+<rect x="467" y="500" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="557.75" y="515">"ENHANCEMENTS INTO"</text>
+</g>
+<path d="M648.5 511h10"></path>
+<path d="M658.5 511h10"></path>
+<g class="non-terminal">
+<path d="M668.5 511h0"></path>
+<path d="M739.5 511h0"></path>
+<rect x="668.5" y="500" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="704" y="515">Target</text>
+</a>
+</g>
+</g>
+<path d="M802.5 511a10 10 0 0 0 10 -10v-470"></path>
+<path d="M457 31v500a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 541h0"></path>
+<path d="M697 541h105.5"></path>
+<g class="terminal">
+<path d="M467 541h0"></path>
+<path d="M606 541h0"></path>
+<rect x="467" y="530" width="139" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="545">"PROGRAM FROM"</text>
+</g>
+<path d="M606 541h10"></path>
+<path d="M616 541h10"></path>
+<g class="non-terminal">
+<path d="M626 541h0"></path>
+<path d="M697 541h0"></path>
+<rect x="626" y="530" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="661.5" y="545">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 541a10 10 0 0 0 10 -10v-500"></path>
+<path d="M457 31v530a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 571h0"></path>
+<path d="M671.5 571h131"></path>
+<g class="terminal">
+<path d="M467 571h0"></path>
+<path d="M580.5 571h0"></path>
+<rect x="467" y="560" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="523.75" y="575">"REPLACING"</text>
+</g>
+<path d="M580.5 571h10"></path>
+<path d="M590.5 571h10"></path>
+<g class="non-terminal">
+<path d="M600.5 571h0"></path>
+<path d="M671.5 571h0"></path>
+<rect x="600.5" y="560" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="636" y="575">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 571a10 10 0 0 0 10 -10v-530"></path>
+<path d="M457 31v560a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 601h0"></path>
+<path d="M614.5 601h188"></path>
+<rect x="467" y="590" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="605">"WITH ANALYSIS"</text>
+</g>
+<path d="M802.5 601a10 10 0 0 0 10 -10v-560"></path>
+<path d="M457 31v590a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 631h0"></path>
+<path d="M614.5 631h188"></path>
+<rect x="467" y="620" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="635">"WITH COMMENTS"</text>
+</g>
+<path d="M802.5 631a10 10 0 0 0 10 -10v-590"></path>
+<path d="M457 31v620a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 661h0"></path>
+<path d="M631.5 661h171"></path>
+<rect x="467" y="650" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="549.25" y="665">"WITH TYPE-POOLS"</text>
+</g>
+<path d="M802.5 661a10 10 0 0 0 10 -10v-620"></path>
+<path d="M457 31v650a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 691h0"></path>
+<path d="M614.5 691h188"></path>
+<rect x="467" y="680" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="695">"WITH INCLUDES"</text>
+</g>
+<path d="M802.5 691a10 10 0 0 0 10 -10v-650"></path>
+<path d="M457 31v680a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 721h0"></path>
+<path d="M614.5 721h188"></path>
+<rect x="467" y="710" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="540.75" y="725">"WITHOUT TRMAC"</text>
+</g>
+<path d="M802.5 721a10 10 0 0 0 10 -10v-680"></path>
+<path d="M457 31v710a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 751h0"></path>
+<path d="M648.5 751h154"></path>
+<rect x="467" y="740" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="557.75" y="755">"WITH DECLARATIONS"</text>
+</g>
+<path d="M802.5 751a10 10 0 0 0 10 -10v-710"></path>
+<path d="M457 31v740a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 781h0"></path>
+<path d="M597.5 781h205"></path>
+<rect x="467" y="770" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="785">"WITH BLOCKS"</text>
+</g>
+<path d="M802.5 781a10 10 0 0 0 10 -10v-740"></path>
+<path d="M457 31v770a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 811h0"></path>
+<path d="M759 811h43.5"></path>
+<rect x="467" y="800" width="292" height="22" rx="10" ry="10"></rect>
+<text x="613" y="815">"PRESERVING IDENTIFIER ESCAPING"</text>
+</g>
+<path d="M802.5 811a10 10 0 0 0 10 -10v-770"></path>
+<path d="M457 31v800a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 841h0"></path>
+<path d="M691 841h111.5"></path>
+<rect x="467" y="830" width="224" height="22" rx="10" ry="10"></rect>
+<text x="579" y="845">"WITH LIST TOKENIZATION"</text>
+</g>
+<path d="M802.5 841a10 10 0 0 0 10 -10v-800"></path>
+<path d="M457 31v830a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 871h0"></path>
+<path d="M725 871h77.5"></path>
+<rect x="467" y="860" width="258" height="22" rx="10" ry="10"></rect>
+<text x="596" y="875">"WITH EXPLICIT ENHANCEMENTS"</text>
+</g>
+<path d="M802.5 871a10 10 0 0 0 10 -10v-830"></path>
+<path d="M457 31v860a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 901h0"></path>
+<path d="M725 901h77.5"></path>
+<rect x="467" y="890" width="258" height="22" rx="10" ry="10"></rect>
+<text x="596" y="905">"WITH IMPLICIT ENHANCEMENTS"</text>
+</g>
+<path d="M802.5 901a10 10 0 0 0 10 -10v-860"></path>
+<path d="M457 31v890a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M467 931h0"></path>
+<path d="M725 931h77.5"></path>
+<rect x="467" y="920" width="258" height="22" rx="10" ry="10"></rect>
+<text x="596" y="935">"WITH INACTIVE ENHANCEMENTS"</text>
+</g>
+<path d="M802.5 931a10 10 0 0 0 10 -10v-890"></path>
+<path d="M457 31v920a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 961h0"></path>
+<path d="M697 961h105.5"></path>
+<g class="terminal">
+<path d="M467 961h0"></path>
+<path d="M606 961h0"></path>
+<rect x="467" y="950" width="139" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="965">"WITH PRAGMAS"</text>
+</g>
+<path d="M606 961h10"></path>
+<path d="M616 961h10"></path>
+<g class="non-terminal">
+<path d="M626 961h0"></path>
+<path d="M697 961h0"></path>
+<rect x="626" y="950" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="661.5" y="965">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 961a10 10 0 0 0 10 -10v-920"></path>
+<path d="M457 31v950a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M467 991h0"></path>
+<path d="M802.5 991h0"></path>
+<g class="terminal">
+<path d="M467 991h0"></path>
+<path d="M521 991h0"></path>
+<rect x="467" y="980" width="54" height="22" rx="10" ry="10"></rect>
+<text x="494" y="995">"ID"</text>
+</g>
+<path d="M521 991h10"></path>
+<path d="M531 991h10"></path>
+<g class="non-terminal">
+<path d="M541 991h0"></path>
+<path d="M612 991h0"></path>
+<rect x="541" y="980" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="576.5" y="995">Source</text>
+</a>
+</g>
+<path d="M612 991h10"></path>
+<path d="M622 991h10"></path>
+<g class="terminal">
+<path d="M632 991h0"></path>
+<path d="M711.5 991h0"></path>
+<rect x="632" y="980" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="671.75" y="995">"TABLE"</text>
+</g>
+<path d="M711.5 991h10"></path>
+<path d="M721.5 991h10"></path>
+<g class="non-terminal">
+<path d="M731.5 991h0"></path>
+<path d="M802.5 991h0"></path>
+<rect x="731.5" y="980" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="767" y="995">Source</text>
+</a>
+</g>
+</g>
+<path d="M802.5 991a10 10 0 0 0 10 -10v-950"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 457 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="442" y="35" class="diagram-text">1+</text>
+<path d="M 812.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 819.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M832.5 31h10"></path>
+<path d="M 842.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_ScrollList.svg b/abap/statement_ScrollList.svg
new file mode 100644
index 00000000..c58d2105
--- /dev/null
+++ b/abap/statement_ScrollList.svg
@@ -0,0 +1,244 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="719.5" height="332" viewBox="0 0 719.5 332">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M669.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M669.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"SCROLL LIST"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g>
+<path d="M293.5 31h0"></path>
+<path d="M669.5 31h0"></path>
+<path d="M323.5 31h10"></path>
+<g>
+<path d="M333.5 31h0"></path>
+<path d="M504 31h135.5"></path>
+<g class="terminal">
+<path d="M333.5 31h0"></path>
+<path d="M413 31h0"></path>
+<rect x="333.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="373.25" y="35">"INDEX"</text>
+</g>
+<path d="M413 31h10"></path>
+<path d="M423 31h10"></path>
+<g class="non-terminal">
+<path d="M433 31h0"></path>
+<path d="M504 31h0"></path>
+<rect x="433" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="468.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M639.5 31h10"></path>
+<path d="M323.5 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M333.5 61h0"></path>
+<path d="M639.5 61h0"></path>
+<path d="M333.5 61h20"></path>
+<g>
+<path d="M353.5 61h0"></path>
+<path d="M619.5 61h0"></path>
+<g class="terminal">
+<path d="M353.5 61h0"></path>
+<path d="M407.5 61h0"></path>
+<rect x="353.5" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="380.5" y="65">"TO"</text>
+</g>
+<path d="M407.5 61h10"></path>
+<g>
+<path d="M417.5 61h0"></path>
+<path d="M619.5 61h0"></path>
+<path d="M417.5 61h20"></path>
+<g class="terminal">
+<path d="M437.5 61h0"></path>
+<path d="M559.5 61h40"></path>
+<rect x="437.5" y="50" width="122" height="22" rx="10" ry="10"></rect>
+<text x="498.5" y="65">"FIRST PAGE"</text>
+</g>
+<path d="M599.5 61h20"></path>
+<path d="M417.5 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M437.5 91h0"></path>
+<path d="M551 91h48.5"></path>
+<rect x="437.5" y="80" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="494.25" y="95">"LAST PAGE"</text>
+</g>
+<path d="M599.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M417.5 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M437.5 121h0"></path>
+<path d="M599.5 121h0"></path>
+<g class="terminal">
+<path d="M437.5 121h0"></path>
+<path d="M508.5 121h0"></path>
+<rect x="437.5" y="110" width="71" height="22" rx="10" ry="10"></rect>
+<text x="473" y="125">"PAGE"</text>
+</g>
+<path d="M508.5 121h10"></path>
+<path d="M518.5 121h10"></path>
+<g class="non-terminal">
+<path d="M528.5 121h0"></path>
+<path d="M599.5 121h0"></path>
+<rect x="528.5" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="564" y="125">Source</text>
+</a>
+</g>
+</g>
+<path d="M599.5 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M619.5 61h20"></path>
+<path d="M333.5 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M353.5 151h0"></path>
+<path d="M458.5 151h161"></path>
+<rect x="353.5" y="140" width="105" height="22" rx="10" ry="10"></rect>
+<text x="406" y="155">"BACKWARD"</text>
+</g>
+<path d="M619.5 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M333.5 61a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M353.5 181h0"></path>
+<path d="M450 181h169.5"></path>
+<rect x="353.5" y="170" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="401.75" y="185">"FORWARD"</text>
+</g>
+<path d="M619.5 181a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M639.5 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M323.5 31v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M333.5 211h0"></path>
+<path d="M453 211h186.5"></path>
+<path d="M333.5 211h20"></path>
+<g class="terminal">
+<path d="M353.5 211h0"></path>
+<path d="M424.5 211h8.5"></path>
+<rect x="353.5" y="200" width="71" height="22" rx="10" ry="10"></rect>
+<text x="389" y="215">"LEFT"</text>
+</g>
+<path d="M433 211h20"></path>
+<path d="M333.5 211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M353.5 241h0"></path>
+<path d="M433 241h0"></path>
+<rect x="353.5" y="230" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="393.25" y="245">"RIGHT"</text>
+</g>
+<path d="M433 241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M639.5 211a10 10 0 0 0 10 -10v-170"></path>
+<path d="M323.5 31v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M333.5 271h0"></path>
+<path d="M538 271h101.5"></path>
+<g class="terminal">
+<path d="M333.5 271h0"></path>
+<path d="M447 271h0"></path>
+<rect x="333.5" y="260" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="390.25" y="275">"TO COLUMN"</text>
+</g>
+<path d="M447 271h10"></path>
+<path d="M457 271h10"></path>
+<g class="non-terminal">
+<path d="M467 271h0"></path>
+<path d="M538 271h0"></path>
+<rect x="467" y="260" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="502.5" y="275">Source</text>
+</a>
+</g>
+</g>
+<path d="M639.5 271a10 10 0 0 0 10 -10v-230"></path>
+<path d="M323.5 31v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M333.5 301h0"></path>
+<path d="M495.5 301h144"></path>
+<g class="terminal">
+<path d="M333.5 301h0"></path>
+<path d="M404.5 301h0"></path>
+<rect x="333.5" y="290" width="71" height="22" rx="10" ry="10"></rect>
+<text x="369" y="305">"LINE"</text>
+</g>
+<path d="M404.5 301h10"></path>
+<path d="M414.5 301h10"></path>
+<g class="non-terminal">
+<path d="M424.5 301h0"></path>
+<path d="M495.5 301h0"></path>
+<rect x="424.5" y="290" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="460" y="305">Source</text>
+</a>
+</g>
+</g>
+<path d="M639.5 301a10 10 0 0 0 10 -10v-260"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 323.5 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="308.5" y="35" class="diagram-text">1+</text>
+<path d="M 649.5 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 656.5 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M669.5 31h10"></path>
+<path d="M 679.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Search.svg b/abap/statement_Search.svg
new file mode 100644
index 00000000..f3da897b
--- /dev/null
+++ b/abap/statement_Search.svg
@@ -0,0 +1,191 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="887" height="191" viewBox="0 0 887 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M837 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M837 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M231 40h0"></path>
+<rect x="143" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="44">"SEARCH"</text>
+</g>
+<path d="M231 40h10"></path>
+<path d="M241 40h10"></path>
+<g class="non-terminal">
+<path d="M251 40h0"></path>
+<path d="M322 40h0"></path>
+<rect x="251" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="286.5" y="44">Source</text>
+</a>
+</g>
+<path d="M322 40h10"></path>
+<path d="M332 40h10"></path>
+<g class="terminal">
+<path d="M342 40h0"></path>
+<path d="M404.5 40h0"></path>
+<rect x="342" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="373.25" y="44">"FOR"</text>
+</g>
+<path d="M404.5 40h10"></path>
+<path d="M414.5 40h10"></path>
+<g class="non-terminal">
+<path d="M424.5 40h0"></path>
+<path d="M495.5 40h0"></path>
+<rect x="424.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="460" y="44">Source</text>
+</a>
+</g>
+<path d="M495.5 40h10"></path>
+<g>
+<path d="M505.5 40h0"></path>
+<path d="M837 40h0"></path>
+<path d="M505.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M525.5 20h291.5"></path>
+</g>
+<path d="M817 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M505.5 40h20"></path>
+<g>
+<path d="M525.5 40h0"></path>
+<path d="M817 40h0"></path>
+<path d="M555.5 40h10"></path>
+<g>
+<path d="M565.5 40h0"></path>
+<path d="M787 40h0"></path>
+<path d="M565.5 40h20"></path>
+<g class="terminal">
+<path d="M585.5 40h0"></path>
+<path d="M724.5 40h42.5"></path>
+<rect x="585.5" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="655" y="44">"IN BYTE MODE"</text>
+</g>
+<path d="M767 40h20"></path>
+<path d="M565.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M585.5 70h0"></path>
+<path d="M767 70h0"></path>
+<rect x="585.5" y="59" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="74">"IN CHARACTER MODE"</text>
+</g>
+<path d="M767 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M787 40h10"></path>
+<path d="M555.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M565.5 100h0"></path>
+<path d="M787 100h0"></path>
+<g class="terminal">
+<path d="M565.5 100h0"></path>
+<path d="M696 100h0"></path>
+<rect x="565.5" y="89" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="630.75" y="104">"STARTING AT"</text>
+</g>
+<path d="M696 100h10"></path>
+<path d="M706 100h10"></path>
+<g class="non-terminal">
+<path d="M716 100h0"></path>
+<path d="M787 100h0"></path>
+<rect x="716" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="751.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M787 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M555.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M565.5 130h0"></path>
+<path d="M770 130h17"></path>
+<g class="terminal">
+<path d="M565.5 130h0"></path>
+<path d="M679 130h0"></path>
+<rect x="565.5" y="119" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="622.25" y="134">"ENDING AT"</text>
+</g>
+<path d="M679 130h10"></path>
+<path d="M689 130h10"></path>
+<g class="non-terminal">
+<path d="M699 130h0"></path>
+<path d="M770 130h0"></path>
+<rect x="699" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="734.5" y="134">Source</text>
+</a>
+</g>
+</g>
+<path d="M787 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M555.5 40v110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M565.5 160h0"></path>
+<path d="M670.5 160h116.5"></path>
+<rect x="565.5" y="149" width="105" height="22" rx="10" ry="10"></rect>
+<text x="618" y="164">"AND MARK"</text>
+</g>
+<path d="M787 160a10 10 0 0 0 10 -10v-110"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 555.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="540.5" y="44" class="diagram-text">1+</text>
+<path d="M 797 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 804 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M817 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M837 40h10"></path>
+<path d="M 847 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Select.svg b/abap/statement_Select.svg
new file mode 100644
index 00000000..5f533671
--- /dev/null
+++ b/abap/statement_Select.svg
@@ -0,0 +1,144 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="654.5" height="117" viewBox="0 0 654.5 117">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M604.5 48h0"></path>
+<g class="non-terminal">
+<path d="M50 48h0"></path>
+<path d="M121 48h0"></path>
+<rect x="50" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="85.5" y="52">Select</text>
+</a>
+</g>
+<path d="M121 48h10"></path>
+<g>
+<path d="M131 48h0"></path>
+<path d="M604.5 48h0"></path>
+<path d="M131 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h433.5"></path>
+</g>
+<path d="M584.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M131 48h20"></path>
+<g>
+<path d="M151 48h0"></path>
+<path d="M584.5 48h0"></path>
+<path d="M151 48h10"></path>
+<g>
+<path d="M161 48h0"></path>
+<path d="M574.5 48h0"></path>
+<g>
+<path d="M161 48h0"></path>
+<path d="M199 48h0"></path>
+<text x="180" y="53" class="comment">v750</text>
+</g>
+<path d="M199 48h10"></path>
+<path d="M209 48h10"></path>
+<g>
+<path d="M219 48h0"></path>
+<path d="M574.5 48h0"></path>
+<g class="terminal">
+<path d="M219 48h0"></path>
+<path d="M298.5 48h0"></path>
+<rect x="219" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="258.75" y="52">"UNION"</text>
+</g>
+<path d="M298.5 48h10"></path>
+<g>
+<path d="M308.5 48h0"></path>
+<path d="M493.5 48h0"></path>
+<path d="M308.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M328.5 28h145"></path>
+</g>
+<path d="M473.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M308.5 48h20"></path>
+<g>
+<path d="M328.5 48h0"></path>
+<path d="M473.5 48h0"></path>
+<path d="M328.5 48h20"></path>
+<g class="terminal">
+<path d="M348.5 48h0"></path>
+<path d="M453.5 48h0"></path>
+<rect x="348.5" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="401" y="52">"DISTINCT"</text>
+</g>
+<path d="M453.5 48h20"></path>
+<path d="M328.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M348.5 78h0"></path>
+<path d="M411 78h42.5"></path>
+<rect x="348.5" y="67" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="379.75" y="82">"ALL"</text>
+</g>
+<path d="M453.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M473.5 48h20"></path>
+</g>
+<path d="M493.5 48h10"></path>
+<g class="non-terminal">
+<path d="M503.5 48h0"></path>
+<path d="M574.5 48h0"></path>
+<rect x="503.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="539" y="52">Select</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M574.5 48h10"></path>
+<path d="M161 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 97h413.5"></path>
+</g>
+<path d="M574.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M584.5 48h20"></path>
+</g>
+</g>
+<path d="M604.5 48h10"></path>
+<path d="M 614.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SelectLoop.svg b/abap/statement_SelectLoop.svg
new file mode 100644
index 00000000..1467b0b1
--- /dev/null
+++ b/abap/statement_SelectLoop.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="205" height="62" viewBox="0 0 205 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SelectLoop"><text x="102.5" y="35">SelectLoop</text>
+</a>
+</g>
+<path d="M155 31h10"></path>
+<path d="M 165 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SelectOption.svg b/abap/statement_SelectOption.svg
new file mode 100644
index 00000000..4aa464b8
--- /dev/null
+++ b/abap/statement_SelectOption.svg
@@ -0,0 +1,398 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1305" height="499" viewBox="0 0 1305 499">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1255 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1255 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M299 48h0"></path>
+<rect x="143" y="37" width="156" height="22" rx="10" ry="10"></rect>
+<text x="221" y="52">"SELECT-OPTIONS"</text>
+</g>
+<path d="M299 48h10"></path>
+<path d="M309 48h10"></path>
+<g class="non-terminal">
+<path d="M319 48h0"></path>
+<path d="M407 48h0"></path>
+<rect x="319" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="363" y="52">FieldSub</text>
+</a>
+</g>
+<path d="M407 48h10"></path>
+<path d="M417 48h10"></path>
+<g class="terminal">
+<path d="M427 48h0"></path>
+<path d="M489.5 48h0"></path>
+<rect x="427" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="458.25" y="52">"FOR"</text>
+</g>
+<path d="M489.5 48h10"></path>
+<g>
+<path d="M499.5 48h0"></path>
+<path d="M644.5 48h0"></path>
+<path d="M499.5 48h20"></path>
+<g class="non-terminal">
+<path d="M519.5 48h0"></path>
+<path d="M624.5 48h0"></path>
+<rect x="519.5" y="37" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="572" y="52">FieldChain</text>
+</a>
+</g>
+<path d="M624.5 48h20"></path>
+<path d="M499.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M519.5 78h0"></path>
+<path d="M599 78h25.5"></path>
+<rect x="519.5" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="559.25" y="82">Dynamic</text>
+</a>
+</g>
+<path d="M624.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M644.5 48h0"></path>
+<path d="M1255 48h0"></path>
+<path d="M644.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M664.5 20h570.5"></path>
+</g>
+<path d="M1235 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M644.5 48h20"></path>
+<g>
+<path d="M664.5 48h0"></path>
+<path d="M1235 48h0"></path>
+<path d="M694.5 48h10"></path>
+<g>
+<path d="M704.5 48h0"></path>
+<path d="M1205 48h0"></path>
+<g class="terminal">
+<path d="M704.5 48h0"></path>
+<path d="M801 48h0"></path>
+<rect x="704.5" y="37" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="752.75" y="52">"DEFAULT"</text>
+</g>
+<path d="M801 48h10"></path>
+<g>
+<path d="M811 48h0"></path>
+<path d="M956 48h0"></path>
+<path d="M811 48h20"></path>
+<g class="non-terminal">
+<path d="M831 48h0"></path>
+<path d="M919 48h17"></path>
+<rect x="831" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="875" y="52">Constant</text>
+</a>
+</g>
+<path d="M936 48h20"></path>
+<path d="M811 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M831 78h0"></path>
+<path d="M936 78h0"></path>
+<rect x="831" y="67" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="883.5" y="82">FieldChain</text>
+</a>
+</g>
+<path d="M936 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M956 48h0"></path>
+<path d="M1205 48h0"></path>
+<path d="M956 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M976 28h209"></path>
+</g>
+<path d="M1185 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M956 48h20"></path>
+<g>
+<path d="M976 48h0"></path>
+<path d="M1185 48h0"></path>
+<g class="terminal">
+<path d="M976 48h0"></path>
+<path d="M1030 48h0"></path>
+<rect x="976" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1003" y="52">"TO"</text>
+</g>
+<path d="M1030 48h10"></path>
+<g>
+<path d="M1040 48h0"></path>
+<path d="M1185 48h0"></path>
+<path d="M1040 48h20"></path>
+<g class="non-terminal">
+<path d="M1060 48h0"></path>
+<path d="M1148 48h17"></path>
+<rect x="1060" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1104" y="52">Constant</text>
+</a>
+</g>
+<path d="M1165 48h20"></path>
+<path d="M1040 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1060 78h0"></path>
+<path d="M1165 78h0"></path>
+<rect x="1060" y="67" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldChain"><text x="1112.5" y="82">FieldChain</text>
+</a>
+</g>
+<path d="M1165 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1185 48h20"></path>
+</g>
+</g>
+<path d="M1205 48h10"></path>
+<path d="M694.5 48v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 108h0"></path>
+<path d="M905 108h300"></path>
+<g class="terminal">
+<path d="M704.5 108h0"></path>
+<path d="M792.5 108h0"></path>
+<rect x="704.5" y="97" width="88" height="22" rx="10" ry="10"></rect>
+<text x="748.5" y="112">"OPTION"</text>
+</g>
+<path d="M792.5 108h10"></path>
+<g>
+<path d="M802.5 108h0"></path>
+<path d="M905 108h0"></path>
+<path d="M802.5 108h20"></path>
+<g class="terminal">
+<path d="M822.5 108h0"></path>
+<path d="M876.5 108h8.5"></path>
+<rect x="822.5" y="97" width="54" height="22" rx="10" ry="10"></rect>
+<text x="849.5" y="112">"CP"</text>
+</g>
+<path d="M885 108h20"></path>
+<path d="M802.5 108a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M822.5 138h0"></path>
+<path d="M885 138h0"></path>
+<rect x="822.5" y="127" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="853.75" y="142">Field</text>
+</a>
+</g>
+<path d="M885 138a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1205 108a10 10 0 0 0 10 -10v-50"></path>
+<path d="M694.5 48v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 168h0"></path>
+<path d="M858 168h347"></path>
+<g class="terminal">
+<path d="M704.5 168h0"></path>
+<path d="M775.5 168h0"></path>
+<rect x="704.5" y="157" width="71" height="22" rx="10" ry="10"></rect>
+<text x="740" y="172">"SIGN"</text>
+</g>
+<path d="M775.5 168h10"></path>
+<path d="M785.5 168h10"></path>
+<g class="non-terminal">
+<path d="M795.5 168h0"></path>
+<path d="M858 168h0"></path>
+<rect x="795.5" y="157" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="826.75" y="172">Field</text>
+</a>
+</g>
+</g>
+<path d="M1205 168a10 10 0 0 0 10 -10v-110"></path>
+<path d="M694.5 48v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 198h0"></path>
+<path d="M968.5 198h236.5"></path>
+<g class="terminal">
+<path d="M704.5 198h0"></path>
+<path d="M818 198h0"></path>
+<rect x="704.5" y="187" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="761.25" y="202">"MEMORY ID"</text>
+</g>
+<path d="M818 198h10"></path>
+<path d="M828 198h10"></path>
+<g class="non-terminal">
+<path d="M838 198h0"></path>
+<path d="M968.5 198h0"></path>
+<rect x="838" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleSource1"><text x="903.25" y="202">SimpleSource1</text>
+</a>
+</g>
+</g>
+<path d="M1205 198a10 10 0 0 0 10 -10v-140"></path>
+<path d="M694.5 48v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 228h0"></path>
+<path d="M960 228h245"></path>
+<g class="terminal">
+<path d="M704.5 228h0"></path>
+<path d="M877.5 228h0"></path>
+<rect x="704.5" y="217" width="173" height="22" rx="10" ry="10"></rect>
+<text x="791" y="232">"MATCHCODE OBJECT"</text>
+</g>
+<path d="M877.5 228h10"></path>
+<path d="M887.5 228h10"></path>
+<g class="non-terminal">
+<path d="M897.5 228h0"></path>
+<path d="M960 228h0"></path>
+<rect x="897.5" y="217" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="928.75" y="232">Field</text>
+</a>
+</g>
+</g>
+<path d="M1205 228a10 10 0 0 0 10 -10v-170"></path>
+<path d="M694.5 48v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 258h0"></path>
+<path d="M951.5 258h253.5"></path>
+<g class="terminal">
+<path d="M704.5 258h0"></path>
+<path d="M860.5 258h0"></path>
+<rect x="704.5" y="247" width="156" height="22" rx="10" ry="10"></rect>
+<text x="782.5" y="262">"VISIBLE LENGTH"</text>
+</g>
+<path d="M860.5 258h10"></path>
+<path d="M870.5 258h10"></path>
+<g class="non-terminal">
+<path d="M880.5 258h0"></path>
+<path d="M951.5 258h0"></path>
+<rect x="880.5" y="247" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="916" y="262">Source</text>
+</a>
+</g>
+</g>
+<path d="M1205 258a10 10 0 0 0 10 -10v-200"></path>
+<path d="M694.5 48v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M704.5 288h0"></path>
+<path d="M892 288h313"></path>
+<g class="terminal">
+<path d="M704.5 288h0"></path>
+<path d="M809.5 288h0"></path>
+<rect x="704.5" y="277" width="105" height="22" rx="10" ry="10"></rect>
+<text x="757" y="292">"MODIF ID"</text>
+</g>
+<path d="M809.5 288h10"></path>
+<path d="M819.5 288h10"></path>
+<g class="non-terminal">
+<path d="M829.5 288h0"></path>
+<path d="M892 288h0"></path>
+<rect x="829.5" y="277" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Modif"><text x="860.75" y="292">Modif</text>
+</a>
+</g>
+</g>
+<path d="M1205 288a10 10 0 0 0 10 -10v-230"></path>
+<path d="M694.5 48v260a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 318h0"></path>
+<path d="M920 318h285"></path>
+<rect x="704.5" y="307" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="812.25" y="322">"NO DATABASE SELECTION"</text>
+</g>
+<path d="M1205 318a10 10 0 0 0 10 -10v-260"></path>
+<path d="M694.5 48v290a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 348h0"></path>
+<path d="M826.5 348h378.5"></path>
+<rect x="704.5" y="337" width="122" height="22" rx="10" ry="10"></rect>
+<text x="765.5" y="352">"LOWER CASE"</text>
+</g>
+<path d="M1205 348a10 10 0 0 0 10 -10v-290"></path>
+<path d="M694.5 48v320a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 378h0"></path>
+<path d="M843.5 378h361.5"></path>
+<rect x="704.5" y="367" width="139" height="22" rx="10" ry="10"></rect>
+<text x="774" y="382">"NO-EXTENSION"</text>
+</g>
+<path d="M1205 378a10 10 0 0 0 10 -10v-320"></path>
+<path d="M694.5 48v350a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 408h0"></path>
+<path d="M843.5 408h361.5"></path>
+<rect x="704.5" y="397" width="139" height="22" rx="10" ry="10"></rect>
+<text x="774" y="412">"NO INTERVALS"</text>
+</g>
+<path d="M1205 408a10 10 0 0 0 10 -10v-350"></path>
+<path d="M694.5 48v380a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 438h0"></path>
+<path d="M826.5 438h378.5"></path>
+<rect x="704.5" y="427" width="122" height="22" rx="10" ry="10"></rect>
+<text x="765.5" y="442">"NO-DISPLAY"</text>
+</g>
+<path d="M1205 438a10 10 0 0 0 10 -10v-380"></path>
+<path d="M694.5 48v410a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M704.5 468h0"></path>
+<path d="M826.5 468h378.5"></path>
+<rect x="704.5" y="457" width="122" height="22" rx="10" ry="10"></rect>
+<text x="765.5" y="472">"OBLIGATORY"</text>
+</g>
+<path d="M1205 468a10 10 0 0 0 10 -10v-410"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 694.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="679.5" y="52" class="diagram-text">1+</text>
+<path d="M 1215 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1222 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1235 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1255 48h10"></path>
+<path d="M 1265 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SelectionScreen.svg b/abap/statement_SelectionScreen.svg
new file mode 100644
index 00000000..9a783999
--- /dev/null
+++ b/abap/statement_SelectionScreen.svg
@@ -0,0 +1,1290 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1994" height="1020" viewBox="0 0 1994 1020">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1944 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1944 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M316 40h0"></path>
+<rect x="143" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="44">"SELECTION-SCREEN"</text>
+</g>
+<path d="M316 40h10"></path>
+<g>
+<path d="M326 40h0"></path>
+<path d="M1944 40h0"></path>
+<path d="M326 40h20"></path>
+<g>
+<path d="M346 40h0"></path>
+<path d="M1481 40h443"></path>
+<g class="terminal">
+<path d="M346 40h0"></path>
+<path d="M442.5 40h0"></path>
+<rect x="346" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="394.25" y="44">"COMMENT"</text>
+</g>
+<path d="M442.5 40h10"></path>
+<path d="M452.5 40h10"></path>
+<g>
+<path d="M462.5 40h0"></path>
+<path d="M929 40h0"></path>
+<g>
+<path d="M462.5 40h0"></path>
+<path d="M624.5 40h0"></path>
+<path d="M462.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M482.5 20h122"></path>
+</g>
+<path d="M604.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M462.5 40h20"></path>
+<g class="terminal">
+<path d="M482.5 40h0"></path>
+<path d="M604.5 40h0"></path>
+<rect x="482.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="543.5" y="44">^\/?&#91;\d\w&#93;+$</text>
+</g>
+<path d="M604.5 40h20"></path>
+</g>
+<g>
+<path d="M624.5 40h0"></path>
+<path d="M727 40h0"></path>
+<path d="M624.5 40h20"></path>
+<g class="terminal">
+<path d="M644.5 40h0"></path>
+<path d="M698.5 40h8.5"></path>
+<rect x="644.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="671.5" y="44">!"("</text>
+</g>
+<path d="M707 40h20"></path>
+<path d="M624.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M644.5 70h0"></path>
+<path d="M707 70h0"></path>
+<rect x="644.5" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="675.75" y="74">!" ("</text>
+</g>
+<path d="M707 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M727 40h10"></path>
+<g class="non-terminal">
+<path d="M737 40h0"></path>
+<path d="M816.5 40h0"></path>
+<rect x="737" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="776.75" y="44">Integer</text>
+</a>
+</g>
+<path d="M816.5 40h10"></path>
+<g>
+<path d="M826.5 40h0"></path>
+<path d="M929 40h0"></path>
+<path d="M826.5 40h20"></path>
+<g class="terminal">
+<path d="M846.5 40h0"></path>
+<path d="M909 40h0"></path>
+<rect x="846.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="877.75" y="44">!") "</text>
+</g>
+<path d="M909 40h20"></path>
+<path d="M826.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M846.5 70h0"></path>
+<path d="M900.5 70h8.5"></path>
+<rect x="846.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<text x="873.5" y="74">!")"</text>
+</g>
+<path d="M909 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M929 40h10"></path>
+<g>
+<path d="M939 40h0"></path>
+<path d="M1132.5 40h0"></path>
+<path d="M939 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M959 20h153.5"></path>
+</g>
+<path d="M1112.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M939 40h20"></path>
+<g>
+<path d="M959 40h0"></path>
+<path d="M1112.5 40h0"></path>
+<path d="M959 40h20"></path>
+<g class="non-terminal">
+<path d="M979 40h0"></path>
+<path d="M1092.5 40h0"></path>
+<rect x="979" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="1035.75" y="44">InlineField</text>
+</a>
+</g>
+<path d="M1092.5 40h20"></path>
+<path d="M959 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M979 70h0"></path>
+<path d="M1092.5 70h0"></path>
+<rect x="979" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="1035.75" y="74">TextElement</text>
+</a>
+</g>
+<path d="M1092.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1112.5 40h20"></path>
+</g>
+<g>
+<path d="M1132.5 40h0"></path>
+<path d="M1481 40h0"></path>
+<path d="M1132.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1152.5 20h308.5"></path>
+</g>
+<path d="M1461 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1132.5 40h20"></path>
+<g>
+<path d="M1152.5 40h0"></path>
+<path d="M1461 40h0"></path>
+<path d="M1182.5 40h10"></path>
+<g>
+<path d="M1192.5 40h0"></path>
+<path d="M1388.5 40h42.5"></path>
+<g class="terminal">
+<path d="M1192.5 40h0"></path>
+<path d="M1306 40h0"></path>
+<rect x="1192.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1249.25" y="44">"FOR FIELD"</text>
+</g>
+<path d="M1306 40h10"></path>
+<path d="M1316 40h10"></path>
+<g class="non-terminal">
+<path d="M1326 40h0"></path>
+<path d="M1388.5 40h0"></path>
+<rect x="1326" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1357.25" y="44">Field</text>
+</a>
+</g>
+</g>
+<path d="M1431 40h10"></path>
+<path d="M1182.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1192.5 70h0"></path>
+<path d="M1380 70h51"></path>
+<g class="terminal">
+<path d="M1192.5 70h0"></path>
+<path d="M1297.5 70h0"></path>
+<rect x="1192.5" y="59" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1245" y="74">"MODIF ID"</text>
+</g>
+<path d="M1297.5 70h10"></path>
+<path d="M1307.5 70h10"></path>
+<g class="non-terminal">
+<path d="M1317.5 70h0"></path>
+<path d="M1380 70h0"></path>
+<rect x="1317.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Modif"><text x="1348.75" y="74">Modif</text>
+</a>
+</g>
+</g>
+<path d="M1431 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M1182.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1192.5 100h0"></path>
+<path d="M1431 100h0"></path>
+<g class="terminal">
+<path d="M1192.5 100h0"></path>
+<path d="M1348.5 100h0"></path>
+<rect x="1192.5" y="89" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1270.5" y="104">"VISIBLE LENGTH"</text>
+</g>
+<path d="M1348.5 100h10"></path>
+<path d="M1358.5 100h10"></path>
+<g class="terminal">
+<path d="M1368.5 100h0"></path>
+<path d="M1431 100h0"></path>
+<rect x="1368.5" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1399.75" y="104">^\d+$</text>
+</g>
+</g>
+<path d="M1431 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 1182.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="1167.5" y="44" class="diagram-text">1+</text>
+<path d="M 1441 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1448 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1461 40h20"></path>
+</g>
+</g>
+<path d="M1924 40h20"></path>
+<path d="M326 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 130h0"></path>
+<path d="M584.5 130h1339.5"></path>
+<g class="terminal">
+<path d="M346 130h0"></path>
+<path d="M485 130h0"></path>
+<rect x="346" y="119" width="139" height="22" rx="10" ry="10"></rect>
+<text x="415.5" y="134">"FUNCTION KEY"</text>
+</g>
+<path d="M485 130h10"></path>
+<path d="M495 130h10"></path>
+<g class="non-terminal">
+<path d="M505 130h0"></path>
+<path d="M584.5 130h0"></path>
+<rect x="505" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="544.75" y="134">Integer</text>
+</a>
+</g>
+</g>
+<path d="M1924 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 169h0"></path>
+<path d="M546.5 169h1377.5"></path>
+<g class="terminal">
+<path d="M346 169h0"></path>
+<path d="M417 169h0"></path>
+<rect x="346" y="158" width="71" height="22" rx="10" ry="10"></rect>
+<text x="381.5" y="173">"SKIP"</text>
+</g>
+<path d="M417 169h10"></path>
+<g>
+<path d="M427 169h0"></path>
+<path d="M546.5 169h0"></path>
+<path d="M427 169a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M447 149h79.5"></path>
+</g>
+<path d="M526.5 149a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M427 169h20"></path>
+<g class="non-terminal">
+<path d="M447 169h0"></path>
+<path d="M526.5 169h0"></path>
+<rect x="447" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="486.75" y="173">Integer</text>
+</a>
+</g>
+<path d="M526.5 169h20"></path>
+</g>
+</g>
+<path d="M1924 169a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 199h0"></path>
+<path d="M801.5 199h1122.5"></path>
+<g class="terminal">
+<path d="M346 199h0"></path>
+<path d="M451 199h0"></path>
+<rect x="346" y="188" width="105" height="22" rx="10" ry="10"></rect>
+<text x="398.5" y="203">"POSITION"</text>
+</g>
+<path d="M451 199h10"></path>
+<g>
+<path d="M461 199h0"></path>
+<path d="M801.5 199h0"></path>
+<path d="M461 199h20"></path>
+<g class="terminal">
+<path d="M481 199h0"></path>
+<path d="M781.5 199h0"></path>
+<rect x="481" y="188" width="300.5" height="22" rx="10" ry="10"></rect>
+<text x="631.25" y="203">^(0?&#91;1-9&#93;|&#91;1234567&#93;&#91;0-9&#93;|8&#91;0-3&#93;)$</text>
+</g>
+<path d="M781.5 199h20"></path>
+<path d="M461 199a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M481 229h0"></path>
+<path d="M626 229h155.5"></path>
+<path d="M481 229h20"></path>
+<g class="terminal">
+<path d="M501 229h0"></path>
+<path d="M597.5 229h8.5"></path>
+<rect x="501" y="218" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="549.25" y="233">"POS&#95;LOW"</text>
+</g>
+<path d="M606 229h20"></path>
+<path d="M481 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M501 259h0"></path>
+<path d="M606 259h0"></path>
+<rect x="501" y="248" width="105" height="22" rx="10" ry="10"></rect>
+<text x="553.5" y="263">"POS&#95;HIGH"</text>
+</g>
+<path d="M606 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M781.5 229a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1924 199a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v229a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 289h0"></path>
+<path d="M618.5 289h1305.5"></path>
+<g class="terminal">
+<path d="M346 289h0"></path>
+<path d="M502 289h0"></path>
+<rect x="346" y="278" width="156" height="22" rx="10" ry="10"></rect>
+<text x="424" y="293">"INCLUDE BLOCKS"</text>
+</g>
+<path d="M502 289h10"></path>
+<path d="M512 289h10"></path>
+<g class="non-terminal">
+<path d="M522 289h0"></path>
+<path d="M618.5 289h0"></path>
+<rect x="522" y="278" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/BlockName"><text x="570.25" y="293">BlockName</text>
+</a>
+</g>
+</g>
+<path d="M1924 289a10 10 0 0 0 10 -10v-229a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 319h0"></path>
+<path d="M652.5 319h1271.5"></path>
+<g class="terminal">
+<path d="M346 319h0"></path>
+<path d="M570 319h0"></path>
+<rect x="346" y="308" width="224" height="22" rx="10" ry="10"></rect>
+<text x="458" y="323">"INCLUDE SELECT-OPTIONS"</text>
+</g>
+<path d="M570 319h10"></path>
+<path d="M580 319h10"></path>
+<g class="non-terminal">
+<path d="M590 319h0"></path>
+<path d="M652.5 319h0"></path>
+<rect x="590" y="308" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="621.25" y="323">Field</text>
+</a>
+</g>
+</g>
+<path d="M1924 319a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v298a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 358h0"></path>
+<path d="M1921 358h3"></path>
+<g class="terminal">
+<path d="M346 358h0"></path>
+<path d="M468 358h0"></path>
+<rect x="346" y="347" width="122" height="22" rx="10" ry="10"></rect>
+<text x="407" y="362">"PUSHBUTTON"</text>
+</g>
+<path d="M468 358h10"></path>
+<path d="M478 358h10"></path>
+<g>
+<path d="M488 358h0"></path>
+<path d="M954.5 358h0"></path>
+<g>
+<path d="M488 358h0"></path>
+<path d="M650 358h0"></path>
+<path d="M488 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M508 338h122"></path>
+</g>
+<path d="M630 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M488 358h20"></path>
+<g class="terminal">
+<path d="M508 358h0"></path>
+<path d="M630 358h0"></path>
+<rect x="508" y="347" width="122" height="22" rx="10" ry="10"></rect>
+<text x="569" y="362">^\/?&#91;\d\w&#93;+$</text>
+</g>
+<path d="M630 358h20"></path>
+</g>
+<g>
+<path d="M650 358h0"></path>
+<path d="M752.5 358h0"></path>
+<path d="M650 358h20"></path>
+<g class="terminal">
+<path d="M670 358h0"></path>
+<path d="M724 358h8.5"></path>
+<rect x="670" y="347" width="54" height="22" rx="10" ry="10"></rect>
+<text x="697" y="362">!"("</text>
+</g>
+<path d="M732.5 358h20"></path>
+<path d="M650 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M670 388h0"></path>
+<path d="M732.5 388h0"></path>
+<rect x="670" y="377" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="701.25" y="392">!" ("</text>
+</g>
+<path d="M732.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M752.5 358h10"></path>
+<g class="non-terminal">
+<path d="M762.5 358h0"></path>
+<path d="M842 358h0"></path>
+<rect x="762.5" y="347" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="802.25" y="362">Integer</text>
+</a>
+</g>
+<path d="M842 358h10"></path>
+<g>
+<path d="M852 358h0"></path>
+<path d="M954.5 358h0"></path>
+<path d="M852 358h20"></path>
+<g class="terminal">
+<path d="M872 358h0"></path>
+<path d="M934.5 358h0"></path>
+<rect x="872" y="347" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="903.25" y="362">!") "</text>
+</g>
+<path d="M934.5 358h20"></path>
+<path d="M852 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M872 388h0"></path>
+<path d="M926 388h8.5"></path>
+<rect x="872" y="377" width="54" height="22" rx="10" ry="10"></rect>
+<text x="899" y="392">!")"</text>
+</g>
+<path d="M934.5 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M954.5 358h10"></path>
+<g>
+<path d="M964.5 358h0"></path>
+<path d="M1118 358h0"></path>
+<path d="M964.5 358h20"></path>
+<g class="non-terminal">
+<path d="M984.5 358h0"></path>
+<path d="M1098 358h0"></path>
+<rect x="984.5" y="347" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="1041.25" y="362">InlineField</text>
+</a>
+</g>
+<path d="M1098 358h20"></path>
+<path d="M964.5 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M984.5 388h0"></path>
+<path d="M1098 388h0"></path>
+<rect x="984.5" y="377" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="1041.25" y="392">TextElement</text>
+</a>
+</g>
+<path d="M1098 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1118 358h10"></path>
+<g>
+<path d="M1128 358h0"></path>
+<path d="M1405 358h0"></path>
+<g class="terminal">
+<path d="M1128 358h0"></path>
+<path d="M1267 358h0"></path>
+<rect x="1128" y="347" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1197.5" y="362">"USER-COMMAND"</text>
+</g>
+<path d="M1267 358h10"></path>
+<g>
+<path d="M1277 358h0"></path>
+<path d="M1405 358h0"></path>
+<path d="M1277 358h20"></path>
+<g class="non-terminal">
+<path d="M1297 358h0"></path>
+<path d="M1359.5 358h25.5"></path>
+<rect x="1297" y="347" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1328.25" y="362">Field</text>
+</a>
+</g>
+<path d="M1385 358h20"></path>
+<path d="M1277 358a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1297 388h0"></path>
+<path d="M1385 388h0"></path>
+<rect x="1297" y="377" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1341" y="392">Constant</text>
+</a>
+</g>
+<path d="M1385 388a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1405 358h10"></path>
+<g>
+<path d="M1415 358h0"></path>
+<path d="M1642.5 358h0"></path>
+<path d="M1415 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1435 338h187.5"></path>
+</g>
+<path d="M1622.5 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1415 358h20"></path>
+<g>
+<path d="M1435 358h0"></path>
+<path d="M1622.5 358h0"></path>
+<g class="terminal">
+<path d="M1435 358h0"></path>
+<path d="M1540 358h0"></path>
+<rect x="1435" y="347" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1487.5" y="362">"MODIF ID"</text>
+</g>
+<path d="M1540 358h10"></path>
+<path d="M1550 358h10"></path>
+<g class="non-terminal">
+<path d="M1560 358h0"></path>
+<path d="M1622.5 358h0"></path>
+<rect x="1560" y="347" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Modif"><text x="1591.25" y="362">Modif</text>
+</a>
+</g>
+</g>
+<path d="M1622.5 358h20"></path>
+</g>
+<g>
+<path d="M1642.5 358h0"></path>
+<path d="M1921 358h0"></path>
+<path d="M1642.5 358a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1662.5 338h238.5"></path>
+</g>
+<path d="M1901 338a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1642.5 358h20"></path>
+<g>
+<path d="M1662.5 358h0"></path>
+<path d="M1901 358h0"></path>
+<g class="terminal">
+<path d="M1662.5 358h0"></path>
+<path d="M1818.5 358h0"></path>
+<rect x="1662.5" y="347" width="156" height="22" rx="10" ry="10"></rect>
+<text x="1740.5" y="362">"VISIBLE LENGTH"</text>
+</g>
+<path d="M1818.5 358h10"></path>
+<path d="M1828.5 358h10"></path>
+<g class="terminal">
+<path d="M1838.5 358h0"></path>
+<path d="M1901 358h0"></path>
+<rect x="1838.5" y="347" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1869.75" y="362">^\d+$</text>
+</g>
+</g>
+<path d="M1901 358h20"></path>
+</g>
+</g>
+<path d="M1924 358a10 10 0 0 0 10 -10v-298a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v375a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 435h0"></path>
+<path d="M1924 435h0"></path>
+<g class="terminal">
+<path d="M346 435h0"></path>
+<path d="M408.5 435h0"></path>
+<rect x="346" y="424" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="377.25" y="439">"TAB"</text>
+</g>
+<path d="M408.5 435h10"></path>
+<path d="M418.5 435h10"></path>
+<g class="terminal">
+<path d="M428.5 435h0"></path>
+<path d="M491 435h0"></path>
+<rect x="428.5" y="424" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="459.75" y="439">!" ("</text>
+</g>
+<path d="M491 435h10"></path>
+<path d="M501 435h10"></path>
+<g class="non-terminal">
+<path d="M511 435h0"></path>
+<path d="M590.5 435h0"></path>
+<rect x="511" y="424" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="550.75" y="439">Integer</text>
+</a>
+</g>
+<path d="M590.5 435h10"></path>
+<path d="M600.5 435h10"></path>
+<g class="terminal">
+<path d="M610.5 435h0"></path>
+<path d="M673 435h0"></path>
+<rect x="610.5" y="424" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="641.75" y="439">!") "</text>
+</g>
+<path d="M673 435h10"></path>
+<g>
+<path d="M683 435h0"></path>
+<path d="M836.5 435h0"></path>
+<path d="M683 435h20"></path>
+<g class="non-terminal">
+<path d="M703 435h0"></path>
+<path d="M816.5 435h0"></path>
+<rect x="703" y="424" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="759.75" y="439">InlineField</text>
+</a>
+</g>
+<path d="M816.5 435h20"></path>
+<path d="M683 435a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M703 465h0"></path>
+<path d="M816.5 465h0"></path>
+<rect x="703" y="454" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="759.75" y="469">TextElement</text>
+</a>
+</g>
+<path d="M816.5 465a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M836.5 435h10"></path>
+<g>
+<path d="M846.5 435h0"></path>
+<path d="M1123.5 435h0"></path>
+<g class="terminal">
+<path d="M846.5 435h0"></path>
+<path d="M985.5 435h0"></path>
+<rect x="846.5" y="424" width="139" height="22" rx="10" ry="10"></rect>
+<text x="916" y="439">"USER-COMMAND"</text>
+</g>
+<path d="M985.5 435h10"></path>
+<g>
+<path d="M995.5 435h0"></path>
+<path d="M1123.5 435h0"></path>
+<path d="M995.5 435h20"></path>
+<g class="non-terminal">
+<path d="M1015.5 435h0"></path>
+<path d="M1078 435h25.5"></path>
+<rect x="1015.5" y="424" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1046.75" y="439">Field</text>
+</a>
+</g>
+<path d="M1103.5 435h20"></path>
+<path d="M995.5 435a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1015.5 465h0"></path>
+<path d="M1103.5 465h0"></path>
+<rect x="1015.5" y="454" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="1059.5" y="469">Constant</text>
+</a>
+</g>
+<path d="M1103.5 465a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1123.5 435h10"></path>
+<g>
+<path d="M1133.5 435h0"></path>
+<path d="M1696.5 435h0"></path>
+<path d="M1133.5 435a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1153.5 407h523"></path>
+</g>
+<path d="M1676.5 407a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1133.5 435h20"></path>
+<g>
+<path d="M1153.5 435h0"></path>
+<path d="M1676.5 435h0"></path>
+<g class="terminal">
+<path d="M1153.5 435h0"></path>
+<path d="M1250 435h0"></path>
+<rect x="1153.5" y="424" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1201.75" y="439">"DEFAULT"</text>
+</g>
+<path d="M1250 435h10"></path>
+<g>
+<path d="M1260 435h0"></path>
+<path d="M1479 435h0"></path>
+<path d="M1260 435a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1280 415h179"></path>
+</g>
+<path d="M1459 415a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1260 435h20"></path>
+<g>
+<path d="M1280 435h0"></path>
+<path d="M1459 435h0"></path>
+<g class="terminal">
+<path d="M1280 435h0"></path>
+<path d="M1376.5 435h0"></path>
+<rect x="1280" y="424" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1328.25" y="439">"PROGRAM"</text>
+</g>
+<path d="M1376.5 435h10"></path>
+<path d="M1386.5 435h10"></path>
+<g class="non-terminal">
+<path d="M1396.5 435h0"></path>
+<path d="M1459 435h0"></path>
+<rect x="1396.5" y="424" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="1427.75" y="439">Field</text>
+</a>
+</g>
+</g>
+<path d="M1459 435h20"></path>
+</g>
+<path d="M1479 435h10"></path>
+<g class="terminal">
+<path d="M1489 435h0"></path>
+<path d="M1577 435h0"></path>
+<rect x="1489" y="424" width="88" height="22" rx="10" ry="10"></rect>
+<text x="1533" y="439">"SCREEN"</text>
+</g>
+<path d="M1577 435h10"></path>
+<path d="M1587 435h10"></path>
+<g class="non-terminal">
+<path d="M1597 435h0"></path>
+<path d="M1676.5 435h0"></path>
+<rect x="1597" y="424" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="1636.75" y="439">Integer</text>
+</a>
+</g>
+</g>
+<path d="M1676.5 435h20"></path>
+</g>
+<g>
+<path d="M1696.5 435h0"></path>
+<path d="M1924 435h0"></path>
+<path d="M1696.5 435a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1716.5 415h187.5"></path>
+</g>
+<path d="M1904 415a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1696.5 435h20"></path>
+<g>
+<path d="M1716.5 435h0"></path>
+<path d="M1904 435h0"></path>
+<g class="terminal">
+<path d="M1716.5 435h0"></path>
+<path d="M1821.5 435h0"></path>
+<rect x="1716.5" y="424" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1769" y="439">"MODIF ID"</text>
+</g>
+<path d="M1821.5 435h10"></path>
+<path d="M1831.5 435h10"></path>
+<g class="non-terminal">
+<path d="M1841.5 435h0"></path>
+<path d="M1904 435h0"></path>
+<rect x="1841.5" y="424" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Modif"><text x="1872.75" y="439">Modif</text>
+</a>
+</g>
+</g>
+<path d="M1904 435h20"></path>
+</g>
+</g>
+<path d="M1924 435a10 10 0 0 0 10 -10v-375a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v452a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 512h0"></path>
+<path d="M942 512h982"></path>
+<g class="terminal">
+<path d="M346 512h0"></path>
+<path d="M425.5 512h0"></path>
+<rect x="346" y="501" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="385.75" y="516">"ULINE"</text>
+</g>
+<path d="M425.5 512h10"></path>
+<g>
+<path d="M435.5 512h0"></path>
+<path d="M942 512h0"></path>
+<path d="M435.5 512a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M455.5 484h466.5"></path>
+</g>
+<path d="M922 484a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M435.5 512h20"></path>
+<g>
+<path d="M455.5 512h0"></path>
+<path d="M922 512h0"></path>
+<g>
+<path d="M455.5 512h0"></path>
+<path d="M617.5 512h0"></path>
+<path d="M455.5 512a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M475.5 492h122"></path>
+</g>
+<path d="M597.5 492a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M455.5 512h20"></path>
+<g class="terminal">
+<path d="M475.5 512h0"></path>
+<path d="M597.5 512h0"></path>
+<rect x="475.5" y="501" width="122" height="22" rx="10" ry="10"></rect>
+<text x="536.5" y="516">^\/?&#91;\d\w&#93;+$</text>
+</g>
+<path d="M597.5 512h20"></path>
+</g>
+<g>
+<path d="M617.5 512h0"></path>
+<path d="M720 512h0"></path>
+<path d="M617.5 512h20"></path>
+<g class="terminal">
+<path d="M637.5 512h0"></path>
+<path d="M691.5 512h8.5"></path>
+<rect x="637.5" y="501" width="54" height="22" rx="10" ry="10"></rect>
+<text x="664.5" y="516">!"("</text>
+</g>
+<path d="M700 512h20"></path>
+<path d="M617.5 512a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M637.5 542h0"></path>
+<path d="M700 542h0"></path>
+<rect x="637.5" y="531" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="668.75" y="546">!" ("</text>
+</g>
+<path d="M700 542a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M720 512h10"></path>
+<g class="non-terminal">
+<path d="M730 512h0"></path>
+<path d="M809.5 512h0"></path>
+<rect x="730" y="501" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="769.75" y="516">Integer</text>
+</a>
+</g>
+<path d="M809.5 512h10"></path>
+<g>
+<path d="M819.5 512h0"></path>
+<path d="M922 512h0"></path>
+<path d="M819.5 512h20"></path>
+<g class="terminal">
+<path d="M839.5 512h0"></path>
+<path d="M902 512h0"></path>
+<rect x="839.5" y="501" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="870.75" y="516">!") "</text>
+</g>
+<path d="M902 512h20"></path>
+<path d="M819.5 512a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M839.5 542h0"></path>
+<path d="M893.5 542h8.5"></path>
+<rect x="839.5" y="531" width="54" height="22" rx="10" ry="10"></rect>
+<text x="866.5" y="546">!")"</text>
+</g>
+<path d="M902 542a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M922 512h20"></path>
+</g>
+</g>
+<path d="M1924 512a10 10 0 0 0 10 -10v-452a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v521a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 581h0"></path>
+<path d="M1252.5 581h671.5"></path>
+<g class="terminal">
+<path d="M346 581h0"></path>
+<path d="M502 581h0"></path>
+<rect x="346" y="570" width="156" height="22" rx="10" ry="10"></rect>
+<text x="424" y="585">"BEGIN OF BLOCK"</text>
+</g>
+<path d="M502 581h10"></path>
+<path d="M512 581h10"></path>
+<g class="non-terminal">
+<path d="M522 581h0"></path>
+<path d="M618.5 581h0"></path>
+<rect x="522" y="570" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/BlockName"><text x="570.25" y="585">BlockName</text>
+</a>
+</g>
+<path d="M618.5 581h10"></path>
+<g>
+<path d="M628.5 581h0"></path>
+<path d="M790.5 581h0"></path>
+<path d="M628.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M648.5 561h122"></path>
+</g>
+<path d="M770.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M628.5 581h20"></path>
+<g class="terminal">
+<path d="M648.5 581h0"></path>
+<path d="M770.5 581h0"></path>
+<rect x="648.5" y="570" width="122" height="22" rx="10" ry="10"></rect>
+<text x="709.5" y="585">"WITH FRAME"</text>
+</g>
+<path d="M770.5 581h20"></path>
+</g>
+<g>
+<path d="M790.5 581h0"></path>
+<path d="M1073.5 581h0"></path>
+<path d="M790.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M810.5 561h243"></path>
+</g>
+<path d="M1053.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M790.5 581h20"></path>
+<g>
+<path d="M810.5 581h0"></path>
+<path d="M1053.5 581h0"></path>
+<g class="terminal">
+<path d="M810.5 581h0"></path>
+<path d="M890 581h0"></path>
+<rect x="810.5" y="570" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="850.25" y="585">"TITLE"</text>
+</g>
+<path d="M890 581h10"></path>
+<g>
+<path d="M900 581h0"></path>
+<path d="M1053.5 581h0"></path>
+<path d="M900 581h20"></path>
+<g class="non-terminal">
+<path d="M920 581h0"></path>
+<path d="M1033.5 581h0"></path>
+<rect x="920" y="570" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="976.75" y="585">InlineField</text>
+</a>
+</g>
+<path d="M1033.5 581h20"></path>
+<path d="M900 581a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M920 611h0"></path>
+<path d="M1033.5 611h0"></path>
+<rect x="920" y="600" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="976.75" y="615">TextElement</text>
+</a>
+</g>
+<path d="M1033.5 611a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1053.5 581h20"></path>
+</g>
+<g>
+<path d="M1073.5 581h0"></path>
+<path d="M1252.5 581h0"></path>
+<path d="M1073.5 581a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1093.5 561h139"></path>
+</g>
+<path d="M1232.5 561a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1073.5 581h20"></path>
+<g class="terminal">
+<path d="M1093.5 581h0"></path>
+<path d="M1232.5 581h0"></path>
+<rect x="1093.5" y="570" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1163" y="585">"NO INTERVALS"</text>
+</g>
+<path d="M1232.5 581h20"></path>
+</g>
+</g>
+<path d="M1924 581a10 10 0 0 0 10 -10v-521a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v590a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 650h0"></path>
+<path d="M1165.5 650h758.5"></path>
+<g class="terminal">
+<path d="M346 650h0"></path>
+<path d="M561.5 650h0"></path>
+<rect x="346" y="639" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="453.75" y="654">"BEGIN OF TABBED BLOCK"</text>
+</g>
+<path d="M561.5 650h10"></path>
+<path d="M571.5 650h10"></path>
+<g class="non-terminal">
+<path d="M581.5 650h0"></path>
+<path d="M695 650h0"></path>
+<rect x="581.5" y="639" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="638.25" y="654">InlineField</text>
+</a>
+</g>
+<path d="M695 650h10"></path>
+<path d="M705 650h10"></path>
+<g class="terminal">
+<path d="M715 650h0"></path>
+<path d="M777.5 650h0"></path>
+<rect x="715" y="639" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="746.25" y="654">"FOR"</text>
+</g>
+<path d="M777.5 650h10"></path>
+<path d="M787.5 650h10"></path>
+<g class="non-terminal">
+<path d="M797.5 650h0"></path>
+<path d="M877 650h0"></path>
+<rect x="797.5" y="639" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="837.25" y="654">Integer</text>
+</a>
+</g>
+<path d="M877 650h10"></path>
+<path d="M887 650h10"></path>
+<g class="terminal">
+<path d="M897 650h0"></path>
+<path d="M976.5 650h0"></path>
+<rect x="897" y="639" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="936.75" y="654">"LINES"</text>
+</g>
+<path d="M976.5 650h10"></path>
+<g>
+<path d="M986.5 650h0"></path>
+<path d="M1165.5 650h0"></path>
+<path d="M986.5 650a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1006.5 630h139"></path>
+</g>
+<path d="M1145.5 630a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M986.5 650h20"></path>
+<g class="terminal">
+<path d="M1006.5 650h0"></path>
+<path d="M1145.5 650h0"></path>
+<rect x="1006.5" y="639" width="139" height="22" rx="10" ry="10"></rect>
+<text x="1076" y="654">"NO INTERVALS"</text>
+</g>
+<path d="M1145.5 650h20"></path>
+</g>
+</g>
+<path d="M1924 650a10 10 0 0 0 10 -10v-590a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v620a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 680h0"></path>
+<path d="M601.5 680h1322.5"></path>
+<g class="terminal">
+<path d="M346 680h0"></path>
+<path d="M485 680h0"></path>
+<rect x="346" y="669" width="139" height="22" rx="10" ry="10"></rect>
+<text x="415.5" y="684">"END OF BLOCK"</text>
+</g>
+<path d="M485 680h10"></path>
+<path d="M495 680h10"></path>
+<g class="non-terminal">
+<path d="M505 680h0"></path>
+<path d="M601.5 680h0"></path>
+<rect x="505" y="669" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/BlockName"><text x="553.25" y="684">BlockName</text>
+</a>
+</g>
+</g>
+<path d="M1924 680a10 10 0 0 0 10 -10v-620a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v650a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M346 710h0"></path>
+<path d="M493.5 710h1430.5"></path>
+<rect x="346" y="699" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="419.75" y="714">"BEGIN OF LINE"</text>
+</g>
+<path d="M1924 710a10 10 0 0 0 10 -10v-650a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v680a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M346 740h0"></path>
+<path d="M476.5 740h1447.5"></path>
+<rect x="346" y="729" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="411.25" y="744">"END OF LINE"</text>
+</g>
+<path d="M1924 740a10 10 0 0 0 10 -10v-680a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v710a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 770h0"></path>
+<path d="M618.5 770h1305.5"></path>
+<g class="terminal">
+<path d="M346 770h0"></path>
+<path d="M536 770h0"></path>
+<rect x="346" y="759" width="190" height="22" rx="10" ry="10"></rect>
+<text x="441" y="774">"INCLUDE PARAMETERS"</text>
+</g>
+<path d="M536 770h10"></path>
+<path d="M546 770h10"></path>
+<g class="non-terminal">
+<path d="M556 770h0"></path>
+<path d="M618.5 770h0"></path>
+<rect x="556" y="759" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="587.25" y="774">Field</text>
+</a>
+</g>
+</g>
+<path d="M1924 770a10 10 0 0 0 10 -10v-710a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v749a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 809h0"></path>
+<path d="M973 809h951"></path>
+<g class="terminal">
+<path d="M346 809h0"></path>
+<path d="M510.5 809h0"></path>
+<rect x="346" y="798" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="428.25" y="813">"BEGIN OF SCREEN"</text>
+</g>
+<path d="M510.5 809h10"></path>
+<path d="M520.5 809h10"></path>
+<g class="non-terminal">
+<path d="M530.5 809h0"></path>
+<path d="M610 809h0"></path>
+<rect x="530.5" y="798" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="570.25" y="813">Integer</text>
+</a>
+</g>
+<path d="M610 809h10"></path>
+<g>
+<path d="M620 809h0"></path>
+<path d="M973 809h0"></path>
+<path d="M620 809a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M640 789h313"></path>
+</g>
+<path d="M953 789a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M620 809h20"></path>
+<g>
+<path d="M640 809h0"></path>
+<path d="M953 809h0"></path>
+<path d="M670 809h10"></path>
+<g>
+<path d="M680 809h0"></path>
+<path d="M897.5 809h25.5"></path>
+<g class="terminal">
+<path d="M680 809h0"></path>
+<path d="M734 809h0"></path>
+<rect x="680" y="798" width="54" height="22" rx="10" ry="10"></rect>
+<text x="707" y="813">"AS"</text>
+</g>
+<path d="M734 809h10"></path>
+<g>
+<path d="M744 809h0"></path>
+<path d="M897.5 809h0"></path>
+<path d="M744 809h20"></path>
+<g class="terminal">
+<path d="M764 809h0"></path>
+<path d="M852 809h25.5"></path>
+<rect x="764" y="798" width="88" height="22" rx="10" ry="10"></rect>
+<text x="808" y="813">"WINDOW"</text>
+</g>
+<path d="M877.5 809h20"></path>
+<path d="M744 809a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M764 839h0"></path>
+<path d="M877.5 839h0"></path>
+<rect x="764" y="828" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="820.75" y="843">"SUBSCREEN"</text>
+</g>
+<path d="M877.5 839a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M923 809h10"></path>
+<path d="M670 809v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M680 869h0"></path>
+<path d="M923 869h0"></path>
+<g class="terminal">
+<path d="M680 869h0"></path>
+<path d="M759.5 869h0"></path>
+<rect x="680" y="858" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="719.75" y="873">"TITLE"</text>
+</g>
+<path d="M759.5 869h10"></path>
+<g>
+<path d="M769.5 869h0"></path>
+<path d="M923 869h0"></path>
+<path d="M769.5 869h20"></path>
+<g class="non-terminal">
+<path d="M789.5 869h0"></path>
+<path d="M903 869h0"></path>
+<rect x="789.5" y="858" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/InlineField"><text x="846.25" y="873">InlineField</text>
+</a>
+</g>
+<path d="M903 869h20"></path>
+<path d="M769.5 869a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M789.5 899h0"></path>
+<path d="M903 899h0"></path>
+<rect x="789.5" y="888" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TextElement"><text x="846.25" y="903">TextElement</text>
+</a>
+</g>
+<path d="M903 899a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M923 869a10 10 0 0 0 10 -10v-50"></path>
+<path d="M670 809v110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M680 929h0"></path>
+<path d="M819 929h104"></path>
+<rect x="680" y="918" width="139" height="22" rx="10" ry="10"></rect>
+<text x="749.5" y="933">"NO INTERVALS"</text>
+</g>
+<path d="M923 929a10 10 0 0 0 10 -10v-110"></path>
+<path d="M670 809v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M680 959h0"></path>
+<path d="M918.5 959h4.5"></path>
+<g class="terminal">
+<path d="M680 959h0"></path>
+<path d="M827.5 959h0"></path>
+<rect x="680" y="948" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="753.75" y="963">"NESTING LEVEL"</text>
+</g>
+<path d="M827.5 959h10"></path>
+<path d="M837.5 959h10"></path>
+<g class="non-terminal">
+<path d="M847.5 959h0"></path>
+<path d="M918.5 959h0"></path>
+<rect x="847.5" y="948" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="883" y="963">Source</text>
+</a>
+</g>
+</g>
+<path d="M923 959a10 10 0 0 0 10 -10v-140"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 670 799 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="655" y="813" class="diagram-text">1+</text>
+<path d="M 933 799 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 940 807 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M953 809h20"></path>
+</g>
+</g>
+<path d="M1924 809a10 10 0 0 0 10 -10v-749a10 10 0 0 1 10 -10"></path>
+<path d="M326 40a10 10 0 0 1 10 10v929a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 989h0"></path>
+<path d="M593 989h1331"></path>
+<g class="terminal">
+<path d="M346 989h0"></path>
+<path d="M493.5 989h0"></path>
+<rect x="346" y="978" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="419.75" y="993">"END OF SCREEN"</text>
+</g>
+<path d="M493.5 989h10"></path>
+<path d="M503.5 989h10"></path>
+<g class="non-terminal">
+<path d="M513.5 989h0"></path>
+<path d="M593 989h0"></path>
+<rect x="513.5" y="978" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="553.25" y="993">Integer</text>
+</a>
+</g>
+</g>
+<path d="M1924 989a10 10 0 0 0 10 -10v-929a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1944 40h10"></path>
+<path d="M 1954 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetBit.svg b/abap/statement_SetBit.svg
new file mode 100644
index 00000000..39589d82
--- /dev/null
+++ b/abap/statement_SetBit.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="647.5" height="71" viewBox="0 0 647.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M597.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="44">"SET BIT"</text>
+</g>
+<path d="M146.5 40h10"></path>
+<path d="M156.5 40h10"></path>
+<g class="non-terminal">
+<path d="M166.5 40h0"></path>
+<path d="M237.5 40h0"></path>
+<rect x="166.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="202" y="44">Source</text>
+</a>
+</g>
+<path d="M237.5 40h10"></path>
+<path d="M247.5 40h10"></path>
+<g class="terminal">
+<path d="M257.5 40h0"></path>
+<path d="M311.5 40h0"></path>
+<rect x="257.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="284.5" y="44">"OF"</text>
+</g>
+<path d="M311.5 40h10"></path>
+<path d="M321.5 40h10"></path>
+<g class="non-terminal">
+<path d="M331.5 40h0"></path>
+<path d="M402.5 40h0"></path>
+<rect x="331.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="367" y="44">Target</text>
+</a>
+</g>
+<path d="M402.5 40h10"></path>
+<g>
+<path d="M412.5 40h0"></path>
+<path d="M597.5 40h0"></path>
+<path d="M412.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M432.5 20h145"></path>
+</g>
+<path d="M577.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M412.5 40h20"></path>
+<g>
+<path d="M432.5 40h0"></path>
+<path d="M577.5 40h0"></path>
+<g class="terminal">
+<path d="M432.5 40h0"></path>
+<path d="M486.5 40h0"></path>
+<rect x="432.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="459.5" y="44">"TO"</text>
+</g>
+<path d="M486.5 40h10"></path>
+<path d="M496.5 40h10"></path>
+<g class="non-terminal">
+<path d="M506.5 40h0"></path>
+<path d="M577.5 40h0"></path>
+<rect x="506.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="542" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M577.5 40h20"></path>
+</g>
+</g>
+<path d="M597.5 40h10"></path>
+<path d="M 607.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetBlank.svg b/abap/statement_SetBlank.svg
new file mode 100644
index 00000000..40356c6b
--- /dev/null
+++ b/abap/statement_SetBlank.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="470" height="92" viewBox="0 0 470 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M420 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M420 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"SET BLANK LINES"</text>
+</g>
+<path d="M307.5 31h10"></path>
+<g>
+<path d="M317.5 31h0"></path>
+<path d="M420 31h0"></path>
+<path d="M317.5 31h20"></path>
+<g class="terminal">
+<path d="M337.5 31h0"></path>
+<path d="M391.5 31h8.5"></path>
+<rect x="337.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="364.5" y="35">"ON"</text>
+</g>
+<path d="M400 31h20"></path>
+<path d="M317.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M337.5 61h0"></path>
+<path d="M400 61h0"></path>
+<rect x="337.5" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="368.75" y="65">"OFF"</text>
+</g>
+<path d="M400 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M420 31h10"></path>
+<path d="M 430 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetCountry.svg b/abap/statement_SetCountry.svg
new file mode 100644
index 00000000..e1f3a53a
--- /dev/null
+++ b/abap/statement_SetCountry.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="414.5" height="62" viewBox="0 0 414.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M364.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M364.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"SET COUNTRY"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g class="non-terminal">
+<path d="M293.5 31h0"></path>
+<path d="M364.5 31h0"></path>
+<rect x="293.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M364.5 31h10"></path>
+<path d="M 374.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetCursor.svg b/abap/statement_SetCursor.svg
new file mode 100644
index 00000000..4670ecce
--- /dev/null
+++ b/abap/statement_SetCursor.svg
@@ -0,0 +1,173 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="614" height="152" viewBox="0 0 614 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M564 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M564 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M265 31h0"></path>
+<rect x="143" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="35">"SET CURSOR"</text>
+</g>
+<path d="M265 31h10"></path>
+<g>
+<path d="M275 31h0"></path>
+<path d="M564 31h0"></path>
+<path d="M275 31h20"></path>
+<g>
+<path d="M295 31h0"></path>
+<path d="M544 31h0"></path>
+<path d="M325 31h10"></path>
+<g>
+<path d="M335 31h0"></path>
+<path d="M505.5 31h8.5"></path>
+<g class="terminal">
+<path d="M335 31h0"></path>
+<path d="M414.5 31h0"></path>
+<rect x="335" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="35">"FIELD"</text>
+</g>
+<path d="M414.5 31h10"></path>
+<path d="M424.5 31h10"></path>
+<g class="non-terminal">
+<path d="M434.5 31h0"></path>
+<path d="M505.5 31h0"></path>
+<rect x="434.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="470" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M514 31h10"></path>
+<path d="M325 31v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M335 61h0"></path>
+<path d="M514 61h0"></path>
+<g class="terminal">
+<path d="M335 61h0"></path>
+<path d="M423 61h0"></path>
+<rect x="335" y="50" width="88" height="22" rx="10" ry="10"></rect>
+<text x="379" y="65">"OFFSET"</text>
+</g>
+<path d="M423 61h10"></path>
+<path d="M433 61h10"></path>
+<g class="non-terminal">
+<path d="M443 61h0"></path>
+<path d="M514 61h0"></path>
+<rect x="443" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="478.5" y="65">Source</text>
+</a>
+</g>
+</g>
+<path d="M514 61a10 10 0 0 0 10 -10v-20"></path>
+<path d="M325 31v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M335 91h0"></path>
+<path d="M497 91h17"></path>
+<g class="terminal">
+<path d="M335 91h0"></path>
+<path d="M406 91h0"></path>
+<rect x="335" y="80" width="71" height="22" rx="10" ry="10"></rect>
+<text x="370.5" y="95">"LINE"</text>
+</g>
+<path d="M406 91h10"></path>
+<path d="M416 91h10"></path>
+<g class="non-terminal">
+<path d="M426 91h0"></path>
+<path d="M497 91h0"></path>
+<rect x="426" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="461.5" y="95">Source</text>
+</a>
+</g>
+</g>
+<path d="M514 91a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 325 21 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="310" y="35" class="diagram-text">1+</text>
+<path d="M 524 21 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 531 29 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M544 31h20"></path>
+<path d="M275 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M295 121h0"></path>
+<path d="M457 121h87"></path>
+<g class="non-terminal">
+<path d="M295 121h0"></path>
+<path d="M366 121h0"></path>
+<rect x="295" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="330.5" y="125">Source</text>
+</a>
+</g>
+<path d="M366 121h10"></path>
+<path d="M376 121h10"></path>
+<g class="non-terminal">
+<path d="M386 121h0"></path>
+<path d="M457 121h0"></path>
+<rect x="386" y="110" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="421.5" y="125">Source</text>
+</a>
+</g>
+</g>
+<path d="M544 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M564 31h10"></path>
+<path d="M 574 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetDataset.svg b/abap/statement_SetDataset.svg
new file mode 100644
index 00000000..fce98b3d
--- /dev/null
+++ b/abap/statement_SetDataset.svg
@@ -0,0 +1,109 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="720" height="92" viewBox="0 0 720 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M670 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M670 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"SET DATASET"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<path d="M283.5 31h10"></path>
+<g class="non-terminal">
+<path d="M293.5 31h0"></path>
+<path d="M364.5 31h0"></path>
+<rect x="293.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="329" y="35">Source</text>
+</a>
+</g>
+<path d="M364.5 31h10"></path>
+<path d="M374.5 31h10"></path>
+<g class="terminal">
+<path d="M384.5 31h0"></path>
+<path d="M489.5 31h0"></path>
+<rect x="384.5" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="437" y="35">"POSITION"</text>
+</g>
+<path d="M489.5 31h10"></path>
+<g>
+<path d="M499.5 31h0"></path>
+<path d="M670 31h0"></path>
+<path d="M499.5 31h20"></path>
+<g class="non-terminal">
+<path d="M519.5 31h0"></path>
+<path d="M590.5 31h59.5"></path>
+<rect x="519.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="555" y="35">Source</text>
+</a>
+</g>
+<path d="M650 31h20"></path>
+<path d="M499.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M519.5 61h0"></path>
+<path d="M650 61h0"></path>
+<rect x="519.5" y="50" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="584.75" y="65">"END OF FILE"</text>
+</g>
+<path d="M650 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M670 31h10"></path>
+<path d="M 680 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetExtendedCheck.svg b/abap/statement_SetExtendedCheck.svg
new file mode 100644
index 00000000..e14c0111
--- /dev/null
+++ b/abap/statement_SetExtendedCheck.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="495.5" height="92" viewBox="0 0 495.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M445.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M445.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M333 31h0"></path>
+<rect x="143" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="238" y="35">"SET EXTENDED CHECK"</text>
+</g>
+<path d="M333 31h10"></path>
+<g>
+<path d="M343 31h0"></path>
+<path d="M445.5 31h0"></path>
+<path d="M343 31h20"></path>
+<g class="terminal">
+<path d="M363 31h0"></path>
+<path d="M425.5 31h0"></path>
+<rect x="363" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="394.25" y="35">"OFF"</text>
+</g>
+<path d="M425.5 31h20"></path>
+<path d="M343 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M363 61h0"></path>
+<path d="M417 61h8.5"></path>
+<rect x="363" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="390" y="65">"ON"</text>
+</g>
+<path d="M425.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M445.5 31h10"></path>
+<path d="M 455.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetHandler.svg b/abap/statement_SetHandler.svg
new file mode 100644
index 00000000..8ffb1870
--- /dev/null
+++ b/abap/statement_SetHandler.svg
@@ -0,0 +1,153 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="955.5" height="101" viewBox="0 0 955.5 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M905.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"SET HANDLER"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<path d="M190.5 40h10"></path>
+<g>
+<path d="M200.5 40h0"></path>
+<path d="M342.5 40h0"></path>
+<path d="M200.5 40h10"></path>
+<g class="non-terminal">
+<path d="M210.5 40h0"></path>
+<path d="M332.5 40h0"></path>
+<rect x="210.5" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/MethodSource"><text x="271.5" y="44">MethodSource</text>
+</a>
+</g>
+<path d="M332.5 40h10"></path>
+<path d="M210.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M210.5 60h122"></path>
+</g>
+<path d="M332.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M342.5 40h10"></path>
+<g>
+<path d="M352.5 40h0"></path>
+<path d="M652.5 40h0"></path>
+<path d="M352.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M372.5 20h260"></path>
+</g>
+<path d="M632.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M352.5 40h20"></path>
+<g>
+<path d="M372.5 40h0"></path>
+<path d="M632.5 40h0"></path>
+<g class="terminal">
+<path d="M372.5 40h0"></path>
+<path d="M435 40h0"></path>
+<rect x="372.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="403.75" y="44">"FOR"</text>
+</g>
+<path d="M435 40h10"></path>
+<g>
+<path d="M445 40h0"></path>
+<path d="M632.5 40h0"></path>
+<path d="M445 40h20"></path>
+<g class="terminal">
+<path d="M465 40h0"></path>
+<path d="M612.5 40h0"></path>
+<rect x="465" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="538.75" y="44">"ALL INSTANCES"</text>
+</g>
+<path d="M612.5 40h20"></path>
+<path d="M445 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M465 70h0"></path>
+<path d="M536 70h76.5"></path>
+<rect x="465" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="500.5" y="74">Source</text>
+</a>
+</g>
+<path d="M612.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M632.5 40h20"></path>
+</g>
+<g>
+<path d="M652.5 40h0"></path>
+<path d="M905.5 40h0"></path>
+<path d="M652.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M672.5 20h213"></path>
+</g>
+<path d="M885.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M652.5 40h20"></path>
+<g>
+<path d="M672.5 40h0"></path>
+<path d="M885.5 40h0"></path>
+<g class="terminal">
+<path d="M672.5 40h0"></path>
+<path d="M794.5 40h0"></path>
+<rect x="672.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="733.5" y="44">"ACTIVATION"</text>
+</g>
+<path d="M794.5 40h10"></path>
+<path d="M804.5 40h10"></path>
+<g class="non-terminal">
+<path d="M814.5 40h0"></path>
+<path d="M885.5 40h0"></path>
+<rect x="814.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="850" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M885.5 40h20"></path>
+</g>
+</g>
+<path d="M905.5 40h10"></path>
+<path d="M 915.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetLanguage.svg b/abap/statement_SetLanguage.svg
new file mode 100644
index 00000000..b2f6fd64
--- /dev/null
+++ b/abap/statement_SetLanguage.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="423" height="62" viewBox="0 0 423 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M373 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M373 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M282 31h0"></path>
+<rect x="143" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="35">"SET LANGUAGE"</text>
+</g>
+<path d="M282 31h10"></path>
+<path d="M292 31h10"></path>
+<g class="non-terminal">
+<path d="M302 31h0"></path>
+<path d="M373 31h0"></path>
+<rect x="302" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="337.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M373 31h10"></path>
+<path d="M 383 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetLeft.svg b/abap/statement_SetLeft.svg
new file mode 100644
index 00000000..3a2e9ad1
--- /dev/null
+++ b/abap/statement_SetLeft.svg
@@ -0,0 +1,101 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="663" height="71" viewBox="0 0 663 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M613 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M613 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M384 40h0"></path>
+<rect x="143" y="29" width="241" height="22" rx="10" ry="10"></rect>
+<text x="263.5" y="44">"SET LEFT SCROLL-BOUNDARY"</text>
+</g>
+<path d="M384 40h10"></path>
+<g>
+<path d="M394 40h0"></path>
+<path d="M613 40h0"></path>
+<path d="M394 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M414 20h179"></path>
+</g>
+<path d="M593 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M394 40h20"></path>
+<g>
+<path d="M414 40h0"></path>
+<path d="M593 40h0"></path>
+<g class="terminal">
+<path d="M414 40h0"></path>
+<path d="M502 40h0"></path>
+<rect x="414" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="458" y="44">"COLUMN"</text>
+</g>
+<path d="M502 40h10"></path>
+<path d="M512 40h10"></path>
+<g class="non-terminal">
+<path d="M522 40h0"></path>
+<path d="M593 40h0"></path>
+<rect x="522" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="557.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M593 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M613 40h10"></path>
+<path d="M 623 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetLocale.svg b/abap/statement_SetLocale.svg
new file mode 100644
index 00000000..d8d0adaa
--- /dev/null
+++ b/abap/statement_SetLocale.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="956" height="71" viewBox="0 0 956 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M906 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M906 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M341.5 40h0"></path>
+<rect x="143" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="242.25" y="44">"SET LOCALE LANGUAGE"</text>
+</g>
+<path d="M341.5 40h10"></path>
+<path d="M351.5 40h10"></path>
+<g class="non-terminal">
+<path d="M361.5 40h0"></path>
+<path d="M432.5 40h0"></path>
+<rect x="361.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="397" y="44">Source</text>
+</a>
+</g>
+<path d="M432.5 40h10"></path>
+<g>
+<path d="M442.5 40h0"></path>
+<path d="M670 40h0"></path>
+<path d="M442.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M462.5 20h187.5"></path>
+</g>
+<path d="M650 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M442.5 40h20"></path>
+<g>
+<path d="M462.5 40h0"></path>
+<path d="M650 40h0"></path>
+<g class="terminal">
+<path d="M462.5 40h0"></path>
+<path d="M559 40h0"></path>
+<rect x="462.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="510.75" y="44">"COUNTRY"</text>
+</g>
+<path d="M559 40h10"></path>
+<path d="M569 40h10"></path>
+<g class="non-terminal">
+<path d="M579 40h0"></path>
+<path d="M650 40h0"></path>
+<rect x="579" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="614.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M650 40h20"></path>
+</g>
+<g>
+<path d="M670 40h0"></path>
+<path d="M906 40h0"></path>
+<path d="M670 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M690 20h196"></path>
+</g>
+<path d="M886 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M670 40h20"></path>
+<g>
+<path d="M690 40h0"></path>
+<path d="M886 40h0"></path>
+<g class="terminal">
+<path d="M690 40h0"></path>
+<path d="M795 40h0"></path>
+<rect x="690" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="742.5" y="44">"MODIFIER"</text>
+</g>
+<path d="M795 40h10"></path>
+<path d="M805 40h10"></path>
+<g class="non-terminal">
+<path d="M815 40h0"></path>
+<path d="M886 40h0"></path>
+<rect x="815" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="850.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M886 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M906 40h10"></path>
+<path d="M 916 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetLocks.svg b/abap/statement_SetLocks.svg
new file mode 100644
index 00000000..304f9b5e
--- /dev/null
+++ b/abap/statement_SetLocks.svg
@@ -0,0 +1,147 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1252" height="62" viewBox="0 0 1252 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1202 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v754</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M1202 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M247 31h0"></path>
+<rect x="108" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="177.5" y="35">"SET LOCKS OF"</text>
+</g>
+<path d="M247 31h10"></path>
+<path d="M257 31h10"></path>
+<g class="non-terminal">
+<path d="M267 31h0"></path>
+<path d="M372 31h0"></path>
+<rect x="267" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="319.5" y="35">SimpleName</text>
+</a>
+</g>
+<path d="M372 31h10"></path>
+<path d="M382 31h10"></path>
+<g class="terminal">
+<path d="M392 31h0"></path>
+<path d="M480 31h0"></path>
+<rect x="392" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="436" y="35">"ENTITY"</text>
+</g>
+<path d="M480 31h10"></path>
+<path d="M490 31h10"></path>
+<g class="non-terminal">
+<path d="M500 31h0"></path>
+<path d="M605 31h0"></path>
+<rect x="500" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SimpleName"><text x="552.5" y="35">SimpleName</text>
+</a>
+</g>
+<path d="M605 31h10"></path>
+<path d="M615 31h10"></path>
+<g class="terminal">
+<path d="M625 31h0"></path>
+<path d="M696 31h0"></path>
+<rect x="625" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="660.5" y="35">"FROM"</text>
+</g>
+<path d="M696 31h10"></path>
+<path d="M706 31h10"></path>
+<g class="non-terminal">
+<path d="M716 31h0"></path>
+<path d="M787 31h0"></path>
+<rect x="716" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="751.5" y="35">Source</text>
+</a>
+</g>
+<path d="M787 31h10"></path>
+<path d="M797 31h10"></path>
+<g class="terminal">
+<path d="M807 31h0"></path>
+<path d="M895 31h0"></path>
+<rect x="807" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="851" y="35">"FAILED"</text>
+</g>
+<path d="M895 31h10"></path>
+<path d="M905 31h10"></path>
+<g class="non-terminal">
+<path d="M915 31h0"></path>
+<path d="M986 31h0"></path>
+<rect x="915" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="950.5" y="35">Target</text>
+</a>
+</g>
+<path d="M986 31h10"></path>
+<path d="M996 31h10"></path>
+<g class="terminal">
+<path d="M1006 31h0"></path>
+<path d="M1111 31h0"></path>
+<rect x="1006" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1058.5" y="35">"REPORTED"</text>
+</g>
+<path d="M1111 31h10"></path>
+<path d="M1121 31h10"></path>
+<g class="non-terminal">
+<path d="M1131 31h0"></path>
+<path d="M1202 31h0"></path>
+<rect x="1131" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1166.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M1202 31h10"></path>
+<path d="M 1212 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetMargin.svg b/abap/statement_SetMargin.svg
new file mode 100644
index 00000000..76b7f5f2
--- /dev/null
+++ b/abap/statement_SetMargin.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="527" height="71" viewBox="0 0 527 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M477 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M477 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M265 40h0"></path>
+<rect x="143" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="44">"SET MARGIN"</text>
+</g>
+<path d="M265 40h10"></path>
+<path d="M275 40h10"></path>
+<g class="non-terminal">
+<path d="M285 40h0"></path>
+<path d="M356 40h0"></path>
+<rect x="285" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="320.5" y="44">Source</text>
+</a>
+</g>
+<path d="M356 40h10"></path>
+<g>
+<path d="M366 40h0"></path>
+<path d="M477 40h0"></path>
+<path d="M366 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M386 20h71"></path>
+</g>
+<path d="M457 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M366 40h20"></path>
+<g class="non-terminal">
+<path d="M386 40h0"></path>
+<path d="M457 40h0"></path>
+<rect x="386" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="421.5" y="44">Source</text>
+</a>
+</g>
+<path d="M457 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M477 40h10"></path>
+<path d="M 487 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetPFStatus.svg b/abap/statement_SetPFStatus.svg
new file mode 100644
index 00000000..0a6f1bf8
--- /dev/null
+++ b/abap/statement_SetPFStatus.svg
@@ -0,0 +1,152 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="764.5" height="131" viewBox="0 0 764.5 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M714.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M714.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M290.5 40h0"></path>
+<rect x="143" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="216.75" y="44">"SET PF-STATUS"</text>
+</g>
+<path d="M290.5 40h10"></path>
+<path d="M300.5 40h10"></path>
+<g class="non-terminal">
+<path d="M310.5 40h0"></path>
+<path d="M381.5 40h0"></path>
+<rect x="310.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="346" y="44">Source</text>
+</a>
+</g>
+<path d="M381.5 40h10"></path>
+<g>
+<path d="M391.5 40h0"></path>
+<path d="M714.5 40h0"></path>
+<path d="M391.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M411.5 20h283"></path>
+</g>
+<path d="M694.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M391.5 40h20"></path>
+<g>
+<path d="M411.5 40h0"></path>
+<path d="M694.5 40h0"></path>
+<path d="M441.5 40h10"></path>
+<g>
+<path d="M451.5 40h0"></path>
+<path d="M664.5 40h0"></path>
+<g class="terminal">
+<path d="M451.5 40h0"></path>
+<path d="M573.5 40h0"></path>
+<rect x="451.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="512.5" y="44">"OF PROGRAM"</text>
+</g>
+<path d="M573.5 40h10"></path>
+<path d="M583.5 40h10"></path>
+<g class="non-terminal">
+<path d="M593.5 40h0"></path>
+<path d="M664.5 40h0"></path>
+<rect x="593.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="629" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 40h10"></path>
+<path d="M441.5 40v20a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M451.5 70h0"></path>
+<path d="M582 70h82.5"></path>
+<rect x="451.5" y="59" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="516.75" y="74">"IMMEDIATELY"</text>
+</g>
+<path d="M664.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M441.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M451.5 100h0"></path>
+<path d="M656 100h8.5"></path>
+<g class="terminal">
+<path d="M451.5 100h0"></path>
+<path d="M565 100h0"></path>
+<rect x="451.5" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="508.25" y="104">"EXCLUDING"</text>
+</g>
+<path d="M565 100h10"></path>
+<path d="M575 100h10"></path>
+<g class="non-terminal">
+<path d="M585 100h0"></path>
+<path d="M656 100h0"></path>
+<rect x="585" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="620.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M664.5 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 441.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="426.5" y="44" class="diagram-text">1+</text>
+<path d="M 674.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 681.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M694.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M714.5 40h10"></path>
+<path d="M 724.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetParameter.svg b/abap/statement_SetParameter.svg
new file mode 100644
index 00000000..8f0a0f06
--- /dev/null
+++ b/abap/statement_SetParameter.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="647.5" height="62" viewBox="0 0 647.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M597.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M597.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"SET PARAMETER ID"</text>
+</g>
+<path d="M316 31h10"></path>
+<path d="M326 31h10"></path>
+<g class="non-terminal">
+<path d="M336 31h0"></path>
+<path d="M407 31h0"></path>
+<rect x="336" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="35">Source</text>
+</a>
+</g>
+<path d="M407 31h10"></path>
+<path d="M417 31h10"></path>
+<g class="terminal">
+<path d="M427 31h0"></path>
+<path d="M506.5 31h0"></path>
+<rect x="427" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="466.75" y="35">"FIELD"</text>
+</g>
+<path d="M506.5 31h10"></path>
+<path d="M516.5 31h10"></path>
+<g class="non-terminal">
+<path d="M526.5 31h0"></path>
+<path d="M597.5 31h0"></path>
+<rect x="526.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="562" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M597.5 31h10"></path>
+<path d="M 607.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetProperty.svg b/abap/statement_SetProperty.svg
new file mode 100644
index 00000000..4cf64716
--- /dev/null
+++ b/abap/statement_SetProperty.svg
@@ -0,0 +1,154 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1050" height="101" viewBox="0 0 1050 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1000 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1000 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="143" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="44">"SET PROPERTY OF"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M398.5 40h0"></path>
+<rect x="327.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="363" y="44">Source</text>
+</a>
+</g>
+<path d="M398.5 40h10"></path>
+<g>
+<path d="M408.5 40h0"></path>
+<path d="M536.5 40h0"></path>
+<path d="M408.5 40h20"></path>
+<g class="non-terminal">
+<path d="M428.5 40h0"></path>
+<path d="M516.5 40h0"></path>
+<rect x="428.5" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Constant"><text x="472.5" y="44">Constant</text>
+</a>
+</g>
+<path d="M516.5 40h20"></path>
+<path d="M408.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M428.5 70h0"></path>
+<path d="M491 70h25.5"></path>
+<rect x="428.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="459.75" y="74">Field</text>
+</a>
+</g>
+<path d="M516.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M536.5 40h10"></path>
+<g class="terminal">
+<path d="M546.5 40h0"></path>
+<path d="M592 40h0"></path>
+<rect x="546.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="569.25" y="44">"="</text>
+</g>
+<path d="M592 40h10"></path>
+<path d="M602 40h10"></path>
+<g class="non-terminal">
+<path d="M612 40h0"></path>
+<path d="M683 40h0"></path>
+<rect x="612" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="647.5" y="44">Source</text>
+</a>
+</g>
+<path d="M683 40h10"></path>
+<g>
+<path d="M693 40h0"></path>
+<path d="M838 40h0"></path>
+<path d="M693 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M713 20h105"></path>
+</g>
+<path d="M818 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M693 40h20"></path>
+<g class="terminal">
+<path d="M713 40h0"></path>
+<path d="M818 40h0"></path>
+<rect x="713" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="765.5" y="44">"NO FLUSH"</text>
+</g>
+<path d="M818 40h20"></path>
+</g>
+<g>
+<path d="M838 40h0"></path>
+<path d="M1000 40h0"></path>
+<path d="M838 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M858 20h122"></path>
+</g>
+<path d="M980 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M838 40h20"></path>
+<g class="non-terminal">
+<path d="M858 40h0"></path>
+<path d="M980 40h0"></path>
+<rect x="858" y="29" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/OLEExporting"><text x="919" y="44">OLEExporting</text>
+</a>
+</g>
+<path d="M980 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M1000 40h10"></path>
+<path d="M 1010 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetRunTime.svg b/abap/statement_SetRunTime.svg
new file mode 100644
index 00000000..e6a521ca
--- /dev/null
+++ b/abap/statement_SetRunTime.svg
@@ -0,0 +1,141 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="676" height="152" viewBox="0 0 676 152">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M626 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M626 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M282 31h0"></path>
+<rect x="143" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="35">"SET RUN TIME"</text>
+</g>
+<path d="M282 31h10"></path>
+<g>
+<path d="M292 31h0"></path>
+<path d="M626 31h0"></path>
+<path d="M292 31h20"></path>
+<g>
+<path d="M312 31h0"></path>
+<path d="M606 31h0"></path>
+<g class="terminal">
+<path d="M312 31h0"></path>
+<path d="M485 31h0"></path>
+<rect x="312" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="398.5" y="35">"CLOCK RESOLUTION"</text>
+</g>
+<path d="M485 31h10"></path>
+<g>
+<path d="M495 31h0"></path>
+<path d="M606 31h0"></path>
+<path d="M495 31h20"></path>
+<g class="terminal">
+<path d="M515 31h0"></path>
+<path d="M577.5 31h8.5"></path>
+<rect x="515" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="546.25" y="35">"LOW"</text>
+</g>
+<path d="M586 31h20"></path>
+<path d="M495 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M515 61h0"></path>
+<path d="M586 61h0"></path>
+<rect x="515" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="550.5" y="65">"HIGH"</text>
+</g>
+<path d="M586 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M606 31h20"></path>
+<path d="M292 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M312 91h0"></path>
+<path d="M529.5 91h76.5"></path>
+<g class="terminal">
+<path d="M312 91h0"></path>
+<path d="M417 91h0"></path>
+<rect x="312" y="80" width="105" height="22" rx="10" ry="10"></rect>
+<text x="364.5" y="95">"ANALYZER"</text>
+</g>
+<path d="M417 91h10"></path>
+<g>
+<path d="M427 91h0"></path>
+<path d="M529.5 91h0"></path>
+<path d="M427 91h20"></path>
+<g class="terminal">
+<path d="M447 91h0"></path>
+<path d="M501 91h8.5"></path>
+<rect x="447" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="474" y="95">"ON"</text>
+</g>
+<path d="M509.5 91h20"></path>
+<path d="M427 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M447 121h0"></path>
+<path d="M509.5 121h0"></path>
+<rect x="447" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="478.25" y="125">"OFF"</text>
+</g>
+<path d="M509.5 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M606 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M626 31h10"></path>
+<path d="M 636 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetScreen.svg b/abap/statement_SetScreen.svg
new file mode 100644
index 00000000..195f68d1
--- /dev/null
+++ b/abap/statement_SetScreen.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="406" height="62" viewBox="0 0 406 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M356 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M356 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M265 31h0"></path>
+<rect x="143" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="35">"SET SCREEN"</text>
+</g>
+<path d="M265 31h10"></path>
+<path d="M275 31h10"></path>
+<g class="non-terminal">
+<path d="M285 31h0"></path>
+<path d="M356 31h0"></path>
+<rect x="285" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="320.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M356 31h10"></path>
+<path d="M 366 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetTitlebar.svg b/abap/statement_SetTitlebar.svg
new file mode 100644
index 00000000..8d2ebdcf
--- /dev/null
+++ b/abap/statement_SetTitlebar.svg
@@ -0,0 +1,151 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="908" height="80" viewBox="0 0 908 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M858 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M858 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M282 40h0"></path>
+<rect x="143" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<text x="212.5" y="44">"SET TITLEBAR"</text>
+</g>
+<path d="M282 40h10"></path>
+<path d="M292 40h10"></path>
+<g class="non-terminal">
+<path d="M302 40h0"></path>
+<path d="M373 40h0"></path>
+<rect x="302" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="337.5" y="44">Source</text>
+</a>
+</g>
+<path d="M373 40h10"></path>
+<g>
+<path d="M383 40h0"></path>
+<path d="M636 40h0"></path>
+<path d="M383 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M403 20h213"></path>
+</g>
+<path d="M616 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M383 40h20"></path>
+<g>
+<path d="M403 40h0"></path>
+<path d="M616 40h0"></path>
+<g class="terminal">
+<path d="M403 40h0"></path>
+<path d="M525 40h0"></path>
+<rect x="403" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="464" y="44">"OF PROGRAM"</text>
+</g>
+<path d="M525 40h10"></path>
+<path d="M535 40h10"></path>
+<g class="non-terminal">
+<path d="M545 40h0"></path>
+<path d="M616 40h0"></path>
+<rect x="545" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="580.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M616 40h20"></path>
+</g>
+<g>
+<path d="M636 40h0"></path>
+<path d="M858 40h0"></path>
+<path d="M636 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M656 20h182"></path>
+</g>
+<path d="M838 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M636 40h20"></path>
+<g>
+<path d="M656 40h0"></path>
+<path d="M838 40h0"></path>
+<g class="terminal">
+<path d="M656 40h0"></path>
+<path d="M727 40h0"></path>
+<rect x="656" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="691.5" y="44">"WITH"</text>
+</g>
+<path d="M727 40h10"></path>
+<path d="M737 40h10"></path>
+<g>
+<path d="M747 40h0"></path>
+<path d="M838 40h0"></path>
+<path d="M747 40h10"></path>
+<g class="non-terminal">
+<path d="M757 40h0"></path>
+<path d="M828 40h0"></path>
+<rect x="757" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="792.5" y="44">Source</text>
+</a>
+</g>
+<path d="M828 40h10"></path>
+<path d="M757 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M757 60h71"></path>
+</g>
+<path d="M828 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M838 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M858 40h10"></path>
+<path d="M 868 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetUpdateTask.svg b/abap/statement_SetUpdateTask.svg
new file mode 100644
index 00000000..ed712e56
--- /dev/null
+++ b/abap/statement_SetUpdateTask.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="408.5" height="62" viewBox="0 0 408.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M358.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M358.5 31h0"></path>
+<rect x="143" y="20" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="250.75" y="35">"SET UPDATE TASK LOCAL"</text>
+</g>
+</g>
+<path d="M358.5 31h10"></path>
+<path d="M 368.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SetUserCommand.svg b/abap/statement_SetUserCommand.svg
new file mode 100644
index 00000000..b1f90147
--- /dev/null
+++ b/abap/statement_SetUserCommand.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="457" height="62" viewBox="0 0 457 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M407 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M407 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"SET USER-COMMAND"</text>
+</g>
+<path d="M316 31h10"></path>
+<path d="M326 31h10"></path>
+<g class="non-terminal">
+<path d="M336 31h0"></path>
+<path d="M407 31h0"></path>
+<rect x="336" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="35">Source</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M407 31h10"></path>
+<path d="M 417 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Shift.svg b/abap/statement_Shift.svg
new file mode 100644
index 00000000..125fbf81
--- /dev/null
+++ b/abap/statement_Shift.svg
@@ -0,0 +1,262 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="731.5" height="320" viewBox="0 0 731.5 320">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M681.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"SHIFT"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M220.5 40h0"></path>
+<rect x="149.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="185" y="44">Target</text>
+</a>
+</g>
+<path d="M220.5 40h10"></path>
+<g>
+<path d="M230.5 40h0"></path>
+<path d="M681.5 40h0"></path>
+<path d="M230.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M250.5 20h411"></path>
+</g>
+<path d="M661.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M230.5 40h20"></path>
+<g>
+<path d="M250.5 40h0"></path>
+<path d="M661.5 40h0"></path>
+<path d="M280.5 40h10"></path>
+<g>
+<path d="M290.5 40h0"></path>
+<path d="M631.5 40h0"></path>
+<g class="terminal">
+<path d="M290.5 40h0"></path>
+<path d="M395.5 40h0"></path>
+<rect x="290.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="343" y="44">"DELETING"</text>
+</g>
+<path d="M395.5 40h10"></path>
+<g>
+<path d="M405.5 40h0"></path>
+<path d="M550.5 40h0"></path>
+<path d="M405.5 40h20"></path>
+<g class="terminal">
+<path d="M425.5 40h0"></path>
+<path d="M522 40h8.5"></path>
+<rect x="425.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="473.75" y="44">"LEADING"</text>
+</g>
+<path d="M530.5 40h20"></path>
+<path d="M405.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M425.5 70h0"></path>
+<path d="M530.5 70h0"></path>
+<rect x="425.5" y="59" width="105" height="22" rx="10" ry="10"></rect>
+<text x="478" y="74">"TRAILING"</text>
+</g>
+<path d="M530.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M550.5 40h10"></path>
+<g class="non-terminal">
+<path d="M560.5 40h0"></path>
+<path d="M631.5 40h0"></path>
+<rect x="560.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="596" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M631.5 40h10"></path>
+<path d="M280.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M290.5 100h0"></path>
+<path d="M461 100h170.5"></path>
+<g class="terminal">
+<path d="M290.5 100h0"></path>
+<path d="M370 100h0"></path>
+<rect x="290.5" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="330.25" y="104">"UP TO"</text>
+</g>
+<path d="M370 100h10"></path>
+<path d="M380 100h10"></path>
+<g class="non-terminal">
+<path d="M390 100h0"></path>
+<path d="M461 100h0"></path>
+<rect x="390" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="425.5" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M631.5 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M280.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M290.5 130h0"></path>
+<path d="M589 130h42.5"></path>
+<g class="terminal">
+<path d="M290.5 130h0"></path>
+<path d="M344.5 130h0"></path>
+<rect x="290.5" y="119" width="54" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="134">"IN"</text>
+</g>
+<path d="M344.5 130h10"></path>
+<g>
+<path d="M354.5 130h0"></path>
+<path d="M508 130h0"></path>
+<path d="M354.5 130h20"></path>
+<g class="terminal">
+<path d="M374.5 130h0"></path>
+<path d="M488 130h0"></path>
+<rect x="374.5" y="119" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="431.25" y="134">"CHARACTER"</text>
+</g>
+<path d="M488 130h20"></path>
+<path d="M354.5 130a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M374.5 160h0"></path>
+<path d="M445.5 160h42.5"></path>
+<rect x="374.5" y="149" width="71" height="22" rx="10" ry="10"></rect>
+<text x="410" y="164">"BYTE"</text>
+</g>
+<path d="M488 160a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M508 130h10"></path>
+<g class="terminal">
+<path d="M518 130h0"></path>
+<path d="M589 130h0"></path>
+<rect x="518" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<text x="553.5" y="134">"MODE"</text>
+</g>
+</g>
+<path d="M631.5 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M280.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M290.5 190h0"></path>
+<path d="M410 190h221.5"></path>
+<path d="M290.5 190h20"></path>
+<g class="terminal">
+<path d="M310.5 190h0"></path>
+<path d="M381.5 190h8.5"></path>
+<rect x="310.5" y="179" width="71" height="22" rx="10" ry="10"></rect>
+<text x="346" y="194">"LEFT"</text>
+</g>
+<path d="M390 190h20"></path>
+<path d="M290.5 190a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M310.5 220h0"></path>
+<path d="M390 220h0"></path>
+<rect x="310.5" y="209" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="350.25" y="224">"RIGHT"</text>
+</g>
+<path d="M390 220a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M631.5 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M280.5 40v209a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M290.5 259h0"></path>
+<path d="M573.5 259h58"></path>
+<g class="terminal">
+<path d="M290.5 259h0"></path>
+<path d="M344.5 259h0"></path>
+<rect x="290.5" y="248" width="54" height="22" rx="10" ry="10"></rect>
+<text x="317.5" y="263">"BY"</text>
+</g>
+<path d="M344.5 259h10"></path>
+<path d="M354.5 259h10"></path>
+<g class="non-terminal">
+<path d="M364.5 259h0"></path>
+<path d="M435.5 259h0"></path>
+<rect x="364.5" y="248" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="400" y="263">Source</text>
+</a>
+</g>
+<path d="M435.5 259h10"></path>
+<g>
+<path d="M445.5 259h0"></path>
+<path d="M573.5 259h0"></path>
+<path d="M445.5 259a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M465.5 239h88"></path>
+</g>
+<path d="M553.5 239a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M445.5 259h20"></path>
+<g class="terminal">
+<path d="M465.5 259h0"></path>
+<path d="M553.5 259h0"></path>
+<rect x="465.5" y="248" width="88" height="22" rx="10" ry="10"></rect>
+<text x="509.5" y="263">"PLACES"</text>
+</g>
+<path d="M553.5 259h20"></path>
+</g>
+</g>
+<path d="M631.5 259a10 10 0 0 0 10 -10v-209"></path>
+<path d="M280.5 40v239a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M290.5 289h0"></path>
+<path d="M395.5 289h236"></path>
+<rect x="290.5" y="278" width="105" height="22" rx="10" ry="10"></rect>
+<text x="343" y="293">"CIRCULAR"</text>
+</g>
+<path d="M631.5 289a10 10 0 0 0 10 -10v-239"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 280.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="265.5" y="44" class="diagram-text">1+</text>
+<path d="M 641.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 648.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M661.5 40h20"></path>
+</g>
+</g>
+<path d="M681.5 40h10"></path>
+<path d="M 691.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Skip.svg b/abap/statement_Skip.svg
new file mode 100644
index 00000000..26cbcb5e
--- /dev/null
+++ b/abap/statement_Skip.svg
@@ -0,0 +1,106 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="521.5" height="71" viewBox="0 0 521.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M471.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M471.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M214 40h0"></path>
+<rect x="143" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="44">"SKIP"</text>
+</g>
+<path d="M214 40h10"></path>
+<g>
+<path d="M224 40h0"></path>
+<path d="M360.5 40h0"></path>
+<path d="M224 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M244 20h96.5"></path>
+</g>
+<path d="M340.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M224 40h20"></path>
+<g class="terminal">
+<path d="M244 40h0"></path>
+<path d="M340.5 40h0"></path>
+<rect x="244" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="292.25" y="44">"TO LINE"</text>
+</g>
+<path d="M340.5 40h20"></path>
+</g>
+<g>
+<path d="M360.5 40h0"></path>
+<path d="M471.5 40h0"></path>
+<path d="M360.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M380.5 20h71"></path>
+</g>
+<path d="M451.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M360.5 40h20"></path>
+<g class="non-terminal">
+<path d="M380.5 40h0"></path>
+<path d="M451.5 40h0"></path>
+<rect x="380.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="416" y="44">Source</text>
+</a>
+</g>
+<path d="M451.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M471.5 40h10"></path>
+<path d="M 481.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Sort.svg b/abap/statement_Sort.svg
new file mode 100644
index 00000000..0d17c010
--- /dev/null
+++ b/abap/statement_Sort.svg
@@ -0,0 +1,271 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1185.5" height="298" viewBox="0 0 1185.5 298">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1135.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M121 31h0"></path>
+<rect x="50" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="35">"SORT"</text>
+</g>
+<path d="M121 31h10"></path>
+<g>
+<path d="M131 31h0"></path>
+<path d="M1135.5 31h0"></path>
+<path d="M131 31h20"></path>
+<g class="terminal">
+<path d="M151 31h0"></path>
+<path d="M247.5 31h868"></path>
+<rect x="151" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="199.25" y="35">"AS TEXT"</text>
+</g>
+<path d="M1115.5 31h20"></path>
+<path d="M131 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M151 70h0"></path>
+<path d="M1115.5 70h0"></path>
+<g class="non-terminal">
+<path d="M151 70h0"></path>
+<path d="M222 70h0"></path>
+<rect x="151" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="186.5" y="74">Target</text>
+</a>
+</g>
+<path d="M222 70h10"></path>
+<g>
+<path d="M232 70h0"></path>
+<path d="M1115.5 70h0"></path>
+<path d="M232 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M252 50h843.5"></path>
+</g>
+<path d="M1095.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M232 70h20"></path>
+<g>
+<path d="M252 70h0"></path>
+<path d="M1095.5 70h0"></path>
+<path d="M282 70h10"></path>
+<g>
+<path d="M292 70h0"></path>
+<path d="M454 70h611.5"></path>
+<path d="M292 70h20"></path>
+<g class="terminal">
+<path d="M312 70h0"></path>
+<path d="M425.5 70h8.5"></path>
+<rect x="312" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="368.75" y="74">"ASCENDING"</text>
+</g>
+<path d="M434 70h20"></path>
+<path d="M292 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M312 100h0"></path>
+<path d="M434 100h0"></path>
+<rect x="312" y="89" width="122" height="22" rx="10" ry="10"></rect>
+<text x="373" y="104">"DESCENDING"</text>
+</g>
+<path d="M434 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1065.5 70h10"></path>
+<path d="M282 70v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M292 139h0"></path>
+<path d="M1065.5 139h0"></path>
+<g class="terminal">
+<path d="M292 139h0"></path>
+<path d="M346 139h0"></path>
+<rect x="292" y="128" width="54" height="22" rx="10" ry="10"></rect>
+<text x="319" y="143">"BY"</text>
+</g>
+<path d="M346 139h10"></path>
+<path d="M356 139h10"></path>
+<g>
+<path d="M366 139h0"></path>
+<path d="M1065.5 139h0"></path>
+<path d="M366 139h10"></path>
+<g>
+<path d="M376 139h0"></path>
+<path d="M1055.5 139h0"></path>
+<g>
+<path d="M376 139h0"></path>
+<path d="M580.5 139h0"></path>
+<path d="M376 139h20"></path>
+<g class="non-terminal">
+<path d="M396 139h0"></path>
+<path d="M535 139h25.5"></path>
+<rect x="396" y="128" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/ComponentChain"><text x="465.5" y="143">ComponentChain</text>
+</a>
+</g>
+<path d="M560.5 139h20"></path>
+<path d="M376 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M396 169h0"></path>
+<path d="M475.5 169h85"></path>
+<rect x="396" y="158" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="435.75" y="173">Dynamic</text>
+</a>
+</g>
+<path d="M560.5 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M376 139a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M396 199h0"></path>
+<path d="M560.5 199h0"></path>
+<rect x="396" y="188" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="478.25" y="203">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M560.5 199a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M580.5 139h0"></path>
+<path d="M717 139h0"></path>
+<path d="M580.5 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M600.5 119h96.5"></path>
+</g>
+<path d="M697 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M580.5 139h20"></path>
+<g class="terminal">
+<path d="M600.5 139h0"></path>
+<path d="M697 139h0"></path>
+<rect x="600.5" y="128" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="648.75" y="143">"AS TEXT"</text>
+</g>
+<path d="M697 139h20"></path>
+</g>
+<g>
+<path d="M717 139h0"></path>
+<path d="M919 139h0"></path>
+<path d="M717 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M737 119h162"></path>
+</g>
+<path d="M899 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M717 139h20"></path>
+<g>
+<path d="M737 139h0"></path>
+<path d="M899 139h0"></path>
+<path d="M737 139h20"></path>
+<g class="terminal">
+<path d="M757 139h0"></path>
+<path d="M870.5 139h8.5"></path>
+<rect x="757" y="128" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="813.75" y="143">"ASCENDING"</text>
+</g>
+<path d="M879 139h20"></path>
+<path d="M737 139a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M757 169h0"></path>
+<path d="M879 169h0"></path>
+<rect x="757" y="158" width="122" height="22" rx="10" ry="10"></rect>
+<text x="818" y="173">"DESCENDING"</text>
+</g>
+<path d="M879 169a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M899 139h20"></path>
+</g>
+<g>
+<path d="M919 139h0"></path>
+<path d="M1055.5 139h0"></path>
+<path d="M919 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M939 119h96.5"></path>
+</g>
+<path d="M1035.5 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M919 139h20"></path>
+<g class="terminal">
+<path d="M939 139h0"></path>
+<path d="M1035.5 139h0"></path>
+<rect x="939" y="128" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="987.25" y="143">"AS TEXT"</text>
+</g>
+<path d="M1035.5 139h20"></path>
+</g>
+</g>
+<path d="M1055.5 139h10"></path>
+<path d="M376 139a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M376 218h679.5"></path>
+</g>
+<path d="M1055.5 218a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M1065.5 139a10 10 0 0 0 10 -10v-59"></path>
+<path d="M282 70v157a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M292 237h0"></path>
+<path d="M380 237h685.5"></path>
+<rect x="292" y="226" width="88" height="22" rx="10" ry="10"></rect>
+<text x="336" y="241">"STABLE"</text>
+</g>
+<path d="M1065.5 237a10 10 0 0 0 10 -10v-157"></path>
+<path d="M282 70v187a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M292 267h0"></path>
+<path d="M388.5 267h677"></path>
+<rect x="292" y="256" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="340.25" y="271">"AS TEXT"</text>
+</g>
+<path d="M1065.5 267a10 10 0 0 0 10 -10v-187"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 282 60 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="267" y="74" class="diagram-text">1+</text>
+<path d="M 1075.5 60 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1082.5 68 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1095.5 70h20"></path>
+</g>
+</g>
+<path d="M1115.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1135.5 31h10"></path>
+<path d="M 1145.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SortDataset.svg b/abap/statement_SortDataset.svg
new file mode 100644
index 00000000..c3aa4612
--- /dev/null
+++ b/abap/statement_SortDataset.svg
@@ -0,0 +1,171 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="814.5" height="147" viewBox="0 0 814.5 147">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M764.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M764.5 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M214 48h0"></path>
+<rect x="143" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="52">"SORT"</text>
+</g>
+<path d="M214 48h10"></path>
+<g>
+<path d="M224 48h0"></path>
+<path d="M764.5 48h0"></path>
+<path d="M224 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M244 20h500.5"></path>
+</g>
+<path d="M744.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M224 48h20"></path>
+<g>
+<path d="M244 48h0"></path>
+<path d="M744.5 48h0"></path>
+<g class="terminal">
+<path d="M244 48h0"></path>
+<path d="M298 48h0"></path>
+<rect x="244" y="37" width="54" height="22" rx="10" ry="10"></rect>
+<text x="271" y="52">"BY"</text>
+</g>
+<path d="M298 48h10"></path>
+<path d="M308 48h10"></path>
+<g>
+<path d="M318 48h0"></path>
+<path d="M744.5 48h0"></path>
+<path d="M318 48h10"></path>
+<g>
+<path d="M328 48h0"></path>
+<path d="M734.5 48h0"></path>
+<g>
+<path d="M328 48h0"></path>
+<path d="M532.5 48h0"></path>
+<path d="M328 48h20"></path>
+<g class="non-terminal">
+<path d="M348 48h0"></path>
+<path d="M436 48h76.5"></path>
+<rect x="348" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="392" y="52">FieldSub</text>
+</a>
+</g>
+<path d="M512.5 48h20"></path>
+<path d="M328 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M348 78h0"></path>
+<path d="M512.5 78h0"></path>
+<rect x="348" y="67" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SourceFieldSymbol"><text x="430.25" y="82">SourceFieldSymbol</text>
+</a>
+</g>
+<path d="M512.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M328 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M348 108h0"></path>
+<path d="M427.5 108h85"></path>
+<rect x="348" y="97" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="387.75" y="112">Dynamic</text>
+</a>
+</g>
+<path d="M512.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M532.5 48h0"></path>
+<path d="M734.5 48h0"></path>
+<path d="M532.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M552.5 28h162"></path>
+</g>
+<path d="M714.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M532.5 48h20"></path>
+<g>
+<path d="M552.5 48h0"></path>
+<path d="M714.5 48h0"></path>
+<path d="M552.5 48h20"></path>
+<g class="terminal">
+<path d="M572.5 48h0"></path>
+<path d="M686 48h8.5"></path>
+<rect x="572.5" y="37" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="629.25" y="52">"ASCENDING"</text>
+</g>
+<path d="M694.5 48h20"></path>
+<path d="M552.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M572.5 78h0"></path>
+<path d="M694.5 78h0"></path>
+<rect x="572.5" y="67" width="122" height="22" rx="10" ry="10"></rect>
+<text x="633.5" y="82">"DESCENDING"</text>
+</g>
+<path d="M694.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M714.5 48h20"></path>
+</g>
+</g>
+<path d="M734.5 48h10"></path>
+<path d="M328 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M328 127h406.5"></path>
+</g>
+<path d="M734.5 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M744.5 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M764.5 48h10"></path>
+<path d="M 774.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Split.svg b/abap/statement_Split.svg
new file mode 100644
index 00000000..2fd04f05
--- /dev/null
+++ b/abap/statement_Split.svg
@@ -0,0 +1,243 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1095.5" height="170" viewBox="0 0 1095.5 170">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1045.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"SPLIT"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M220.5 40h0"></path>
+<rect x="149.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="185" y="44">Source</text>
+</a>
+</g>
+<path d="M220.5 40h10"></path>
+<path d="M230.5 40h10"></path>
+<g class="terminal">
+<path d="M240.5 40h0"></path>
+<path d="M294.5 40h0"></path>
+<rect x="240.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="267.5" y="44">"AT"</text>
+</g>
+<path d="M294.5 40h10"></path>
+<path d="M304.5 40h10"></path>
+<g class="non-terminal">
+<path d="M314.5 40h0"></path>
+<path d="M385.5 40h0"></path>
+<rect x="314.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="350" y="44">Source</text>
+</a>
+</g>
+<path d="M385.5 40h10"></path>
+<path d="M395.5 40h10"></path>
+<g class="terminal">
+<path d="M405.5 40h0"></path>
+<path d="M476.5 40h0"></path>
+<rect x="405.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="441" y="44">"INTO"</text>
+</g>
+<path d="M476.5 40h10"></path>
+<g>
+<path d="M486.5 40h0"></path>
+<path d="M1045.5 40h0"></path>
+<path d="M486.5 40h20"></path>
+<g>
+<path d="M506.5 40h0"></path>
+<path d="M1025.5 40h0"></path>
+<g class="terminal">
+<path d="M506.5 40h0"></path>
+<path d="M586 40h0"></path>
+<rect x="506.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="546.25" y="44">"TABLE"</text>
+</g>
+<path d="M586 40h10"></path>
+<path d="M596 40h10"></path>
+<g class="non-terminal">
+<path d="M606 40h0"></path>
+<path d="M677 40h0"></path>
+<rect x="606" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="641.5" y="44">Target</text>
+</a>
+</g>
+<path d="M677 40h10"></path>
+<g>
+<path d="M687 40h0"></path>
+<path d="M1025.5 40h0"></path>
+<path d="M687 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M707 20h298.5"></path>
+</g>
+<path d="M1005.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M687 40h20"></path>
+<g>
+<path d="M707 40h0"></path>
+<path d="M1005.5 40h0"></path>
+<g class="terminal">
+<path d="M707 40h0"></path>
+<path d="M761 40h0"></path>
+<rect x="707" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="734" y="44">"IN"</text>
+</g>
+<path d="M761 40h10"></path>
+<g>
+<path d="M771 40h0"></path>
+<path d="M924.5 40h0"></path>
+<path d="M771 40h20"></path>
+<g class="terminal">
+<path d="M791 40h0"></path>
+<path d="M904.5 40h0"></path>
+<rect x="791" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="847.75" y="44">"CHARACTER"</text>
+</g>
+<path d="M904.5 40h20"></path>
+<path d="M771 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M791 70h0"></path>
+<path d="M862 70h42.5"></path>
+<rect x="791" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="826.5" y="74">"BYTE"</text>
+</g>
+<path d="M904.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M924.5 40h10"></path>
+<g class="terminal">
+<path d="M934.5 40h0"></path>
+<path d="M1005.5 40h0"></path>
+<rect x="934.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="970" y="44">"MODE"</text>
+</g>
+</g>
+<path d="M1005.5 40h20"></path>
+</g>
+</g>
+<path d="M1025.5 40h20"></path>
+<path d="M486.5 40a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M506.5 109h0"></path>
+<path d="M946 109h79.5"></path>
+<g>
+<path d="M506.5 109h0"></path>
+<path d="M597.5 109h0"></path>
+<path d="M506.5 109h10"></path>
+<g class="non-terminal">
+<path d="M516.5 109h0"></path>
+<path d="M587.5 109h0"></path>
+<rect x="516.5" y="98" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="552" y="113">Target</text>
+</a>
+</g>
+<path d="M587.5 109h10"></path>
+<path d="M516.5 109a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M516.5 129h71"></path>
+</g>
+<path d="M587.5 129a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M597.5 109h10"></path>
+<g>
+<path d="M607.5 109h0"></path>
+<path d="M946 109h0"></path>
+<path d="M607.5 109a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M627.5 89h298.5"></path>
+</g>
+<path d="M926 89a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M607.5 109h20"></path>
+<g>
+<path d="M627.5 109h0"></path>
+<path d="M926 109h0"></path>
+<g class="terminal">
+<path d="M627.5 109h0"></path>
+<path d="M681.5 109h0"></path>
+<rect x="627.5" y="98" width="54" height="22" rx="10" ry="10"></rect>
+<text x="654.5" y="113">"IN"</text>
+</g>
+<path d="M681.5 109h10"></path>
+<g>
+<path d="M691.5 109h0"></path>
+<path d="M845 109h0"></path>
+<path d="M691.5 109h20"></path>
+<g class="terminal">
+<path d="M711.5 109h0"></path>
+<path d="M825 109h0"></path>
+<rect x="711.5" y="98" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="768.25" y="113">"CHARACTER"</text>
+</g>
+<path d="M825 109h20"></path>
+<path d="M691.5 109a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M711.5 139h0"></path>
+<path d="M782.5 139h42.5"></path>
+<rect x="711.5" y="128" width="71" height="22" rx="10" ry="10"></rect>
+<text x="747" y="143">"BYTE"</text>
+</g>
+<path d="M825 139a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M845 109h10"></path>
+<g class="terminal">
+<path d="M855 109h0"></path>
+<path d="M926 109h0"></path>
+<rect x="855" y="98" width="71" height="22" rx="10" ry="10"></rect>
+<text x="890.5" y="113">"MODE"</text>
+</g>
+</g>
+<path d="M926 109h20"></path>
+</g>
+</g>
+<path d="M1025.5 109a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1045.5 40h10"></path>
+<path d="M 1055.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_StartOfSelection.svg b/abap/statement_StartOfSelection.svg
new file mode 100644
index 00000000..02b6fd5d
--- /dev/null
+++ b/abap/statement_StartOfSelection.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="383" height="62" viewBox="0 0 383 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M333 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M333 31h0"></path>
+<rect x="143" y="20" width="190" height="22" rx="10" ry="10"></rect>
+<text x="238" y="35">"START-OF-SELECTION"</text>
+</g>
+</g>
+<path d="M333 31h10"></path>
+<path d="M 343 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Static.svg b/abap/statement_Static.svg
new file mode 100644
index 00000000..40ec189b
--- /dev/null
+++ b/abap/statement_Static.svg
@@ -0,0 +1,177 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="855" height="191" viewBox="0 0 855 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M805 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M186.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h8.5"></path>
+<rect x="70" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="44">"STATIC"</text>
+</g>
+<path d="M166.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M166.5 70h0"></path>
+<rect x="70" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="118.25" y="74">"STATICS"</text>
+</g>
+<path d="M166.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M186.5 40h10"></path>
+<g class="non-terminal">
+<path d="M196.5 40h0"></path>
+<path d="M335.5 40h0"></path>
+<rect x="196.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="266" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M335.5 40h10"></path>
+<g>
+<path d="M345.5 40h0"></path>
+<path d="M805 40h0"></path>
+<path d="M345.5 40h20"></path>
+<g>
+<path d="M365.5 40h0"></path>
+<path d="M785 40h0"></path>
+<g>
+<path d="M365.5 40h0"></path>
+<path d="M587 40h0"></path>
+<path d="M365.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M385.5 20h181.5"></path>
+</g>
+<path d="M567 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M365.5 40h20"></path>
+<g class="non-terminal">
+<path d="M385.5 40h0"></path>
+<path d="M567 40h0"></path>
+<rect x="385.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantFieldLength"><text x="476.25" y="44">ConstantFieldLength</text>
+</a>
+</g>
+<path d="M567 40h20"></path>
+</g>
+<g>
+<path d="M587 40h0"></path>
+<path d="M785 40h0"></path>
+<path d="M587 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M607 20h158"></path>
+</g>
+<path d="M765 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M587 40h20"></path>
+<g>
+<path d="M607 40h0"></path>
+<path d="M765 40h0"></path>
+<path d="M637 40h10"></path>
+<g class="non-terminal">
+<path d="M647 40h0"></path>
+<path d="M701 40h34"></path>
+<rect x="647" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Type"><text x="674" y="44">Type</text>
+</a>
+</g>
+<path d="M735 40h10"></path>
+<path d="M637 40v20a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M647 70h0"></path>
+<path d="M709.5 70h25.5"></path>
+<rect x="647" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Value"><text x="678.25" y="74">Value</text>
+</a>
+</g>
+<path d="M735 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M637 40v50a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M647 100h0"></path>
+<path d="M718 100h17"></path>
+<rect x="647" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Length"><text x="682.5" y="104">Length</text>
+</a>
+</g>
+<path d="M735 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M637 40v80a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M647 130h0"></path>
+<path d="M735 130h0"></path>
+<rect x="647" y="119" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Decimals"><text x="691" y="134">Decimals</text>
+</a>
+</g>
+<path d="M735 130a10 10 0 0 0 10 -10v-80"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 637 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="622" y="44" class="diagram-text">1+</text>
+<path d="M 745 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 752 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M765 40h20"></path>
+</g>
+</g>
+<path d="M785 40h20"></path>
+<path d="M345.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M365.5 160h0"></path>
+<path d="M462 160h323"></path>
+<rect x="365.5" y="149" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTable"><text x="413.75" y="164">TypeTable</text>
+</a>
+</g>
+<path d="M785 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M805 40h10"></path>
+<path d="M 815 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_StaticBegin.svg b/abap/statement_StaticBegin.svg
new file mode 100644
index 00000000..2e35d882
--- /dev/null
+++ b/abap/statement_StaticBegin.svg
@@ -0,0 +1,120 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="748" height="101" viewBox="0 0 748 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M698 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M186.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h8.5"></path>
+<rect x="70" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="44">"STATIC"</text>
+</g>
+<path d="M166.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M166.5 70h0"></path>
+<rect x="70" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="118.25" y="74">"STATICS"</text>
+</g>
+<path d="M166.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M186.5 40h10"></path>
+<g class="terminal">
+<path d="M196.5 40h0"></path>
+<path d="M301.5 40h0"></path>
+<rect x="196.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="249" y="44">"BEGIN OF"</text>
+</g>
+<path d="M301.5 40h10"></path>
+<path d="M311.5 40h10"></path>
+<g class="non-terminal">
+<path d="M321.5 40h0"></path>
+<path d="M460.5 40h0"></path>
+<rect x="321.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="391" y="44">DefinitionName</text>
+</a>
+</g>
+<path d="M460.5 40h10"></path>
+<g>
+<path d="M470.5 40h0"></path>
+<path d="M698 40h0"></path>
+<path d="M470.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M490.5 20h187.5"></path>
+</g>
+<path d="M678 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M470.5 40h20"></path>
+<g>
+<path d="M490.5 40h0"></path>
+<path d="M678 40h0"></path>
+<g class="terminal">
+<path d="M490.5 40h0"></path>
+<path d="M578.5 40h0"></path>
+<rect x="490.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="534.5" y="44">"OCCURS"</text>
+</g>
+<path d="M578.5 40h10"></path>
+<path d="M588.5 40h10"></path>
+<g class="non-terminal">
+<path d="M598.5 40h0"></path>
+<path d="M678 40h0"></path>
+<rect x="598.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Integer"><text x="638.25" y="44">Integer</text>
+</a>
+</g>
+</g>
+<path d="M678 40h20"></path>
+</g>
+</g>
+<path d="M698 40h10"></path>
+<path d="M 708 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_StaticEnd.svg b/abap/statement_StaticEnd.svg
new file mode 100644
index 00000000..70a8c8a9
--- /dev/null
+++ b/abap/statement_StaticEnd.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="493.5" height="92" viewBox="0 0 493.5 92">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M443.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M186.5 31h0"></path>
+<path d="M50 31h20"></path>
+<g class="terminal">
+<path d="M70 31h0"></path>
+<path d="M158 31h8.5"></path>
+<rect x="70" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="114" y="35">"STATIC"</text>
+</g>
+<path d="M166.5 31h20"></path>
+<path d="M50 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 61h0"></path>
+<path d="M166.5 61h0"></path>
+<rect x="70" y="50" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="118.25" y="65">"STATICS"</text>
+</g>
+<path d="M166.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M186.5 31h10"></path>
+<g class="terminal">
+<path d="M196.5 31h0"></path>
+<path d="M284.5 31h0"></path>
+<rect x="196.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="240.5" y="35">"END OF"</text>
+</g>
+<path d="M284.5 31h10"></path>
+<path d="M294.5 31h10"></path>
+<g class="non-terminal">
+<path d="M304.5 31h0"></path>
+<path d="M443.5 31h0"></path>
+<rect x="304.5" y="20" width="139" height="22"></rect>
+<a xlink:href="#/abap/expression/DefinitionName"><text x="374" y="35">DefinitionName</text>
+</a>
+</g>
+</g>
+<path d="M443.5 31h10"></path>
+<path d="M 453.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Stop.svg b/abap/statement_Stop.svg
new file mode 100644
index 00000000..8c8e18ef
--- /dev/null
+++ b/abap/statement_Stop.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="264" height="62" viewBox="0 0 264 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M214 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M214 31h0"></path>
+<rect x="143" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="178.5" y="35">"STOP"</text>
+</g>
+</g>
+<path d="M214 31h10"></path>
+<path d="M 224 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Submit.svg b/abap/statement_Submit.svg
new file mode 100644
index 00000000..71cbde56
--- /dev/null
+++ b/abap/statement_Submit.svg
@@ -0,0 +1,738 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1434.5" height="1017" viewBox="0 0 1434.5 1017">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1384.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M123 48h0"></path>
+<text x="86.5" y="53" class="comment">not Cloud</text>
+</g>
+<path d="M123 48h10"></path>
+<path d="M133 48h10"></path>
+<g>
+<path d="M143 48h0"></path>
+<path d="M1384.5 48h0"></path>
+<g class="terminal">
+<path d="M143 48h0"></path>
+<path d="M231 48h0"></path>
+<rect x="143" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="52">"SUBMIT"</text>
+</g>
+<path d="M231 48h10"></path>
+<g>
+<path d="M241 48h0"></path>
+<path d="M462.5 48h0"></path>
+<path d="M241 48h20"></path>
+<g class="non-terminal">
+<path d="M261 48h0"></path>
+<path d="M442.5 48h0"></path>
+<rect x="261" y="37" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="351.75" y="52">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M442.5 48h20"></path>
+<path d="M241 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M261 78h0"></path>
+<path d="M340.5 78h102"></path>
+<rect x="261" y="67" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="300.75" y="82">Dynamic</text>
+</a>
+</g>
+<path d="M442.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M462.5 48h0"></path>
+<path d="M1384.5 48h0"></path>
+<path d="M462.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M482.5 20h882"></path>
+</g>
+<path d="M1364.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M462.5 48h20"></path>
+<g>
+<path d="M482.5 48h0"></path>
+<path d="M1364.5 48h0"></path>
+<path d="M512.5 48h10"></path>
+<g>
+<path d="M522.5 48h0"></path>
+<path d="M1334.5 48h0"></path>
+<path d="M522.5 48h10"></path>
+<g>
+<path d="M532.5 48h0"></path>
+<path d="M1324.5 48h0"></path>
+<g class="terminal">
+<path d="M532.5 48h0"></path>
+<path d="M603.5 48h0"></path>
+<rect x="532.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="568" y="52">"WITH"</text>
+</g>
+<path d="M603.5 48h10"></path>
+<path d="M613.5 48h10"></path>
+<g class="non-terminal">
+<path d="M623.5 48h0"></path>
+<path d="M711.5 48h0"></path>
+<rect x="623.5" y="37" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="667.5" y="52">FieldSub</text>
+</a>
+</g>
+<path d="M711.5 48h10"></path>
+<g>
+<path d="M721.5 48h0"></path>
+<path d="M1122.5 48h0"></path>
+<path d="M721.5 48h20"></path>
+<g>
+<path d="M741.5 48h0"></path>
+<path d="M933.5 48h169"></path>
+<g>
+<path d="M741.5 48h0"></path>
+<path d="M852.5 48h0"></path>
+<path d="M741.5 48h20"></path>
+<g class="terminal">
+<path d="M761.5 48h0"></path>
+<path d="M807 48h25.5"></path>
+<rect x="761.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="784.25" y="52">"="</text>
+</g>
+<path d="M832.5 48h20"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 78h0"></path>
+<path d="M815.5 78h17"></path>
+<rect x="761.5" y="67" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="82">"EQ"</text>
+</g>
+<path d="M832.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 108h0"></path>
+<path d="M815.5 108h17"></path>
+<rect x="761.5" y="97" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="112">"IN"</text>
+</g>
+<path d="M832.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 138h0"></path>
+<path d="M815.5 138h17"></path>
+<rect x="761.5" y="127" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="142">"NE"</text>
+</g>
+<path d="M832.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 168h0"></path>
+<path d="M815.5 168h17"></path>
+<rect x="761.5" y="157" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="172">"CP"</text>
+</g>
+<path d="M832.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 198h0"></path>
+<path d="M815.5 198h17"></path>
+<rect x="761.5" y="187" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="202">"GE"</text>
+</g>
+<path d="M832.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 228h0"></path>
+<path d="M815.5 228h17"></path>
+<rect x="761.5" y="217" width="54" height="22" rx="10" ry="10"></rect>
+<text x="788.5" y="232">"LE"</text>
+</g>
+<path d="M832.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M741.5 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M761.5 258h0"></path>
+<path d="M832.5 258h0"></path>
+<rect x="761.5" y="247" width="71" height="22" rx="10" ry="10"></rect>
+<text x="797" y="262">"INCL"</text>
+</g>
+<path d="M832.5 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M852.5 48h10"></path>
+<g class="non-terminal">
+<path d="M862.5 48h0"></path>
+<path d="M933.5 48h0"></path>
+<rect x="862.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="898" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1102.5 48h20"></path>
+<path d="M721.5 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M741.5 288h0"></path>
+<path d="M1102.5 288h0"></path>
+<g class="terminal">
+<path d="M741.5 288h0"></path>
+<path d="M838 288h0"></path>
+<rect x="741.5" y="277" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="789.75" y="292">"BETWEEN"</text>
+</g>
+<path d="M838 288h10"></path>
+<path d="M848 288h10"></path>
+<g class="non-terminal">
+<path d="M858 288h0"></path>
+<path d="M929 288h0"></path>
+<rect x="858" y="277" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="893.5" y="292">Source</text>
+</a>
+</g>
+<path d="M929 288h10"></path>
+<path d="M939 288h10"></path>
+<g class="terminal">
+<path d="M949 288h0"></path>
+<path d="M1011.5 288h0"></path>
+<rect x="949" y="277" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="980.25" y="292">"AND"</text>
+</g>
+<path d="M1011.5 288h10"></path>
+<path d="M1021.5 288h10"></path>
+<g class="non-terminal">
+<path d="M1031.5 288h0"></path>
+<path d="M1102.5 288h0"></path>
+<rect x="1031.5" y="277" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1067" y="292">Source</text>
+</a>
+</g>
+</g>
+<path d="M1102.5 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1122.5 48h0"></path>
+<path d="M1324.5 48h0"></path>
+<path d="M1122.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1142.5 28h162"></path>
+</g>
+<path d="M1304.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1122.5 48h20"></path>
+<g>
+<path d="M1142.5 48h0"></path>
+<path d="M1304.5 48h0"></path>
+<g class="terminal">
+<path d="M1142.5 48h0"></path>
+<path d="M1213.5 48h0"></path>
+<rect x="1142.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1178" y="52">"SIGN"</text>
+</g>
+<path d="M1213.5 48h10"></path>
+<path d="M1223.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1233.5 48h0"></path>
+<path d="M1304.5 48h0"></path>
+<rect x="1233.5" y="37" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="1269" y="52">Source</text>
+</a>
+</g>
+</g>
+<path d="M1304.5 48h20"></path>
+</g>
+</g>
+<path d="M1324.5 48h10"></path>
+<path d="M532.5 48a10 10 0 0 0 -10 10v239a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M532.5 307h792"></path>
+</g>
+<path d="M1324.5 307a10 10 0 0 0 10 -10v-239a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1334.5 48h10"></path>
+<path d="M512.5 48v268a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 326h0"></path>
+<path d="M820.5 326h514"></path>
+<g class="terminal">
+<path d="M522.5 326h0"></path>
+<path d="M729.5 326h0"></path>
+<rect x="522.5" y="315" width="207" height="22" rx="10" ry="10"></rect>
+<text x="626" y="330">"WITH SELECTION-TABLE"</text>
+</g>
+<path d="M729.5 326h10"></path>
+<path d="M739.5 326h10"></path>
+<g class="non-terminal">
+<path d="M749.5 326h0"></path>
+<path d="M820.5 326h0"></path>
+<rect x="749.5" y="315" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="785" y="330">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 326a10 10 0 0 0 10 -10v-268"></path>
+<path d="M512.5 48v298a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 356h0"></path>
+<path d="M786.5 356h548"></path>
+<g class="terminal">
+<path d="M522.5 356h0"></path>
+<path d="M695.5 356h0"></path>
+<rect x="522.5" y="345" width="173" height="22" rx="10" ry="10"></rect>
+<text x="609" y="360">"SPOOL PARAMETERS"</text>
+</g>
+<path d="M695.5 356h10"></path>
+<path d="M705.5 356h10"></path>
+<g class="non-terminal">
+<path d="M715.5 356h0"></path>
+<path d="M786.5 356h0"></path>
+<rect x="715.5" y="345" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="751" y="360">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 356a10 10 0 0 0 10 -10v-298"></path>
+<path d="M512.5 48v328a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 386h0"></path>
+<path d="M727 386h607.5"></path>
+<g class="terminal">
+<path d="M522.5 386h0"></path>
+<path d="M636 386h0"></path>
+<rect x="522.5" y="375" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="579.25" y="390">"LINE-SIZE"</text>
+</g>
+<path d="M636 386h10"></path>
+<path d="M646 386h10"></path>
+<g class="non-terminal">
+<path d="M656 386h0"></path>
+<path d="M727 386h0"></path>
+<rect x="656" y="375" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="691.5" y="390">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 386a10 10 0 0 0 10 -10v-328"></path>
+<path d="M512.5 48v358a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 416h0"></path>
+<path d="M735.5 416h599"></path>
+<g class="terminal">
+<path d="M522.5 416h0"></path>
+<path d="M644.5 416h0"></path>
+<rect x="522.5" y="405" width="122" height="22" rx="10" ry="10"></rect>
+<text x="583.5" y="420">"LINE-COUNT"</text>
+</g>
+<path d="M644.5 416h10"></path>
+<path d="M654.5 416h10"></path>
+<g class="non-terminal">
+<path d="M664.5 416h0"></path>
+<path d="M735.5 416h0"></path>
+<rect x="664.5" y="405" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="700" y="420">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 416a10 10 0 0 0 10 -10v-358"></path>
+<path d="M512.5 48v388a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 446h0"></path>
+<path d="M803.5 446h531"></path>
+<g class="terminal">
+<path d="M522.5 446h0"></path>
+<path d="M712.5 446h0"></path>
+<rect x="522.5" y="435" width="190" height="22" rx="10" ry="10"></rect>
+<text x="617.5" y="450">"ARCHIVE PARAMETERS"</text>
+</g>
+<path d="M712.5 446h10"></path>
+<path d="M722.5 446h10"></path>
+<g class="non-terminal">
+<path d="M732.5 446h0"></path>
+<path d="M803.5 446h0"></path>
+<rect x="732.5" y="435" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="768" y="450">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 446a10 10 0 0 0 10 -10v-388"></path>
+<path d="M512.5 48v418a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 476h0"></path>
+<path d="M684.5 476h650"></path>
+<g class="terminal">
+<path d="M522.5 476h0"></path>
+<path d="M593.5 476h0"></path>
+<rect x="522.5" y="465" width="71" height="22" rx="10" ry="10"></rect>
+<text x="558" y="480">"USER"</text>
+</g>
+<path d="M593.5 476h10"></path>
+<path d="M603.5 476h10"></path>
+<g class="non-terminal">
+<path d="M613.5 476h0"></path>
+<path d="M684.5 476h0"></path>
+<rect x="613.5" y="465" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="649" y="480">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 476a10 10 0 0 0 10 -10v-418"></path>
+<path d="M512.5 48v448a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 506h0"></path>
+<path d="M812 506h522.5"></path>
+<g class="terminal">
+<path d="M522.5 506h0"></path>
+<path d="M721 506h0"></path>
+<rect x="522.5" y="495" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="621.75" y="510">"USING SELECTION-SET"</text>
+</g>
+<path d="M721 506h10"></path>
+<path d="M731 506h10"></path>
+<g class="non-terminal">
+<path d="M741 506h0"></path>
+<path d="M812 506h0"></path>
+<rect x="741" y="495" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="776.5" y="510">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 506a10 10 0 0 0 10 -10v-448"></path>
+<path d="M512.5 48v478a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 536h0"></path>
+<path d="M914 536h420.5"></path>
+<g class="terminal">
+<path d="M522.5 536h0"></path>
+<path d="M823 536h0"></path>
+<rect x="522.5" y="525" width="300.5" height="22" rx="10" ry="10"></rect>
+<text x="672.75" y="540">"USING SELECTION-SETS OF PROGRAM"</text>
+</g>
+<path d="M823 536h10"></path>
+<path d="M833 536h10"></path>
+<g class="non-terminal">
+<path d="M843 536h0"></path>
+<path d="M914 536h0"></path>
+<rect x="843" y="525" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="878.5" y="540">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 536a10 10 0 0 0 10 -10v-478"></path>
+<path d="M512.5 48v508a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 566h0"></path>
+<path d="M761 566h573.5"></path>
+<g class="terminal">
+<path d="M522.5 566h0"></path>
+<path d="M670 566h0"></path>
+<rect x="522.5" y="555" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="596.25" y="570">"KEEP IN SPOOL"</text>
+</g>
+<path d="M670 566h10"></path>
+<path d="M680 566h10"></path>
+<g class="non-terminal">
+<path d="M690 566h0"></path>
+<path d="M761 566h0"></path>
+<rect x="690" y="555" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="725.5" y="570">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 566a10 10 0 0 0 10 -10v-508"></path>
+<path d="M512.5 48v538a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 596h0"></path>
+<path d="M769.5 596h565"></path>
+<g class="terminal">
+<path d="M522.5 596h0"></path>
+<path d="M678.5 596h0"></path>
+<rect x="522.5" y="585" width="156" height="22" rx="10" ry="10"></rect>
+<text x="600.5" y="600">"SAP COVER PAGE"</text>
+</g>
+<path d="M678.5 596h10"></path>
+<path d="M688.5 596h10"></path>
+<g class="non-terminal">
+<path d="M698.5 596h0"></path>
+<path d="M769.5 596h0"></path>
+<rect x="698.5" y="585" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="734" y="600">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 596a10 10 0 0 0 10 -10v-538"></path>
+<path d="M512.5 48v568a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 626h0"></path>
+<path d="M744 626h590.5"></path>
+<g class="terminal">
+<path d="M522.5 626h0"></path>
+<path d="M653 626h0"></path>
+<rect x="522.5" y="615" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="587.75" y="630">"IMMEDIATELY"</text>
+</g>
+<path d="M653 626h10"></path>
+<path d="M663 626h10"></path>
+<g class="non-terminal">
+<path d="M673 626h0"></path>
+<path d="M744 626h0"></path>
+<rect x="673" y="615" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="708.5" y="630">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 626a10 10 0 0 0 10 -10v-568"></path>
+<path d="M512.5 48v598a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 656h0"></path>
+<path d="M701.5 656h633"></path>
+<g class="terminal">
+<path d="M522.5 656h0"></path>
+<path d="M610.5 656h0"></path>
+<rect x="522.5" y="645" width="88" height="22" rx="10" ry="10"></rect>
+<text x="566.5" y="660">"LAYOUT"</text>
+</g>
+<path d="M610.5 656h10"></path>
+<path d="M620.5 656h10"></path>
+<g class="non-terminal">
+<path d="M630.5 656h0"></path>
+<path d="M701.5 656h0"></path>
+<rect x="630.5" y="645" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="666" y="660">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 656a10 10 0 0 0 10 -10v-598"></path>
+<path d="M512.5 48v628a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 686h0"></path>
+<path d="M744 686h590.5"></path>
+<g class="terminal">
+<path d="M522.5 686h0"></path>
+<path d="M653 686h0"></path>
+<rect x="522.5" y="675" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="587.75" y="690">"DESTINATION"</text>
+</g>
+<path d="M653 686h10"></path>
+<path d="M663 686h10"></path>
+<g class="non-terminal">
+<path d="M673 686h0"></path>
+<path d="M744 686h0"></path>
+<rect x="673" y="675" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="708.5" y="690">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 686a10 10 0 0 0 10 -10v-628"></path>
+<path d="M512.5 48v658a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 716h0"></path>
+<path d="M718.5 716h616"></path>
+<g class="terminal">
+<path d="M522.5 716h0"></path>
+<path d="M627.5 716h0"></path>
+<rect x="522.5" y="705" width="105" height="22" rx="10" ry="10"></rect>
+<text x="575" y="720">"LANGUAGE"</text>
+</g>
+<path d="M627.5 716h10"></path>
+<path d="M637.5 716h10"></path>
+<g class="non-terminal">
+<path d="M647.5 716h0"></path>
+<path d="M718.5 716h0"></path>
+<rect x="647.5" y="705" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="683" y="720">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 716a10 10 0 0 0 10 -10v-658"></path>
+<path d="M512.5 48v688a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 746h0"></path>
+<path d="M820.5 746h514"></path>
+<g class="terminal">
+<path d="M522.5 746h0"></path>
+<path d="M729.5 746h0"></path>
+<rect x="522.5" y="735" width="207" height="22" rx="10" ry="10"></rect>
+<text x="626" y="750">"WITH FREE SELECTIONS"</text>
+</g>
+<path d="M729.5 746h10"></path>
+<path d="M739.5 746h10"></path>
+<g class="non-terminal">
+<path d="M749.5 746h0"></path>
+<path d="M820.5 746h0"></path>
+<rect x="749.5" y="735" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="785" y="750">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 746a10 10 0 0 0 10 -10v-688"></path>
+<path d="M512.5 48v718a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 776h0"></path>
+<path d="M846 776h488.5"></path>
+<g class="terminal">
+<path d="M522.5 776h0"></path>
+<path d="M755 776h0"></path>
+<rect x="522.5" y="765" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="638.75" y="780">"NEW LIST IDENTIFICATION"</text>
+</g>
+<path d="M755 776h10"></path>
+<path d="M765 776h10"></path>
+<g class="non-terminal">
+<path d="M775 776h0"></path>
+<path d="M846 776h0"></path>
+<rect x="775" y="765" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="810.5" y="780">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 776a10 10 0 0 0 10 -10v-718"></path>
+<path d="M512.5 48v748a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 806h0"></path>
+<path d="M837.5 806h497"></path>
+<g class="terminal">
+<path d="M522.5 806h0"></path>
+<path d="M746.5 806h0"></path>
+<rect x="522.5" y="795" width="224" height="22" rx="10" ry="10"></rect>
+<text x="634.5" y="810">"USING SELECTION-SCREEN"</text>
+</g>
+<path d="M746.5 806h10"></path>
+<path d="M756.5 806h10"></path>
+<g class="non-terminal">
+<path d="M766.5 806h0"></path>
+<path d="M837.5 806h0"></path>
+<rect x="766.5" y="795" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="802" y="810">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 806a10 10 0 0 0 10 -10v-748"></path>
+<path d="M512.5 48v778a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M522.5 836h0"></path>
+<path d="M661.5 836h673"></path>
+<rect x="522.5" y="825" width="139" height="22" rx="10" ry="10"></rect>
+<text x="592" y="840">"TO SAP-SPOOL"</text>
+</g>
+<path d="M1334.5 836a10 10 0 0 0 10 -10v-778"></path>
+<path d="M512.5 48v808a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M522.5 866h0"></path>
+<path d="M729.5 866h605"></path>
+<rect x="522.5" y="855" width="207" height="22" rx="10" ry="10"></rect>
+<text x="626" y="870">"WITHOUT SPOOL DYNPRO"</text>
+</g>
+<path d="M1334.5 866a10 10 0 0 0 10 -10v-808"></path>
+<path d="M512.5 48v838a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M522.5 896h0"></path>
+<path d="M729.5 896h605"></path>
+<rect x="522.5" y="885" width="207" height="22" rx="10" ry="10"></rect>
+<text x="626" y="900">"VIA SELECTION-SCREEN"</text>
+</g>
+<path d="M1334.5 896a10 10 0 0 0 10 -10v-838"></path>
+<path d="M512.5 48v868a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M522.5 926h0"></path>
+<path d="M763.5 926h571"></path>
+<rect x="522.5" y="915" width="241" height="22" rx="10" ry="10"></rect>
+<text x="643" y="930">"EXPORTING LIST TO MEMORY"</text>
+</g>
+<path d="M1334.5 926a10 10 0 0 0 10 -10v-868"></path>
+<path d="M512.5 48v898a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M522.5 956h0"></path>
+<path d="M619 956h715.5"></path>
+<rect x="522.5" y="945" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/AndReturn"><text x="570.75" y="960">AndReturn</text>
+</a>
+</g>
+<path d="M1334.5 956a10 10 0 0 0 10 -10v-898"></path>
+<path d="M512.5 48v928a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M522.5 986h0"></path>
+<path d="M909 986h425.5"></path>
+<g class="terminal">
+<path d="M522.5 986h0"></path>
+<path d="M619 986h0"></path>
+<rect x="522.5" y="975" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="570.75" y="990">"VIA JOB"</text>
+</g>
+<path d="M619 986h10"></path>
+<path d="M629 986h10"></path>
+<g class="non-terminal">
+<path d="M639 986h0"></path>
+<path d="M710 986h0"></path>
+<rect x="639" y="975" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="674.5" y="990">Source</text>
+</a>
+</g>
+<path d="M710 986h10"></path>
+<path d="M720 986h10"></path>
+<g class="terminal">
+<path d="M730 986h0"></path>
+<path d="M818 986h0"></path>
+<rect x="730" y="975" width="88" height="22" rx="10" ry="10"></rect>
+<text x="774" y="990">"NUMBER"</text>
+</g>
+<path d="M818 986h10"></path>
+<path d="M828 986h10"></path>
+<g class="non-terminal">
+<path d="M838 986h0"></path>
+<path d="M909 986h0"></path>
+<rect x="838" y="975" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="873.5" y="990">Source</text>
+</a>
+</g>
+</g>
+<path d="M1334.5 986a10 10 0 0 0 10 -10v-928"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 512.5 38 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="497.5" y="52" class="diagram-text">1+</text>
+<path d="M 1344.5 38 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1351.5 46 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1364.5 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1384.5 48h10"></path>
+<path d="M 1394.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Subtract.svg b/abap/statement_Subtract.svg
new file mode 100644
index 00000000..18701d5e
--- /dev/null
+++ b/abap/statement_Subtract.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="478" height="62" viewBox="0 0 478 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M428 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"SUBTRACT"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="175" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="210.5" y="35">Source</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M337 31h0"></path>
+<rect x="266" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="301.5" y="35">"FROM"</text>
+</g>
+<path d="M337 31h10"></path>
+<path d="M347 31h10"></path>
+<g class="non-terminal">
+<path d="M357 31h0"></path>
+<path d="M428 31h0"></path>
+<rect x="357" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="392.5" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M428 31h10"></path>
+<path d="M 438 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SubtractCorresponding.svg b/abap/statement_SubtractCorresponding.svg
new file mode 100644
index 00000000..ffddd026
--- /dev/null
+++ b/abap/statement_SubtractCorresponding.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="690" height="62" viewBox="0 0 690 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M640 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M640 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M367 31h0"></path>
+<rect x="143" y="20" width="224" height="22" rx="10" ry="10"></rect>
+<text x="255" y="35">"SUBTRACT-CORRESPONDING"</text>
+</g>
+<path d="M367 31h10"></path>
+<path d="M377 31h10"></path>
+<g class="non-terminal">
+<path d="M387 31h0"></path>
+<path d="M458 31h0"></path>
+<rect x="387" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="422.5" y="35">Source</text>
+</a>
+</g>
+<path d="M458 31h10"></path>
+<path d="M468 31h10"></path>
+<g class="terminal">
+<path d="M478 31h0"></path>
+<path d="M549 31h0"></path>
+<rect x="478" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="513.5" y="35">"FROM"</text>
+</g>
+<path d="M549 31h10"></path>
+<path d="M559 31h10"></path>
+<g class="non-terminal">
+<path d="M569 31h0"></path>
+<path d="M640 31h0"></path>
+<rect x="569" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="604.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M640 31h10"></path>
+<path d="M 650 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Sum.svg b/abap/statement_Sum.svg
new file mode 100644
index 00000000..2a1106a8
--- /dev/null
+++ b/abap/statement_Sum.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="255.5" height="62" viewBox="0 0 255.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M205.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M205.5 31h0"></path>
+<rect x="143" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="174.25" y="35">"SUM"</text>
+</g>
+</g>
+<path d="M205.5 31h10"></path>
+<path d="M 215.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Summary.svg b/abap/statement_Summary.svg
new file mode 100644
index 00000000..16db827e
--- /dev/null
+++ b/abap/statement_Summary.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="289.5" height="62" viewBox="0 0 289.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M239.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M239.5 31h0"></path>
+<rect x="143" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="191.25" y="35">"SUMMARY"</text>
+</g>
+</g>
+<path d="M239.5 31h10"></path>
+<path d="M 249.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Supply.svg b/abap/statement_Supply.svg
new file mode 100644
index 00000000..4e0188c8
--- /dev/null
+++ b/abap/statement_Supply.svg
@@ -0,0 +1,128 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="764.5" height="71" viewBox="0 0 764.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M714.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M714.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"SUPPLY"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g>
+<path d="M251 31h0"></path>
+<path d="M490 31h0"></path>
+<path d="M251 31h10"></path>
+<g>
+<path d="M261 31h0"></path>
+<path d="M480 31h0"></path>
+<g class="non-terminal">
+<path d="M261 31h0"></path>
+<path d="M323.5 31h0"></path>
+<rect x="261" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="292.25" y="35">Field</text>
+</a>
+</g>
+<path d="M323.5 31h10"></path>
+<path d="M333.5 31h10"></path>
+<g class="terminal">
+<path d="M343.5 31h0"></path>
+<path d="M389 31h0"></path>
+<rect x="343.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="366.25" y="35">"="</text>
+</g>
+<path d="M389 31h10"></path>
+<path d="M399 31h10"></path>
+<g class="non-terminal">
+<path d="M409 31h0"></path>
+<path d="M480 31h0"></path>
+<rect x="409" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="444.5" y="35">Source</text>
+</a>
+</g>
+</g>
+<path d="M480 31h10"></path>
+<path d="M261 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M261 51h219"></path>
+</g>
+<path d="M480 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M490 31h10"></path>
+<path d="M500 31h10"></path>
+<g class="terminal">
+<path d="M510 31h0"></path>
+<path d="M632 31h0"></path>
+<rect x="510" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="571" y="35">"TO CONTEXT"</text>
+</g>
+<path d="M632 31h10"></path>
+<path d="M642 31h10"></path>
+<g class="non-terminal">
+<path d="M652 31h0"></path>
+<path d="M714.5 31h0"></path>
+<rect x="652" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="683.25" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M714.5 31h10"></path>
+<path d="M 724.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SuppressDialog.svg b/abap/statement_SuppressDialog.svg
new file mode 100644
index 00000000..72f8b1fb
--- /dev/null
+++ b/abap/statement_SuppressDialog.svg
@@ -0,0 +1,66 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="357.5" height="62" viewBox="0 0 357.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M307.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M307.5 31h0"></path>
+<rect x="143" y="20" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="225.25" y="35">"SUPPRESS DIALOG"</text>
+</g>
+</g>
+<path d="M307.5 31h10"></path>
+<path d="M 317.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SyntaxCheck.svg b/abap/statement_SyntaxCheck.svg
new file mode 100644
index 00000000..47e4c86a
--- /dev/null
+++ b/abap/statement_SyntaxCheck.svg
@@ -0,0 +1,628 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1179.5" height="650" viewBox="0 0 1179.5 650">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1129.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M1129.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M316 40h0"></path>
+<rect x="143" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="44">"SYNTAX-CHECK FOR"</text>
+</g>
+<path d="M316 40h10"></path>
+<g>
+<path d="M326 40h0"></path>
+<path d="M1129.5 40h0"></path>
+<path d="M326 40h20"></path>
+<g>
+<path d="M346 40h0"></path>
+<path d="M1009 40h100.5"></path>
+<g>
+<path d="M346 40h0"></path>
+<path d="M482.5 40h0"></path>
+<path d="M346 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M366 20h96.5"></path>
+</g>
+<path d="M462.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M346 40h20"></path>
+<g class="terminal">
+<path d="M366 40h0"></path>
+<path d="M462.5 40h0"></path>
+<rect x="366" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="414.25" y="44">"PROGRAM"</text>
+</g>
+<path d="M462.5 40h20"></path>
+</g>
+<path d="M482.5 40h10"></path>
+<g class="non-terminal">
+<path d="M492.5 40h0"></path>
+<path d="M563.5 40h0"></path>
+<rect x="492.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="528" y="44">Source</text>
+</a>
+</g>
+<path d="M563.5 40h10"></path>
+<path d="M573.5 40h10"></path>
+<g>
+<path d="M583.5 40h0"></path>
+<path d="M1009 40h0"></path>
+<path d="M613.5 40h10"></path>
+<g>
+<path d="M623.5 40h0"></path>
+<path d="M811 40h168"></path>
+<g class="terminal">
+<path d="M623.5 40h0"></path>
+<path d="M720 40h0"></path>
+<rect x="623.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="671.75" y="44">"MESSAGE"</text>
+</g>
+<path d="M720 40h10"></path>
+<path d="M730 40h10"></path>
+<g class="non-terminal">
+<path d="M740 40h0"></path>
+<path d="M811 40h0"></path>
+<rect x="740" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="775.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 40h10"></path>
+<path d="M613.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 70h0"></path>
+<path d="M785.5 70h193.5"></path>
+<g class="terminal">
+<path d="M623.5 70h0"></path>
+<path d="M694.5 70h0"></path>
+<rect x="623.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="659" y="74">"LINE"</text>
+</g>
+<path d="M694.5 70h10"></path>
+<path d="M704.5 70h10"></path>
+<g class="non-terminal">
+<path d="M714.5 70h0"></path>
+<path d="M785.5 70h0"></path>
+<rect x="714.5" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="750" y="74">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M613.5 40v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 100h0"></path>
+<path d="M785.5 100h193.5"></path>
+<g class="terminal">
+<path d="M623.5 100h0"></path>
+<path d="M694.5 100h0"></path>
+<rect x="623.5" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<text x="659" y="104">"WORD"</text>
+</g>
+<path d="M694.5 100h10"></path>
+<path d="M704.5 100h10"></path>
+<g class="non-terminal">
+<path d="M714.5 100h0"></path>
+<path d="M785.5 100h0"></path>
+<rect x="714.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="750" y="104">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 100a10 10 0 0 0 10 -10v-50"></path>
+<path d="M613.5 40v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 130h0"></path>
+<path d="M802.5 130h176.5"></path>
+<g class="terminal">
+<path d="M623.5 130h0"></path>
+<path d="M711.5 130h0"></path>
+<rect x="623.5" y="119" width="88" height="22" rx="10" ry="10"></rect>
+<text x="667.5" y="134">"OFFSET"</text>
+</g>
+<path d="M711.5 130h10"></path>
+<path d="M721.5 130h10"></path>
+<g class="non-terminal">
+<path d="M731.5 130h0"></path>
+<path d="M802.5 130h0"></path>
+<rect x="731.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="767" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 130a10 10 0 0 0 10 -10v-80"></path>
+<path d="M613.5 40v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 160h0"></path>
+<path d="M811 160h168"></path>
+<g class="terminal">
+<path d="M623.5 160h0"></path>
+<path d="M720 160h0"></path>
+<rect x="623.5" y="149" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="671.75" y="164">"PROGRAM"</text>
+</g>
+<path d="M720 160h10"></path>
+<path d="M730 160h10"></path>
+<g class="non-terminal">
+<path d="M740 160h0"></path>
+<path d="M811 160h0"></path>
+<rect x="740" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="775.5" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M979 160a10 10 0 0 0 10 -10v-110"></path>
+<path d="M613.5 40v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 190h0"></path>
+<path d="M828 190h151"></path>
+<g class="terminal">
+<path d="M623.5 190h0"></path>
+<path d="M737 190h0"></path>
+<rect x="623.5" y="179" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="680.25" y="194">"REPLACING"</text>
+</g>
+<path d="M737 190h10"></path>
+<path d="M747 190h10"></path>
+<g class="non-terminal">
+<path d="M757 190h0"></path>
+<path d="M828 190h0"></path>
+<rect x="757" y="179" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="792.5" y="194">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 190a10 10 0 0 0 10 -10v-140"></path>
+<path d="M613.5 40v170a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 220h0"></path>
+<path d="M879 220h100"></path>
+<g class="terminal">
+<path d="M623.5 220h0"></path>
+<path d="M788 220h0"></path>
+<rect x="623.5" y="209" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="705.75" y="224">"DIRECTORY ENTRY"</text>
+</g>
+<path d="M788 220h10"></path>
+<path d="M798 220h10"></path>
+<g class="non-terminal">
+<path d="M808 220h0"></path>
+<path d="M879 220h0"></path>
+<rect x="808" y="209" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="843.5" y="224">Source</text>
+</a>
+</g>
+</g>
+<path d="M979 220a10 10 0 0 0 10 -10v-170"></path>
+<path d="M613.5 40v200a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 250h0"></path>
+<path d="M845 250h134"></path>
+<g class="terminal">
+<path d="M623.5 250h0"></path>
+<path d="M754 250h0"></path>
+<rect x="623.5" y="239" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="688.75" y="254">"FRAME ENTRY"</text>
+</g>
+<path d="M754 250h10"></path>
+<path d="M764 250h10"></path>
+<g class="non-terminal">
+<path d="M774 250h0"></path>
+<path d="M845 250h0"></path>
+<rect x="774" y="239" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="809.5" y="254">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 250a10 10 0 0 0 10 -10v-200"></path>
+<path d="M613.5 40v230a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 280h0"></path>
+<path d="M811 280h168"></path>
+<g class="terminal">
+<path d="M623.5 280h0"></path>
+<path d="M720 280h0"></path>
+<rect x="623.5" y="269" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="671.75" y="284">"INCLUDE"</text>
+</g>
+<path d="M720 280h10"></path>
+<path d="M730 280h10"></path>
+<g class="non-terminal">
+<path d="M740 280h0"></path>
+<path d="M811 280h0"></path>
+<rect x="740" y="269" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="775.5" y="284">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 280a10 10 0 0 0 10 -10v-230"></path>
+<path d="M613.5 40v260a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 310h0"></path>
+<path d="M836.5 310h142.5"></path>
+<g class="terminal">
+<path d="M623.5 310h0"></path>
+<path d="M745.5 310h0"></path>
+<rect x="623.5" y="299" width="122" height="22" rx="10" ry="10"></rect>
+<text x="684.5" y="314">"MESSAGE-ID"</text>
+</g>
+<path d="M745.5 310h10"></path>
+<path d="M755.5 310h10"></path>
+<g class="non-terminal">
+<path d="M765.5 310h0"></path>
+<path d="M836.5 310h0"></path>
+<rect x="765.5" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="801" y="314">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 310a10 10 0 0 0 10 -10v-260"></path>
+<path d="M613.5 40v290a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 340h0"></path>
+<path d="M845 340h134"></path>
+<g class="terminal">
+<path d="M623.5 340h0"></path>
+<path d="M754 340h0"></path>
+<rect x="623.5" y="329" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="688.75" y="344">"TRACE-TABLE"</text>
+</g>
+<path d="M754 340h10"></path>
+<path d="M764 340h10"></path>
+<g class="non-terminal">
+<path d="M774 340h0"></path>
+<path d="M845 340h0"></path>
+<rect x="774" y="329" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="809.5" y="344">Target</text>
+</a>
+</g>
+</g>
+<path d="M979 340a10 10 0 0 0 10 -10v-290"></path>
+<path d="M613.5 40v320a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 370h0"></path>
+<path d="M853.5 370h125.5"></path>
+<g class="terminal">
+<path d="M623.5 370h0"></path>
+<path d="M762.5 370h0"></path>
+<rect x="623.5" y="359" width="139" height="22" rx="10" ry="10"></rect>
+<text x="693" y="374">"SHORTDUMP-ID"</text>
+</g>
+<path d="M762.5 370h10"></path>
+<path d="M772.5 370h10"></path>
+<g class="non-terminal">
+<path d="M782.5 370h0"></path>
+<path d="M853.5 370h0"></path>
+<rect x="782.5" y="359" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="818" y="374">Source</text>
+</a>
+</g>
+</g>
+<path d="M979 370a10 10 0 0 0 10 -10v-320"></path>
+<path d="M613.5 40v350a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 400h0"></path>
+<path d="M802.5 400h176.5"></path>
+<g class="terminal">
+<path d="M623.5 400h0"></path>
+<path d="M711.5 400h0"></path>
+<rect x="623.5" y="389" width="88" height="22" rx="10" ry="10"></rect>
+<text x="667.5" y="404">"FILTER"</text>
+</g>
+<path d="M711.5 400h10"></path>
+<path d="M721.5 400h10"></path>
+<g class="non-terminal">
+<path d="M731.5 400h0"></path>
+<path d="M802.5 400h0"></path>
+<rect x="731.5" y="389" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="767" y="404">Source</text>
+</a>
+</g>
+</g>
+<path d="M979 400a10 10 0 0 0 10 -10v-350"></path>
+<path d="M613.5 40v380a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M623.5 430h0"></path>
+<path d="M979 430h0"></path>
+<path d="M623.5 430h10"></path>
+<g>
+<path d="M633.5 430h0"></path>
+<path d="M969 430h0"></path>
+<g class="terminal">
+<path d="M633.5 430h0"></path>
+<path d="M687.5 430h0"></path>
+<rect x="633.5" y="419" width="54" height="22" rx="10" ry="10"></rect>
+<text x="660.5" y="434">"ID"</text>
+</g>
+<path d="M687.5 430h10"></path>
+<path d="M697.5 430h10"></path>
+<g class="non-terminal">
+<path d="M707.5 430h0"></path>
+<path d="M778.5 430h0"></path>
+<rect x="707.5" y="419" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="743" y="434">Source</text>
+</a>
+</g>
+<path d="M778.5 430h10"></path>
+<path d="M788.5 430h10"></path>
+<g class="terminal">
+<path d="M798.5 430h0"></path>
+<path d="M878 430h0"></path>
+<rect x="798.5" y="419" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="838.25" y="434">"TABLE"</text>
+</g>
+<path d="M878 430h10"></path>
+<path d="M888 430h10"></path>
+<g class="non-terminal">
+<path d="M898 430h0"></path>
+<path d="M969 430h0"></path>
+<rect x="898" y="419" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="933.5" y="434">Target</text>
+</a>
+</g>
+</g>
+<path d="M969 430h10"></path>
+<path d="M633.5 430a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M633.5 450h335.5"></path>
+</g>
+<path d="M969 450a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M979 430a10 10 0 0 0 10 -10v-380"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 613.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="598.5" y="44" class="diagram-text">1+</text>
+<path d="M 989 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 996 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1109.5 40h20"></path>
+<path d="M326 40a10 10 0 0 1 10 10v409a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M346 469h0"></path>
+<path d="M1109.5 469h0"></path>
+<g class="terminal">
+<path d="M346 469h0"></path>
+<path d="M434 469h0"></path>
+<rect x="346" y="458" width="88" height="22" rx="10" ry="10"></rect>
+<text x="390" y="473">"DYNPRO"</text>
+</g>
+<path d="M434 469h10"></path>
+<path d="M444 469h10"></path>
+<g class="non-terminal">
+<path d="M454 469h0"></path>
+<path d="M525 469h0"></path>
+<rect x="454" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="489.5" y="473">Source</text>
+</a>
+</g>
+<path d="M525 469h10"></path>
+<path d="M535 469h10"></path>
+<g class="non-terminal">
+<path d="M545 469h0"></path>
+<path d="M616 469h0"></path>
+<rect x="545" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="580.5" y="473">Source</text>
+</a>
+</g>
+<path d="M616 469h10"></path>
+<path d="M626 469h10"></path>
+<g class="non-terminal">
+<path d="M636 469h0"></path>
+<path d="M707 469h0"></path>
+<rect x="636" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="671.5" y="473">Source</text>
+</a>
+</g>
+<path d="M707 469h10"></path>
+<path d="M717 469h10"></path>
+<g class="non-terminal">
+<path d="M727 469h0"></path>
+<path d="M798 469h0"></path>
+<rect x="727" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="762.5" y="473">Source</text>
+</a>
+</g>
+<path d="M798 469h10"></path>
+<path d="M808 469h10"></path>
+<g>
+<path d="M818 469h0"></path>
+<path d="M1109.5 469h0"></path>
+<path d="M848 469h10"></path>
+<g>
+<path d="M858 469h0"></path>
+<path d="M1045.5 469h34"></path>
+<g class="terminal">
+<path d="M858 469h0"></path>
+<path d="M954.5 469h0"></path>
+<rect x="858" y="458" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="906.25" y="473">"MESSAGE"</text>
+</g>
+<path d="M954.5 469h10"></path>
+<path d="M964.5 469h10"></path>
+<g class="non-terminal">
+<path d="M974.5 469h0"></path>
+<path d="M1045.5 469h0"></path>
+<rect x="974.5" y="458" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1010" y="473">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 469h10"></path>
+<path d="M848 469v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 499h0"></path>
+<path d="M1020 499h59.5"></path>
+<g class="terminal">
+<path d="M858 499h0"></path>
+<path d="M929 499h0"></path>
+<rect x="858" y="488" width="71" height="22" rx="10" ry="10"></rect>
+<text x="893.5" y="503">"LINE"</text>
+</g>
+<path d="M929 499h10"></path>
+<path d="M939 499h10"></path>
+<g class="non-terminal">
+<path d="M949 499h0"></path>
+<path d="M1020 499h0"></path>
+<rect x="949" y="488" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="984.5" y="503">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 499a10 10 0 0 0 10 -10v-20"></path>
+<path d="M848 469v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 529h0"></path>
+<path d="M1020 529h59.5"></path>
+<g class="terminal">
+<path d="M858 529h0"></path>
+<path d="M929 529h0"></path>
+<rect x="858" y="518" width="71" height="22" rx="10" ry="10"></rect>
+<text x="893.5" y="533">"WORD"</text>
+</g>
+<path d="M929 529h10"></path>
+<path d="M939 529h10"></path>
+<g class="non-terminal">
+<path d="M949 529h0"></path>
+<path d="M1020 529h0"></path>
+<rect x="949" y="518" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="984.5" y="533">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 529a10 10 0 0 0 10 -10v-50"></path>
+<path d="M848 469v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 559h0"></path>
+<path d="M1037 559h42.5"></path>
+<g class="terminal">
+<path d="M858 559h0"></path>
+<path d="M946 559h0"></path>
+<rect x="858" y="548" width="88" height="22" rx="10" ry="10"></rect>
+<text x="902" y="563">"OFFSET"</text>
+</g>
+<path d="M946 559h10"></path>
+<path d="M956 559h10"></path>
+<g class="non-terminal">
+<path d="M966 559h0"></path>
+<path d="M1037 559h0"></path>
+<rect x="966" y="548" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1001.5" y="563">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 559a10 10 0 0 0 10 -10v-80"></path>
+<path d="M848 469v110a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 589h0"></path>
+<path d="M1071 589h8.5"></path>
+<g class="terminal">
+<path d="M858 589h0"></path>
+<path d="M980 589h0"></path>
+<rect x="858" y="578" width="122" height="22" rx="10" ry="10"></rect>
+<text x="919" y="593">"MESSAGE-ID"</text>
+</g>
+<path d="M980 589h10"></path>
+<path d="M990 589h10"></path>
+<g class="non-terminal">
+<path d="M1000 589h0"></path>
+<path d="M1071 589h0"></path>
+<rect x="1000" y="578" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1035.5" y="593">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 589a10 10 0 0 0 10 -10v-110"></path>
+<path d="M848 469v140a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M858 619h0"></path>
+<path d="M1079.5 619h0"></path>
+<g class="terminal">
+<path d="M858 619h0"></path>
+<path d="M988.5 619h0"></path>
+<rect x="858" y="608" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="923.25" y="623">"TRACE-TABLE"</text>
+</g>
+<path d="M988.5 619h10"></path>
+<path d="M998.5 619h10"></path>
+<g class="non-terminal">
+<path d="M1008.5 619h0"></path>
+<path d="M1079.5 619h0"></path>
+<rect x="1008.5" y="608" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="1044" y="623">Target</text>
+</a>
+</g>
+</g>
+<path d="M1079.5 619a10 10 0 0 0 10 -10v-140"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 848 459 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="833" y="473" class="diagram-text">1+</text>
+<path d="M 1089.5 459 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1096.5 467 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M1109.5 469a10 10 0 0 0 10 -10v-409a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1129.5 40h10"></path>
+<path d="M 1139.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_SystemCall.svg b/abap/statement_SystemCall.svg
new file mode 100644
index 00000000..64c45eee
--- /dev/null
+++ b/abap/statement_SystemCall.svg
@@ -0,0 +1,196 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1016" height="131" viewBox="0 0 1016 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M966 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M966 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M273.5 31h0"></path>
+<rect x="143" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="35">"SYSTEM-CALL"</text>
+</g>
+<path d="M273.5 31h10"></path>
+<g>
+<path d="M283.5 31h0"></path>
+<path d="M966 31h0"></path>
+<path d="M283.5 31h20"></path>
+<g>
+<path d="M303.5 31h0"></path>
+<path d="M698.5 31h247.5"></path>
+<g class="terminal">
+<path d="M303.5 31h0"></path>
+<path d="M442.5 31h0"></path>
+<rect x="303.5" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="373" y="35">"OBJMGR CLONE"</text>
+</g>
+<path d="M442.5 31h10"></path>
+<path d="M452.5 31h10"></path>
+<g class="non-terminal">
+<path d="M462.5 31h0"></path>
+<path d="M533.5 31h0"></path>
+<rect x="462.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="498" y="35">Source</text>
+</a>
+</g>
+<path d="M533.5 31h10"></path>
+<path d="M543.5 31h10"></path>
+<g class="terminal">
+<path d="M553.5 31h0"></path>
+<path d="M607.5 31h0"></path>
+<rect x="553.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="580.5" y="35">"TO"</text>
+</g>
+<path d="M607.5 31h10"></path>
+<path d="M617.5 31h10"></path>
+<g class="non-terminal">
+<path d="M627.5 31h0"></path>
+<path d="M698.5 31h0"></path>
+<rect x="627.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="663" y="35">Target</text>
+</a>
+</g>
+</g>
+<path d="M946 31h20"></path>
+<path d="M283.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303.5 61h0"></path>
+<path d="M946 61h0"></path>
+<g class="terminal">
+<path d="M303.5 61h0"></path>
+<path d="M357.5 61h0"></path>
+<rect x="303.5" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<text x="330.5" y="65">^.+$</text>
+</g>
+<path d="M357.5 61h10"></path>
+<path d="M367.5 61h10"></path>
+<g class="terminal">
+<path d="M377.5 61h0"></path>
+<path d="M440 61h0"></path>
+<rect x="377.5" y="50" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="408.75" y="65">"DID"</text>
+</g>
+<path d="M440 61h10"></path>
+<path d="M450 61h10"></path>
+<g class="non-terminal">
+<path d="M460 61h0"></path>
+<path d="M531 61h0"></path>
+<rect x="460" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="495.5" y="65">Source</text>
+</a>
+</g>
+<path d="M531 61h10"></path>
+<path d="M541 61h10"></path>
+<g class="terminal">
+<path d="M551 61h0"></path>
+<path d="M673 61h0"></path>
+<rect x="551" y="50" width="122" height="22" rx="10" ry="10"></rect>
+<text x="612" y="65">"PARAMETERS"</text>
+</g>
+<path d="M673 61h10"></path>
+<path d="M683 61h10"></path>
+<g class="non-terminal">
+<path d="M693 61h0"></path>
+<path d="M764 61h0"></path>
+<rect x="693" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="728.5" y="65">Source</text>
+</a>
+</g>
+<path d="M764 61h10"></path>
+<path d="M774 61h10"></path>
+<g class="non-terminal">
+<path d="M784 61h0"></path>
+<path d="M855 61h0"></path>
+<rect x="784" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="819.5" y="65">Source</text>
+</a>
+</g>
+<path d="M855 61h10"></path>
+<path d="M865 61h10"></path>
+<g class="non-terminal">
+<path d="M875 61h0"></path>
+<path d="M946 61h0"></path>
+<rect x="875" y="50" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="910.5" y="65">Source</text>
+</a>
+</g>
+</g>
+<path d="M946 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M283.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303.5 91h0"></path>
+<path d="M377.5 91h568.5"></path>
+<path d="M303.5 91h10"></path>
+<g class="terminal">
+<path d="M313.5 91h0"></path>
+<path d="M367.5 91h0"></path>
+<rect x="313.5" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<text x="340.5" y="95">^.+$</text>
+</g>
+<path d="M367.5 91h10"></path>
+<path d="M313.5 91a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M313.5 111h54"></path>
+</g>
+<path d="M367.5 111a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M946 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M966 31h10"></path>
+<path d="M 976 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Tables.svg b/abap/statement_Tables.svg
new file mode 100644
index 00000000..24233715
--- /dev/null
+++ b/abap/statement_Tables.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="363.5" height="62" viewBox="0 0 363.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M313.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M313.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"TABLES"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g class="non-terminal">
+<path d="M251 31h0"></path>
+<path d="M313.5 31h0"></path>
+<rect x="251" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Field"><text x="282.25" y="35">Field</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M313.5 31h10"></path>
+<path d="M 323.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TestInjection.svg b/abap/statement_TestInjection.svg
new file mode 100644
index 00000000..7ee86230
--- /dev/null
+++ b/abap/statement_TestInjection.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="398" height="62" viewBox="0 0 398 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M348 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M206 31h0"></path>
+<rect x="50" y="20" width="156" height="22" rx="10" ry="10"></rect>
+<text x="128" y="35">"TEST-INJECTION"</text>
+</g>
+<path d="M206 31h10"></path>
+<path d="M216 31h10"></path>
+<g class="non-terminal">
+<path d="M226 31h0"></path>
+<path d="M348 31h0"></path>
+<rect x="226" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/TestSeamName"><text x="287" y="35">TestSeamName</text>
+</a>
+</g>
+</g>
+<path d="M348 31h10"></path>
+<path d="M 358 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TestSeam.svg b/abap/statement_TestSeam.svg
new file mode 100644
index 00000000..24b69b8c
--- /dev/null
+++ b/abap/statement_TestSeam.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="413.5" height="62" viewBox="0 0 413.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M363.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v750</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M363.5 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M221.5 31h0"></path>
+<rect x="108" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="164.75" y="35">"TEST-SEAM"</text>
+</g>
+<path d="M221.5 31h10"></path>
+<path d="M231.5 31h10"></path>
+<g class="non-terminal">
+<path d="M241.5 31h0"></path>
+<path d="M363.5 31h0"></path>
+<rect x="241.5" y="20" width="122" height="22"></rect>
+<a xlink:href="#/abap/expression/TestSeamName"><text x="302.5" y="35">TestSeamName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M363.5 31h10"></path>
+<path d="M 373.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TopOfPage.svg b/abap/statement_TopOfPage.svg
new file mode 100644
index 00000000..64da2e5a
--- /dev/null
+++ b/abap/statement_TopOfPage.svg
@@ -0,0 +1,88 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="589" height="71" viewBox="0 0 589 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M539 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M539 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M273.5 40h0"></path>
+<rect x="143" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="208.25" y="44">"TOP-OF-PAGE"</text>
+</g>
+<path d="M273.5 40h10"></path>
+<g>
+<path d="M283.5 40h0"></path>
+<path d="M539 40h0"></path>
+<path d="M283.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M303.5 20h215.5"></path>
+</g>
+<path d="M519 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M283.5 40h20"></path>
+<g class="terminal">
+<path d="M303.5 40h0"></path>
+<path d="M519 40h0"></path>
+<rect x="303.5" y="29" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="411.25" y="44">"DURING LINE-SELECTION"</text>
+</g>
+<path d="M519 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M539 40h10"></path>
+<path d="M 549 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Transfer.svg b/abap/statement_Transfer.svg
new file mode 100644
index 00000000..4a5183df
--- /dev/null
+++ b/abap/statement_Transfer.svg
@@ -0,0 +1,144 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="979" height="71" viewBox="0 0 979 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M929 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M929 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M248 40h0"></path>
+<rect x="143" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="195.5" y="44">"TRANSFER"</text>
+</g>
+<path d="M248 40h10"></path>
+<path d="M258 40h10"></path>
+<g class="non-terminal">
+<path d="M268 40h0"></path>
+<path d="M339 40h0"></path>
+<rect x="268" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="303.5" y="44">Source</text>
+</a>
+</g>
+<path d="M339 40h10"></path>
+<path d="M349 40h10"></path>
+<g class="terminal">
+<path d="M359 40h0"></path>
+<path d="M413 40h0"></path>
+<rect x="359" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="386" y="44">"TO"</text>
+</g>
+<path d="M413 40h10"></path>
+<path d="M423 40h10"></path>
+<g class="non-terminal">
+<path d="M433 40h0"></path>
+<path d="M504 40h0"></path>
+<rect x="433" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="468.5" y="44">Source</text>
+</a>
+</g>
+<path d="M504 40h10"></path>
+<g>
+<path d="M514 40h0"></path>
+<path d="M733 40h0"></path>
+<path d="M514 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M534 20h179"></path>
+</g>
+<path d="M713 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M514 40h20"></path>
+<g>
+<path d="M534 40h0"></path>
+<path d="M713 40h0"></path>
+<g class="terminal">
+<path d="M534 40h0"></path>
+<path d="M622 40h0"></path>
+<rect x="534" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="578" y="44">"LENGTH"</text>
+</g>
+<path d="M622 40h10"></path>
+<path d="M632 40h10"></path>
+<g class="non-terminal">
+<path d="M642 40h0"></path>
+<path d="M713 40h0"></path>
+<rect x="642" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="677.5" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M713 40h20"></path>
+</g>
+<g>
+<path d="M733 40h0"></path>
+<path d="M929 40h0"></path>
+<path d="M733 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M753 20h156"></path>
+</g>
+<path d="M909 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M733 40h20"></path>
+<g class="terminal">
+<path d="M753 40h0"></path>
+<path d="M909 40h0"></path>
+<rect x="753" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<text x="831" y="44">"NO END OF LINE"</text>
+</g>
+<path d="M909 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M929 40h10"></path>
+<path d="M 939 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Translate.svg b/abap/statement_Translate.svg
new file mode 100644
index 00000000..28e3576d
--- /dev/null
+++ b/abap/statement_Translate.svg
@@ -0,0 +1,134 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="619" height="122" viewBox="0 0 619 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M569 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M163.5 31h0"></path>
+<rect x="50" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="106.75" y="35">"TRANSLATE"</text>
+</g>
+<path d="M163.5 31h10"></path>
+<path d="M173.5 31h10"></path>
+<g class="non-terminal">
+<path d="M183.5 31h0"></path>
+<path d="M254.5 31h0"></path>
+<rect x="183.5" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="219" y="35">Target</text>
+</a>
+</g>
+<path d="M254.5 31h10"></path>
+<g>
+<path d="M264.5 31h0"></path>
+<path d="M569 31h0"></path>
+<path d="M264.5 31h20"></path>
+<g>
+<path d="M284.5 31h0"></path>
+<path d="M549 31h0"></path>
+<g class="terminal">
+<path d="M284.5 31h0"></path>
+<path d="M338.5 31h0"></path>
+<rect x="284.5" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="311.5" y="35">"TO"</text>
+</g>
+<path d="M338.5 31h10"></path>
+<g>
+<path d="M348.5 31h0"></path>
+<path d="M468 31h0"></path>
+<path d="M348.5 31h20"></path>
+<g class="terminal">
+<path d="M368.5 31h0"></path>
+<path d="M448 31h0"></path>
+<rect x="368.5" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="408.25" y="35">"UPPER"</text>
+</g>
+<path d="M448 31h20"></path>
+<path d="M348.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M368.5 61h0"></path>
+<path d="M448 61h0"></path>
+<rect x="368.5" y="50" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="408.25" y="65">"LOWER"</text>
+</g>
+<path d="M448 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M468 31h10"></path>
+<g class="terminal">
+<path d="M478 31h0"></path>
+<path d="M549 31h0"></path>
+<rect x="478" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="513.5" y="35">"CASE"</text>
+</g>
+</g>
+<path d="M549 31h20"></path>
+<path d="M264.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M284.5 91h0"></path>
+<path d="M455 91h94"></path>
+<g class="terminal">
+<path d="M284.5 91h0"></path>
+<path d="M364 91h0"></path>
+<rect x="284.5" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="324.25" y="95">"USING"</text>
+</g>
+<path d="M364 91h10"></path>
+<path d="M374 91h10"></path>
+<g class="non-terminal">
+<path d="M384 91h0"></path>
+<path d="M455 91h0"></path>
+<rect x="384" y="80" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="419.5" y="95">Source</text>
+</a>
+</g>
+</g>
+<path d="M549 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M569 31h10"></path>
+<path d="M 579 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TruncateDataset.svg b/abap/statement_TruncateDataset.svg
new file mode 100644
index 00000000..b850ff2d
--- /dev/null
+++ b/abap/statement_TruncateDataset.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="675.5" height="62" viewBox="0 0 675.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M625.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M625.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M316 31h0"></path>
+<rect x="143" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="229.5" y="35">"TRUNCATE DATASET"</text>
+</g>
+<path d="M316 31h10"></path>
+<path d="M326 31h10"></path>
+<g class="non-terminal">
+<path d="M336 31h0"></path>
+<path d="M407 31h0"></path>
+<rect x="336" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="371.5" y="35">Source</text>
+</a>
+</g>
+<path d="M407 31h10"></path>
+<path d="M417 31h10"></path>
+<g class="terminal">
+<path d="M427 31h0"></path>
+<path d="M625.5 31h0"></path>
+<rect x="427" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="526.25" y="35">"AT CURRENT POSITION"</text>
+</g>
+</g>
+</g>
+<path d="M625.5 31h10"></path>
+<path d="M 635.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Try.svg b/abap/statement_Try.svg
new file mode 100644
index 00000000..9b79d8dd
--- /dev/null
+++ b/abap/statement_Try.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">"TRY"</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Type.svg b/abap/statement_Type.svg
new file mode 100644
index 00000000..ecd35c92
--- /dev/null
+++ b/abap/statement_Type.svg
@@ -0,0 +1,193 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1038" height="191" viewBox="0 0 1038 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M988 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"TYPES"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g>
+<path d="M149.5 40h0"></path>
+<path d="M800.5 40h0"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M331 40h0"></path>
+<rect x="149.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="240.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M331 40h10"></path>
+<g>
+<path d="M341 40h0"></path>
+<path d="M562.5 40h0"></path>
+<path d="M341 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M361 20h181.5"></path>
+</g>
+<path d="M542.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M341 40h20"></path>
+<g class="non-terminal">
+<path d="M361 40h0"></path>
+<path d="M542.5 40h0"></path>
+<rect x="361" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ConstantFieldLength"><text x="451.75" y="44">ConstantFieldLength</text>
+</a>
+</g>
+<path d="M542.5 40h20"></path>
+</g>
+<g>
+<path d="M562.5 40h0"></path>
+<path d="M800.5 40h0"></path>
+<path d="M562.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M582.5 20h198"></path>
+</g>
+<path d="M780.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M562.5 40h20"></path>
+<g>
+<path d="M582.5 40h0"></path>
+<path d="M780.5 40h0"></path>
+<path d="M582.5 40h20"></path>
+<g>
+<path d="M602.5 40h0"></path>
+<path d="M760.5 40h0"></path>
+<path d="M632.5 40h10"></path>
+<g class="non-terminal">
+<path d="M642.5 40h0"></path>
+<path d="M696.5 40h34"></path>
+<rect x="642.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Type"><text x="669.5" y="44">Type</text>
+</a>
+</g>
+<path d="M730.5 40h10"></path>
+<path d="M632.5 40v20a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M642.5 70h0"></path>
+<path d="M730.5 70h0"></path>
+<rect x="642.5" y="59" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/Decimals"><text x="686.5" y="74">Decimals</text>
+</a>
+</g>
+<path d="M730.5 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M632.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M642.5 100h0"></path>
+<path d="M713.5 100h17"></path>
+<rect x="642.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Length"><text x="678" y="104">Length</text>
+</a>
+</g>
+<path d="M730.5 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 632.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="617.5" y="44" class="diagram-text">1+</text>
+<path d="M 740.5 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 747.5 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M760.5 40h20"></path>
+<path d="M582.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M602.5 130h0"></path>
+<path d="M699 130h61.5"></path>
+<rect x="602.5" y="119" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeTable"><text x="650.75" y="134">TypeTable</text>
+</a>
+</g>
+<path d="M760.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M582.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M602.5 160h0"></path>
+<path d="M733 160h27.5"></path>
+<rect x="602.5" y="149" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeStructure"><text x="667.75" y="164">TypeStructure</text>
+</a>
+</g>
+<path d="M760.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M780.5 40h20"></path>
+</g>
+</g>
+<path d="M800.5 40h10"></path>
+<g>
+<path d="M810.5 40h0"></path>
+<path d="M988 40h0"></path>
+<path d="M810.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M830.5 20h137.5"></path>
+</g>
+<path d="M968 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M810.5 40h20"></path>
+<g>
+<path d="M830.5 40h0"></path>
+<path d="M968 40h0"></path>
+<g>
+<path d="M830.5 40h0"></path>
+<path d="M868.5 40h0"></path>
+<text x="849.5" y="45" class="comment">v702</text>
+</g>
+<path d="M868.5 40h10"></path>
+<path d="M878.5 40h10"></path>
+<g class="terminal">
+<path d="M888.5 40h0"></path>
+<path d="M968 40h0"></path>
+<rect x="888.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="928.25" y="44">"BOXED"</text>
+</g>
+</g>
+<path d="M968 40h20"></path>
+</g>
+</g>
+<path d="M988 40h10"></path>
+<path d="M 998 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeBegin.svg b/abap/statement_TypeBegin.svg
new file mode 100644
index 00000000..bc3d09e5
--- /dev/null
+++ b/abap/statement_TypeBegin.svg
@@ -0,0 +1,105 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="745.5" height="71" viewBox="0 0 745.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M695.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"TYPES"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="terminal">
+<path d="M149.5 40h0"></path>
+<path d="M254.5 40h0"></path>
+<rect x="149.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="202" y="44">"BEGIN OF"</text>
+</g>
+<path d="M254.5 40h10"></path>
+<path d="M264.5 40h10"></path>
+<g class="non-terminal">
+<path d="M274.5 40h0"></path>
+<path d="M456 40h0"></path>
+<rect x="274.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="365.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M456 40h10"></path>
+<g>
+<path d="M466 40h0"></path>
+<path d="M695.5 40h0"></path>
+<path d="M466 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M486 20h189.5"></path>
+</g>
+<path d="M675.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M466 40h20"></path>
+<g>
+<path d="M486 40h0"></path>
+<path d="M675.5 40h0"></path>
+<g>
+<path d="M486 40h0"></path>
+<path d="M559 40h0"></path>
+<text x="522.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M559 40h10"></path>
+<path d="M569 40h10"></path>
+<g class="terminal">
+<path d="M579 40h0"></path>
+<path d="M675.5 40h0"></path>
+<rect x="579" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="627.25" y="44">"%&#95;FINAL"</text>
+</g>
+</g>
+<path d="M675.5 40h20"></path>
+</g>
+</g>
+<path d="M695.5 40h10"></path>
+<path d="M 705.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeEnd.svg b/abap/statement_TypeEnd.svg
new file mode 100644
index 00000000..bb707122
--- /dev/null
+++ b/abap/statement_TypeEnd.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="489" height="62" viewBox="0 0 489 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M439 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"TYPES"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="terminal">
+<path d="M149.5 31h0"></path>
+<path d="M237.5 31h0"></path>
+<rect x="149.5" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="193.5" y="35">"END OF"</text>
+</g>
+<path d="M237.5 31h10"></path>
+<path d="M247.5 31h10"></path>
+<g class="non-terminal">
+<path d="M257.5 31h0"></path>
+<path d="M439 31h0"></path>
+<rect x="257.5" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="348.25" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M439 31h10"></path>
+<path d="M 449 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeEnum.svg b/abap/statement_TypeEnum.svg
new file mode 100644
index 00000000..a744e523
--- /dev/null
+++ b/abap/statement_TypeEnum.svg
@@ -0,0 +1,88 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="521.5" height="62" viewBox="0 0 521.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M471.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v751</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M471.5 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M187.5 31h0"></path>
+<rect x="108" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="147.75" y="35">"TYPES"</text>
+</g>
+<path d="M187.5 31h10"></path>
+<path d="M197.5 31h10"></path>
+<g class="non-terminal">
+<path d="M207.5 31h0"></path>
+<path d="M389 31h0"></path>
+<rect x="207.5" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="298.25" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M389 31h10"></path>
+<path d="M399 31h10"></path>
+<g class="non-terminal">
+<path d="M409 31h0"></path>
+<path d="M471.5 31h0"></path>
+<rect x="409" y="20" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Value"><text x="440.25" y="35">Value</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M471.5 31h10"></path>
+<path d="M 481.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeEnumBegin.svg b/abap/statement_TypeEnumBegin.svg
new file mode 100644
index 00000000..ff5e357c
--- /dev/null
+++ b/abap/statement_TypeEnumBegin.svg
@@ -0,0 +1,160 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1375" height="71" viewBox="0 0 1375 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1325 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v751</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M1325 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M187.5 40h0"></path>
+<rect x="108" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="147.75" y="44">"TYPES"</text>
+</g>
+<path d="M187.5 40h10"></path>
+<path d="M197.5 40h10"></path>
+<g class="terminal">
+<path d="M207.5 40h0"></path>
+<path d="M312.5 40h0"></path>
+<rect x="207.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="260" y="44">"BEGIN OF"</text>
+</g>
+<path d="M312.5 40h10"></path>
+<path d="M322.5 40h10"></path>
+<g>
+<path d="M332.5 40h0"></path>
+<path d="M1325 40h0"></path>
+<g class="terminal">
+<path d="M332.5 40h0"></path>
+<path d="M403.5 40h0"></path>
+<rect x="332.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="368" y="44">"ENUM"</text>
+</g>
+<path d="M403.5 40h10"></path>
+<path d="M413.5 40h10"></path>
+<g class="non-terminal">
+<path d="M423.5 40h0"></path>
+<path d="M605 40h0"></path>
+<rect x="423.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="514.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M605 40h10"></path>
+<g>
+<path d="M615 40h0"></path>
+<path d="M970 40h0"></path>
+<path d="M615 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M635 20h315"></path>
+</g>
+<path d="M950 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M615 40h20"></path>
+<g>
+<path d="M635 40h0"></path>
+<path d="M950 40h0"></path>
+<g class="terminal">
+<path d="M635 40h0"></path>
+<path d="M748.5 40h0"></path>
+<rect x="635" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="691.75" y="44">"STRUCTURE"</text>
+</g>
+<path d="M748.5 40h10"></path>
+<path d="M758.5 40h10"></path>
+<g class="non-terminal">
+<path d="M768.5 40h0"></path>
+<path d="M950 40h0"></path>
+<rect x="768.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="859.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M950 40h20"></path>
+</g>
+<g>
+<path d="M970 40h0"></path>
+<path d="M1325 40h0"></path>
+<path d="M970 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M990 20h315"></path>
+</g>
+<path d="M1305 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M970 40h20"></path>
+<g>
+<path d="M990 40h0"></path>
+<path d="M1305 40h0"></path>
+<g class="terminal">
+<path d="M990 40h0"></path>
+<path d="M1103.5 40h0"></path>
+<rect x="990" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="1046.75" y="44">"BASE TYPE"</text>
+</g>
+<path d="M1103.5 40h10"></path>
+<path d="M1113.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1123.5 40h0"></path>
+<path d="M1305 40h0"></path>
+<rect x="1123.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1214.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M1305 40h20"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M1325 40h10"></path>
+<path d="M 1335 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeEnumEnd.svg b/abap/statement_TypeEnumEnd.svg
new file mode 100644
index 00000000..06f31975
--- /dev/null
+++ b/abap/statement_TypeEnumEnd.svg
@@ -0,0 +1,126 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1003" height="71" viewBox="0 0 1003 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M953 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v751</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M953 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M187.5 40h0"></path>
+<rect x="108" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="147.75" y="44">"TYPES"</text>
+</g>
+<path d="M187.5 40h10"></path>
+<path d="M197.5 40h10"></path>
+<g class="terminal">
+<path d="M207.5 40h0"></path>
+<path d="M295.5 40h0"></path>
+<rect x="207.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="251.5" y="44">"END OF"</text>
+</g>
+<path d="M295.5 40h10"></path>
+<path d="M305.5 40h10"></path>
+<g class="terminal">
+<path d="M315.5 40h0"></path>
+<path d="M386.5 40h0"></path>
+<rect x="315.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="351" y="44">"ENUM"</text>
+</g>
+<path d="M386.5 40h10"></path>
+<path d="M396.5 40h10"></path>
+<g class="non-terminal">
+<path d="M406.5 40h0"></path>
+<path d="M588 40h0"></path>
+<rect x="406.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="497.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M588 40h10"></path>
+<g>
+<path d="M598 40h0"></path>
+<path d="M953 40h0"></path>
+<path d="M598 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M618 20h315"></path>
+</g>
+<path d="M933 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M598 40h20"></path>
+<g>
+<path d="M618 40h0"></path>
+<path d="M933 40h0"></path>
+<g class="terminal">
+<path d="M618 40h0"></path>
+<path d="M731.5 40h0"></path>
+<rect x="618" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="674.75" y="44">"STRUCTURE"</text>
+</g>
+<path d="M731.5 40h10"></path>
+<path d="M741.5 40h10"></path>
+<g class="non-terminal">
+<path d="M751.5 40h0"></path>
+<path d="M933 40h0"></path>
+<rect x="751.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="842.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M933 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M953 40h10"></path>
+<path d="M 963 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeMesh.svg b/abap/statement_TypeMesh.svg
new file mode 100644
index 00000000..39b65d06
--- /dev/null
+++ b/abap/statement_TypeMesh.svg
@@ -0,0 +1,301 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2942" height="96" viewBox="0 0 2942 96">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2892 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M88 40h0"></path>
+<text x="69" y="45" class="comment">v751</text>
+</g>
+<path d="M88 40h10"></path>
+<path d="M98 40h10"></path>
+<g>
+<path d="M108 40h0"></path>
+<path d="M2892 40h0"></path>
+<g class="terminal">
+<path d="M108 40h0"></path>
+<path d="M187.5 40h0"></path>
+<rect x="108" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="147.75" y="44">"TYPES"</text>
+</g>
+<path d="M187.5 40h10"></path>
+<path d="M197.5 40h10"></path>
+<g class="non-terminal">
+<path d="M207.5 40h0"></path>
+<path d="M389 40h0"></path>
+<rect x="207.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="298.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M389 40h10"></path>
+<path d="M399 40h10"></path>
+<g class="terminal">
+<path d="M409 40h0"></path>
+<path d="M480 40h0"></path>
+<rect x="409" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="444.5" y="44">"TYPE"</text>
+</g>
+<path d="M480 40h10"></path>
+<g>
+<path d="M490 40h0"></path>
+<path d="M618 40h0"></path>
+<path d="M490 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M510 20h88"></path>
+</g>
+<path d="M598 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M490 40h20"></path>
+<g class="terminal">
+<path d="M510 40h0"></path>
+<path d="M598 40h0"></path>
+<rect x="510" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="554" y="44">"REF TO"</text>
+</g>
+<path d="M598 40h20"></path>
+</g>
+<path d="M618 40h10"></path>
+<g class="non-terminal">
+<path d="M628 40h0"></path>
+<path d="M716 40h0"></path>
+<rect x="628" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/TypeName"><text x="672" y="44">TypeName</text>
+</a>
+</g>
+<path d="M716 40h10"></path>
+<path d="M726 40h10"></path>
+<g>
+<path d="M736 40h0"></path>
+<path d="M2527 40h0"></path>
+<path d="M736 40h10"></path>
+<g>
+<path d="M746 40h0"></path>
+<path d="M2517 40h0"></path>
+<g class="terminal">
+<path d="M746 40h0"></path>
+<path d="M876.5 40h0"></path>
+<rect x="746" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="811.25" y="44">"ASSOCIATION"</text>
+</g>
+<path d="M876.5 40h10"></path>
+<path d="M886.5 40h10"></path>
+<g class="non-terminal">
+<path d="M896.5 40h0"></path>
+<path d="M1078 40h0"></path>
+<rect x="896.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="987.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1078 40h10"></path>
+<path d="M1088 40h10"></path>
+<g class="terminal">
+<path d="M1098 40h0"></path>
+<path d="M1152 40h0"></path>
+<rect x="1098" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1125" y="44">"TO"</text>
+</g>
+<path d="M1152 40h10"></path>
+<path d="M1162 40h10"></path>
+<g class="non-terminal">
+<path d="M1172 40h0"></path>
+<path d="M1353.5 40h0"></path>
+<rect x="1172" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1262.75" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1353.5 40h10"></path>
+<path d="M1363.5 40h10"></path>
+<g>
+<path d="M1373.5 40h0"></path>
+<path d="M2517 40h0"></path>
+<path d="M1373.5 40h10"></path>
+<g>
+<path d="M1383.5 40h0"></path>
+<path d="M2507 40h0"></path>
+<g class="terminal">
+<path d="M1383.5 40h0"></path>
+<path d="M1437.5 40h0"></path>
+<rect x="1383.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1410.5" y="44">"ON"</text>
+</g>
+<path d="M1437.5 40h10"></path>
+<path d="M1447.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1457.5 40h0"></path>
+<path d="M1639 40h0"></path>
+<rect x="1457.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1548.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1639 40h10"></path>
+<path d="M1649 40h10"></path>
+<g class="terminal">
+<path d="M1659 40h0"></path>
+<path d="M1704.5 40h0"></path>
+<rect x="1659" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1681.75" y="44">"="</text>
+</g>
+<path d="M1704.5 40h10"></path>
+<path d="M1714.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1724.5 40h0"></path>
+<path d="M1906 40h0"></path>
+<rect x="1724.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="1815.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M1906 40h10"></path>
+<g>
+<path d="M1916 40h0"></path>
+<path d="M2507 40h0"></path>
+<path d="M1916 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1936 20h551"></path>
+</g>
+<path d="M2487 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1916 40h20"></path>
+<g>
+<path d="M1936 40h0"></path>
+<path d="M2487 40h0"></path>
+<path d="M1936 40h10"></path>
+<g>
+<path d="M1946 40h0"></path>
+<path d="M2477 40h0"></path>
+<g class="terminal">
+<path d="M1946 40h0"></path>
+<path d="M2008.5 40h0"></path>
+<rect x="1946" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1977.25" y="44">"AND"</text>
+</g>
+<path d="M2008.5 40h10"></path>
+<path d="M2018.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2028.5 40h0"></path>
+<path d="M2210 40h0"></path>
+<rect x="2028.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="2119.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+<path d="M2210 40h10"></path>
+<path d="M2220 40h10"></path>
+<g class="terminal">
+<path d="M2230 40h0"></path>
+<path d="M2275.5 40h0"></path>
+<rect x="2230" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2252.75" y="44">"="</text>
+</g>
+<path d="M2275.5 40h10"></path>
+<path d="M2285.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2295.5 40h0"></path>
+<path d="M2477 40h0"></path>
+<rect x="2295.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="2386.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M2477 40h10"></path>
+<path d="M1946 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1946 60h531"></path>
+</g>
+<path d="M2477 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2487 40h20"></path>
+</g>
+</g>
+<path d="M2507 40h10"></path>
+<path d="M1383.5 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1383.5 68h1123.5"></path>
+</g>
+<path d="M2507 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10"></path>
+</g>
+</g>
+<path d="M2517 40h10"></path>
+<path d="M746 40a10 10 0 0 0 -10 10v16a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M746 76h1771"></path>
+</g>
+<path d="M2517 76a10 10 0 0 0 10 -10v-16a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2527 40h10"></path>
+<g>
+<path d="M2537 40h0"></path>
+<path d="M2892 40h0"></path>
+<path d="M2537 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2557 20h315"></path>
+</g>
+<path d="M2872 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2537 40h20"></path>
+<g>
+<path d="M2557 40h0"></path>
+<path d="M2872 40h0"></path>
+<g class="terminal">
+<path d="M2557 40h0"></path>
+<path d="M2670.5 40h0"></path>
+<rect x="2557" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="2613.75" y="44">"USING KEY"</text>
+</g>
+<path d="M2670.5 40h10"></path>
+<path d="M2680.5 40h10"></path>
+<g class="non-terminal">
+<path d="M2690.5 40h0"></path>
+<path d="M2872 40h0"></path>
+<rect x="2690.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="2781.25" y="44">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+<path d="M2872 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M2892 40h10"></path>
+<path d="M 2902 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeMeshBegin.svg b/abap/statement_TypeMeshBegin.svg
new file mode 100644
index 00000000..d10a5d77
--- /dev/null
+++ b/abap/statement_TypeMeshBegin.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="634.5" height="62" viewBox="0 0 634.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M584.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M116 31h0"></path>
+<text x="83" y="36" class="comment">v740sp05</text>
+</g>
+<path d="M116 31h10"></path>
+<path d="M126 31h10"></path>
+<g>
+<path d="M136 31h0"></path>
+<path d="M584.5 31h0"></path>
+<g class="terminal">
+<path d="M136 31h0"></path>
+<path d="M215.5 31h0"></path>
+<rect x="136" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="175.75" y="35">"TYPES"</text>
+</g>
+<path d="M215.5 31h10"></path>
+<path d="M225.5 31h10"></path>
+<g class="terminal">
+<path d="M235.5 31h0"></path>
+<path d="M383 31h0"></path>
+<rect x="235.5" y="20" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="309.25" y="35">"BEGIN OF MESH"</text>
+</g>
+<path d="M383 31h10"></path>
+<path d="M393 31h10"></path>
+<g class="non-terminal">
+<path d="M403 31h0"></path>
+<path d="M584.5 31h0"></path>
+<rect x="403" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="493.75" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M584.5 31h10"></path>
+<path d="M 594.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypeMeshEnd.svg b/abap/statement_TypeMeshEnd.svg
new file mode 100644
index 00000000..6171accc
--- /dev/null
+++ b/abap/statement_TypeMeshEnd.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="617.5" height="62" viewBox="0 0 617.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M567.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M116 31h0"></path>
+<text x="83" y="36" class="comment">v740sp05</text>
+</g>
+<path d="M116 31h10"></path>
+<path d="M126 31h10"></path>
+<g>
+<path d="M136 31h0"></path>
+<path d="M567.5 31h0"></path>
+<g class="terminal">
+<path d="M136 31h0"></path>
+<path d="M215.5 31h0"></path>
+<rect x="136" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="175.75" y="35">"TYPES"</text>
+</g>
+<path d="M215.5 31h10"></path>
+<path d="M225.5 31h10"></path>
+<g class="terminal">
+<path d="M235.5 31h0"></path>
+<path d="M366 31h0"></path>
+<rect x="235.5" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="300.75" y="35">"END OF MESH"</text>
+</g>
+<path d="M366 31h10"></path>
+<path d="M376 31h10"></path>
+<g class="non-terminal">
+<path d="M386 31h0"></path>
+<path d="M567.5 31h0"></path>
+<rect x="386" y="20" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/expression/NamespaceSimpleName"><text x="476.75" y="35">NamespaceSimpleName</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M567.5 31h10"></path>
+<path d="M 577.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypePool.svg b/abap/statement_TypePool.svg
new file mode 100644
index 00000000..e7e4da2a
--- /dev/null
+++ b/abap/statement_TypePool.svg
@@ -0,0 +1,78 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="389" height="62" viewBox="0 0 389 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M339 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M339 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M256.5 31h0"></path>
+<rect x="143" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="199.75" y="35">"TYPE-POOL"</text>
+</g>
+<path d="M256.5 31h10"></path>
+<path d="M266.5 31h10"></path>
+<g class="terminal">
+<path d="M276.5 31h0"></path>
+<path d="M339 31h0"></path>
+<rect x="276.5" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="307.75" y="35">^\w+$</text>
+</g>
+</g>
+</g>
+<path d="M339 31h10"></path>
+<path d="M 349 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_TypePools.svg b/abap/statement_TypePools.svg
new file mode 100644
index 00000000..230467d4
--- /dev/null
+++ b/abap/statement_TypePools.svg
@@ -0,0 +1,78 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="397.5" height="62" viewBox="0 0 397.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M347.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M347.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M265 31h0"></path>
+<rect x="143" y="20" width="122" height="22" rx="10" ry="10"></rect>
+<text x="204" y="35">"TYPE-POOLS"</text>
+</g>
+<path d="M265 31h10"></path>
+<path d="M275 31h10"></path>
+<g class="terminal">
+<path d="M285 31h0"></path>
+<path d="M347.5 31h0"></path>
+<rect x="285" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="316.25" y="35">^\w+$</text>
+</g>
+</g>
+</g>
+<path d="M347.5 31h10"></path>
+<path d="M 357.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Uline.svg b/abap/statement_Uline.svg
new file mode 100644
index 00000000..bb443390
--- /dev/null
+++ b/abap/statement_Uline.svg
@@ -0,0 +1,106 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="615" height="71" viewBox="0 0 615 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M565 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M565 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M222.5 40h0"></path>
+<rect x="143" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="44">"ULINE"</text>
+</g>
+<path d="M222.5 40h10"></path>
+<g>
+<path d="M232.5 40h0"></path>
+<path d="M437 40h0"></path>
+<path d="M232.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M252.5 20h164.5"></path>
+</g>
+<path d="M417 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M232.5 40h20"></path>
+<g class="non-terminal">
+<path d="M252.5 40h0"></path>
+<path d="M417 40h0"></path>
+<rect x="252.5" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/WriteOffsetLength"><text x="334.75" y="44">WriteOffsetLength</text>
+</a>
+</g>
+<path d="M417 40h20"></path>
+</g>
+<g>
+<path d="M437 40h0"></path>
+<path d="M565 40h0"></path>
+<path d="M437 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M457 20h88"></path>
+</g>
+<path d="M545 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M437 40h20"></path>
+<g class="terminal">
+<path d="M457 40h0"></path>
+<path d="M545 40h0"></path>
+<rect x="457" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="501" y="44">"NO-GAP"</text>
+</g>
+<path d="M545 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M565 40h10"></path>
+<path d="M 575 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Unassign.svg b/abap/statement_Unassign.svg
new file mode 100644
index 00000000..0bf331dd
--- /dev/null
+++ b/abap/statement_Unassign.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="389.5" height="62" viewBox="0 0 389.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M339.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M155 31h0"></path>
+<rect x="50" y="20" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="35">"UNASSIGN"</text>
+</g>
+<path d="M155 31h10"></path>
+<path d="M165 31h10"></path>
+<g class="non-terminal">
+<path d="M175 31h0"></path>
+<path d="M339.5 31h0"></path>
+<rect x="175" y="20" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/TargetFieldSymbol"><text x="257.25" y="35">TargetFieldSymbol</text>
+</a>
+</g>
+</g>
+<path d="M339.5 31h10"></path>
+<path d="M 349.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Unpack.svg b/abap/statement_Unpack.svg
new file mode 100644
index 00000000..bdfb68b0
--- /dev/null
+++ b/abap/statement_Unpack.svg
@@ -0,0 +1,96 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="537" height="62" viewBox="0 0 537 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M487 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M487 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M231 31h0"></path>
+<rect x="143" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="187" y="35">"UNPACK"</text>
+</g>
+<path d="M231 31h10"></path>
+<path d="M241 31h10"></path>
+<g class="non-terminal">
+<path d="M251 31h0"></path>
+<path d="M322 31h0"></path>
+<rect x="251" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="286.5" y="35">Source</text>
+</a>
+</g>
+<path d="M322 31h10"></path>
+<path d="M332 31h10"></path>
+<g class="terminal">
+<path d="M342 31h0"></path>
+<path d="M396 31h0"></path>
+<rect x="342" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="369" y="35">"TO"</text>
+</g>
+<path d="M396 31h10"></path>
+<path d="M406 31h10"></path>
+<g class="non-terminal">
+<path d="M416 31h0"></path>
+<path d="M487 31h0"></path>
+<rect x="416" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="451.5" y="35">Target</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M487 31h10"></path>
+<path d="M 497 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_UpdateDatabase.svg b/abap/statement_UpdateDatabase.svg
new file mode 100644
index 00000000..ac63d3d1
--- /dev/null
+++ b/abap/statement_UpdateDatabase.svg
@@ -0,0 +1,279 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1587" height="165" viewBox="0 0 1587 165">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1537 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M138 48h0"></path>
+<rect x="50" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="52">"UPDATE"</text>
+</g>
+<path d="M138 48h10"></path>
+<path d="M148 48h10"></path>
+<g class="non-terminal">
+<path d="M158 48h0"></path>
+<path d="M288.5 48h0"></path>
+<rect x="158" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseTable"><text x="223.25" y="52">DatabaseTable</text>
+</a>
+</g>
+<path d="M288.5 48h10"></path>
+<g>
+<path d="M298.5 48h0"></path>
+<path d="M435 48h0"></path>
+<path d="M298.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M318.5 28h96.5"></path>
+</g>
+<path d="M415 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M298.5 48h20"></path>
+<g class="non-terminal">
+<path d="M318.5 48h0"></path>
+<path d="M415 48h0"></path>
+<rect x="318.5" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLClient"><text x="366.75" y="52">SQLClient</text>
+</a>
+</g>
+<path d="M415 48h20"></path>
+</g>
+<g>
+<path d="M435 48h0"></path>
+<path d="M648 48h0"></path>
+<path d="M435 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M455 28h173"></path>
+</g>
+<path d="M628 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M435 48h20"></path>
+<g class="non-terminal">
+<path d="M455 48h0"></path>
+<path d="M628 48h0"></path>
+<rect x="455" y="37" width="173" height="22"></rect>
+<a xlink:href="#/abap/expression/DatabaseConnection"><text x="541.5" y="52">DatabaseConnection</text>
+</a>
+</g>
+<path d="M628 48h20"></path>
+</g>
+<g>
+<path d="M648 48h0"></path>
+<path d="M1537 48h0"></path>
+<path d="M648 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M668 20h849"></path>
+</g>
+<path d="M1517 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M648 48h20"></path>
+<g>
+<path d="M668 48h0"></path>
+<path d="M1517 48h0"></path>
+<path d="M668 48h20"></path>
+<g>
+<path d="M688 48h0"></path>
+<path d="M995 48h502"></path>
+<g class="terminal">
+<path d="M688 48h0"></path>
+<path d="M759 48h0"></path>
+<rect x="688" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="723.5" y="52">"FROM"</text>
+</g>
+<path d="M759 48h10"></path>
+<g>
+<path d="M769 48h0"></path>
+<path d="M888.5 48h0"></path>
+<path d="M769 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M789 28h79.5"></path>
+</g>
+<path d="M868.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M769 48h20"></path>
+<g class="terminal">
+<path d="M789 48h0"></path>
+<path d="M868.5 48h0"></path>
+<rect x="789" y="37" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="828.75" y="52">"TABLE"</text>
+</g>
+<path d="M868.5 48h20"></path>
+</g>
+<path d="M888.5 48h10"></path>
+<g class="non-terminal">
+<path d="M898.5 48h0"></path>
+<path d="M995 48h0"></path>
+<rect x="898.5" y="37" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLSource"><text x="946.75" y="52">SQLSource</text>
+</a>
+</g>
+</g>
+<path d="M1497 48h20"></path>
+<path d="M668 48a10 10 0 0 1 10 10v27a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M688 95h0"></path>
+<path d="M1497 95h0"></path>
+<g class="terminal">
+<path d="M688 95h0"></path>
+<path d="M750.5 95h0"></path>
+<rect x="688" y="84" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="719.25" y="99">"SET"</text>
+</g>
+<path d="M750.5 95h10"></path>
+<g>
+<path d="M760.5 95h0"></path>
+<path d="M1278 95h0"></path>
+<path d="M760.5 95h20"></path>
+<g>
+<path d="M780.5 95h0"></path>
+<path d="M1258 95h0"></path>
+<g class="non-terminal">
+<path d="M780.5 95h0"></path>
+<path d="M936.5 95h0"></path>
+<rect x="780.5" y="84" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldAndValue"><text x="858.5" y="99">SQLFieldAndValue</text>
+</a>
+</g>
+<path d="M936.5 95h10"></path>
+<g>
+<path d="M946.5 95h0"></path>
+<path d="M1258 95h0"></path>
+<path d="M946.5 95a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M966.5 67h271.5"></path>
+</g>
+<path d="M1238 67a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M946.5 95h20"></path>
+<g>
+<path d="M966.5 95h0"></path>
+<path d="M1238 95h0"></path>
+<path d="M966.5 95h10"></path>
+<g>
+<path d="M976.5 95h0"></path>
+<path d="M1228 95h0"></path>
+<g>
+<path d="M976.5 95h0"></path>
+<path d="M1062 95h0"></path>
+<path d="M976.5 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M996.5 75h45.5"></path>
+</g>
+<path d="M1042 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M976.5 95h20"></path>
+<g class="terminal">
+<path d="M996.5 95h0"></path>
+<path d="M1042 95h0"></path>
+<rect x="996.5" y="84" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1019.25" y="99">","</text>
+</g>
+<path d="M1042 95h20"></path>
+</g>
+<path d="M1062 95h10"></path>
+<g class="non-terminal">
+<path d="M1072 95h0"></path>
+<path d="M1228 95h0"></path>
+<rect x="1072" y="84" width="156" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLFieldAndValue"><text x="1150" y="99">SQLFieldAndValue</text>
+</a>
+</g>
+</g>
+<path d="M1228 95h10"></path>
+<path d="M976.5 95a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M976.5 115h251.5"></path>
+</g>
+<path d="M1228 115a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1238 95h20"></path>
+</g>
+</g>
+<path d="M1258 95h20"></path>
+<path d="M760.5 95a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M780.5 134h0"></path>
+<path d="M860 134h398"></path>
+<rect x="780.5" y="123" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="820.25" y="138">Dynamic</text>
+</a>
+</g>
+<path d="M1258 134a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1278 95h0"></path>
+<path d="M1497 95h0"></path>
+<path d="M1278 95a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1298 75h179"></path>
+</g>
+<path d="M1477 75a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1278 95h20"></path>
+<g>
+<path d="M1298 95h0"></path>
+<path d="M1477 95h0"></path>
+<g class="terminal">
+<path d="M1298 95h0"></path>
+<path d="M1377.5 95h0"></path>
+<rect x="1298" y="84" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="1337.75" y="99">"WHERE"</text>
+</g>
+<path d="M1377.5 95h10"></path>
+<path d="M1387.5 95h10"></path>
+<g class="non-terminal">
+<path d="M1397.5 95h0"></path>
+<path d="M1477 95h0"></path>
+<rect x="1397.5" y="84" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/SQLCond"><text x="1437.25" y="99">SQLCond</text>
+</a>
+</g>
+</g>
+<path d="M1477 95h20"></path>
+</g>
+</g>
+<path d="M1497 95a10 10 0 0 0 10 -10v-27a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1517 48h20"></path>
+</g>
+</g>
+<path d="M1537 48h10"></path>
+<path d="M 1547 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Wait.svg b/abap/statement_Wait.svg
new file mode 100644
index 00000000..69e6e284
--- /dev/null
+++ b/abap/statement_Wait.svg
@@ -0,0 +1,223 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1210.5" height="161" viewBox="0 0 1210.5 161">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1160.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"WAIT"</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M1160.5 40h0"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M1140.5 40h0"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M640 40h0"></path>
+<path d="M151 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M171 20h449"></path>
+</g>
+<path d="M620 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M151 40h20"></path>
+<g>
+<path d="M171 40h0"></path>
+<path d="M620 40h0"></path>
+<g class="terminal">
+<path d="M171 40h0"></path>
+<path d="M233.5 40h0"></path>
+<rect x="171" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="202.25" y="44">"FOR"</text>
+</g>
+<path d="M233.5 40h10"></path>
+<path d="M243.5 40h10"></path>
+<g>
+<path d="M253.5 40h0"></path>
+<path d="M620 40h0"></path>
+<path d="M283.5 40h10"></path>
+<g class="terminal">
+<path d="M293.5 40h0"></path>
+<path d="M483.5 40h106.5"></path>
+<rect x="293.5" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="388.5" y="44">"MESSAGING CHANNELS"</text>
+</g>
+<path d="M590 40h10"></path>
+<path d="M283.5 40v20a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M293.5 70h0"></path>
+<path d="M590 70h0"></path>
+<g>
+<path d="M293.5 70h0"></path>
+<path d="M422.5 70h0"></path>
+<text x="358" y="75" class="comment">v750 or open-abap</text>
+</g>
+<path d="M422.5 70h10"></path>
+<path d="M432.5 70h10"></path>
+<g class="terminal">
+<path d="M442.5 70h0"></path>
+<path d="M590 70h0"></path>
+<rect x="442.5" y="59" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="516.25" y="74">"PUSH CHANNELS"</text>
+</g>
+</g>
+<path d="M590 70a10 10 0 0 0 10 -10v-20"></path>
+<path d="M283.5 40v50a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M293.5 100h0"></path>
+<path d="M483.5 100h106.5"></path>
+<rect x="293.5" y="89" width="190" height="22" rx="10" ry="10"></rect>
+<text x="388.5" y="104">"ASYNCHRONOUS TASKS"</text>
+</g>
+<path d="M590 100a10 10 0 0 0 10 -10v-50"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 283.5 30 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="268.5" y="44" class="diagram-text">1+</text>
+<path d="M 600 30 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 607 38 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+</g>
+<path d="M620 40h20"></path>
+</g>
+<path d="M640 40h10"></path>
+<g class="terminal">
+<path d="M650 40h0"></path>
+<path d="M729.5 40h0"></path>
+<rect x="650" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="689.75" y="44">"UNTIL"</text>
+</g>
+<path d="M729.5 40h10"></path>
+<path d="M739.5 40h10"></path>
+<g class="non-terminal">
+<path d="M749.5 40h0"></path>
+<path d="M803.5 40h0"></path>
+<rect x="749.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="776.5" y="44">Cond</text>
+</a>
+</g>
+<path d="M803.5 40h10"></path>
+<g>
+<path d="M813.5 40h0"></path>
+<path d="M1140.5 40h0"></path>
+<path d="M813.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M833.5 20h287"></path>
+</g>
+<path d="M1120.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M813.5 40h20"></path>
+<g>
+<path d="M833.5 40h0"></path>
+<path d="M1120.5 40h0"></path>
+<g class="terminal">
+<path d="M833.5 40h0"></path>
+<path d="M913 40h0"></path>
+<rect x="833.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="873.25" y="44">"UP TO"</text>
+</g>
+<path d="M913 40h10"></path>
+<path d="M923 40h10"></path>
+<g class="non-terminal">
+<path d="M933 40h0"></path>
+<path d="M1004 40h0"></path>
+<rect x="933" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="968.5" y="44">Source</text>
+</a>
+</g>
+<path d="M1004 40h10"></path>
+<path d="M1014 40h10"></path>
+<g class="terminal">
+<path d="M1024 40h0"></path>
+<path d="M1120.5 40h0"></path>
+<rect x="1024" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="1072.25" y="44">"SECONDS"</text>
+</g>
+</g>
+<path d="M1120.5 40h20"></path>
+</g>
+</g>
+<path d="M1140.5 40h20"></path>
+<path d="M131 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M151 130h0"></path>
+<path d="M438 130h702.5"></path>
+<g class="terminal">
+<path d="M151 130h0"></path>
+<path d="M230.5 130h0"></path>
+<rect x="151" y="119" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="190.75" y="134">"UP TO"</text>
+</g>
+<path d="M230.5 130h10"></path>
+<path d="M240.5 130h10"></path>
+<g class="non-terminal">
+<path d="M250.5 130h0"></path>
+<path d="M321.5 130h0"></path>
+<rect x="250.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="286" y="134">Source</text>
+</a>
+</g>
+<path d="M321.5 130h10"></path>
+<path d="M331.5 130h10"></path>
+<g class="terminal">
+<path d="M341.5 130h0"></path>
+<path d="M438 130h0"></path>
+<rect x="341.5" y="119" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="389.75" y="134">"SECONDS"</text>
+</g>
+</g>
+<path d="M1140.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1160.5 40h10"></path>
+<path d="M 1170.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_When.svg b/abap/statement_When.svg
new file mode 100644
index 00000000..598c6bc5
--- /dev/null
+++ b/abap/statement_When.svg
@@ -0,0 +1,102 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="369" height="80" viewBox="0 0 369 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M319 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"WHEN"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M319 40h0"></path>
+<g class="non-terminal">
+<path d="M141 40h0"></path>
+<path d="M212 40h0"></path>
+<rect x="141" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="176.5" y="44">Source</text>
+</a>
+</g>
+<path d="M212 40h10"></path>
+<g>
+<path d="M222 40h0"></path>
+<path d="M319 40h0"></path>
+<path d="M222 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M242 20h57"></path>
+</g>
+<path d="M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M222 40h20"></path>
+<g>
+<path d="M242 40h0"></path>
+<path d="M299 40h0"></path>
+<path d="M242 40h10"></path>
+<g class="non-terminal">
+<path d="M252 40h0"></path>
+<path d="M289 40h0"></path>
+<rect x="252" y="29" width="37" height="22"></rect>
+<a xlink:href="#/abap/expression/Or"><text x="270.5" y="44">Or</text>
+</a>
+</g>
+<path d="M289 40h10"></path>
+<path d="M252 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M252 60h37"></path>
+</g>
+<path d="M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M299 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M319 40h10"></path>
+<path d="M 329 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_WhenOthers.svg b/abap/statement_WhenOthers.svg
new file mode 100644
index 00000000..a2662bca
--- /dev/null
+++ b/abap/statement_WhenOthers.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="230.5" height="62" viewBox="0 0 230.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M180.5 31h0"></path>
+<rect x="50" y="20" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="35">"WHEN OTHERS"</text>
+</g>
+<path d="M180.5 31h10"></path>
+<path d="M 190.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_WhenType.svg b/abap/statement_WhenType.svg
new file mode 100644
index 00000000..683dfc18
--- /dev/null
+++ b/abap/statement_WhenType.svg
@@ -0,0 +1,114 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="691" height="71" viewBox="0 0 691 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M641 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M179 40h0"></path>
+<text x="114.5" y="45" class="comment">v750 or open-abap</text>
+</g>
+<path d="M179 40h10"></path>
+<path d="M189 40h10"></path>
+<g>
+<path d="M199 40h0"></path>
+<path d="M641 40h0"></path>
+<g class="terminal">
+<path d="M199 40h0"></path>
+<path d="M312.5 40h0"></path>
+<rect x="199" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="255.75" y="44">"WHEN TYPE"</text>
+</g>
+<path d="M312.5 40h10"></path>
+<path d="M322.5 40h10"></path>
+<g>
+<path d="M332.5 40h0"></path>
+<path d="M641 40h0"></path>
+<g class="non-terminal">
+<path d="M332.5 40h0"></path>
+<path d="M429 40h0"></path>
+<rect x="332.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/expression/ClassName"><text x="380.75" y="44">ClassName</text>
+</a>
+</g>
+<path d="M429 40h10"></path>
+<g>
+<path d="M439 40h0"></path>
+<path d="M641 40h0"></path>
+<path d="M439 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M459 20h162"></path>
+</g>
+<path d="M621 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M439 40h20"></path>
+<g>
+<path d="M459 40h0"></path>
+<path d="M621 40h0"></path>
+<g class="terminal">
+<path d="M459 40h0"></path>
+<path d="M530 40h0"></path>
+<rect x="459" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="494.5" y="44">"INTO"</text>
+</g>
+<path d="M530 40h10"></path>
+<path d="M540 40h10"></path>
+<g class="non-terminal">
+<path d="M550 40h0"></path>
+<path d="M621 40h0"></path>
+<rect x="550" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="585.5" y="44">Target</text>
+</a>
+</g>
+</g>
+<path d="M621 40h20"></path>
+</g>
+</g>
+</g>
+</g>
+<path d="M641 40h10"></path>
+<path d="M 651 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_While.svg b/abap/statement_While.svg
new file mode 100644
index 00000000..4ab74c0d
--- /dev/null
+++ b/abap/statement_While.svg
@@ -0,0 +1,133 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="829.5" height="71" viewBox="0 0 829.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M779.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="44">"WHILE"</text>
+</g>
+<path d="M129.5 40h10"></path>
+<path d="M139.5 40h10"></path>
+<g class="non-terminal">
+<path d="M149.5 40h0"></path>
+<path d="M203.5 40h0"></path>
+<rect x="149.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/expression/Cond"><text x="176.5" y="44">Cond</text>
+</a>
+</g>
+<path d="M203.5 40h10"></path>
+<g>
+<path d="M213.5 40h0"></path>
+<path d="M779.5 40h0"></path>
+<path d="M213.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M233.5 20h526"></path>
+</g>
+<path d="M759.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M213.5 40h20"></path>
+<g>
+<path d="M233.5 40h0"></path>
+<path d="M759.5 40h0"></path>
+<g class="terminal">
+<path d="M233.5 40h0"></path>
+<path d="M304.5 40h0"></path>
+<rect x="233.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="269" y="44">"VARY"</text>
+</g>
+<path d="M304.5 40h10"></path>
+<path d="M314.5 40h10"></path>
+<g class="non-terminal">
+<path d="M324.5 40h0"></path>
+<path d="M395.5 40h0"></path>
+<rect x="324.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="360" y="44">Target</text>
+</a>
+</g>
+<path d="M395.5 40h10"></path>
+<path d="M405.5 40h10"></path>
+<g class="terminal">
+<path d="M415.5 40h0"></path>
+<path d="M486.5 40h0"></path>
+<rect x="415.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="451" y="44">"FROM"</text>
+</g>
+<path d="M486.5 40h10"></path>
+<path d="M496.5 40h10"></path>
+<g class="non-terminal">
+<path d="M506.5 40h0"></path>
+<path d="M577.5 40h0"></path>
+<rect x="506.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="542" y="44">Source</text>
+</a>
+</g>
+<path d="M577.5 40h10"></path>
+<path d="M587.5 40h10"></path>
+<g class="terminal">
+<path d="M597.5 40h0"></path>
+<path d="M668.5 40h0"></path>
+<rect x="597.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="633" y="44">"NEXT"</text>
+</g>
+<path d="M668.5 40h10"></path>
+<path d="M678.5 40h10"></path>
+<g class="non-terminal">
+<path d="M688.5 40h0"></path>
+<path d="M759.5 40h0"></path>
+<rect x="688.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="724" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M759.5 40h20"></path>
+</g>
+</g>
+<path d="M779.5 40h10"></path>
+<path d="M 789.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Window.svg b/abap/statement_Window.svg
new file mode 100644
index 00000000..195a1976
--- /dev/null
+++ b/abap/statement_Window.svg
@@ -0,0 +1,128 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="910.5" height="71" viewBox="0 0 910.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M860.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M123 40h0"></path>
+<text x="86.5" y="45" class="comment">not Cloud</text>
+</g>
+<path d="M123 40h10"></path>
+<path d="M133 40h10"></path>
+<g>
+<path d="M143 40h0"></path>
+<path d="M860.5 40h0"></path>
+<g class="terminal">
+<path d="M143 40h0"></path>
+<path d="M333 40h0"></path>
+<rect x="143" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<text x="238" y="44">"WINDOW STARTING AT"</text>
+</g>
+<path d="M333 40h10"></path>
+<path d="M343 40h10"></path>
+<g class="non-terminal">
+<path d="M353 40h0"></path>
+<path d="M424 40h0"></path>
+<rect x="353" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="388.5" y="44">Source</text>
+</a>
+</g>
+<path d="M424 40h10"></path>
+<path d="M434 40h10"></path>
+<g class="non-terminal">
+<path d="M444 40h0"></path>
+<path d="M515 40h0"></path>
+<rect x="444" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="479.5" y="44">Source</text>
+</a>
+</g>
+<path d="M515 40h10"></path>
+<g>
+<path d="M525 40h0"></path>
+<path d="M860.5 40h0"></path>
+<path d="M525 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M545 20h295.5"></path>
+</g>
+<path d="M840.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M525 40h20"></path>
+<g>
+<path d="M545 40h0"></path>
+<path d="M840.5 40h0"></path>
+<g class="terminal">
+<path d="M545 40h0"></path>
+<path d="M658.5 40h0"></path>
+<rect x="545" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="601.75" y="44">"ENDING AT"</text>
+</g>
+<path d="M658.5 40h10"></path>
+<path d="M668.5 40h10"></path>
+<g class="non-terminal">
+<path d="M678.5 40h0"></path>
+<path d="M749.5 40h0"></path>
+<rect x="678.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="714" y="44">Source</text>
+</a>
+</g>
+<path d="M749.5 40h10"></path>
+<path d="M759.5 40h10"></path>
+<g class="non-terminal">
+<path d="M769.5 40h0"></path>
+<path d="M840.5 40h0"></path>
+<rect x="769.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="805" y="44">Source</text>
+</a>
+</g>
+</g>
+<path d="M840.5 40h20"></path>
+</g>
+</g>
+</g>
+<path d="M860.5 40h10"></path>
+<path d="M 870.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_With.svg b/abap/statement_With.svg
new file mode 100644
index 00000000..17f606e8
--- /dev/null
+++ b/abap/statement_With.svg
@@ -0,0 +1,136 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="829" height="71" viewBox="0 0 829 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M779 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v751</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M779 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M179 31h0"></path>
+<rect x="108" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="143.5" y="35">"WITH"</text>
+</g>
+<path d="M179 31h10"></path>
+<path d="M189 31h10"></path>
+<g>
+<path d="M199 31h0"></path>
+<path d="M688 31h0"></path>
+<path d="M199 31h10"></path>
+<g>
+<path d="M209 31h0"></path>
+<path d="M678 31h0"></path>
+<g class="non-terminal">
+<path d="M209 31h0"></path>
+<path d="M297 31h0"></path>
+<rect x="209" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/WithName"><text x="253" y="35">WithName</text>
+</a>
+</g>
+<path d="M297 31h10"></path>
+<path d="M307 31h10"></path>
+<g class="terminal">
+<path d="M317 31h0"></path>
+<path d="M371 31h0"></path>
+<rect x="317" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="344" y="35">"AS"</text>
+</g>
+<path d="M371 31h10"></path>
+<path d="M381 31h10"></path>
+<g class="terminal">
+<path d="M391 31h0"></path>
+<path d="M462 31h0"></path>
+<rect x="391" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="426.5" y="35">!" ( "</text>
+</g>
+<path d="M462 31h10"></path>
+<path d="M472 31h10"></path>
+<g class="non-terminal">
+<path d="M482 31h0"></path>
+<path d="M587 31h0"></path>
+<rect x="482" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SelectLoop"><text x="534.5" y="35">SelectLoop</text>
+</a>
+</g>
+<path d="M587 31h10"></path>
+<path d="M597 31h10"></path>
+<g class="terminal">
+<path d="M607 31h0"></path>
+<path d="M678 31h0"></path>
+<rect x="607" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="642.5" y="35">!" ) "</text>
+</g>
+</g>
+<path d="M678 31h10"></path>
+<path d="M209 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M209 51h469"></path>
+</g>
+<path d="M678 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M688 31h10"></path>
+<path d="M698 31h10"></path>
+<g class="non-terminal">
+<path d="M708 31h0"></path>
+<path d="M779 31h0"></path>
+<rect x="708" y="20" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Select"><text x="743.5" y="35">Select</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M779 31h10"></path>
+<path d="M 789 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_WithLoop.svg b/abap/statement_WithLoop.svg
new file mode 100644
index 00000000..27aa8f22
--- /dev/null
+++ b/abap/statement_WithLoop.svg
@@ -0,0 +1,136 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="863" height="71" viewBox="0 0 863 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M813 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M88 31h0"></path>
+<text x="69" y="36" class="comment">v751</text>
+</g>
+<path d="M88 31h10"></path>
+<path d="M98 31h10"></path>
+<g>
+<path d="M108 31h0"></path>
+<path d="M813 31h0"></path>
+<g class="terminal">
+<path d="M108 31h0"></path>
+<path d="M179 31h0"></path>
+<rect x="108" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="143.5" y="35">"WITH"</text>
+</g>
+<path d="M179 31h10"></path>
+<path d="M189 31h10"></path>
+<g>
+<path d="M199 31h0"></path>
+<path d="M688 31h0"></path>
+<path d="M199 31h10"></path>
+<g>
+<path d="M209 31h0"></path>
+<path d="M678 31h0"></path>
+<g class="non-terminal">
+<path d="M209 31h0"></path>
+<path d="M297 31h0"></path>
+<rect x="209" y="20" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/WithName"><text x="253" y="35">WithName</text>
+</a>
+</g>
+<path d="M297 31h10"></path>
+<path d="M307 31h10"></path>
+<g class="terminal">
+<path d="M317 31h0"></path>
+<path d="M371 31h0"></path>
+<rect x="317" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="344" y="35">"AS"</text>
+</g>
+<path d="M371 31h10"></path>
+<path d="M381 31h10"></path>
+<g class="terminal">
+<path d="M391 31h0"></path>
+<path d="M462 31h0"></path>
+<rect x="391" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="426.5" y="35">!" ( "</text>
+</g>
+<path d="M462 31h10"></path>
+<path d="M472 31h10"></path>
+<g class="non-terminal">
+<path d="M482 31h0"></path>
+<path d="M587 31h0"></path>
+<rect x="482" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SelectLoop"><text x="534.5" y="35">SelectLoop</text>
+</a>
+</g>
+<path d="M587 31h10"></path>
+<path d="M597 31h10"></path>
+<g class="terminal">
+<path d="M607 31h0"></path>
+<path d="M678 31h0"></path>
+<rect x="607" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="642.5" y="35">!" ) "</text>
+</g>
+</g>
+<path d="M678 31h10"></path>
+<path d="M209 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M209 51h469"></path>
+</g>
+<path d="M678 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M688 31h10"></path>
+<path d="M698 31h10"></path>
+<g class="non-terminal">
+<path d="M708 31h0"></path>
+<path d="M813 31h0"></path>
+<rect x="708" y="20" width="105" height="22"></rect>
+<a xlink:href="#/abap/expression/SelectLoop"><text x="760.5" y="35">SelectLoop</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M813 31h10"></path>
+<path d="M 823 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/statement_Write.svg b/abap/statement_Write.svg
new file mode 100644
index 00000000..7ab1d200
--- /dev/null
+++ b/abap/statement_Write.svg
@@ -0,0 +1,964 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1130.5" height="1547" viewBox="0 0 1130.5 1547">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M1080.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M123 31h0"></path>
+<text x="86.5" y="36" class="comment">not Cloud</text>
+</g>
+<path d="M123 31h10"></path>
+<path d="M133 31h10"></path>
+<g>
+<path d="M143 31h0"></path>
+<path d="M1080.5 31h0"></path>
+<g class="terminal">
+<path d="M143 31h0"></path>
+<path d="M222.5 31h0"></path>
+<rect x="143" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="182.75" y="35">"WRITE"</text>
+</g>
+<path d="M222.5 31h10"></path>
+<g>
+<path d="M232.5 31h0"></path>
+<path d="M1080.5 31h0"></path>
+<path d="M232.5 31h20"></path>
+<g class="terminal">
+<path d="M252.5 31h0"></path>
+<path d="M323.5 31h737"></path>
+<rect x="252.5" y="20" width="71" height="22" rx="10" ry="10"></rect>
+<text x="288" y="35">"AT /"</text>
+</g>
+<path d="M1060.5 31h20"></path>
+<path d="M232.5 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M252.5 70h0"></path>
+<path d="M1060.5 70h0"></path>
+<g>
+<path d="M252.5 70h0"></path>
+<path d="M457 70h0"></path>
+<path d="M252.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M272.5 50h164.5"></path>
+</g>
+<path d="M437 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M252.5 70h20"></path>
+<g class="non-terminal">
+<path d="M272.5 70h0"></path>
+<path d="M437 70h0"></path>
+<rect x="272.5" y="59" width="164.5" height="22"></rect>
+<a xlink:href="#/abap/expression/WriteOffsetLength"><text x="354.75" y="74">WriteOffsetLength</text>
+</a>
+</g>
+<path d="M437 70h20"></path>
+</g>
+<g>
+<path d="M457 70h0"></path>
+<path d="M576.5 70h0"></path>
+<path d="M457 70h20"></path>
+<g class="non-terminal">
+<path d="M477 70h0"></path>
+<path d="M548 70h8.5"></path>
+<rect x="477" y="59" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="512.5" y="74">Source</text>
+</a>
+</g>
+<path d="M556.5 70h20"></path>
+<path d="M457 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M477 100h0"></path>
+<path d="M556.5 100h0"></path>
+<rect x="477" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Dynamic"><text x="516.75" y="104">Dynamic</text>
+</a>
+</g>
+<path d="M556.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M457 70a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M477 130h0"></path>
+<path d="M522.5 130h34"></path>
+<rect x="477" y="119" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="499.75" y="134">"/"</text>
+</g>
+<path d="M556.5 130a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M576.5 70h0"></path>
+<path d="M1060.5 70h0"></path>
+<path d="M576.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M596.5 50h444"></path>
+</g>
+<path d="M1040.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M576.5 70h20"></path>
+<g>
+<path d="M596.5 70h0"></path>
+<path d="M1040.5 70h0"></path>
+<path d="M626.5 70h10"></path>
+<g>
+<path d="M636.5 70h0"></path>
+<path d="M970.5 70h40"></path>
+<g class="terminal">
+<path d="M636.5 70h0"></path>
+<path d="M716 70h0"></path>
+<rect x="636.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="74">"USING"</text>
+</g>
+<path d="M716 70h10"></path>
+<g>
+<path d="M726 70h0"></path>
+<path d="M970.5 70h0"></path>
+<path d="M726 70h20"></path>
+<g class="terminal">
+<path d="M746 70h0"></path>
+<path d="M885 70h65.5"></path>
+<rect x="746" y="59" width="139" height="22" rx="10" ry="10"></rect>
+<text x="815.5" y="74">"NO EDIT MASK"</text>
+</g>
+<path d="M950.5 70h20"></path>
+<path d="M726 70a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M746 100h0"></path>
+<path d="M950.5 100h0"></path>
+<g class="terminal">
+<path d="M746 100h0"></path>
+<path d="M859.5 100h0"></path>
+<rect x="746" y="89" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="802.75" y="104">"EDIT MASK"</text>
+</g>
+<path d="M859.5 100h10"></path>
+<path d="M869.5 100h10"></path>
+<g class="non-terminal">
+<path d="M879.5 100h0"></path>
+<path d="M950.5 100h0"></path>
+<rect x="879.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="915" y="104">Source</text>
+</a>
+</g>
+</g>
+<path d="M950.5 100a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1010.5 70h10"></path>
+<path d="M626.5 70v50a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 130h0"></path>
+<path d="M781.5 130h229"></path>
+<g class="terminal">
+<path d="M636.5 130h0"></path>
+<path d="M690.5 130h0"></path>
+<rect x="636.5" y="119" width="54" height="22" rx="10" ry="10"></rect>
+<text x="663.5" y="134">"TO"</text>
+</g>
+<path d="M690.5 130h10"></path>
+<path d="M700.5 130h10"></path>
+<g class="non-terminal">
+<path d="M710.5 130h0"></path>
+<path d="M781.5 130h0"></path>
+<rect x="710.5" y="119" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Target"><text x="746" y="134">Target</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 130a10 10 0 0 0 10 -10v-50"></path>
+<path d="M626.5 70v80a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 160h0"></path>
+<path d="M832.5 160h178"></path>
+<g class="terminal">
+<path d="M636.5 160h0"></path>
+<path d="M741.5 160h0"></path>
+<rect x="636.5" y="149" width="105" height="22" rx="10" ry="10"></rect>
+<text x="689" y="164">"EXPONENT"</text>
+</g>
+<path d="M741.5 160h10"></path>
+<path d="M751.5 160h10"></path>
+<g class="non-terminal">
+<path d="M761.5 160h0"></path>
+<path d="M832.5 160h0"></path>
+<rect x="761.5" y="149" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="797" y="164">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 160a10 10 0 0 0 10 -10v-80"></path>
+<path d="M626.5 70v110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 190h0"></path>
+<path d="M767 190h243.5"></path>
+<rect x="636.5" y="179" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="701.75" y="194">"NO-GROUPING"</text>
+</g>
+<path d="M1010.5 190a10 10 0 0 0 10 -10v-110"></path>
+<path d="M626.5 70v140a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 220h0"></path>
+<path d="M733 220h277.5"></path>
+<rect x="636.5" y="209" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="684.75" y="224">"NO-ZERO"</text>
+</g>
+<path d="M1010.5 220a10 10 0 0 0 10 -10v-140"></path>
+<path d="M626.5 70v170a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 250h0"></path>
+<path d="M741.5 250h269"></path>
+<rect x="636.5" y="239" width="105" height="22" rx="10" ry="10"></rect>
+<text x="689" y="254">"CENTERED"</text>
+</g>
+<path d="M1010.5 250a10 10 0 0 0 10 -10v-170"></path>
+<path d="M626.5 70v209a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 289h0"></path>
+<path d="M959.5 289h51"></path>
+<g class="terminal">
+<path d="M636.5 289h0"></path>
+<path d="M716 289h0"></path>
+<rect x="636.5" y="278" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="293">"INPUT"</text>
+</g>
+<path d="M716 289h10"></path>
+<g>
+<path d="M726 289h0"></path>
+<path d="M959.5 289h0"></path>
+<path d="M726 289a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M746 269h193.5"></path>
+</g>
+<path d="M939.5 269a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M726 289h20"></path>
+<g>
+<path d="M746 289h0"></path>
+<path d="M939.5 289h0"></path>
+<path d="M746 289h20"></path>
+<g>
+<path d="M766 289h0"></path>
+<path d="M868.5 289h51"></path>
+<path d="M766 289h20"></path>
+<g class="terminal">
+<path d="M786 289h0"></path>
+<path d="M840 289h8.5"></path>
+<rect x="786" y="278" width="54" height="22" rx="10" ry="10"></rect>
+<text x="813" y="293">"ON"</text>
+</g>
+<path d="M848.5 289h20"></path>
+<path d="M766 289a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M786 319h0"></path>
+<path d="M848.5 319h0"></path>
+<rect x="786" y="308" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="817.25" y="323">"OFF"</text>
+</g>
+<path d="M848.5 319a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M919.5 289h20"></path>
+<path d="M746 289a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M766 349h0"></path>
+<path d="M919.5 349h0"></path>
+<g class="terminal">
+<path d="M766 349h0"></path>
+<path d="M811.5 349h0"></path>
+<rect x="766" y="338" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="788.75" y="353">"="</text>
+</g>
+<path d="M811.5 349h10"></path>
+<path d="M821.5 349h10"></path>
+<g class="non-terminal">
+<path d="M831.5 349h0"></path>
+<path d="M919.5 349h0"></path>
+<rect x="831.5" y="338" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="875.5" y="353">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M919.5 349a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M939.5 289h20"></path>
+</g>
+</g>
+<path d="M1010.5 289a10 10 0 0 0 10 -10v-209"></path>
+<path d="M626.5 70v299a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 379h0"></path>
+<path d="M724.5 379h286"></path>
+<rect x="636.5" y="368" width="88" height="22" rx="10" ry="10"></rect>
+<text x="680.5" y="383">"NO-GAP"</text>
+</g>
+<path d="M1010.5 379a10 10 0 0 0 10 -10v-299"></path>
+<path d="M626.5 70v329a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 409h0"></path>
+<path d="M792.5 409h218"></path>
+<rect x="636.5" y="398" width="156" height="22" rx="10" ry="10"></rect>
+<text x="714.5" y="413">"LEFT-JUSTIFIED"</text>
+</g>
+<path d="M1010.5 409a10 10 0 0 0 10 -10v-329"></path>
+<path d="M626.5 70v359a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 439h0"></path>
+<path d="M845.5 439h165"></path>
+<g class="terminal">
+<path d="M636.5 439h0"></path>
+<path d="M690.5 439h0"></path>
+<rect x="636.5" y="428" width="54" height="22" rx="10" ry="10"></rect>
+<text x="663.5" y="443">"AS"</text>
+</g>
+<path d="M690.5 439h10"></path>
+<g>
+<path d="M700.5 439h0"></path>
+<path d="M845.5 439h0"></path>
+<path d="M700.5 439h20"></path>
+<g class="terminal">
+<path d="M720.5 439h0"></path>
+<path d="M791.5 439h34"></path>
+<rect x="720.5" y="428" width="71" height="22" rx="10" ry="10"></rect>
+<text x="756" y="443">"LINE"</text>
+</g>
+<path d="M825.5 439h20"></path>
+<path d="M700.5 439a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M720.5 469h0"></path>
+<path d="M791.5 469h34"></path>
+<rect x="720.5" y="458" width="71" height="22" rx="10" ry="10"></rect>
+<text x="756" y="473">"ICON"</text>
+</g>
+<path d="M825.5 469a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M700.5 439a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M720.5 499h0"></path>
+<path d="M825.5 499h0"></path>
+<rect x="720.5" y="488" width="105" height="22" rx="10" ry="10"></rect>
+<text x="773" y="503">"CHECKBOX"</text>
+</g>
+<path d="M825.5 499a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M700.5 439a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M720.5 529h0"></path>
+<path d="M808.5 529h17"></path>
+<rect x="720.5" y="518" width="88" height="22" rx="10" ry="10"></rect>
+<text x="764.5" y="533">"SYMBOL"</text>
+</g>
+<path d="M825.5 529a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1010.5 439a10 10 0 0 0 10 -10v-359"></path>
+<path d="M626.5 70v479a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 559h0"></path>
+<path d="M928 559h82.5"></path>
+<g class="terminal">
+<path d="M636.5 559h0"></path>
+<path d="M724.5 559h0"></path>
+<rect x="636.5" y="548" width="88" height="22" rx="10" ry="10"></rect>
+<text x="680.5" y="563">"FRAMES"</text>
+</g>
+<path d="M724.5 559h10"></path>
+<g>
+<path d="M734.5 559h0"></path>
+<path d="M928 559h0"></path>
+<path d="M734.5 559h20"></path>
+<g>
+<path d="M754.5 559h0"></path>
+<path d="M857 559h51"></path>
+<path d="M754.5 559h20"></path>
+<g class="terminal">
+<path d="M774.5 559h0"></path>
+<path d="M828.5 559h8.5"></path>
+<rect x="774.5" y="548" width="54" height="22" rx="10" ry="10"></rect>
+<text x="801.5" y="563">"ON"</text>
+</g>
+<path d="M837 559h20"></path>
+<path d="M754.5 559a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M774.5 589h0"></path>
+<path d="M837 589h0"></path>
+<rect x="774.5" y="578" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="805.75" y="593">"OFF"</text>
+</g>
+<path d="M837 589a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M908 559h20"></path>
+<path d="M734.5 559a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M754.5 619h0"></path>
+<path d="M908 619h0"></path>
+<g class="terminal">
+<path d="M754.5 619h0"></path>
+<path d="M800 619h0"></path>
+<rect x="754.5" y="608" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="777.25" y="623">"="</text>
+</g>
+<path d="M800 619h10"></path>
+<path d="M810 619h10"></path>
+<g class="non-terminal">
+<path d="M820 619h0"></path>
+<path d="M908 619h0"></path>
+<rect x="820" y="608" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="864" y="623">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M908 619a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1010.5 559a10 10 0 0 0 10 -10v-479"></path>
+<path d="M626.5 70v578a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 658h0"></path>
+<path d="M976.5 658h34"></path>
+<g class="terminal">
+<path d="M636.5 658h0"></path>
+<path d="M733 658h0"></path>
+<rect x="636.5" y="647" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="684.75" y="662">"HOTSPOT"</text>
+</g>
+<path d="M733 658h10"></path>
+<g>
+<path d="M743 658h0"></path>
+<path d="M976.5 658h0"></path>
+<path d="M743 658a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M763 638h193.5"></path>
+</g>
+<path d="M956.5 638a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M743 658h20"></path>
+<g>
+<path d="M763 658h0"></path>
+<path d="M956.5 658h0"></path>
+<path d="M763 658h20"></path>
+<g>
+<path d="M783 658h0"></path>
+<path d="M885.5 658h51"></path>
+<path d="M783 658h20"></path>
+<g class="terminal">
+<path d="M803 658h0"></path>
+<path d="M857 658h8.5"></path>
+<rect x="803" y="647" width="54" height="22" rx="10" ry="10"></rect>
+<text x="830" y="662">"ON"</text>
+</g>
+<path d="M865.5 658h20"></path>
+<path d="M783 658a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M803 688h0"></path>
+<path d="M865.5 688h0"></path>
+<rect x="803" y="677" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="834.25" y="692">"OFF"</text>
+</g>
+<path d="M865.5 688a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M936.5 658h20"></path>
+<path d="M763 658a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M783 718h0"></path>
+<path d="M936.5 718h0"></path>
+<g class="terminal">
+<path d="M783 718h0"></path>
+<path d="M828.5 718h0"></path>
+<rect x="783" y="707" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="805.75" y="722">"="</text>
+</g>
+<path d="M828.5 718h10"></path>
+<path d="M838.5 718h10"></path>
+<g class="non-terminal">
+<path d="M848.5 718h0"></path>
+<path d="M936.5 718h0"></path>
+<rect x="848.5" y="707" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="892.5" y="722">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M936.5 718a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M956.5 658h20"></path>
+</g>
+</g>
+<path d="M1010.5 658a10 10 0 0 0 10 -10v-578"></path>
+<path d="M626.5 70v668a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 748h0"></path>
+<path d="M801 748h209.5"></path>
+<rect x="636.5" y="737" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="718.75" y="752">"RIGHT-JUSTIFIED"</text>
+</g>
+<path d="M1010.5 748a10 10 0 0 0 10 -10v-668"></path>
+<path d="M626.5 70v698a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 778h0"></path>
+<path d="M841 778h169.5"></path>
+<g class="terminal">
+<path d="M636.5 778h0"></path>
+<path d="M750 778h0"></path>
+<rect x="636.5" y="767" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="693.25" y="782">"TIME ZONE"</text>
+</g>
+<path d="M750 778h10"></path>
+<path d="M760 778h10"></path>
+<g class="non-terminal">
+<path d="M770 778h0"></path>
+<path d="M841 778h0"></path>
+<rect x="770" y="767" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="805.5" y="782">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 778a10 10 0 0 0 10 -10v-698"></path>
+<path d="M626.5 70v728a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 808h0"></path>
+<path d="M807 808h203.5"></path>
+<g class="terminal">
+<path d="M636.5 808h0"></path>
+<path d="M716 808h0"></path>
+<rect x="636.5" y="797" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="812">"UNDER"</text>
+</g>
+<path d="M716 808h10"></path>
+<path d="M726 808h10"></path>
+<g class="non-terminal">
+<path d="M736 808h0"></path>
+<path d="M807 808h0"></path>
+<rect x="736" y="797" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="771.5" y="812">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 808a10 10 0 0 0 10 -10v-728"></path>
+<path d="M626.5 70v758a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 838h0"></path>
+<path d="M807 838h203.5"></path>
+<g class="terminal">
+<path d="M636.5 838h0"></path>
+<path d="M716 838h0"></path>
+<rect x="636.5" y="827" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="842">"STYLE"</text>
+</g>
+<path d="M716 838h10"></path>
+<path d="M726 838h10"></path>
+<g class="non-terminal">
+<path d="M736 838h0"></path>
+<path d="M807 838h0"></path>
+<rect x="736" y="827" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="771.5" y="842">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 838a10 10 0 0 0 10 -10v-758"></path>
+<path d="M626.5 70v788a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 868h0"></path>
+<path d="M807 868h203.5"></path>
+<g class="terminal">
+<path d="M636.5 868h0"></path>
+<path d="M716 868h0"></path>
+<rect x="636.5" y="857" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="872">"ROUND"</text>
+</g>
+<path d="M716 868h10"></path>
+<path d="M726 868h10"></path>
+<g class="non-terminal">
+<path d="M736 868h0"></path>
+<path d="M807 868h0"></path>
+<rect x="736" y="857" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="771.5" y="872">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 868a10 10 0 0 0 10 -10v-788"></path>
+<path d="M626.5 70v818a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 898h0"></path>
+<path d="M841 898h169.5"></path>
+<g class="terminal">
+<path d="M636.5 898h0"></path>
+<path d="M750 898h0"></path>
+<rect x="636.5" y="887" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="693.25" y="902">"QUICKINFO"</text>
+</g>
+<path d="M750 898h10"></path>
+<path d="M760 898h10"></path>
+<g class="non-terminal">
+<path d="M770 898h0"></path>
+<path d="M841 898h0"></path>
+<rect x="770" y="887" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="805.5" y="902">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 898a10 10 0 0 0 10 -10v-818"></path>
+<path d="M626.5 70v848a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 928h0"></path>
+<path d="M869 928h141.5"></path>
+<rect x="636.5" y="917" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="752.75" y="932">"ENVIRONMENT TIME FORMAT"</text>
+</g>
+<path d="M1010.5 928a10 10 0 0 0 10 -10v-848"></path>
+<path d="M626.5 70v878a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 958h0"></path>
+<path d="M798.5 958h212"></path>
+<path d="M636.5 958h20"></path>
+<g class="terminal">
+<path d="M656.5 958h0"></path>
+<path d="M761.5 958h17"></path>
+<rect x="656.5" y="947" width="105" height="22" rx="10" ry="10"></rect>
+<text x="709" y="962">"DD/MM/YY"</text>
+</g>
+<path d="M778.5 958h20"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 988h0"></path>
+<path d="M761.5 988h17"></path>
+<rect x="656.5" y="977" width="105" height="22" rx="10" ry="10"></rect>
+<text x="709" y="992">"MM/DD/YY"</text>
+</g>
+<path d="M778.5 988a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 1018h0"></path>
+<path d="M778.5 1018h0"></path>
+<rect x="656.5" y="1007" width="122" height="22" rx="10" ry="10"></rect>
+<text x="717.5" y="1022">"DD/MM/YYYY"</text>
+</g>
+<path d="M778.5 1018a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 1048h0"></path>
+<path d="M778.5 1048h0"></path>
+<rect x="656.5" y="1037" width="122" height="22" rx="10" ry="10"></rect>
+<text x="717.5" y="1052">"MM/DD/YYYY"</text>
+</g>
+<path d="M778.5 1048a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 1078h0"></path>
+<path d="M744.5 1078h34"></path>
+<rect x="656.5" y="1067" width="88" height="22" rx="10" ry="10"></rect>
+<text x="700.5" y="1082">"DDMMYY"</text>
+</g>
+<path d="M778.5 1078a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 1108h0"></path>
+<path d="M744.5 1108h34"></path>
+<rect x="656.5" y="1097" width="88" height="22" rx="10" ry="10"></rect>
+<text x="700.5" y="1112">"MMDDYY"</text>
+</g>
+<path d="M778.5 1108a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M636.5 958a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M656.5 1138h0"></path>
+<path d="M744.5 1138h34"></path>
+<rect x="656.5" y="1127" width="88" height="22" rx="10" ry="10"></rect>
+<text x="700.5" y="1142">"YYMMDD"</text>
+</g>
+<path d="M778.5 1138a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1010.5 958a10 10 0 0 0 10 -10v-878"></path>
+<path d="M626.5 70v1088a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1168h0"></path>
+<path d="M798.5 1168h212"></path>
+<g class="terminal">
+<path d="M636.5 1168h0"></path>
+<path d="M707.5 1168h0"></path>
+<rect x="636.5" y="1157" width="71" height="22" rx="10" ry="10"></rect>
+<text x="672" y="1172">"UNIT"</text>
+</g>
+<path d="M707.5 1168h10"></path>
+<path d="M717.5 1168h10"></path>
+<g class="non-terminal">
+<path d="M727.5 1168h0"></path>
+<path d="M798.5 1168h0"></path>
+<rect x="727.5" y="1157" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="763" y="1172">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 1168a10 10 0 0 0 10 -10v-1088"></path>
+<path d="M626.5 70v1127a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1207h0"></path>
+<path d="M1010.5 1207h0"></path>
+<g class="terminal">
+<path d="M636.5 1207h0"></path>
+<path d="M767 1207h0"></path>
+<rect x="636.5" y="1196" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="701.75" y="1211">"INTENSIFIED"</text>
+</g>
+<path d="M767 1207h10"></path>
+<g>
+<path d="M777 1207h0"></path>
+<path d="M1010.5 1207h0"></path>
+<path d="M777 1207a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M797 1187h193.5"></path>
+</g>
+<path d="M990.5 1187a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M777 1207h20"></path>
+<g>
+<path d="M797 1207h0"></path>
+<path d="M990.5 1207h0"></path>
+<path d="M797 1207h20"></path>
+<g>
+<path d="M817 1207h0"></path>
+<path d="M919.5 1207h51"></path>
+<path d="M817 1207h20"></path>
+<g class="terminal">
+<path d="M837 1207h0"></path>
+<path d="M891 1207h8.5"></path>
+<rect x="837" y="1196" width="54" height="22" rx="10" ry="10"></rect>
+<text x="864" y="1211">"ON"</text>
+</g>
+<path d="M899.5 1207h20"></path>
+<path d="M817 1207a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M837 1237h0"></path>
+<path d="M899.5 1237h0"></path>
+<rect x="837" y="1226" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="868.25" y="1241">"OFF"</text>
+</g>
+<path d="M899.5 1237a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M970.5 1207h20"></path>
+<path d="M797 1207a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M817 1267h0"></path>
+<path d="M970.5 1267h0"></path>
+<g class="terminal">
+<path d="M817 1267h0"></path>
+<path d="M862.5 1267h0"></path>
+<rect x="817" y="1256" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="839.75" y="1271">"="</text>
+</g>
+<path d="M862.5 1267h10"></path>
+<path d="M872.5 1267h10"></path>
+<g class="non-terminal">
+<path d="M882.5 1267h0"></path>
+<path d="M970.5 1267h0"></path>
+<rect x="882.5" y="1256" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="926.5" y="1271">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M970.5 1267a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M990.5 1207h20"></path>
+</g>
+</g>
+<path d="M1010.5 1207a10 10 0 0 0 10 -10v-1127"></path>
+<path d="M626.5 70v1217a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1297h0"></path>
+<path d="M807 1297h203.5"></path>
+<g class="terminal">
+<path d="M636.5 1297h0"></path>
+<path d="M716 1297h0"></path>
+<rect x="636.5" y="1286" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="676.25" y="1301">"INDEX"</text>
+</g>
+<path d="M716 1297h10"></path>
+<path d="M726 1297h10"></path>
+<g class="non-terminal">
+<path d="M736 1297h0"></path>
+<path d="M807 1297h0"></path>
+<rect x="736" y="1286" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="771.5" y="1301">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 1297a10 10 0 0 0 10 -10v-1217"></path>
+<path d="M626.5 70v1247a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1327h0"></path>
+<path d="M832.5 1327h178"></path>
+<g class="terminal">
+<path d="M636.5 1327h0"></path>
+<path d="M741.5 1327h0"></path>
+<rect x="636.5" y="1316" width="105" height="22" rx="10" ry="10"></rect>
+<text x="689" y="1331">"DECIMALS"</text>
+</g>
+<path d="M741.5 1327h10"></path>
+<path d="M751.5 1327h10"></path>
+<g class="non-terminal">
+<path d="M761.5 1327h0"></path>
+<path d="M832.5 1327h0"></path>
+<rect x="761.5" y="1316" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="797" y="1331">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 1327a10 10 0 0 0 10 -10v-1247"></path>
+<path d="M626.5 70v1286a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1366h0"></path>
+<path d="M976.5 1366h34"></path>
+<g class="terminal">
+<path d="M636.5 1366h0"></path>
+<path d="M733 1366h0"></path>
+<rect x="636.5" y="1355" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="684.75" y="1370">"INVERSE"</text>
+</g>
+<path d="M733 1366h10"></path>
+<g>
+<path d="M743 1366h0"></path>
+<path d="M976.5 1366h0"></path>
+<path d="M743 1366a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M763 1346h193.5"></path>
+</g>
+<path d="M956.5 1346a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M743 1366h20"></path>
+<g>
+<path d="M763 1366h0"></path>
+<path d="M956.5 1366h0"></path>
+<path d="M763 1366h20"></path>
+<g>
+<path d="M783 1366h0"></path>
+<path d="M885.5 1366h51"></path>
+<path d="M783 1366h20"></path>
+<g class="terminal">
+<path d="M803 1366h0"></path>
+<path d="M857 1366h8.5"></path>
+<rect x="803" y="1355" width="54" height="22" rx="10" ry="10"></rect>
+<text x="830" y="1370">"ON"</text>
+</g>
+<path d="M865.5 1366h20"></path>
+<path d="M783 1366a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M803 1396h0"></path>
+<path d="M865.5 1396h0"></path>
+<rect x="803" y="1385" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="834.25" y="1400">"OFF"</text>
+</g>
+<path d="M865.5 1396a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M936.5 1366h20"></path>
+<path d="M763 1366a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M783 1426h0"></path>
+<path d="M936.5 1426h0"></path>
+<g class="terminal">
+<path d="M783 1426h0"></path>
+<path d="M828.5 1426h0"></path>
+<rect x="783" y="1415" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="805.75" y="1430">"="</text>
+</g>
+<path d="M828.5 1426h10"></path>
+<path d="M838.5 1426h10"></path>
+<g class="non-terminal">
+<path d="M848.5 1426h0"></path>
+<path d="M936.5 1426h0"></path>
+<rect x="848.5" y="1415" width="88" height="22"></rect>
+<a xlink:href="#/abap/expression/FieldSub"><text x="892.5" y="1430">FieldSub</text>
+</a>
+</g>
+</g>
+<path d="M936.5 1426a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M956.5 1366h20"></path>
+</g>
+</g>
+<path d="M1010.5 1366a10 10 0 0 0 10 -10v-1286"></path>
+<path d="M626.5 70v1376a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M636.5 1456h0"></path>
+<path d="M699 1456h311.5"></path>
+<rect x="636.5" y="1445" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/expression/Color"><text x="667.75" y="1460">Color</text>
+</a>
+</g>
+<path d="M1010.5 1456a10 10 0 0 0 10 -10v-1376"></path>
+<path d="M626.5 70v1406a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M636.5 1486h0"></path>
+<path d="M832.5 1486h178"></path>
+<g class="terminal">
+<path d="M636.5 1486h0"></path>
+<path d="M741.5 1486h0"></path>
+<rect x="636.5" y="1475" width="105" height="22" rx="10" ry="10"></rect>
+<text x="689" y="1490">"CURRENCY"</text>
+</g>
+<path d="M741.5 1486h10"></path>
+<path d="M751.5 1486h10"></path>
+<g class="non-terminal">
+<path d="M761.5 1486h0"></path>
+<path d="M832.5 1486h0"></path>
+<rect x="761.5" y="1475" width="71" height="22"></rect>
+<a xlink:href="#/abap/expression/Source"><text x="797" y="1490">Source</text>
+</a>
+</g>
+</g>
+<path d="M1010.5 1486a10 10 0 0 0 10 -10v-1406"></path>
+<path d="M626.5 70v1436a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M636.5 1516h0"></path>
+<path d="M733 1516h277.5"></path>
+<rect x="636.5" y="1505" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="684.75" y="1520">"NO-SIGN"</text>
+</g>
+<path d="M1010.5 1516a10 10 0 0 0 10 -10v-1436"></path>
+<g class="diagram-text">
+<title>take one or more branches, once each, in any order</title>
+<path d="M 626.5 60 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z" class="diagram-text"></path>
+<text x="611.5" y="74" class="diagram-text">1+</text>
+<path d="M 1020.5 60 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z" class="diagram-text"></path>
+<path d="M 1027.5 68 a 4 4 0 1 0 6 -1 m 2.75 -1 h -4 v 4 m 0 -3 h 2" style="stroke-width: 1.75"></path>
+</g>
+</g>
+<path d="M1040.5 70h20"></path>
+</g>
+</g>
+<path d="M1060.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1080.5 31h10"></path>
+<path d="M 1090.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Any.svg b/abap/structure_Any.svg
new file mode 100644
index 00000000..062542a4
--- /dev/null
+++ b/abap/structure_Any.svg
@@ -0,0 +1,343 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="361.5" height="949" viewBox="0 0 361.5 949">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M321.5 40h0"></path>
+<path d="M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h241.5"></path>
+</g>
+<path d="M301.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M301.5 40h0"></path>
+<path d="M60 40h10"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M291.5 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="terminal">
+<path d="M90 40h0"></path>
+<path d="M254.5 40h17"></path>
+<rect x="90" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassLocalFriends"><text x="172.25" y="44">ClassLocalFriends</text>
+</a>
+</g>
+<path d="M271.5 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 70h0"></path>
+<path d="M220.5 70h51"></path>
+<rect x="90" y="59" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDeferred"><text x="155.25" y="74">ClassDeferred</text>
+</a>
+</g>
+<path d="M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 100h0"></path>
+<path d="M161 100h110.5"></path>
+<rect x="90" y="89" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Report"><text x="125.5" y="104">Report</text>
+</a>
+</g>
+<path d="M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 130h0"></path>
+<path d="M169.5 130h102"></path>
+<rect x="90" y="119" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Program"><text x="129.75" y="134">Program</text>
+</a>
+</g>
+<path d="M271.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 160h0"></path>
+<path d="M186.5 160h85"></path>
+<rect x="90" y="149" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Parameter"><text x="138.25" y="164">Parameter</text>
+</a>
+</g>
+<path d="M271.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 190h0"></path>
+<path d="M263 190h8.5"></path>
+<rect x="90" y="179" width="173" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CheckSelectOptions"><text x="176.5" y="194">CheckSelectOptions</text>
+</a>
+</g>
+<path d="M271.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 220h0"></path>
+<path d="M135.5 220h136"></path>
+<rect x="90" y="209" width="45.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Get"><text x="112.75" y="224">Get</text>
+</a>
+</g>
+<path d="M271.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 250h0"></path>
+<path d="M229 250h42.5"></path>
+<rect x="90" y="239" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Initialization"><text x="159.5" y="254">Initialization</text>
+</a>
+</g>
+<path d="M271.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 280h0"></path>
+<path d="M254.5 280h17"></path>
+<rect x="90" y="269" width="164.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InterfaceDeferred"><text x="172.25" y="284">InterfaceDeferred</text>
+</a>
+</g>
+<path d="M271.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 310h0"></path>
+<path d="M237.5 310h34"></path>
+<rect x="90" y="299" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SelectionScreen"><text x="163.75" y="314">SelectionScreen</text>
+</a>
+</g>
+<path d="M271.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 340h0"></path>
+<path d="M212 340h59.5"></path>
+<rect x="90" y="329" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SelectOption"><text x="151" y="344">SelectOption</text>
+</a>
+</g>
+<path d="M271.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 370h0"></path>
+<path d="M254.5 370h17"></path>
+<rect x="90" y="359" width="164.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AtSelectionScreen"><text x="172.25" y="374">AtSelectionScreen</text>
+</a>
+</g>
+<path d="M271.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 400h0"></path>
+<path d="M237.5 400h34"></path>
+<rect x="90" y="389" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AtLineSelection"><text x="163.75" y="404">AtLineSelection</text>
+</a>
+</g>
+<path d="M271.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 430h0"></path>
+<path d="M220.5 430h51"></path>
+<rect x="90" y="419" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AtUserCommand"><text x="155.25" y="434">AtUserCommand</text>
+</a>
+</g>
+<path d="M271.5 430a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 460h0"></path>
+<path d="M246 460h25.5"></path>
+<rect x="90" y="449" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/StartOfSelection"><text x="168" y="464">StartOfSelection</text>
+</a>
+</g>
+<path d="M271.5 460a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 490h0"></path>
+<path d="M229 490h42.5"></path>
+<rect x="90" y="479" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndOfSelection"><text x="159.5" y="494">EndOfSelection</text>
+</a>
+</g>
+<path d="M271.5 490a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 520h0"></path>
+<path d="M220.5 520h51"></path>
+<rect x="90" y="509" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/LoadOfProgram"><text x="155.25" y="524">LoadOfProgram</text>
+</a>
+</g>
+<path d="M271.5 520a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 550h0"></path>
+<path d="M186.5 550h85"></path>
+<rect x="90" y="539" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TopOfPage"><text x="138.25" y="554">TopOfPage</text>
+</a>
+</g>
+<path d="M271.5 550a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 580h0"></path>
+<path d="M186.5 580h85"></path>
+<rect x="90" y="569" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndOfPage"><text x="138.25" y="584">EndOfPage</text>
+</a>
+</g>
+<path d="M271.5 580a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 610h0"></path>
+<path d="M178 610h93.5"></path>
+<rect x="90" y="599" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Controls"><text x="134" y="614">Controls</text>
+</a>
+</g>
+<path d="M271.5 610a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 640h0"></path>
+<path d="M186.5 640h85"></path>
+<rect x="90" y="629" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="138.25" y="644">TypePools</text>
+</a>
+</g>
+<path d="M271.5 640a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 670h0"></path>
+<path d="M178 670h93.5"></path>
+<rect x="90" y="659" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePool"><text x="134" y="674">TypePool</text>
+</a>
+</g>
+<path d="M271.5 670a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 700h0"></path>
+<path d="M212 700h59.5"></path>
+<rect x="90" y="689" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FunctionPool"><text x="151" y="704">FunctionPool</text>
+</a>
+</g>
+<path d="M271.5 700a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 730h0"></path>
+<path d="M161 730h110.5"></path>
+<rect x="90" y="719" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Normal"><text x="125.5" y="734">Normal</text>
+</a>
+</g>
+<path d="M271.5 730a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 760h0"></path>
+<path d="M144 760h127.5"></path>
+<rect x="90" y="749" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Form"><text x="117" y="764">Form</text>
+</a>
+</g>
+<path d="M271.5 760a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 790h0"></path>
+<path d="M161 790h110.5"></path>
+<rect x="90" y="779" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Module"><text x="125.5" y="794">Module</text>
+</a>
+</g>
+<path d="M271.5 790a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 820h0"></path>
+<path d="M229 820h42.5"></path>
+<rect x="90" y="809" width="139" height="22"></rect>
+<a xlink:href="#/abap/structure/FunctionModule"><text x="159.5" y="824">FunctionModule</text>
+</a>
+</g>
+<path d="M271.5 820a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 850h0"></path>
+<path d="M186.5 850h85"></path>
+<rect x="90" y="839" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Interface"><text x="138.25" y="854">Interface</text>
+</a>
+</g>
+<path d="M271.5 850a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 880h0"></path>
+<path d="M237.5 880h34"></path>
+<rect x="90" y="869" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassDefinition"><text x="163.75" y="884">ClassDefinition</text>
+</a>
+</g>
+<path d="M271.5 880a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 910h0"></path>
+<path d="M271.5 910h0"></path>
+<rect x="90" y="899" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassImplementation"><text x="180.75" y="914">ClassImplementation</text>
+</a>
+</g>
+<path d="M271.5 910a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M291.5 40h10"></path>
+<path d="M70 40a10 10 0 0 0 -10 10v869a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 929h221.5"></path>
+</g>
+<path d="M291.5 929a10 10 0 0 0 10 -10v-869a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M301.5 40h20"></path>
+</g>
+<path d="M 321.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_At.svg b/abap/structure_At.svg
new file mode 100644
index 00000000..3e8cc0b7
--- /dev/null
+++ b/abap/structure_At.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="313.5" height="71" viewBox="0 0 313.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M263.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M87 40h0"></path>
+<rect x="50" y="29" width="37" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/At"><text x="68.5" y="44">At</text>
+</a>
+</g>
+<path d="M87 40h10"></path>
+<g>
+<path d="M97 40h0"></path>
+<path d="M191 40h0"></path>
+<path d="M97 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M117 20h54"></path>
+</g>
+<path d="M171 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M97 40h20"></path>
+<g class="non-terminal">
+<path d="M117 40h0"></path>
+<path d="M171 40h0"></path>
+<rect x="117" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="144" y="44">Body</text>
+</a>
+</g>
+<path d="M171 40h20"></path>
+</g>
+<path d="M191 40h10"></path>
+<g class="terminal">
+<path d="M201 40h0"></path>
+<path d="M263.5 40h0"></path>
+<rect x="201" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndAt"><text x="232.25" y="44">EndAt</text>
+</a>
+</g>
+</g>
+<path d="M263.5 40h10"></path>
+<path d="M 273.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_AtFirst.svg b/abap/structure_AtFirst.svg
new file mode 100644
index 00000000..98e55070
--- /dev/null
+++ b/abap/structure_AtFirst.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="356" height="71" viewBox="0 0 356 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M306 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AtFirst"><text x="89.75" y="44">AtFirst</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M233.5 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h54"></path>
+</g>
+<path d="M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="non-terminal">
+<path d="M159.5 40h0"></path>
+<path d="M213.5 40h0"></path>
+<rect x="159.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="186.5" y="44">Body</text>
+</a>
+</g>
+<path d="M213.5 40h20"></path>
+</g>
+<path d="M233.5 40h10"></path>
+<g class="terminal">
+<path d="M243.5 40h0"></path>
+<path d="M306 40h0"></path>
+<rect x="243.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndAt"><text x="274.75" y="44">EndAt</text>
+</a>
+</g>
+</g>
+<path d="M306 40h10"></path>
+<path d="M 316 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_AtLast.svg b/abap/structure_AtLast.svg
new file mode 100644
index 00000000..8681a7ea
--- /dev/null
+++ b/abap/structure_AtLast.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="347.5" height="71" viewBox="0 0 347.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M297.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AtLast"><text x="85.5" y="44">AtLast</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M225 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h54"></path>
+</g>
+<path d="M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="non-terminal">
+<path d="M151 40h0"></path>
+<path d="M205 40h0"></path>
+<rect x="151" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="178" y="44">Body</text>
+</a>
+</g>
+<path d="M205 40h20"></path>
+</g>
+<path d="M225 40h10"></path>
+<g class="terminal">
+<path d="M235 40h0"></path>
+<path d="M297.5 40h0"></path>
+<rect x="235" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndAt"><text x="266.25" y="44">EndAt</text>
+</a>
+</g>
+</g>
+<path d="M297.5 40h10"></path>
+<path d="M 307.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Body.svg b/abap/structure_Body.svg
new file mode 100644
index 00000000..84bcd7a6
--- /dev/null
+++ b/abap/structure_Body.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="211" height="80" viewBox="0 0 211 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M171 40h0"></path>
+<path d="M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h91"></path>
+</g>
+<path d="M151 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M151 40h0"></path>
+<path d="M60 40h10"></path>
+<g class="non-terminal">
+<path d="M70 40h0"></path>
+<path d="M141 40h0"></path>
+<rect x="70" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Normal"><text x="105.5" y="44">Normal</text>
+</a>
+</g>
+<path d="M141 40h10"></path>
+<path d="M70 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 60h71"></path>
+</g>
+<path d="M141 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M151 40h20"></path>
+</g>
+<path d="M 171 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Case.svg b/abap/structure_Case.svg
new file mode 100644
index 00000000..87f20cd1
--- /dev/null
+++ b/abap/structure_Case.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="450" height="139" viewBox="0 0 450 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M400 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Case"><text x="77" y="44">Case</text>
+</a>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M310.5 40h0"></path>
+<path d="M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M134 20h156.5"></path>
+</g>
+<path d="M290.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M114 40h20"></path>
+<g>
+<path d="M134 40h0"></path>
+<path d="M290.5 40h0"></path>
+<path d="M134 40h10"></path>
+<g>
+<path d="M144 40h0"></path>
+<path d="M280.5 40h0"></path>
+<path d="M144 40h20"></path>
+<g class="non-terminal">
+<path d="M164 40h0"></path>
+<path d="M218 40h42.5"></path>
+<rect x="164" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/When"><text x="191" y="44">When</text>
+</a>
+</g>
+<path d="M260.5 40h20"></path>
+<path d="M144 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M164 70h0"></path>
+<path d="M260.5 70h0"></path>
+<rect x="164" y="59" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MacroCall"><text x="212.25" y="74">MacroCall</text>
+</a>
+</g>
+<path d="M260.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M144 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M164 100h0"></path>
+<path d="M243.5 100h17"></path>
+<rect x="164" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="203.75" y="104">Include</text>
+</a>
+</g>
+<path d="M260.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M280.5 40h10"></path>
+<path d="M144 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M144 119h136.5"></path>
+</g>
+<path d="M280.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M290.5 40h20"></path>
+</g>
+<path d="M310.5 40h10"></path>
+<g class="terminal">
+<path d="M320.5 40h0"></path>
+<path d="M400 40h0"></path>
+<rect x="320.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndCase"><text x="360.25" y="44">EndCase</text>
+</a>
+</g>
+</g>
+<path d="M400 40h10"></path>
+<path d="M 410 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_CaseType.svg b/abap/structure_CaseType.svg
new file mode 100644
index 00000000..c6acfa1d
--- /dev/null
+++ b/abap/structure_CaseType.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="475.5" height="109" viewBox="0 0 475.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M425.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CaseType"><text x="94" y="44">CaseType</text>
+</a>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M336 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h148"></path>
+</g>
+<path d="M316 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g>
+<path d="M168 40h0"></path>
+<path d="M316 40h0"></path>
+<path d="M168 40h10"></path>
+<g>
+<path d="M178 40h0"></path>
+<path d="M306 40h0"></path>
+<path d="M178 40h20"></path>
+<g class="non-terminal">
+<path d="M198 40h0"></path>
+<path d="M286 40h0"></path>
+<rect x="198" y="29" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/WhenType"><text x="242" y="44">WhenType</text>
+</a>
+</g>
+<path d="M286 40h20"></path>
+<path d="M178 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M198 70h0"></path>
+<path d="M252 70h34"></path>
+<rect x="198" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Data"><text x="225" y="74">Data</text>
+</a>
+</g>
+<path d="M286 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M306 40h10"></path>
+<path d="M178 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M178 89h128"></path>
+</g>
+<path d="M306 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M316 40h20"></path>
+</g>
+<path d="M336 40h10"></path>
+<g class="terminal">
+<path d="M346 40h0"></path>
+<path d="M425.5 40h0"></path>
+<rect x="346" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndCase"><text x="385.75" y="44">EndCase</text>
+</a>
+</g>
+</g>
+<path d="M425.5 40h10"></path>
+<path d="M 435.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Catch.svg b/abap/structure_Catch.svg
new file mode 100644
index 00000000..7f990764
--- /dev/null
+++ b/abap/structure_Catch.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="266.5" height="71" viewBox="0 0 266.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M216.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M112.5 40h0"></path>
+<rect x="50" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Catch"><text x="81.25" y="44">Catch</text>
+</a>
+</g>
+<path d="M112.5 40h10"></path>
+<g>
+<path d="M122.5 40h0"></path>
+<path d="M216.5 40h0"></path>
+<path d="M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M142.5 20h54"></path>
+</g>
+<path d="M196.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M122.5 40h20"></path>
+<g class="non-terminal">
+<path d="M142.5 40h0"></path>
+<path d="M196.5 40h0"></path>
+<rect x="142.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="169.5" y="44">Body</text>
+</a>
+</g>
+<path d="M196.5 40h20"></path>
+</g>
+</g>
+<path d="M216.5 40h10"></path>
+<path d="M 226.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_CatchSystemExceptions.svg b/abap/structure_CatchSystemExceptions.svg
new file mode 100644
index 00000000..ebc61488
--- /dev/null
+++ b/abap/structure_CatchSystemExceptions.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="500.5" height="71" viewBox="0 0 500.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M450.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M248.5 40h0"></path>
+<rect x="50" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CatchSystemExceptions"><text x="149.25" y="44">CatchSystemExceptions</text>
+</a>
+</g>
+<path d="M248.5 40h10"></path>
+<g>
+<path d="M258.5 40h0"></path>
+<path d="M352.5 40h0"></path>
+<path d="M258.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M278.5 20h54"></path>
+</g>
+<path d="M332.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M258.5 40h20"></path>
+<g class="non-terminal">
+<path d="M278.5 40h0"></path>
+<path d="M332.5 40h0"></path>
+<rect x="278.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="305.5" y="44">Body</text>
+</a>
+</g>
+<path d="M332.5 40h20"></path>
+</g>
+<path d="M352.5 40h10"></path>
+<g class="terminal">
+<path d="M362.5 40h0"></path>
+<path d="M450.5 40h0"></path>
+<rect x="362.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndCatch"><text x="406.5" y="44">EndCatch</text>
+</a>
+</g>
+</g>
+<path d="M450.5 40h10"></path>
+<path d="M 460.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ClassData.svg b/abap/structure_ClassData.svg
new file mode 100644
index 00000000..5a5bac09
--- /dev/null
+++ b/abap/structure_ClassData.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="577.5" height="109" viewBox="0 0 577.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M527.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M189 40h0"></path>
+<rect x="50" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDataBegin"><text x="119.5" y="44">ClassDataBegin</text>
+</a>
+</g>
+<path d="M189 40h10"></path>
+<g>
+<path d="M199 40h0"></path>
+<path d="M395.5 40h0"></path>
+<path d="M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M219 20h156.5"></path>
+</g>
+<path d="M375.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M199 40h20"></path>
+<g>
+<path d="M219 40h0"></path>
+<path d="M375.5 40h0"></path>
+<path d="M219 40h10"></path>
+<g>
+<path d="M229 40h0"></path>
+<path d="M365.5 40h0"></path>
+<path d="M229 40h20"></path>
+<g class="terminal">
+<path d="M249 40h0"></path>
+<path d="M345.5 40h0"></path>
+<rect x="249" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassData"><text x="297.25" y="44">ClassData</text>
+</a>
+</g>
+<path d="M345.5 40h20"></path>
+<path d="M229 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M249 70h0"></path>
+<path d="M345.5 70h0"></path>
+<rect x="249" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassData"><text x="297.25" y="74">ClassData</text>
+</a>
+</g>
+<path d="M345.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M365.5 40h10"></path>
+<path d="M229 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M229 89h136.5"></path>
+</g>
+<path d="M365.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M375.5 40h20"></path>
+</g>
+<path d="M395.5 40h10"></path>
+<g class="terminal">
+<path d="M405.5 40h0"></path>
+<path d="M527.5 40h0"></path>
+<rect x="405.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDataEnd"><text x="466.5" y="44">ClassDataEnd</text>
+</a>
+</g>
+</g>
+<path d="M527.5 40h10"></path>
+<path d="M 537.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ClassDefinition.svg b/abap/structure_ClassDefinition.svg
new file mode 100644
index 00000000..44d3dafb
--- /dev/null
+++ b/abap/structure_ClassDefinition.svg
@@ -0,0 +1,194 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1469.5" height="80" viewBox="0 0 1469.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1419.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M197.5 40h0"></path>
+<rect x="50" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDefinition"><text x="123.75" y="44">ClassDefinition</text>
+</a>
+</g>
+<path d="M197.5 40h10"></path>
+<path d="M207.5 40h10"></path>
+<g>
+<path d="M217.5 40h0"></path>
+<path d="M1311.5 40h0"></path>
+<g>
+<path d="M217.5 40h0"></path>
+<path d="M413.5 40h0"></path>
+<path d="M217.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M237.5 20h156"></path>
+</g>
+<path d="M393.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M217.5 40h20"></path>
+<g class="terminal">
+<path d="M237.5 40h0"></path>
+<path d="M393.5 40h0"></path>
+<rect x="237.5" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetExtendedCheck"><text x="315.5" y="44">SetExtendedCheck</text>
+</a>
+</g>
+<path d="M393.5 40h20"></path>
+</g>
+<g>
+<path d="M413.5 40h0"></path>
+<path d="M570 40h0"></path>
+<path d="M413.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M433.5 20h116.5"></path>
+</g>
+<path d="M550 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M413.5 40h20"></path>
+<g>
+<path d="M433.5 40h0"></path>
+<path d="M550 40h0"></path>
+<path d="M433.5 40h10"></path>
+<g class="terminal">
+<path d="M443.5 40h0"></path>
+<path d="M540 40h0"></path>
+<rect x="443.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="491.75" y="44">TypePools</text>
+</a>
+</g>
+<path d="M540 40h10"></path>
+<path d="M443.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M443.5 60h96.5"></path>
+</g>
+<path d="M540 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M550 40h20"></path>
+</g>
+<g>
+<path d="M570 40h0"></path>
+<path d="M740.5 40h0"></path>
+<path d="M570 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M590 20h130.5"></path>
+</g>
+<path d="M720.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M570 40h20"></path>
+<g class="non-terminal">
+<path d="M590 40h0"></path>
+<path d="M720.5 40h0"></path>
+<rect x="590" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/structure/PublicSection"><text x="655.25" y="44">PublicSection</text>
+</a>
+</g>
+<path d="M720.5 40h20"></path>
+</g>
+<g>
+<path d="M740.5 40h0"></path>
+<path d="M936.5 40h0"></path>
+<path d="M740.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M760.5 20h156"></path>
+</g>
+<path d="M916.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M740.5 40h20"></path>
+<g class="non-terminal">
+<path d="M760.5 40h0"></path>
+<path d="M916.5 40h0"></path>
+<rect x="760.5" y="29" width="156" height="22"></rect>
+<a xlink:href="#/abap/structure/ProtectedSection"><text x="838.5" y="44">ProtectedSection</text>
+</a>
+</g>
+<path d="M916.5 40h20"></path>
+</g>
+<g>
+<path d="M936.5 40h0"></path>
+<path d="M1115.5 40h0"></path>
+<path d="M936.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M956.5 20h139"></path>
+</g>
+<path d="M1095.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M936.5 40h20"></path>
+<g class="non-terminal">
+<path d="M956.5 40h0"></path>
+<path d="M1095.5 40h0"></path>
+<rect x="956.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/abap/structure/PrivateSection"><text x="1026" y="44">PrivateSection</text>
+</a>
+</g>
+<path d="M1095.5 40h20"></path>
+</g>
+<g>
+<path d="M1115.5 40h0"></path>
+<path d="M1311.5 40h0"></path>
+<path d="M1115.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1135.5 20h156"></path>
+</g>
+<path d="M1291.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1115.5 40h20"></path>
+<g class="terminal">
+<path d="M1135.5 40h0"></path>
+<path d="M1291.5 40h0"></path>
+<rect x="1135.5" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetExtendedCheck"><text x="1213.5" y="44">SetExtendedCheck</text>
+</a>
+</g>
+<path d="M1291.5 40h20"></path>
+</g>
+</g>
+<path d="M1311.5 40h10"></path>
+<path d="M1321.5 40h10"></path>
+<g class="terminal">
+<path d="M1331.5 40h0"></path>
+<path d="M1419.5 40h0"></path>
+<rect x="1331.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndClass"><text x="1375.5" y="44">EndClass</text>
+</a>
+</g>
+</g>
+<path d="M1419.5 40h10"></path>
+<path d="M 1429.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ClassGlobal.svg b/abap/structure_ClassGlobal.svg
new file mode 100644
index 00000000..718da03b
--- /dev/null
+++ b/abap/structure_ClassGlobal.svg
@@ -0,0 +1,99 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="615.5" height="80" viewBox="0 0 615.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M565.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M206.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h116.5"></path>
+</g>
+<path d="M186.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M186.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="terminal">
+<path d="M80 40h0"></path>
+<path d="M176.5 40h0"></path>
+<rect x="80" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="128.25" y="44">TypePools</text>
+</a>
+</g>
+<path d="M176.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h96.5"></path>
+</g>
+<path d="M176.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M186.5 40h20"></path>
+</g>
+<path d="M206.5 40h10"></path>
+<g class="non-terminal">
+<path d="M216.5 40h0"></path>
+<path d="M364 40h0"></path>
+<rect x="216.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassDefinition"><text x="290.25" y="44">ClassDefinition</text>
+</a>
+</g>
+<path d="M364 40h10"></path>
+<path d="M374 40h10"></path>
+<g class="non-terminal">
+<path d="M384 40h0"></path>
+<path d="M565.5 40h0"></path>
+<rect x="384" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassImplementation"><text x="474.75" y="44">ClassImplementation</text>
+</a>
+</g>
+</g>
+<path d="M565.5 40h10"></path>
+<path d="M 575.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ClassImplementation.svg b/abap/structure_ClassImplementation.svg
new file mode 100644
index 00000000..b6e268e4
--- /dev/null
+++ b/abap/structure_ClassImplementation.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="569" height="139" viewBox="0 0 569 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M519 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M231.5 40h0"></path>
+<rect x="50" y="29" width="181.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassImplementation"><text x="140.75" y="44">ClassImplementation</text>
+</a>
+</g>
+<path d="M231.5 40h10"></path>
+<g>
+<path d="M241.5 40h0"></path>
+<path d="M421 40h0"></path>
+<path d="M241.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M261.5 20h139.5"></path>
+</g>
+<path d="M401 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M241.5 40h20"></path>
+<g>
+<path d="M261.5 40h0"></path>
+<path d="M401 40h0"></path>
+<path d="M261.5 40h10"></path>
+<g>
+<path d="M271.5 40h0"></path>
+<path d="M391 40h0"></path>
+<path d="M271.5 40h20"></path>
+<g class="non-terminal">
+<path d="M291.5 40h0"></path>
+<path d="M362.5 40h8.5"></path>
+<rect x="291.5" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Define"><text x="327" y="44">Define</text>
+</a>
+</g>
+<path d="M371 40h20"></path>
+<path d="M271.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M291.5 70h0"></path>
+<path d="M371 70h0"></path>
+<rect x="291.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="331.25" y="74">Include</text>
+</a>
+</g>
+<path d="M371 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M271.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M291.5 100h0"></path>
+<path d="M362.5 100h8.5"></path>
+<rect x="291.5" y="89" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Method"><text x="327" y="104">Method</text>
+</a>
+</g>
+<path d="M371 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M391 40h10"></path>
+<path d="M271.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M271.5 119h119.5"></path>
+</g>
+<path d="M391 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M401 40h20"></path>
+</g>
+<path d="M421 40h10"></path>
+<g class="terminal">
+<path d="M431 40h0"></path>
+<path d="M519 40h0"></path>
+<rect x="431" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndClass"><text x="475" y="44">EndClass</text>
+</a>
+</g>
+</g>
+<path d="M519 40h10"></path>
+<path d="M 529 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Cleanup.svg b/abap/structure_Cleanup.svg
new file mode 100644
index 00000000..916077d0
--- /dev/null
+++ b/abap/structure_Cleanup.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="283.5" height="71" viewBox="0 0 283.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M233.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Cleanup"><text x="89.75" y="44">Cleanup</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M233.5 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h54"></path>
+</g>
+<path d="M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="non-terminal">
+<path d="M159.5 40h0"></path>
+<path d="M213.5 40h0"></path>
+<rect x="159.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="186.5" y="44">Body</text>
+</a>
+</g>
+<path d="M213.5 40h20"></path>
+</g>
+</g>
+<path d="M233.5 40h10"></path>
+<path d="M 243.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Constants.svg b/abap/structure_Constants.svg
new file mode 100644
index 00000000..bc7a7a83
--- /dev/null
+++ b/abap/structure_Constants.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="560.5" height="139" viewBox="0 0 560.5 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M510.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ConstantBegin"><text x="115.25" y="44">ConstantBegin</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M387 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h156.5"></path>
+</g>
+<path d="M367 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M367 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M357 40h0"></path>
+<path d="M220.5 40h20"></path>
+<g class="terminal">
+<path d="M240.5 40h0"></path>
+<path d="M328.5 40h8.5"></path>
+<rect x="240.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Constant"><text x="284.5" y="44">Constant</text>
+</a>
+</g>
+<path d="M337 40h20"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M240.5 70h0"></path>
+<path d="M320 70h17"></path>
+<rect x="240.5" y="59" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="280.25" y="74">Include</text>
+</a>
+</g>
+<path d="M337 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M240.5 100h0"></path>
+<path d="M337 100h0"></path>
+<rect x="240.5" y="89" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Constants"><text x="288.75" y="104">Constants</text>
+</a>
+</g>
+<path d="M337 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M357 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 119h136.5"></path>
+</g>
+<path d="M357 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M367 40h20"></path>
+</g>
+<path d="M387 40h10"></path>
+<g class="terminal">
+<path d="M397 40h0"></path>
+<path d="M510.5 40h0"></path>
+<rect x="397" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ConstantEnd"><text x="453.75" y="44">ConstantEnd</text>
+</a>
+</g>
+</g>
+<path d="M510.5 40h10"></path>
+<path d="M 520.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Data.svg b/abap/structure_Data.svg
new file mode 100644
index 00000000..6ef9f674
--- /dev/null
+++ b/abap/structure_Data.svg
@@ -0,0 +1,212 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="552" height="439" viewBox="0 0 552 439">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M502 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DataBegin"><text x="98.25" y="44">DataBegin</text>
+</a>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M412.5 40h0"></path>
+<path d="M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M176.5 20h216"></path>
+</g>
+<path d="M392.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M156.5 40h20"></path>
+<g>
+<path d="M176.5 40h0"></path>
+<path d="M392.5 40h0"></path>
+<path d="M176.5 40h10"></path>
+<g>
+<path d="M186.5 40h0"></path>
+<path d="M382.5 40h0"></path>
+<path d="M186.5 40h20"></path>
+<g class="terminal">
+<path d="M206.5 40h0"></path>
+<path d="M260.5 40h102"></path>
+<rect x="206.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Data"><text x="233.5" y="44">Data</text>
+</a>
+</g>
+<path d="M362.5 40h20"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 70h0"></path>
+<path d="M260.5 70h102"></path>
+<rect x="206.5" y="59" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Data"><text x="233.5" y="74">Data</text>
+</a>
+</g>
+<path d="M362.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 100h0"></path>
+<path d="M286 100h76.5"></path>
+<rect x="206.5" y="89" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="246.25" y="104">Include</text>
+</a>
+</g>
+<path d="M362.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 130h0"></path>
+<path d="M277.5 130h85"></path>
+<rect x="206.5" y="119" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Ranges"><text x="242" y="134">Ranges</text>
+</a>
+</g>
+<path d="M362.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 160h0"></path>
+<path d="M294.5 160h68"></path>
+<rect x="206.5" y="149" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Constant"><text x="250.5" y="164">Constant</text>
+</a>
+</g>
+<path d="M362.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 190h0"></path>
+<path d="M303 190h59.5"></path>
+<rect x="206.5" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Constants"><text x="254.75" y="194">Constants</text>
+</a>
+</g>
+<path d="M362.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 220h0"></path>
+<path d="M260.5 220h102"></path>
+<rect x="206.5" y="209" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="233.5" y="224">Type</text>
+</a>
+</g>
+<path d="M362.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 250h0"></path>
+<path d="M269 250h93.5"></path>
+<rect x="206.5" y="239" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Types"><text x="237.75" y="254">Types</text>
+</a>
+</g>
+<path d="M362.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 280h0"></path>
+<path d="M320 280h42.5"></path>
+<rect x="206.5" y="269" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Enhancement"><text x="263.25" y="284">Enhancement</text>
+</a>
+</g>
+<path d="M362.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 310h0"></path>
+<path d="M277.5 310h85"></path>
+<rect x="206.5" y="299" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Define"><text x="242" y="314">Define</text>
+</a>
+</g>
+<path d="M362.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 340h0"></path>
+<path d="M320 340h42.5"></path>
+<rect x="206.5" y="329" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/IncludeType"><text x="263.25" y="344">IncludeType</text>
+</a>
+</g>
+<path d="M362.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 370h0"></path>
+<path d="M303 370h59.5"></path>
+<rect x="206.5" y="359" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="254.75" y="374">TypePools</text>
+</a>
+</g>
+<path d="M362.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 400h0"></path>
+<path d="M362.5 400h0"></path>
+<rect x="206.5" y="389" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EnhancementPoint"><text x="284.5" y="404">EnhancementPoint</text>
+</a>
+</g>
+<path d="M362.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M382.5 40h10"></path>
+<path d="M186.5 40a10 10 0 0 0 -10 10v359a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M186.5 419h196"></path>
+</g>
+<path d="M382.5 419a10 10 0 0 0 10 -10v-359a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M392.5 40h20"></path>
+</g>
+<path d="M412.5 40h10"></path>
+<g class="terminal">
+<path d="M422.5 40h0"></path>
+<path d="M502 40h0"></path>
+<rect x="422.5" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DataEnd"><text x="462.25" y="44">DataEnd</text>
+</a>
+</g>
+</g>
+<path d="M502 40h10"></path>
+<path d="M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Define.svg b/abap/structure_Define.svg
new file mode 100644
index 00000000..4716e2c2
--- /dev/null
+++ b/abap/structure_Define.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="520.5" height="80" viewBox="0 0 520.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M470.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Define"><text x="85.5" y="44">Define</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M313 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h142"></path>
+</g>
+<path d="M293 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M293 40h0"></path>
+<path d="M151 40h10"></path>
+<g class="terminal">
+<path d="M161 40h0"></path>
+<path d="M283 40h0"></path>
+<rect x="161" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MacroContent"><text x="222" y="44">MacroContent</text>
+</a>
+</g>
+<path d="M283 40h10"></path>
+<path d="M161 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 60h122"></path>
+</g>
+<path d="M283 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M293 40h20"></path>
+</g>
+<path d="M313 40h10"></path>
+<g class="terminal">
+<path d="M323 40h0"></path>
+<path d="M470.5 40h0"></path>
+<rect x="323" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndOfDefinition"><text x="396.75" y="44">EndOfDefinition</text>
+</a>
+</g>
+</g>
+<path d="M470.5 40h10"></path>
+<path d="M 480.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Do.svg b/abap/structure_Do.svg
new file mode 100644
index 00000000..2af0988b
--- /dev/null
+++ b/abap/structure_Do.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="313.5" height="71" viewBox="0 0 313.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M263.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M87 40h0"></path>
+<rect x="50" y="29" width="37" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Do"><text x="68.5" y="44">Do</text>
+</a>
+</g>
+<path d="M87 40h10"></path>
+<g>
+<path d="M97 40h0"></path>
+<path d="M191 40h0"></path>
+<path d="M97 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M117 20h54"></path>
+</g>
+<path d="M171 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M97 40h20"></path>
+<g class="non-terminal">
+<path d="M117 40h0"></path>
+<path d="M171 40h0"></path>
+<rect x="117" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="144" y="44">Body</text>
+</a>
+</g>
+<path d="M171 40h20"></path>
+</g>
+<path d="M191 40h10"></path>
+<g class="terminal">
+<path d="M201 40h0"></path>
+<path d="M263.5 40h0"></path>
+<rect x="201" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndDo"><text x="232.25" y="44">EndDo</text>
+</a>
+</g>
+</g>
+<path d="M263.5 40h10"></path>
+<path d="M 273.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Else.svg b/abap/structure_Else.svg
new file mode 100644
index 00000000..252a082e
--- /dev/null
+++ b/abap/structure_Else.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="258" height="71" viewBox="0 0 258 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M208 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Else"><text x="77" y="44">Else</text>
+</a>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M208 40h0"></path>
+<path d="M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M134 20h54"></path>
+</g>
+<path d="M188 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M114 40h20"></path>
+<g class="non-terminal">
+<path d="M134 40h0"></path>
+<path d="M188 40h0"></path>
+<rect x="134" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="161" y="44">Body</text>
+</a>
+</g>
+<path d="M188 40h20"></path>
+</g>
+</g>
+<path d="M208 40h10"></path>
+<path d="M 218 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ElseIf.svg b/abap/structure_ElseIf.svg
new file mode 100644
index 00000000..409e85ca
--- /dev/null
+++ b/abap/structure_ElseIf.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="275" height="71" viewBox="0 0 275 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M225 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ElseIf"><text x="85.5" y="44">ElseIf</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M225 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h54"></path>
+</g>
+<path d="M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="non-terminal">
+<path d="M151 40h0"></path>
+<path d="M205 40h0"></path>
+<rect x="151" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="178" y="44">Body</text>
+</a>
+</g>
+<path d="M205 40h20"></path>
+</g>
+</g>
+<path d="M225 40h10"></path>
+<path d="M 235 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Enhancement.svg b/abap/structure_Enhancement.svg
new file mode 100644
index 00000000..752b5b7d
--- /dev/null
+++ b/abap/structure_Enhancement.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="466.5" height="71" viewBox="0 0 466.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M416.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Enhancement"><text x="106.75" y="44">Enhancement</text>
+</a>
+</g>
+<path d="M163.5 40h10"></path>
+<g>
+<path d="M173.5 40h0"></path>
+<path d="M267.5 40h0"></path>
+<path d="M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M193.5 20h54"></path>
+</g>
+<path d="M247.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M173.5 40h20"></path>
+<g class="non-terminal">
+<path d="M193.5 40h0"></path>
+<path d="M247.5 40h0"></path>
+<rect x="193.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="220.5" y="44">Body</text>
+</a>
+</g>
+<path d="M247.5 40h20"></path>
+</g>
+<path d="M267.5 40h10"></path>
+<g class="terminal">
+<path d="M277.5 40h0"></path>
+<path d="M416.5 40h0"></path>
+<rect x="277.5" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndEnhancement"><text x="347" y="44">EndEnhancement</text>
+</a>
+</g>
+</g>
+<path d="M416.5 40h10"></path>
+<path d="M 426.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_EnhancementSection.svg b/abap/structure_EnhancementSection.svg
new file mode 100644
index 00000000..1f6050cb
--- /dev/null
+++ b/abap/structure_EnhancementSection.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="585.5" height="71" viewBox="0 0 585.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M535.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M223 40h0"></path>
+<rect x="50" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EnhancementSection"><text x="136.5" y="44">EnhancementSection</text>
+</a>
+</g>
+<path d="M223 40h10"></path>
+<g>
+<path d="M233 40h0"></path>
+<path d="M327 40h0"></path>
+<path d="M233 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M253 20h54"></path>
+</g>
+<path d="M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M233 40h20"></path>
+<g class="non-terminal">
+<path d="M253 40h0"></path>
+<path d="M307 40h0"></path>
+<rect x="253" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="280" y="44">Body</text>
+</a>
+</g>
+<path d="M307 40h20"></path>
+</g>
+<path d="M327 40h10"></path>
+<g class="terminal">
+<path d="M337 40h0"></path>
+<path d="M535.5 40h0"></path>
+<rect x="337" y="29" width="198.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndEnhancementSection"><text x="436.25" y="44">EndEnhancementSection</text>
+</a>
+</g>
+</g>
+<path d="M535.5 40h10"></path>
+<path d="M 545.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ExecSQL.svg b/abap/structure_ExecSQL.svg
new file mode 100644
index 00000000..33c432ae
--- /dev/null
+++ b/abap/structure_ExecSQL.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="435.5" height="80" viewBox="0 0 435.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M385.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ExecSQL"><text x="89.75" y="44">ExecSQL</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M296 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h116.5"></path>
+</g>
+<path d="M276 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g>
+<path d="M159.5 40h0"></path>
+<path d="M276 40h0"></path>
+<path d="M159.5 40h10"></path>
+<g class="terminal">
+<path d="M169.5 40h0"></path>
+<path d="M266 40h0"></path>
+<rect x="169.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/NativeSQL"><text x="217.75" y="44">NativeSQL</text>
+</a>
+</g>
+<path d="M266 40h10"></path>
+<path d="M169.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M169.5 60h96.5"></path>
+</g>
+<path d="M266 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M276 40h20"></path>
+</g>
+<path d="M296 40h10"></path>
+<g class="terminal">
+<path d="M306 40h0"></path>
+<path d="M385.5 40h0"></path>
+<rect x="306" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndExec"><text x="345.75" y="44">EndExec</text>
+</a>
+</g>
+</g>
+<path d="M385.5 40h10"></path>
+<path d="M 395.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Form.svg b/abap/structure_Form.svg
new file mode 100644
index 00000000..766eb42c
--- /dev/null
+++ b/abap/structure_Form.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="347.5" height="71" viewBox="0 0 347.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M297.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Form"><text x="77" y="44">Form</text>
+</a>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M208 40h0"></path>
+<path d="M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M134 20h54"></path>
+</g>
+<path d="M188 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M114 40h20"></path>
+<g class="non-terminal">
+<path d="M134 40h0"></path>
+<path d="M188 40h0"></path>
+<rect x="134" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="161" y="44">Body</text>
+</a>
+</g>
+<path d="M188 40h20"></path>
+</g>
+<path d="M208 40h10"></path>
+<g class="terminal">
+<path d="M218 40h0"></path>
+<path d="M297.5 40h0"></path>
+<rect x="218" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndForm"><text x="257.75" y="44">EndForm</text>
+</a>
+</g>
+</g>
+<path d="M297.5 40h10"></path>
+<path d="M 307.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_FunctionModule.svg b/abap/structure_FunctionModule.svg
new file mode 100644
index 00000000..b845ed20
--- /dev/null
+++ b/abap/structure_FunctionModule.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="466.5" height="71" viewBox="0 0 466.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M416.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M189 40h0"></path>
+<rect x="50" y="29" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FunctionModule"><text x="119.5" y="44">FunctionModule</text>
+</a>
+</g>
+<path d="M189 40h10"></path>
+<g>
+<path d="M199 40h0"></path>
+<path d="M293 40h0"></path>
+<path d="M199 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M219 20h54"></path>
+</g>
+<path d="M273 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M199 40h20"></path>
+<g class="non-terminal">
+<path d="M219 40h0"></path>
+<path d="M273 40h0"></path>
+<rect x="219" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="246" y="44">Body</text>
+</a>
+</g>
+<path d="M273 40h20"></path>
+</g>
+<path d="M293 40h10"></path>
+<g class="terminal">
+<path d="M303 40h0"></path>
+<path d="M416.5 40h0"></path>
+<rect x="303" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndFunction"><text x="359.75" y="44">EndFunction</text>
+</a>
+</g>
+</g>
+<path d="M416.5 40h10"></path>
+<path d="M 426.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_If.svg b/abap/structure_If.svg
new file mode 100644
index 00000000..92f80364
--- /dev/null
+++ b/abap/structure_If.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="558.5" height="80" viewBox="0 0 558.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M508.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M87 40h0"></path>
+<rect x="50" y="29" width="37" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/If"><text x="68.5" y="44">If</text>
+</a>
+</g>
+<path d="M87 40h10"></path>
+<path d="M97 40h10"></path>
+<g>
+<path d="M107 40h0"></path>
+<path d="M426 40h0"></path>
+<g>
+<path d="M107 40h0"></path>
+<path d="M201 40h0"></path>
+<path d="M107 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M127 20h54"></path>
+</g>
+<path d="M181 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M107 40h20"></path>
+<g class="non-terminal">
+<path d="M127 40h0"></path>
+<path d="M181 40h0"></path>
+<rect x="127" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="154" y="44">Body</text>
+</a>
+</g>
+<path d="M181 40h20"></path>
+</g>
+<g>
+<path d="M201 40h0"></path>
+<path d="M332 40h0"></path>
+<path d="M201 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M221 20h91"></path>
+</g>
+<path d="M312 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M201 40h20"></path>
+<g>
+<path d="M221 40h0"></path>
+<path d="M312 40h0"></path>
+<path d="M221 40h10"></path>
+<g class="non-terminal">
+<path d="M231 40h0"></path>
+<path d="M302 40h0"></path>
+<rect x="231" y="29" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/ElseIf"><text x="266.5" y="44">ElseIf</text>
+</a>
+</g>
+<path d="M302 40h10"></path>
+<path d="M231 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M231 60h71"></path>
+</g>
+<path d="M302 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M312 40h20"></path>
+</g>
+<g>
+<path d="M332 40h0"></path>
+<path d="M426 40h0"></path>
+<path d="M332 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M352 20h54"></path>
+</g>
+<path d="M406 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M332 40h20"></path>
+<g class="non-terminal">
+<path d="M352 40h0"></path>
+<path d="M406 40h0"></path>
+<rect x="352" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Else"><text x="379" y="44">Else</text>
+</a>
+</g>
+<path d="M406 40h20"></path>
+</g>
+</g>
+<path d="M426 40h10"></path>
+<path d="M436 40h10"></path>
+<g class="terminal">
+<path d="M446 40h0"></path>
+<path d="M508.5 40h0"></path>
+<rect x="446" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndIf"><text x="477.25" y="44">EndIf</text>
+</a>
+</g>
+</g>
+<path d="M508.5 40h10"></path>
+<path d="M 518.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Interface.svg b/abap/structure_Interface.svg
new file mode 100644
index 00000000..08557525
--- /dev/null
+++ b/abap/structure_Interface.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="546" height="80" viewBox="0 0 546 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M496 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Interface"><text x="98.25" y="44">Interface</text>
+</a>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M364 40h0"></path>
+<path d="M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M176.5 20h167.5"></path>
+</g>
+<path d="M344 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M156.5 40h20"></path>
+<g>
+<path d="M176.5 40h0"></path>
+<path d="M344 40h0"></path>
+<path d="M176.5 40h10"></path>
+<g class="non-terminal">
+<path d="M186.5 40h0"></path>
+<path d="M334 40h0"></path>
+<rect x="186.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/SectionContents"><text x="260.25" y="44">SectionContents</text>
+</a>
+</g>
+<path d="M334 40h10"></path>
+<path d="M186.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M186.5 60h147.5"></path>
+</g>
+<path d="M334 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M344 40h20"></path>
+</g>
+<path d="M364 40h10"></path>
+<g class="terminal">
+<path d="M374 40h0"></path>
+<path d="M496 40h0"></path>
+<rect x="374" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndInterface"><text x="435" y="44">EndInterface</text>
+</a>
+</g>
+</g>
+<path d="M496 40h10"></path>
+<path d="M 506 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_InterfaceGlobal.svg b/abap/structure_InterfaceGlobal.svg
new file mode 100644
index 00000000..4ae8596d
--- /dev/null
+++ b/abap/structure_InterfaceGlobal.svg
@@ -0,0 +1,119 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="553.5" height="80" viewBox="0 0 553.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M503.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M206.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h116.5"></path>
+</g>
+<path d="M186.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M186.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="terminal">
+<path d="M80 40h0"></path>
+<path d="M176.5 40h0"></path>
+<rect x="80" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="128.25" y="44">TypePools</text>
+</a>
+</g>
+<path d="M176.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h96.5"></path>
+</g>
+<path d="M176.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M186.5 40h20"></path>
+</g>
+<g>
+<path d="M206.5 40h0"></path>
+<path d="M397 40h0"></path>
+<path d="M206.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M226.5 20h150.5"></path>
+</g>
+<path d="M377 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M206.5 40h20"></path>
+<g>
+<path d="M226.5 40h0"></path>
+<path d="M377 40h0"></path>
+<path d="M226.5 40h10"></path>
+<g class="terminal">
+<path d="M236.5 40h0"></path>
+<path d="M367 40h0"></path>
+<rect x="236.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InterfaceLoad"><text x="301.75" y="44">InterfaceLoad</text>
+</a>
+</g>
+<path d="M367 40h10"></path>
+<path d="M236.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M236.5 60h130.5"></path>
+</g>
+<path d="M367 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M377 40h20"></path>
+</g>
+<path d="M397 40h10"></path>
+<g class="non-terminal">
+<path d="M407 40h0"></path>
+<path d="M503.5 40h0"></path>
+<rect x="407" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Interface"><text x="455.25" y="44">Interface</text>
+</a>
+</g>
+</g>
+<path d="M503.5 40h10"></path>
+<path d="M 513.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Loop.svg b/abap/structure_Loop.svg
new file mode 100644
index 00000000..57d695d8
--- /dev/null
+++ b/abap/structure_Loop.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="367.5" height="80" viewBox="0 0 367.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M317.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M104 40h0"></path>
+<rect x="50" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Loop"><text x="77" y="44">Loop</text>
+</a>
+</g>
+<path d="M104 40h10"></path>
+<g>
+<path d="M114 40h0"></path>
+<path d="M228 40h0"></path>
+<path d="M114 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M134 20h74"></path>
+</g>
+<path d="M208 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M114 40h20"></path>
+<g>
+<path d="M134 40h0"></path>
+<path d="M208 40h0"></path>
+<path d="M134 40h10"></path>
+<g class="non-terminal">
+<path d="M144 40h0"></path>
+<path d="M198 40h0"></path>
+<rect x="144" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="171" y="44">Body</text>
+</a>
+</g>
+<path d="M198 40h10"></path>
+<path d="M144 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M144 60h54"></path>
+</g>
+<path d="M198 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M208 40h20"></path>
+</g>
+<path d="M228 40h10"></path>
+<g class="terminal">
+<path d="M238 40h0"></path>
+<path d="M317.5 40h0"></path>
+<rect x="238" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndLoop"><text x="277.75" y="44">EndLoop</text>
+</a>
+</g>
+</g>
+<path d="M317.5 40h10"></path>
+<path d="M 327.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_LoopAtScreen.svg b/abap/structure_LoopAtScreen.svg
new file mode 100644
index 00000000..68e45e97
--- /dev/null
+++ b/abap/structure_LoopAtScreen.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="415.5" height="71" viewBox="0 0 415.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M365.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M172 40h0"></path>
+<rect x="50" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/LoopAtScreen"><text x="111" y="44">LoopAtScreen</text>
+</a>
+</g>
+<path d="M172 40h10"></path>
+<g>
+<path d="M182 40h0"></path>
+<path d="M276 40h0"></path>
+<path d="M182 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M202 20h54"></path>
+</g>
+<path d="M256 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M182 40h20"></path>
+<g class="non-terminal">
+<path d="M202 40h0"></path>
+<path d="M256 40h0"></path>
+<rect x="202" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="229" y="44">Body</text>
+</a>
+</g>
+<path d="M256 40h20"></path>
+</g>
+<path d="M276 40h10"></path>
+<g class="terminal">
+<path d="M286 40h0"></path>
+<path d="M365.5 40h0"></path>
+<rect x="286" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndLoop"><text x="325.75" y="44">EndLoop</text>
+</a>
+</g>
+</g>
+<path d="M365.5 40h10"></path>
+<path d="M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Method.svg b/abap/structure_Method.svg
new file mode 100644
index 00000000..282876b5
--- /dev/null
+++ b/abap/structure_Method.svg
@@ -0,0 +1,124 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="643" height="119" viewBox="0 0 643 119">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M593 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M240 40h0"></path>
+<rect x="50" y="29" width="190" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MethodImplementation"><text x="145" y="44">MethodImplementation</text>
+</a>
+</g>
+<path d="M240 40h10"></path>
+<g>
+<path d="M250 40h0"></path>
+<path d="M486.5 40h0"></path>
+<path d="M250 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M270 20h196.5"></path>
+</g>
+<path d="M466.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M250 40h20"></path>
+<g>
+<path d="M270 40h0"></path>
+<path d="M466.5 40h0"></path>
+<path d="M270 40h20"></path>
+<g class="non-terminal">
+<path d="M290 40h0"></path>
+<path d="M344 40h102.5"></path>
+<rect x="290" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="317" y="44">Body</text>
+</a>
+</g>
+<path d="M446.5 40h20"></path>
+<path d="M270 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M290 79h0"></path>
+<path d="M446.5 79h0"></path>
+<path d="M290 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M310 59h116.5"></path>
+</g>
+<path d="M426.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M290 79h20"></path>
+<g>
+<path d="M310 79h0"></path>
+<path d="M426.5 79h0"></path>
+<path d="M310 79h10"></path>
+<g class="terminal">
+<path d="M320 79h0"></path>
+<path d="M416.5 79h0"></path>
+<rect x="320" y="68" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/NativeSQL"><text x="368.25" y="83">NativeSQL</text>
+</a>
+</g>
+<path d="M416.5 79h10"></path>
+<path d="M320 79a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320 99h96.5"></path>
+</g>
+<path d="M416.5 99a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M426.5 79h20"></path>
+</g>
+<path d="M446.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M466.5 40h20"></path>
+</g>
+<path d="M486.5 40h10"></path>
+<g class="terminal">
+<path d="M496.5 40h0"></path>
+<path d="M593 40h0"></path>
+<rect x="496.5" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndMethod"><text x="544.75" y="44">EndMethod</text>
+</a>
+</g>
+</g>
+<path d="M593 40h10"></path>
+<path d="M 603 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Module.svg b/abap/structure_Module.svg
new file mode 100644
index 00000000..c3b8aeb8
--- /dev/null
+++ b/abap/structure_Module.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="381.5" height="71" viewBox="0 0 381.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M331.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Module"><text x="85.5" y="44">Module</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M225 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h54"></path>
+</g>
+<path d="M205 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="non-terminal">
+<path d="M151 40h0"></path>
+<path d="M205 40h0"></path>
+<rect x="151" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="178" y="44">Body</text>
+</a>
+</g>
+<path d="M205 40h20"></path>
+</g>
+<path d="M225 40h10"></path>
+<g class="terminal">
+<path d="M235 40h0"></path>
+<path d="M331.5 40h0"></path>
+<rect x="235" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndModule"><text x="283.25" y="44">EndModule</text>
+</a>
+</g>
+</g>
+<path d="M331.5 40h10"></path>
+<path d="M 341.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Normal.svg b/abap/structure_Normal.svg
new file mode 100644
index 00000000..f9406f27
--- /dev/null
+++ b/abap/structure_Normal.svg
@@ -0,0 +1,2067 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="318.5" height="6752" viewBox="0 0 318.5 6752">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M278.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M114 31h144.5"></path>
+<rect x="60" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Move"><text x="87" y="35">Move</text>
+</a>
+</g>
+<path d="M258.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M114 61h144.5"></path>
+<rect x="60" y="50" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Call"><text x="87" y="65">Call</text>
+</a>
+</g>
+<path d="M258.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M114 91h144.5"></path>
+<rect x="60" y="80" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Data"><text x="87" y="95">Data</text>
+</a>
+</g>
+<path d="M258.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 121h0"></path>
+<path d="M97 121h161.5"></path>
+<rect x="60" y="110" width="37" height="22"></rect>
+<a xlink:href="#/abap/structure/If"><text x="78.5" y="125">If</text>
+</a>
+</g>
+<path d="M258.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M122.5 151h136"></path>
+<rect x="60" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Clear"><text x="91.25" y="155">Clear</text>
+</a>
+</g>
+<path d="M258.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 181h0"></path>
+<path d="M173.5 181h85"></path>
+<rect x="60" y="170" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FieldSymbol"><text x="116.75" y="185">FieldSymbol</text>
+</a>
+</g>
+<path d="M258.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 211h0"></path>
+<path d="M182 211h76.5"></path>
+<rect x="60" y="200" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CreateObject"><text x="121" y="215">CreateObject</text>
+</a>
+</g>
+<path d="M258.5 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 241h0"></path>
+<path d="M182 241h76.5"></path>
+<rect x="60" y="230" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallFunction"><text x="121" y="245">CallFunction</text>
+</a>
+</g>
+<path d="M258.5 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 271h0"></path>
+<path d="M156.5 271h102"></path>
+<rect x="60" y="260" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MacroCall"><text x="108.25" y="275">MacroCall</text>
+</a>
+</g>
+<path d="M258.5 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 301h0"></path>
+<path d="M182 301h76.5"></path>
+<rect x="60" y="290" width="122" height="22"></rect>
+<a xlink:href="#/abap/structure/LoopAtScreen"><text x="121" y="305">LoopAtScreen</text>
+</a>
+</g>
+<path d="M258.5 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 331h0"></path>
+<path d="M114 331h144.5"></path>
+<rect x="60" y="320" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Loop"><text x="87" y="335">Loop</text>
+</a>
+</g>
+<path d="M258.5 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 361h0"></path>
+<path d="M131 361h127.5"></path>
+<rect x="60" y="350" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Append"><text x="95.5" y="365">Append</text>
+</a>
+</g>
+<path d="M258.5 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 391h0"></path>
+<path d="M105.5 391h153"></path>
+<rect x="60" y="380" width="45.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Try"><text x="82.75" y="395">Try</text>
+</a>
+</g>
+<path d="M258.5 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 421h0"></path>
+<path d="M148 421h110.5"></path>
+<rect x="60" y="410" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/OnChange"><text x="104" y="425">OnChange</text>
+</a>
+</g>
+<path d="M258.5 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 451h0"></path>
+<path d="M156.5 451h102"></path>
+<rect x="60" y="440" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadTable"><text x="108.25" y="455">ReadTable</text>
+</a>
+</g>
+<path d="M258.5 451a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 481h0"></path>
+<path d="M131 481h127.5"></path>
+<rect x="60" y="470" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Assert"><text x="95.5" y="485">Assert</text>
+</a>
+</g>
+<path d="M258.5 481a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 511h0"></path>
+<path d="M131 511h127.5"></path>
+<rect x="60" y="500" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Return"><text x="95.5" y="515">Return</text>
+</a>
+</g>
+<path d="M258.5 511a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 541h0"></path>
+<path d="M131 541h127.5"></path>
+<rect x="60" y="530" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Select"><text x="95.5" y="545">Select</text>
+</a>
+</g>
+<path d="M258.5 541a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v520a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 571h0"></path>
+<path d="M131 571h127.5"></path>
+<rect x="60" y="560" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Assign"><text x="95.5" y="575">Assign</text>
+</a>
+</g>
+<path d="M258.5 571a10 10 0 0 0 10 -10v-520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v550a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 601h0"></path>
+<path d="M199 601h59.5"></path>
+<rect x="60" y="590" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InsertInternal"><text x="129.5" y="605">InsertInternal</text>
+</a>
+</g>
+<path d="M258.5 601a10 10 0 0 0 10 -10v-550a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v580a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 631h0"></path>
+<path d="M199 631h59.5"></path>
+<rect x="60" y="620" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteInternal"><text x="129.5" y="635">DeleteInternal</text>
+</a>
+</g>
+<path d="M258.5 631a10 10 0 0 0 10 -10v-580a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v610a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 661h0"></path>
+<path d="M173.5 661h85"></path>
+<rect x="60" y="650" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Concatenate"><text x="116.75" y="665">Concatenate</text>
+</a>
+</g>
+<path d="M258.5 661a10 10 0 0 0 10 -10v-610a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v640a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 691h0"></path>
+<path d="M114 691h144.5"></path>
+<rect x="60" y="680" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Case"><text x="87" y="695">Case</text>
+</a>
+</g>
+<path d="M258.5 691a10 10 0 0 0 10 -10v-640a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v670a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 721h0"></path>
+<path d="M148 721h110.5"></path>
+<rect x="60" y="710" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/CaseType"><text x="104" y="725">CaseType</text>
+</a>
+</g>
+<path d="M258.5 721a10 10 0 0 0 10 -10v-670a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v700a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 751h0"></path>
+<path d="M173.5 751h85"></path>
+<rect x="60" y="740" width="113.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Enhancement"><text x="116.75" y="755">Enhancement</text>
+</a>
+</g>
+<path d="M258.5 751a10 10 0 0 0 10 -10v-700a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v730a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 781h0"></path>
+<path d="M233 781h25.5"></path>
+<rect x="60" y="770" width="173" height="22"></rect>
+<a xlink:href="#/abap/structure/EnhancementSection"><text x="146.5" y="785">EnhancementSection</text>
+</a>
+</g>
+<path d="M258.5 781a10 10 0 0 0 10 -10v-730a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v760a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 811h0"></path>
+<path d="M216 811h42.5"></path>
+<rect x="60" y="800" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AddCorresponding"><text x="138" y="815">AddCorresponding</text>
+</a>
+</g>
+<path d="M258.5 811a10 10 0 0 0 10 -10v-760a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v790a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 841h0"></path>
+<path d="M105.5 841h153"></path>
+<rect x="60" y="830" width="45.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Add"><text x="82.75" y="845">Add</text>
+</a>
+</g>
+<path d="M258.5 841a10 10 0 0 0 10 -10v-790a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v820a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 871h0"></path>
+<path d="M207.5 871h51"></path>
+<rect x="60" y="860" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AssignLocalCopy"><text x="133.75" y="875">AssignLocalCopy</text>
+</a>
+</g>
+<path d="M258.5 871a10 10 0 0 0 10 -10v-820a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v850a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 901h0"></path>
+<path d="M199 901h59.5"></path>
+<rect x="60" y="890" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/AuthorityCheck"><text x="129.5" y="905">AuthorityCheck</text>
+</a>
+</g>
+<path d="M258.5 901a10 10 0 0 0 10 -10v-850a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v880a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 931h0"></path>
+<path d="M114 931h144.5"></path>
+<rect x="60" y="920" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Back"><text x="87" y="935">Back</text>
+</a>
+</g>
+<path d="M258.5 931a10 10 0 0 0 10 -10v-880a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v910a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 961h0"></path>
+<path d="M122.5 961h136"></path>
+<rect x="60" y="950" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Break"><text x="91.25" y="965">Break</text>
+</a>
+</g>
+<path d="M258.5 961a10 10 0 0 0 10 -10v-910a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v940a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 991h0"></path>
+<path d="M139.5 991h119"></path>
+<rect x="60" y="980" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/BreakId"><text x="99.75" y="995">BreakId</text>
+</a>
+</g>
+<path d="M258.5 991a10 10 0 0 0 10 -10v-940a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v970a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1021h0"></path>
+<path d="M182 1021h76.5"></path>
+<rect x="60" y="1010" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallDatabase"><text x="121" y="1025">CallDatabase</text>
+</a>
+</g>
+<path d="M258.5 1021a10 10 0 0 0 10 -10v-970a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1000a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1051h0"></path>
+<path d="M165 1051h93.5"></path>
+<rect x="60" y="1040" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallDialog"><text x="112.5" y="1055">CallDialog</text>
+</a>
+</g>
+<path d="M258.5 1051a10 10 0 0 0 10 -10v-1000a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1030a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1081h0"></path>
+<path d="M165 1081h93.5"></path>
+<rect x="60" y="1070" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallKernel"><text x="112.5" y="1085">CallKernel</text>
+</a>
+</g>
+<path d="M258.5 1081a10 10 0 0 0 10 -10v-1030a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1060a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1111h0"></path>
+<path d="M139.5 1111h119"></path>
+<rect x="60" y="1100" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallOLE"><text x="99.75" y="1115">CallOLE</text>
+</a>
+</g>
+<path d="M258.5 1111a10 10 0 0 0 10 -10v-1060a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1090a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1141h0"></path>
+<path d="M165 1141h93.5"></path>
+<rect x="60" y="1130" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallScreen"><text x="112.5" y="1145">CallScreen</text>
+</a>
+</g>
+<path d="M258.5 1141a10 10 0 0 0 10 -10v-1090a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1120a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1171h0"></path>
+<path d="M182 1171h76.5"></path>
+<rect x="60" y="1160" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ModifyScreen"><text x="121" y="1175">ModifyScreen</text>
+</a>
+</g>
+<path d="M258.5 1171a10 10 0 0 0 10 -10v-1120a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1150a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1201h0"></path>
+<path d="M241.5 1201h17"></path>
+<rect x="60" y="1190" width="181.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallSelectionScreen"><text x="150.75" y="1205">CallSelectionScreen</text>
+</a>
+</g>
+<path d="M258.5 1201a10 10 0 0 0 10 -10v-1150a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1180a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1231h0"></path>
+<path d="M207.5 1231h51"></path>
+<rect x="60" y="1220" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallTransaction"><text x="133.75" y="1235">CallTransaction</text>
+</a>
+</g>
+<path d="M258.5 1231a10 10 0 0 0 10 -10v-1180a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1210a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1261h0"></path>
+<path d="M233 1261h25.5"></path>
+<rect x="60" y="1250" width="173" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallTransformation"><text x="146.5" y="1265">CallTransformation</text>
+</a>
+</g>
+<path d="M258.5 1261a10 10 0 0 0 10 -10v-1210a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1240a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1291h0"></path>
+<path d="M122.5 1291h136"></path>
+<rect x="60" y="1280" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Check"><text x="91.25" y="1295">Check</text>
+</a>
+</g>
+<path d="M258.5 1291a10 10 0 0 0 10 -10v-1240a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1270a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1321h0"></path>
+<path d="M241.5 1321h17"></path>
+<rect x="60" y="1310" width="181.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDefinitionLoad"><text x="150.75" y="1325">ClassDefinitionLoad</text>
+</a>
+</g>
+<path d="M258.5 1321a10 10 0 0 0 10 -10v-1270a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1300a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1351h0"></path>
+<path d="M173.5 1351h85"></path>
+<rect x="60" y="1340" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CloseCursor"><text x="116.75" y="1355">CloseCursor</text>
+</a>
+</g>
+<path d="M258.5 1351a10 10 0 0 0 10 -10v-1300a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1330a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1381h0"></path>
+<path d="M182 1381h76.5"></path>
+<rect x="60" y="1370" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CloseDataset"><text x="121" y="1385">CloseDataset</text>
+</a>
+</g>
+<path d="M258.5 1381a10 10 0 0 0 10 -10v-1330a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1360a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1411h0"></path>
+<path d="M139.5 1411h119"></path>
+<rect x="60" y="1400" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Collect"><text x="99.75" y="1415">Collect</text>
+</a>
+</g>
+<path d="M258.5 1411a10 10 0 0 0 10 -10v-1360a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1390a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1441h0"></path>
+<path d="M131 1441h127.5"></path>
+<rect x="60" y="1430" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Commit"><text x="95.5" y="1445">Commit</text>
+</a>
+</g>
+<path d="M258.5 1441a10 10 0 0 0 10 -10v-1390a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1420a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1471h0"></path>
+<path d="M190.5 1471h68"></path>
+<rect x="60" y="1460" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Communication"><text x="125.25" y="1475">Communication</text>
+</a>
+</g>
+<path d="M258.5 1471a10 10 0 0 0 10 -10v-1420a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1450a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1501h0"></path>
+<path d="M139.5 1501h119"></path>
+<rect x="60" y="1490" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Compute"><text x="99.75" y="1505">Compute</text>
+</a>
+</g>
+<path d="M258.5 1501a10 10 0 0 0 10 -10v-1450a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1480a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1531h0"></path>
+<path d="M148 1531h110.5"></path>
+<rect x="60" y="1520" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CallBadi"><text x="104" y="1535">CallBadi</text>
+</a>
+</g>
+<path d="M258.5 1531a10 10 0 0 0 10 -10v-1480a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1510a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1561h0"></path>
+<path d="M148 1561h110.5"></path>
+<rect x="60" y="1550" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Condense"><text x="104" y="1565">Condense</text>
+</a>
+</g>
+<path d="M258.5 1561a10 10 0 0 0 10 -10v-1510a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1540a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1591h0"></path>
+<path d="M148 1591h110.5"></path>
+<rect x="60" y="1580" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Constant"><text x="104" y="1595">Constant</text>
+</a>
+</g>
+<path d="M258.5 1591a10 10 0 0 0 10 -10v-1540a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1570a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1621h0"></path>
+<path d="M148 1621h110.5"></path>
+<rect x="60" y="1610" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Contexts"><text x="104" y="1625">Contexts</text>
+</a>
+</g>
+<path d="M258.5 1621a10 10 0 0 0 10 -10v-1570a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1600a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1651h0"></path>
+<path d="M148 1651h110.5"></path>
+<rect x="60" y="1640" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Continue"><text x="104" y="1655">Continue</text>
+</a>
+</g>
+<path d="M258.5 1651a10 10 0 0 0 10 -10v-1600a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1630a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1681h0"></path>
+<path d="M173.5 1681h85"></path>
+<rect x="60" y="1670" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ConvertText"><text x="116.75" y="1685">ConvertText</text>
+</a>
+</g>
+<path d="M258.5 1681a10 10 0 0 0 10 -10v-1630a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1660a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1711h0"></path>
+<path d="M139.5 1711h119"></path>
+<rect x="60" y="1700" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Convert"><text x="99.75" y="1715">Convert</text>
+</a>
+</g>
+<path d="M258.5 1711a10 10 0 0 0 10 -10v-1660a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1690a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1741h0"></path>
+<path d="M165 1741h93.5"></path>
+<rect x="60" y="1730" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CreateData"><text x="112.5" y="1745">CreateData</text>
+</a>
+</g>
+<path d="M258.5 1741a10 10 0 0 0 10 -10v-1690a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1720a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1771h0"></path>
+<path d="M156.5 1771h102"></path>
+<rect x="60" y="1760" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CreateOLE"><text x="108.25" y="1775">CreateOLE</text>
+</a>
+</g>
+<path d="M258.5 1771a10 10 0 0 0 10 -10v-1720a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1750a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1801h0"></path>
+<path d="M190.5 1801h68"></path>
+<rect x="60" y="1790" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteCluster"><text x="125.25" y="1805">DeleteCluster</text>
+</a>
+</g>
+<path d="M258.5 1801a10 10 0 0 0 10 -10v-1750a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1780a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1831h0"></path>
+<path d="M199 1831h59.5"></path>
+<rect x="60" y="1820" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteDatabase"><text x="129.5" y="1835">DeleteDatabase</text>
+</a>
+</g>
+<path d="M258.5 1831a10 10 0 0 0 10 -10v-1780a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1810a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1861h0"></path>
+<path d="M190.5 1861h68"></path>
+<rect x="60" y="1850" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteDataset"><text x="125.25" y="1865">DeleteDataset</text>
+</a>
+</g>
+<path d="M258.5 1861a10 10 0 0 0 10 -10v-1810a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1840a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1891h0"></path>
+<path d="M182 1891h76.5"></path>
+<rect x="60" y="1880" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteDynpro"><text x="121" y="1895">DeleteDynpro</text>
+</a>
+</g>
+<path d="M258.5 1891a10 10 0 0 0 10 -10v-1840a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1870a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1921h0"></path>
+<path d="M182 1921h76.5"></path>
+<rect x="60" y="1910" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteMemory"><text x="121" y="1925">DeleteMemory</text>
+</a>
+</g>
+<path d="M258.5 1921a10 10 0 0 0 10 -10v-1870a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1900a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1951h0"></path>
+<path d="M182 1951h76.5"></path>
+<rect x="60" y="1940" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteReport"><text x="121" y="1955">DeleteReport</text>
+</a>
+</g>
+<path d="M258.5 1951a10 10 0 0 0 10 -10v-1900a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1930a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 1981h0"></path>
+<path d="M199 1981h59.5"></path>
+<rect x="60" y="1970" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/DeleteTextpool"><text x="129.5" y="1985">DeleteTextpool</text>
+</a>
+</g>
+<path d="M258.5 1981a10 10 0 0 0 10 -10v-1930a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1960a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2011h0"></path>
+<path d="M131 2011h127.5"></path>
+<rect x="60" y="2000" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Demand"><text x="95.5" y="2015">Demand</text>
+</a>
+</g>
+<path d="M258.5 2011a10 10 0 0 0 10 -10v-1960a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1990a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2041h0"></path>
+<path d="M148 2041h110.5"></path>
+<rect x="60" y="2030" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Describe"><text x="104" y="2045">Describe</text>
+</a>
+</g>
+<path d="M258.5 2041a10 10 0 0 0 10 -10v-1990a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2020a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2071h0"></path>
+<path d="M131 2071h127.5"></path>
+<rect x="60" y="2060" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Detail"><text x="95.5" y="2075">Detail</text>
+</a>
+</g>
+<path d="M258.5 2071a10 10 0 0 0 10 -10v-2020a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2050a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2101h0"></path>
+<path d="M131 2101h127.5"></path>
+<rect x="60" y="2090" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Divide"><text x="95.5" y="2105">Divide</text>
+</a>
+</g>
+<path d="M258.5 2101a10 10 0 0 0 10 -10v-2050a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2080a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2131h0"></path>
+<path d="M165 2131h93.5"></path>
+<rect x="60" y="2120" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EditorCall"><text x="112.5" y="2135">EditorCall</text>
+</a>
+</g>
+<path d="M258.5 2131a10 10 0 0 0 10 -10v-2080a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2161h0"></path>
+<path d="M216 2161h42.5"></path>
+<rect x="60" y="2150" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EnhancementPoint"><text x="138" y="2165">EnhancementPoint</text>
+</a>
+</g>
+<path d="M258.5 2161a10 10 0 0 0 10 -10v-2110a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2140a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2191h0"></path>
+<path d="M114 2191h144.5"></path>
+<rect x="60" y="2180" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Exit"><text x="87" y="2195">Exit</text>
+</a>
+</g>
+<path d="M258.5 2191a10 10 0 0 0 10 -10v-2140a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2170a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2221h0"></path>
+<path d="M182 2221h76.5"></path>
+<rect x="60" y="2210" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ExportDynpro"><text x="121" y="2225">ExportDynpro</text>
+</a>
+</g>
+<path d="M258.5 2221a10 10 0 0 0 10 -10v-2170a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2251h0"></path>
+<path d="M131 2251h127.5"></path>
+<rect x="60" y="2240" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Export"><text x="95.5" y="2255">Export</text>
+</a>
+</g>
+<path d="M258.5 2251a10 10 0 0 0 10 -10v-2200a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2230a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2281h0"></path>
+<path d="M139.5 2281h119"></path>
+<rect x="60" y="2270" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Extract"><text x="99.75" y="2285">Extract</text>
+</a>
+</g>
+<path d="M258.5 2281a10 10 0 0 0 10 -10v-2230a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2260a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2311h0"></path>
+<path d="M207.5 2311h51"></path>
+<rect x="60" y="2300" width="147.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FetchNextCursor"><text x="133.75" y="2315">FetchNextCursor</text>
+</a>
+</g>
+<path d="M258.5 2311a10 10 0 0 0 10 -10v-2260a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2290a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2341h0"></path>
+<path d="M165 2341h93.5"></path>
+<rect x="60" y="2330" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FieldGroup"><text x="112.5" y="2345">FieldGroup</text>
+</a>
+</g>
+<path d="M258.5 2341a10 10 0 0 0 10 -10v-2290a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2320a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2371h0"></path>
+<path d="M131 2371h127.5"></path>
+<rect x="60" y="2360" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Fields"><text x="95.5" y="2375">Fields</text>
+</a>
+</g>
+<path d="M258.5 2371a10 10 0 0 0 10 -10v-2320a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2350a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2401h0"></path>
+<path d="M114 2401h144.5"></path>
+<rect x="60" y="2390" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Find"><text x="87" y="2405">Find</text>
+</a>
+</g>
+<path d="M258.5 2401a10 10 0 0 0 10 -10v-2350a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2380a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2431h0"></path>
+<path d="M131 2431h127.5"></path>
+<rect x="60" y="2420" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Format"><text x="95.5" y="2435">Format</text>
+</a>
+</g>
+<path d="M258.5 2431a10 10 0 0 0 10 -10v-2380a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2410a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2461h0"></path>
+<path d="M165 2461h93.5"></path>
+<rect x="60" y="2450" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FreeMemory"><text x="112.5" y="2465">FreeMemory</text>
+</a>
+</g>
+<path d="M258.5 2461a10 10 0 0 0 10 -10v-2410a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2440a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2491h0"></path>
+<path d="M165 2491h93.5"></path>
+<rect x="60" y="2480" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FreeObject"><text x="112.5" y="2495">FreeObject</text>
+</a>
+</g>
+<path d="M258.5 2491a10 10 0 0 0 10 -10v-2440a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2470a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2521h0"></path>
+<path d="M114 2521h144.5"></path>
+<rect x="60" y="2510" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Free"><text x="87" y="2525">Free</text>
+</a>
+</g>
+<path d="M258.5 2521a10 10 0 0 0 10 -10v-2470a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2500a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2551h0"></path>
+<path d="M199 2551h59.5"></path>
+<rect x="60" y="2540" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GenerateDynpro"><text x="129.5" y="2555">GenerateDynpro</text>
+</a>
+</g>
+<path d="M258.5 2551a10 10 0 0 0 10 -10v-2500a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2530a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2581h0"></path>
+<path d="M199 2581h59.5"></path>
+<rect x="60" y="2570" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GenerateReport"><text x="129.5" y="2585">GenerateReport</text>
+</a>
+</g>
+<path d="M258.5 2581a10 10 0 0 0 10 -10v-2530a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2560a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2611h0"></path>
+<path d="M233 2611h25.5"></path>
+<rect x="60" y="2600" width="173" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GenerateSubroutine"><text x="146.5" y="2615">GenerateSubroutine</text>
+</a>
+</g>
+<path d="M258.5 2611a10 10 0 0 0 10 -10v-2560a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2590a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2641h0"></path>
+<path d="M139.5 2641h119"></path>
+<rect x="60" y="2630" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetBadi"><text x="99.75" y="2645">GetBadi</text>
+</a>
+</g>
+<path d="M258.5 2641a10 10 0 0 0 10 -10v-2590a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2620a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2671h0"></path>
+<path d="M131 2671h127.5"></path>
+<rect x="60" y="2660" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetBit"><text x="95.5" y="2675">GetBit</text>
+</a>
+</g>
+<path d="M258.5 2671a10 10 0 0 0 10 -10v-2620a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2650a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2701h0"></path>
+<path d="M156.5 2701h102"></path>
+<rect x="60" y="2690" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetCursor"><text x="108.25" y="2705">GetCursor</text>
+</a>
+</g>
+<path d="M258.5 2701a10 10 0 0 0 10 -10v-2650a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2680a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2731h0"></path>
+<path d="M165 2731h93.5"></path>
+<rect x="60" y="2720" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetDataset"><text x="112.5" y="2735">GetDataset</text>
+</a>
+</g>
+<path d="M258.5 2731a10 10 0 0 0 10 -10v-2680a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2710a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2761h0"></path>
+<path d="M156.5 2761h102"></path>
+<rect x="60" y="2750" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetLocale"><text x="108.25" y="2765">GetLocale</text>
+</a>
+</g>
+<path d="M258.5 2761a10 10 0 0 0 10 -10v-2710a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2740a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2791h0"></path>
+<path d="M182 2791h76.5"></path>
+<rect x="60" y="2780" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetParameter"><text x="121" y="2795">GetParameter</text>
+</a>
+</g>
+<path d="M258.5 2791a10 10 0 0 0 10 -10v-2740a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2770a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2821h0"></path>
+<path d="M173.5 2821h85"></path>
+<rect x="60" y="2810" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetPFStatus"><text x="116.75" y="2825">GetPFStatus</text>
+</a>
+</g>
+<path d="M258.5 2821a10 10 0 0 0 10 -10v-2770a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2800a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2851h0"></path>
+<path d="M173.5 2851h85"></path>
+<rect x="60" y="2840" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetProperty"><text x="116.75" y="2855">GetProperty</text>
+</a>
+</g>
+<path d="M258.5 2851a10 10 0 0 0 10 -10v-2800a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2830a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2881h0"></path>
+<path d="M182 2881h76.5"></path>
+<rect x="60" y="2870" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetReference"><text x="121" y="2885">GetReference</text>
+</a>
+</g>
+<path d="M258.5 2881a10 10 0 0 0 10 -10v-2830a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2860a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2911h0"></path>
+<path d="M165 2911h93.5"></path>
+<rect x="60" y="2900" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetRunTime"><text x="112.5" y="2915">GetRunTime</text>
+</a>
+</g>
+<path d="M258.5 2911a10 10 0 0 0 10 -10v-2860a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2890a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2941h0"></path>
+<path d="M139.5 2941h119"></path>
+<rect x="60" y="2930" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetTime"><text x="99.75" y="2945">GetTime</text>
+</a>
+</g>
+<path d="M258.5 2941a10 10 0 0 0 10 -10v-2890a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2920a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 2971h0"></path>
+<path d="M114 2971h144.5"></path>
+<rect x="60" y="2960" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Hide"><text x="87" y="2975">Hide</text>
+</a>
+</g>
+<path d="M258.5 2971a10 10 0 0 0 10 -10v-2920a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2950a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3001h0"></path>
+<path d="M122.5 3001h136"></path>
+<rect x="60" y="2990" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Nodes"><text x="91.25" y="3005">Nodes</text>
+</a>
+</g>
+<path d="M258.5 3001a10 10 0 0 0 10 -10v-2950a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2980a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3031h0"></path>
+<path d="M182 3031h76.5"></path>
+<rect x="60" y="3020" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ImportDynpro"><text x="121" y="3035">ImportDynpro</text>
+</a>
+</g>
+<path d="M258.5 3031a10 10 0 0 0 10 -10v-2980a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3010a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3061h0"></path>
+<path d="M190.5 3061h68"></path>
+<rect x="60" y="3050" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ImportNametab"><text x="125.25" y="3065">ImportNametab</text>
+</a>
+</g>
+<path d="M258.5 3061a10 10 0 0 0 10 -10v-3010a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3040a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3091h0"></path>
+<path d="M224.5 3091h34"></path>
+<rect x="60" y="3080" width="164.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MoveCorresponding"><text x="142.25" y="3095">MoveCorresponding</text>
+</a>
+</g>
+<path d="M258.5 3091a10 10 0 0 0 10 -10v-3040a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3070a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3121h0"></path>
+<path d="M131 3121h127.5"></path>
+<rect x="60" y="3110" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Import"><text x="95.5" y="3125">Import</text>
+</a>
+</g>
+<path d="M258.5 3121a10 10 0 0 0 10 -10v-3070a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3151h0"></path>
+<path d="M156.5 3151h102"></path>
+<rect x="60" y="3140" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Infotypes"><text x="108.25" y="3155">Infotypes</text>
+</a>
+</g>
+<path d="M258.5 3151a10 10 0 0 0 10 -10v-3100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3181h0"></path>
+<path d="M139.5 3181h119"></path>
+<rect x="60" y="3170" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="99.75" y="3185">Include</text>
+</a>
+</g>
+<path d="M258.5 3181a10 10 0 0 0 10 -10v-3130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3211h0"></path>
+<path d="M199 3211h59.5"></path>
+<rect x="60" y="3200" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InsertDatabase"><text x="129.5" y="3215">InsertDatabase</text>
+</a>
+</g>
+<path d="M258.5 3211a10 10 0 0 0 10 -10v-3160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3241h0"></path>
+<path d="M182 3241h76.5"></path>
+<rect x="60" y="3230" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InsertReport"><text x="121" y="3245">InsertReport</text>
+</a>
+</g>
+<path d="M258.5 3241a10 10 0 0 0 10 -10v-3190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3271h0"></path>
+<path d="M199 3271h59.5"></path>
+<rect x="60" y="3260" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InsertTextpool"><text x="129.5" y="3275">InsertTextpool</text>
+</a>
+</g>
+<path d="M258.5 3271a10 10 0 0 0 10 -10v-3220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3301h0"></path>
+<path d="M216 3301h42.5"></path>
+<rect x="60" y="3290" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InsertFieldGroup"><text x="138" y="3305">InsertFieldGroup</text>
+</a>
+</g>
+<path d="M258.5 3301a10 10 0 0 0 10 -10v-3250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3331h0"></path>
+<path d="M190.5 3331h68"></path>
+<rect x="60" y="3320" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InterfaceLoad"><text x="125.25" y="3335">InterfaceLoad</text>
+</a>
+</g>
+<path d="M258.5 3331a10 10 0 0 0 10 -10v-3280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3310a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3361h0"></path>
+<path d="M122.5 3361h136"></path>
+<rect x="60" y="3350" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Leave"><text x="91.25" y="3365">Leave</text>
+</a>
+</g>
+<path d="M258.5 3361a10 10 0 0 0 10 -10v-3310a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3340a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3391h0"></path>
+<path d="M165 3391h93.5"></path>
+<rect x="60" y="3380" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/LoadReport"><text x="112.5" y="3395">LoadReport</text>
+</a>
+</g>
+<path d="M258.5 3391a10 10 0 0 0 10 -10v-3340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3370a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3421h0"></path>
+<path d="M122.5 3421h136"></path>
+<rect x="60" y="3410" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Local"><text x="91.25" y="3425">Local</text>
+</a>
+</g>
+<path d="M258.5 3421a10 10 0 0 0 10 -10v-3370a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3400a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3451h0"></path>
+<path d="M114 3451h144.5"></path>
+<rect x="60" y="3440" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/With"><text x="87" y="3455">With</text>
+</a>
+</g>
+<path d="M258.5 3451a10 10 0 0 0 10 -10v-3400a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3430a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3481h0"></path>
+<path d="M148 3481h110.5"></path>
+<rect x="60" y="3470" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/LogPoint"><text x="104" y="3485">LogPoint</text>
+</a>
+</g>
+<path d="M258.5 3481a10 10 0 0 0 10 -10v-3430a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3460a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3511h0"></path>
+<path d="M139.5 3511h119"></path>
+<rect x="60" y="3500" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Message"><text x="99.75" y="3515">Message</text>
+</a>
+</g>
+<path d="M258.5 3511a10 10 0 0 0 10 -10v-3460a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3490a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3541h0"></path>
+<path d="M165 3541h93.5"></path>
+<rect x="60" y="3530" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ModifyLine"><text x="112.5" y="3545">ModifyLine</text>
+</a>
+</g>
+<path d="M258.5 3541a10 10 0 0 0 10 -10v-3490a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3520a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3571h0"></path>
+<path d="M199 3571h59.5"></path>
+<rect x="60" y="3560" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ModifyDatabase"><text x="129.5" y="3575">ModifyDatabase</text>
+</a>
+</g>
+<path d="M258.5 3571a10 10 0 0 0 10 -10v-3520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3550a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3601h0"></path>
+<path d="M199 3601h59.5"></path>
+<rect x="60" y="3590" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ModifyInternal"><text x="129.5" y="3605">ModifyInternal</text>
+</a>
+</g>
+<path d="M258.5 3601a10 10 0 0 0 10 -10v-3550a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3580a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3631h0"></path>
+<path d="M148 3631h110.5"></path>
+<rect x="60" y="3620" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Multiply"><text x="104" y="3635">Multiply</text>
+</a>
+</g>
+<path d="M258.5 3631a10 10 0 0 0 10 -10v-3580a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3610a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3661h0"></path>
+<path d="M139.5 3661h119"></path>
+<rect x="60" y="3650" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/NewLine"><text x="99.75" y="3665">NewLine</text>
+</a>
+</g>
+<path d="M258.5 3661a10 10 0 0 0 10 -10v-3610a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3640a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3691h0"></path>
+<path d="M139.5 3691h119"></path>
+<rect x="60" y="3680" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/NewPage"><text x="99.75" y="3695">NewPage</text>
+</a>
+</g>
+<path d="M258.5 3691a10 10 0 0 0 10 -10v-3640a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3670a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3721h0"></path>
+<path d="M165 3721h93.5"></path>
+<rect x="60" y="3710" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/OpenCursor"><text x="112.5" y="3725">OpenCursor</text>
+</a>
+</g>
+<path d="M258.5 3721a10 10 0 0 0 10 -10v-3670a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3700a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3751h0"></path>
+<path d="M173.5 3751h85"></path>
+<rect x="60" y="3740" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/OpenDataset"><text x="116.75" y="3755">OpenDataset</text>
+</a>
+</g>
+<path d="M258.5 3751a10 10 0 0 0 10 -10v-3700a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3730a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3781h0"></path>
+<path d="M139.5 3781h119"></path>
+<rect x="60" y="3770" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Overlay"><text x="99.75" y="3785">Overlay</text>
+</a>
+</g>
+<path d="M258.5 3781a10 10 0 0 0 10 -10v-3730a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3760a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3811h0"></path>
+<path d="M114 3811h144.5"></path>
+<rect x="60" y="3800" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Pack"><text x="87" y="3815">Pack</text>
+</a>
+</g>
+<path d="M258.5 3811a10 10 0 0 0 10 -10v-3760a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3790a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3841h0"></path>
+<path d="M139.5 3841h119"></path>
+<rect x="60" y="3830" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Perform"><text x="99.75" y="3845">Perform</text>
+</a>
+</g>
+<path d="M258.5 3841a10 10 0 0 0 10 -10v-3790a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3820a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3871h0"></path>
+<path d="M199 3871h59.5"></path>
+<rect x="60" y="3860" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/FormDefinition"><text x="129.5" y="3875">FormDefinition</text>
+</a>
+</g>
+<path d="M258.5 3871a10 10 0 0 0 10 -10v-3820a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3850a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3901h0"></path>
+<path d="M148 3901h110.5"></path>
+<rect x="60" y="3890" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Position"><text x="104" y="3905">Position</text>
+</a>
+</g>
+<path d="M258.5 3901a10 10 0 0 0 10 -10v-3850a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3880a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3931h0"></path>
+<path d="M105.5 3931h153"></path>
+<rect x="60" y="3920" width="45.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Put"><text x="82.75" y="3935">Put</text>
+</a>
+</g>
+<path d="M258.5 3931a10 10 0 0 0 10 -10v-3880a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3910a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3961h0"></path>
+<path d="M182 3961h76.5"></path>
+<rect x="60" y="3950" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/PrintControl"><text x="121" y="3965">PrintControl</text>
+</a>
+</g>
+<path d="M258.5 3961a10 10 0 0 0 10 -10v-3910a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3940a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 3991h0"></path>
+<path d="M165 3991h93.5"></path>
+<rect x="60" y="3980" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/RaiseEvent"><text x="112.5" y="3995">RaiseEvent</text>
+</a>
+</g>
+<path d="M258.5 3991a10 10 0 0 0 10 -10v-3940a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3970a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4021h0"></path>
+<path d="M216 4021h42.5"></path>
+<rect x="60" y="4010" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/RaiseEntityEvent"><text x="138" y="4025">RaiseEntityEvent</text>
+</a>
+</g>
+<path d="M258.5 4021a10 10 0 0 0 10 -10v-3970a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4000a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4051h0"></path>
+<path d="M122.5 4051h136"></path>
+<rect x="60" y="4040" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Raise"><text x="91.25" y="4055">Raise</text>
+</a>
+</g>
+<path d="M258.5 4051a10 10 0 0 0 10 -10v-4000a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4030a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4081h0"></path>
+<path d="M131 4081h127.5"></path>
+<rect x="60" y="4070" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Ranges"><text x="95.5" y="4085">Ranges</text>
+</a>
+</g>
+<path d="M258.5 4081a10 10 0 0 0 10 -10v-4030a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4060a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4111h0"></path>
+<path d="M173.5 4111h85"></path>
+<rect x="60" y="4100" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadDataset"><text x="116.75" y="4115">ReadDataset</text>
+</a>
+</g>
+<path d="M258.5 4111a10 10 0 0 0 10 -10v-4060a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4090a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4141h0"></path>
+<path d="M148 4141h110.5"></path>
+<rect x="60" y="4130" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadLine"><text x="104" y="4145">ReadLine</text>
+</a>
+</g>
+<path d="M258.5 4141a10 10 0 0 0 10 -10v-4090a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4120a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4171h0"></path>
+<path d="M165 4171h93.5"></path>
+<rect x="60" y="4160" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadReport"><text x="112.5" y="4175">ReadReport</text>
+</a>
+</g>
+<path d="M258.5 4171a10 10 0 0 0 10 -10v-4120a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4150a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4201h0"></path>
+<path d="M182 4201h76.5"></path>
+<rect x="60" y="4190" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadTextpool"><text x="121" y="4205">ReadTextpool</text>
+</a>
+</g>
+<path d="M258.5 4201a10 10 0 0 0 10 -10v-4150a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4180a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4231h0"></path>
+<path d="M139.5 4231h119"></path>
+<rect x="60" y="4220" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Receive"><text x="99.75" y="4235">Receive</text>
+</a>
+</g>
+<path d="M258.5 4231a10 10 0 0 0 10 -10v-4180a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4210a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4261h0"></path>
+<path d="M199 4261h59.5"></path>
+<rect x="60" y="4250" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/RefreshControl"><text x="129.5" y="4265">RefreshControl</text>
+</a>
+</g>
+<path d="M258.5 4261a10 10 0 0 0 10 -10v-4210a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4240a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4291h0"></path>
+<path d="M139.5 4291h119"></path>
+<rect x="60" y="4280" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Refresh"><text x="99.75" y="4295">Refresh</text>
+</a>
+</g>
+<path d="M258.5 4291a10 10 0 0 0 10 -10v-4240a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4270a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4321h0"></path>
+<path d="M131 4321h127.5"></path>
+<rect x="60" y="4310" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Reject"><text x="95.5" y="4325">Reject</text>
+</a>
+</g>
+<path d="M258.5 4321a10 10 0 0 0 10 -10v-4270a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4300a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4351h0"></path>
+<path d="M139.5 4351h119"></path>
+<rect x="60" y="4340" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Replace"><text x="99.75" y="4355">Replace</text>
+</a>
+</g>
+<path d="M258.5 4351a10 10 0 0 0 10 -10v-4300a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4330a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4381h0"></path>
+<path d="M139.5 4381h119"></path>
+<rect x="60" y="4370" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Reserve"><text x="99.75" y="4385">Reserve</text>
+</a>
+</g>
+<path d="M258.5 4381a10 10 0 0 0 10 -10v-4330a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4360a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4411h0"></path>
+<path d="M131 4411h127.5"></path>
+<rect x="60" y="4400" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Resume"><text x="95.5" y="4415">Resume</text>
+</a>
+</g>
+<path d="M258.5 4411a10 10 0 0 0 10 -10v-4360a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4390a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4441h0"></path>
+<path d="M122.5 4441h136"></path>
+<rect x="60" y="4430" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Retry"><text x="91.25" y="4445">Retry</text>
+</a>
+</g>
+<path d="M258.5 4441a10 10 0 0 0 10 -10v-4390a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4420a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4471h0"></path>
+<path d="M148 4471h110.5"></path>
+<rect x="60" y="4460" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Rollback"><text x="104" y="4475">Rollback</text>
+</a>
+</g>
+<path d="M258.5 4471a10 10 0 0 0 10 -10v-4420a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4450a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4501h0"></path>
+<path d="M114 4501h144.5"></path>
+<rect x="60" y="4490" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Scan"><text x="87" y="4505">Scan</text>
+</a>
+</g>
+<path d="M258.5 4501a10 10 0 0 0 10 -10v-4450a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4480a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4531h0"></path>
+<path d="M165 4531h93.5"></path>
+<rect x="60" y="4520" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ScrollList"><text x="112.5" y="4535">ScrollList</text>
+</a>
+</g>
+<path d="M258.5 4531a10 10 0 0 0 10 -10v-4480a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4510a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4561h0"></path>
+<path d="M131 4561h127.5"></path>
+<rect x="60" y="4550" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Search"><text x="95.5" y="4565">Search</text>
+</a>
+</g>
+<path d="M258.5 4561a10 10 0 0 0 10 -10v-4510a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4540a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4591h0"></path>
+<path d="M131 4591h127.5"></path>
+<rect x="60" y="4580" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetBit"><text x="95.5" y="4595">SetBit</text>
+</a>
+</g>
+<path d="M258.5 4591a10 10 0 0 0 10 -10v-4540a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4570a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4621h0"></path>
+<path d="M148 4621h110.5"></path>
+<rect x="60" y="4610" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetBlank"><text x="104" y="4625">SetBlank</text>
+</a>
+</g>
+<path d="M258.5 4621a10 10 0 0 0 10 -10v-4570a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4600a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4651h0"></path>
+<path d="M165 4651h93.5"></path>
+<rect x="60" y="4640" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetCountry"><text x="112.5" y="4655">SetCountry</text>
+</a>
+</g>
+<path d="M258.5 4651a10 10 0 0 0 10 -10v-4600a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4630a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4681h0"></path>
+<path d="M156.5 4681h102"></path>
+<rect x="60" y="4670" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetCursor"><text x="108.25" y="4685">SetCursor</text>
+</a>
+</g>
+<path d="M258.5 4681a10 10 0 0 0 10 -10v-4630a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4660a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4711h0"></path>
+<path d="M165 4711h93.5"></path>
+<rect x="60" y="4700" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetDataset"><text x="112.5" y="4715">SetDataset</text>
+</a>
+</g>
+<path d="M258.5 4711a10 10 0 0 0 10 -10v-4660a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4690a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4741h0"></path>
+<path d="M216 4741h42.5"></path>
+<rect x="60" y="4730" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetExtendedCheck"><text x="138" y="4745">SetExtendedCheck</text>
+</a>
+</g>
+<path d="M258.5 4741a10 10 0 0 0 10 -10v-4690a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4720a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4771h0"></path>
+<path d="M165 4771h93.5"></path>
+<rect x="60" y="4760" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetHandler"><text x="112.5" y="4775">SetHandler</text>
+</a>
+</g>
+<path d="M258.5 4771a10 10 0 0 0 10 -10v-4720a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4750a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4801h0"></path>
+<path d="M173.5 4801h85"></path>
+<rect x="60" y="4790" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetLanguage"><text x="116.75" y="4805">SetLanguage</text>
+</a>
+</g>
+<path d="M258.5 4801a10 10 0 0 0 10 -10v-4750a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4780a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4831h0"></path>
+<path d="M139.5 4831h119"></path>
+<rect x="60" y="4820" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetLeft"><text x="99.75" y="4835">SetLeft</text>
+</a>
+</g>
+<path d="M258.5 4831a10 10 0 0 0 10 -10v-4780a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4810a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4861h0"></path>
+<path d="M156.5 4861h102"></path>
+<rect x="60" y="4850" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetLocale"><text x="108.25" y="4865">SetLocale</text>
+</a>
+</g>
+<path d="M258.5 4861a10 10 0 0 0 10 -10v-4810a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4840a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4891h0"></path>
+<path d="M156.5 4891h102"></path>
+<rect x="60" y="4880" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetMargin"><text x="108.25" y="4895">SetMargin</text>
+</a>
+</g>
+<path d="M258.5 4891a10 10 0 0 0 10 -10v-4840a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4870a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4921h0"></path>
+<path d="M182 4921h76.5"></path>
+<rect x="60" y="4910" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetParameter"><text x="121" y="4925">SetParameter</text>
+</a>
+</g>
+<path d="M258.5 4921a10 10 0 0 0 10 -10v-4870a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4900a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4951h0"></path>
+<path d="M173.5 4951h85"></path>
+<rect x="60" y="4940" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetPFStatus"><text x="116.75" y="4955">SetPFStatus</text>
+</a>
+</g>
+<path d="M258.5 4951a10 10 0 0 0 10 -10v-4900a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4930a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 4981h0"></path>
+<path d="M173.5 4981h85"></path>
+<rect x="60" y="4970" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetProperty"><text x="116.75" y="4985">SetProperty</text>
+</a>
+</g>
+<path d="M258.5 4981a10 10 0 0 0 10 -10v-4930a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4960a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5011h0"></path>
+<path d="M165 5011h93.5"></path>
+<rect x="60" y="5000" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetRunTime"><text x="112.5" y="5015">SetRunTime</text>
+</a>
+</g>
+<path d="M258.5 5011a10 10 0 0 0 10 -10v-4960a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4990a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5041h0"></path>
+<path d="M156.5 5041h102"></path>
+<rect x="60" y="5030" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetScreen"><text x="108.25" y="5045">SetScreen</text>
+</a>
+</g>
+<path d="M258.5 5041a10 10 0 0 0 10 -10v-4990a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5020a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5071h0"></path>
+<path d="M173.5 5071h85"></path>
+<rect x="60" y="5060" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetTitlebar"><text x="116.75" y="5075">SetTitlebar</text>
+</a>
+</g>
+<path d="M258.5 5071a10 10 0 0 0 10 -10v-5020a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5050a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5101h0"></path>
+<path d="M199 5101h59.5"></path>
+<rect x="60" y="5090" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetUserCommand"><text x="129.5" y="5105">SetUserCommand</text>
+</a>
+</g>
+<path d="M258.5 5101a10 10 0 0 0 10 -10v-5050a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5080a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5131h0"></path>
+<path d="M190.5 5131h68"></path>
+<rect x="60" y="5120" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetUpdateTask"><text x="125.25" y="5135">SetUpdateTask</text>
+</a>
+</g>
+<path d="M258.5 5131a10 10 0 0 0 10 -10v-5080a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5110a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5161h0"></path>
+<path d="M122.5 5161h136"></path>
+<rect x="60" y="5150" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Shift"><text x="91.25" y="5165">Shift</text>
+</a>
+</g>
+<path d="M258.5 5161a10 10 0 0 0 10 -10v-5110a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5140a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5191h0"></path>
+<path d="M114 5191h144.5"></path>
+<rect x="60" y="5180" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Skip"><text x="87" y="5195">Skip</text>
+</a>
+</g>
+<path d="M258.5 5191a10 10 0 0 0 10 -10v-5140a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5170a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5221h0"></path>
+<path d="M173.5 5221h85"></path>
+<rect x="60" y="5210" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SortDataset"><text x="116.75" y="5225">SortDataset</text>
+</a>
+</g>
+<path d="M258.5 5221a10 10 0 0 0 10 -10v-5170a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5200a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5251h0"></path>
+<path d="M114 5251h144.5"></path>
+<rect x="60" y="5240" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Sort"><text x="87" y="5255">Sort</text>
+</a>
+</g>
+<path d="M258.5 5251a10 10 0 0 0 10 -10v-5200a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5230a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5281h0"></path>
+<path d="M131 5281h127.5"></path>
+<rect x="60" y="5270" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Static"><text x="95.5" y="5285">Static</text>
+</a>
+</g>
+<path d="M258.5 5281a10 10 0 0 0 10 -10v-5230a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5260a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5311h0"></path>
+<path d="M122.5 5311h136"></path>
+<rect x="60" y="5300" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Split"><text x="91.25" y="5315">Split</text>
+</a>
+</g>
+<path d="M258.5 5311a10 10 0 0 0 10 -10v-5260a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5290a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5341h0"></path>
+<path d="M114 5341h144.5"></path>
+<rect x="60" y="5330" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Stop"><text x="87" y="5345">Stop</text>
+</a>
+</g>
+<path d="M258.5 5341a10 10 0 0 0 10 -10v-5290a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5320a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5371h0"></path>
+<path d="M131 5371h127.5"></path>
+<rect x="60" y="5360" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Submit"><text x="95.5" y="5375">Submit</text>
+</a>
+</g>
+<path d="M258.5 5371a10 10 0 0 0 10 -10v-5320a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5350a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5401h0"></path>
+<path d="M139.5 5401h119"></path>
+<rect x="60" y="5390" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Summary"><text x="99.75" y="5405">Summary</text>
+</a>
+</g>
+<path d="M258.5 5401a10 10 0 0 0 10 -10v-5350a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5380a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5431h0"></path>
+<path d="M258.5 5431h0"></path>
+<rect x="60" y="5420" width="198.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SubtractCorresponding"><text x="159.25" y="5435">SubtractCorresponding</text>
+</a>
+</g>
+<path d="M258.5 5431a10 10 0 0 0 10 -10v-5380a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5410a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5461h0"></path>
+<path d="M148 5461h110.5"></path>
+<rect x="60" y="5450" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Subtract"><text x="104" y="5465">Subtract</text>
+</a>
+</g>
+<path d="M258.5 5461a10 10 0 0 0 10 -10v-5410a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5440a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5491h0"></path>
+<path d="M199 5491h59.5"></path>
+<rect x="60" y="5480" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SuppressDialog"><text x="129.5" y="5495">SuppressDialog</text>
+</a>
+</g>
+<path d="M258.5 5491a10 10 0 0 0 10 -10v-5440a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5470a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5521h0"></path>
+<path d="M131 5521h127.5"></path>
+<rect x="60" y="5510" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Supply"><text x="95.5" y="5525">Supply</text>
+</a>
+</g>
+<path d="M258.5 5521a10 10 0 0 0 10 -10v-5470a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5500a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5551h0"></path>
+<path d="M105.5 5551h153"></path>
+<rect x="60" y="5540" width="45.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Sum"><text x="82.75" y="5555">Sum</text>
+</a>
+</g>
+<path d="M258.5 5551a10 10 0 0 0 10 -10v-5500a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5530a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5581h0"></path>
+<path d="M173.5 5581h85"></path>
+<rect x="60" y="5570" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SyntaxCheck"><text x="116.75" y="5585">SyntaxCheck</text>
+</a>
+</g>
+<path d="M258.5 5581a10 10 0 0 0 10 -10v-5530a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5560a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5611h0"></path>
+<path d="M165 5611h93.5"></path>
+<rect x="60" y="5600" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SystemCall"><text x="112.5" y="5615">SystemCall</text>
+</a>
+</g>
+<path d="M258.5 5611a10 10 0 0 0 10 -10v-5560a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5590a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5641h0"></path>
+<path d="M131 5641h127.5"></path>
+<rect x="60" y="5630" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Tables"><text x="95.5" y="5645">Tables</text>
+</a>
+</g>
+<path d="M258.5 5641a10 10 0 0 0 10 -10v-5590a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5620a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5671h0"></path>
+<path d="M148 5671h110.5"></path>
+<rect x="60" y="5660" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Transfer"><text x="104" y="5675">Transfer</text>
+</a>
+</g>
+<path d="M258.5 5671a10 10 0 0 0 10 -10v-5620a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5650a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5701h0"></path>
+<path d="M156.5 5701h102"></path>
+<rect x="60" y="5690" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Translate"><text x="108.25" y="5705">Translate</text>
+</a>
+</g>
+<path d="M258.5 5701a10 10 0 0 0 10 -10v-5650a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5680a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5731h0"></path>
+<path d="M114 5731h144.5"></path>
+<rect x="60" y="5720" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="87" y="5735">Type</text>
+</a>
+</g>
+<path d="M258.5 5731a10 10 0 0 0 10 -10v-5680a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5710a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5761h0"></path>
+<path d="M156.5 5761h102"></path>
+<rect x="60" y="5750" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="108.25" y="5765">TypePools</text>
+</a>
+</g>
+<path d="M258.5 5761a10 10 0 0 0 10 -10v-5710a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5740a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5791h0"></path>
+<path d="M122.5 5791h136"></path>
+<rect x="60" y="5780" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Uline"><text x="91.25" y="5795">Uline</text>
+</a>
+</g>
+<path d="M258.5 5791a10 10 0 0 0 10 -10v-5740a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5770a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5821h0"></path>
+<path d="M148 5821h110.5"></path>
+<rect x="60" y="5810" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Unassign"><text x="104" y="5825">Unassign</text>
+</a>
+</g>
+<path d="M258.5 5821a10 10 0 0 0 10 -10v-5770a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5800a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5851h0"></path>
+<path d="M131 5851h127.5"></path>
+<rect x="60" y="5840" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Unpack"><text x="95.5" y="5855">Unpack</text>
+</a>
+</g>
+<path d="M258.5 5851a10 10 0 0 0 10 -10v-5800a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5830a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5881h0"></path>
+<path d="M199 5881h59.5"></path>
+<rect x="60" y="5870" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/UpdateDatabase"><text x="129.5" y="5885">UpdateDatabase</text>
+</a>
+</g>
+<path d="M258.5 5881a10 10 0 0 0 10 -10v-5830a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5860a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5911h0"></path>
+<path d="M114 5911h144.5"></path>
+<rect x="60" y="5900" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Wait"><text x="87" y="5915">Wait</text>
+</a>
+</g>
+<path d="M258.5 5911a10 10 0 0 0 10 -10v-5860a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5890a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5941h0"></path>
+<path d="M131 5941h127.5"></path>
+<rect x="60" y="5930" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Window"><text x="95.5" y="5945">Window</text>
+</a>
+</g>
+<path d="M258.5 5941a10 10 0 0 0 10 -10v-5890a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5920a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 5971h0"></path>
+<path d="M122.5 5971h136"></path>
+<rect x="60" y="5960" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Write"><text x="91.25" y="5975">Write</text>
+</a>
+</g>
+<path d="M258.5 5971a10 10 0 0 0 10 -10v-5920a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5950a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6001h0"></path>
+<path d="M199 6001h59.5"></path>
+<rect x="60" y="5990" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/CommitEntities"><text x="129.5" y="6005">CommitEntities</text>
+</a>
+</g>
+<path d="M258.5 6001a10 10 0 0 0 10 -10v-5950a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5980a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6031h0"></path>
+<path d="M199 6031h59.5"></path>
+<rect x="60" y="6020" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/GetPermissions"><text x="129.5" y="6035">GetPermissions</text>
+</a>
+</g>
+<path d="M258.5 6031a10 10 0 0 0 10 -10v-5980a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6010a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6061h0"></path>
+<path d="M148 6061h110.5"></path>
+<rect x="60" y="6050" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SetLocks"><text x="104" y="6065">SetLocks</text>
+</a>
+</g>
+<path d="M258.5 6061a10 10 0 0 0 10 -10v-6010a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6040a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6091h0"></path>
+<path d="M199 6091h59.5"></path>
+<rect x="60" y="6080" width="139" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ModifyEntities"><text x="129.5" y="6095">ModifyEntities</text>
+</a>
+</g>
+<path d="M258.5 6091a10 10 0 0 0 10 -10v-6040a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6070a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6121h0"></path>
+<path d="M182 6121h76.5"></path>
+<rect x="60" y="6110" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ReadEntities"><text x="121" y="6125">ReadEntities</text>
+</a>
+</g>
+<path d="M258.5 6121a10 10 0 0 0 10 -10v-6070a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 6151h0"></path>
+<path d="M216 6151h42.5"></path>
+<rect x="60" y="6140" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/RollbackEntities"><text x="138" y="6155">RollbackEntities</text>
+</a>
+</g>
+<path d="M258.5 6151a10 10 0 0 0 10 -10v-6100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6181h0"></path>
+<path d="M131 6181h127.5"></path>
+<rect x="60" y="6170" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Define"><text x="95.5" y="6185">Define</text>
+</a>
+</g>
+<path d="M258.5 6181a10 10 0 0 0 10 -10v-6130a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6211h0"></path>
+<path d="M190.5 6211h68"></path>
+<rect x="60" y="6200" width="130.5" height="22"></rect>
+<a xlink:href="#/abap/structure/TestInjection"><text x="125.25" y="6215">TestInjection</text>
+</a>
+</g>
+<path d="M258.5 6211a10 10 0 0 0 10 -10v-6160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6190a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6241h0"></path>
+<path d="M148 6241h110.5"></path>
+<rect x="60" y="6230" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/TestSeam"><text x="104" y="6245">TestSeam</text>
+</a>
+</g>
+<path d="M258.5 6241a10 10 0 0 0 10 -10v-6190a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6220a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6271h0"></path>
+<path d="M148 6271h110.5"></path>
+<rect x="60" y="6260" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/TypeMesh"><text x="104" y="6275">TypeMesh</text>
+</a>
+</g>
+<path d="M258.5 6271a10 10 0 0 0 10 -10v-6220a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6250a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6301h0"></path>
+<path d="M139.5 6301h119"></path>
+<rect x="60" y="6290" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Provide"><text x="99.75" y="6305">Provide</text>
+</a>
+</g>
+<path d="M258.5 6301a10 10 0 0 0 10 -10v-6250a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6280a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6331h0"></path>
+<path d="M258.5 6331h0"></path>
+<rect x="60" y="6320" width="198.5" height="22"></rect>
+<a xlink:href="#/abap/structure/CatchSystemExceptions"><text x="159.25" y="6335">CatchSystemExceptions</text>
+</a>
+</g>
+<path d="M258.5 6331a10 10 0 0 0 10 -10v-6280a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6310a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6361h0"></path>
+<path d="M97 6361h161.5"></path>
+<rect x="60" y="6350" width="37" height="22"></rect>
+<a xlink:href="#/abap/structure/At"><text x="78.5" y="6365">At</text>
+</a>
+</g>
+<path d="M258.5 6361a10 10 0 0 0 10 -10v-6310a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6340a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6391h0"></path>
+<path d="M139.5 6391h119"></path>
+<rect x="60" y="6380" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/structure/AtFirst"><text x="99.75" y="6395">AtFirst</text>
+</a>
+</g>
+<path d="M258.5 6391a10 10 0 0 0 10 -10v-6340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6370a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6421h0"></path>
+<path d="M131 6421h127.5"></path>
+<rect x="60" y="6410" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/AtLast"><text x="95.5" y="6425">AtLast</text>
+</a>
+</g>
+<path d="M258.5 6421a10 10 0 0 0 10 -10v-6370a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6400a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6451h0"></path>
+<path d="M156.5 6451h102"></path>
+<rect x="60" y="6440" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Constants"><text x="108.25" y="6455">Constants</text>
+</a>
+</g>
+<path d="M258.5 6451a10 10 0 0 0 10 -10v-6400a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6430a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6481h0"></path>
+<path d="M122.5 6481h136"></path>
+<rect x="60" y="6470" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Types"><text x="91.25" y="6485">Types</text>
+</a>
+</g>
+<path d="M258.5 6481a10 10 0 0 0 10 -10v-6430a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6460a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6511h0"></path>
+<path d="M139.5 6511h119"></path>
+<rect x="60" y="6500" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Statics"><text x="99.75" y="6515">Statics</text>
+</a>
+</g>
+<path d="M258.5 6511a10 10 0 0 0 10 -10v-6460a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6490a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6541h0"></path>
+<path d="M131 6541h127.5"></path>
+<rect x="60" y="6530" width="71" height="22"></rect>
+<a xlink:href="#/abap/structure/Select"><text x="95.5" y="6545">Select</text>
+</a>
+</g>
+<path d="M258.5 6541a10 10 0 0 0 10 -10v-6490a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6520a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6571h0"></path>
+<path d="M114 6571h144.5"></path>
+<rect x="60" y="6560" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Data"><text x="87" y="6575">Data</text>
+</a>
+</g>
+<path d="M258.5 6571a10 10 0 0 0 10 -10v-6520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6550a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6601h0"></path>
+<path d="M148 6601h110.5"></path>
+<rect x="60" y="6590" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/TypeEnum"><text x="104" y="6605">TypeEnum</text>
+</a>
+</g>
+<path d="M258.5 6601a10 10 0 0 0 10 -10v-6550a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6580a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6631h0"></path>
+<path d="M122.5 6631h136"></path>
+<rect x="60" y="6620" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/While"><text x="91.25" y="6635">While</text>
+</a>
+</g>
+<path d="M258.5 6631a10 10 0 0 0 10 -10v-6580a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6610a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6661h0"></path>
+<path d="M114 6661h144.5"></path>
+<rect x="60" y="6650" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/With"><text x="87" y="6665">With</text>
+</a>
+</g>
+<path d="M258.5 6661a10 10 0 0 0 10 -10v-6610a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6640a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6691h0"></path>
+<path d="M97 6691h161.5"></path>
+<rect x="60" y="6680" width="37" height="22"></rect>
+<a xlink:href="#/abap/structure/Do"><text x="78.5" y="6695">Do</text>
+</a>
+</g>
+<path d="M258.5 6691a10 10 0 0 0 10 -10v-6640a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6670a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M60 6721h0"></path>
+<path d="M139.5 6721h119"></path>
+<rect x="60" y="6710" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ExecSQL"><text x="99.75" y="6725">ExecSQL</text>
+</a>
+</g>
+<path d="M258.5 6721a10 10 0 0 0 10 -10v-6670a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 278.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_OnChange.svg b/abap/structure_OnChange.svg
new file mode 100644
index 00000000..a8870f5b
--- /dev/null
+++ b/abap/structure_OnChange.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="364.5" height="71" viewBox="0 0 364.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M314.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/OnChange"><text x="94" y="44">OnChange</text>
+</a>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M242 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h54"></path>
+</g>
+<path d="M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g class="non-terminal">
+<path d="M168 40h0"></path>
+<path d="M222 40h0"></path>
+<rect x="168" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="195" y="44">Body</text>
+</a>
+</g>
+<path d="M222 40h20"></path>
+</g>
+<path d="M242 40h10"></path>
+<g class="terminal">
+<path d="M252 40h0"></path>
+<path d="M314.5 40h0"></path>
+<rect x="252" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndOn"><text x="283.25" y="44">EndOn</text>
+</a>
+</g>
+</g>
+<path d="M314.5 40h10"></path>
+<path d="M 324.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_PrivateSection.svg b/abap/structure_PrivateSection.svg
new file mode 100644
index 00000000..3690aa13
--- /dev/null
+++ b/abap/structure_PrivateSection.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="377" height="71" viewBox="0 0 377 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M327 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Private"><text x="89.75" y="44">Private</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M327 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h147.5"></path>
+</g>
+<path d="M307 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="non-terminal">
+<path d="M159.5 40h0"></path>
+<path d="M307 40h0"></path>
+<rect x="159.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/SectionContents"><text x="233.25" y="44">SectionContents</text>
+</a>
+</g>
+<path d="M307 40h20"></path>
+</g>
+</g>
+<path d="M327 40h10"></path>
+<path d="M 337 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_ProtectedSection.svg b/abap/structure_ProtectedSection.svg
new file mode 100644
index 00000000..66531e1a
--- /dev/null
+++ b/abap/structure_ProtectedSection.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="394" height="71" viewBox="0 0 394 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M344 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Protected"><text x="98.25" y="44">Protected</text>
+</a>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M344 40h0"></path>
+<path d="M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M176.5 20h147.5"></path>
+</g>
+<path d="M324 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M156.5 40h20"></path>
+<g class="non-terminal">
+<path d="M176.5 40h0"></path>
+<path d="M324 40h0"></path>
+<rect x="176.5" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/SectionContents"><text x="250.25" y="44">SectionContents</text>
+</a>
+</g>
+<path d="M324 40h20"></path>
+</g>
+</g>
+<path d="M344 40h10"></path>
+<path d="M 354 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Provide.svg b/abap/structure_Provide.svg
new file mode 100644
index 00000000..afdd99fc
--- /dev/null
+++ b/abap/structure_Provide.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="398.5" height="71" viewBox="0 0 398.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M348.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Provide"><text x="89.75" y="44">Provide</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M233.5 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h54"></path>
+</g>
+<path d="M213.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="non-terminal">
+<path d="M159.5 40h0"></path>
+<path d="M213.5 40h0"></path>
+<rect x="159.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="186.5" y="44">Body</text>
+</a>
+</g>
+<path d="M213.5 40h20"></path>
+</g>
+<path d="M233.5 40h10"></path>
+<g class="terminal">
+<path d="M243.5 40h0"></path>
+<path d="M348.5 40h0"></path>
+<rect x="243.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndProvide"><text x="296" y="44">EndProvide</text>
+</a>
+</g>
+</g>
+<path d="M348.5 40h10"></path>
+<path d="M 358.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_PublicSection.svg b/abap/structure_PublicSection.svg
new file mode 100644
index 00000000..2b973d02
--- /dev/null
+++ b/abap/structure_PublicSection.svg
@@ -0,0 +1,79 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="368.5" height="71" viewBox="0 0 368.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M318.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Public"><text x="85.5" y="44">Public</text>
+</a>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M318.5 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h147.5"></path>
+</g>
+<path d="M298.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g class="non-terminal">
+<path d="M151 40h0"></path>
+<path d="M298.5 40h0"></path>
+<rect x="151" y="29" width="147.5" height="22"></rect>
+<a xlink:href="#/abap/structure/SectionContents"><text x="224.75" y="44">SectionContents</text>
+</a>
+</g>
+<path d="M298.5 40h20"></path>
+</g>
+</g>
+<path d="M318.5 40h10"></path>
+<path d="M 328.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_SectionContents.svg b/abap/structure_SectionContents.svg
new file mode 100644
index 00000000..bd37664e
--- /dev/null
+++ b/abap/structure_SectionContents.svg
@@ -0,0 +1,235 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="361.5" height="589" viewBox="0 0 361.5 589">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M321.5 40h0"></path>
+<path d="M40 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M60 20h241.5"></path>
+</g>
+<path d="M301.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M301.5 40h0"></path>
+<path d="M60 40h10"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M291.5 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="terminal">
+<path d="M90 40h0"></path>
+<path d="M186.5 40h85"></path>
+<rect x="90" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MethodDef"><text x="138.25" y="44">MethodDef</text>
+</a>
+</g>
+<path d="M271.5 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 70h0"></path>
+<path d="M212 70h59.5"></path>
+<rect x="90" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InterfaceDef"><text x="151" y="74">InterfaceDef</text>
+</a>
+</g>
+<path d="M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 100h0"></path>
+<path d="M144 100h127.5"></path>
+<rect x="90" y="89" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Data"><text x="117" y="104">Data</text>
+</a>
+</g>
+<path d="M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 130h0"></path>
+<path d="M186.5 130h85"></path>
+<rect x="90" y="119" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassData"><text x="138.25" y="134">ClassData</text>
+</a>
+</g>
+<path d="M271.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 160h0"></path>
+<path d="M161 160h110.5"></path>
+<rect x="90" y="149" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Events"><text x="125.5" y="164">Events</text>
+</a>
+</g>
+<path d="M271.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 190h0"></path>
+<path d="M178 190h93.5"></path>
+<rect x="90" y="179" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Constant"><text x="134" y="194">Constant</text>
+</a>
+</g>
+<path d="M271.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 220h0"></path>
+<path d="M169.5 220h102"></path>
+<rect x="90" y="209" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Aliases"><text x="129.75" y="224">Aliases</text>
+</a>
+</g>
+<path d="M271.5 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 250h0"></path>
+<path d="M186.5 250h85"></path>
+<rect x="90" y="239" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypePools"><text x="138.25" y="254">TypePools</text>
+</a>
+</g>
+<path d="M271.5 250a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 280h0"></path>
+<path d="M220.5 280h51"></path>
+<rect x="90" y="269" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/InterfaceLoad"><text x="155.25" y="284">InterfaceLoad</text>
+</a>
+</g>
+<path d="M271.5 280a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 310h0"></path>
+<path d="M271.5 310h0"></path>
+<rect x="90" y="299" width="181.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/ClassDefinitionLoad"><text x="180.75" y="314">ClassDefinitionLoad</text>
+</a>
+</g>
+<path d="M271.5 310a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 340h0"></path>
+<path d="M169.5 340h102"></path>
+<rect x="90" y="329" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="129.75" y="344">Include</text>
+</a>
+</g>
+<path d="M271.5 340a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 370h0"></path>
+<path d="M152.5 370h119"></path>
+<rect x="90" y="359" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Types"><text x="121.25" y="374">Types</text>
+</a>
+</g>
+<path d="M271.5 370a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 400h0"></path>
+<path d="M186.5 400h85"></path>
+<rect x="90" y="389" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Constants"><text x="138.25" y="404">Constants</text>
+</a>
+</g>
+<path d="M271.5 400a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 430h0"></path>
+<path d="M178 430h93.5"></path>
+<rect x="90" y="419" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/TypeEnum"><text x="134" y="434">TypeEnum</text>
+</a>
+</g>
+<path d="M271.5 430a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 460h0"></path>
+<path d="M178 460h93.5"></path>
+<rect x="90" y="449" width="88" height="22"></rect>
+<a xlink:href="#/abap/structure/TypeMesh"><text x="134" y="464">TypeMesh</text>
+</a>
+</g>
+<path d="M271.5 460a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 490h0"></path>
+<path d="M144 490h127.5"></path>
+<rect x="90" y="479" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Data"><text x="117" y="494">Data</text>
+</a>
+</g>
+<path d="M271.5 490a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v460a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M90 520h0"></path>
+<path d="M186.5 520h85"></path>
+<rect x="90" y="509" width="96.5" height="22"></rect>
+<a xlink:href="#/abap/structure/ClassData"><text x="138.25" y="524">ClassData</text>
+</a>
+</g>
+<path d="M271.5 520a10 10 0 0 0 10 -10v-460a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v490a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 550h0"></path>
+<path d="M144 550h127.5"></path>
+<rect x="90" y="539" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="117" y="554">Type</text>
+</a>
+</g>
+<path d="M271.5 550a10 10 0 0 0 10 -10v-490a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M291.5 40h10"></path>
+<path d="M70 40a10 10 0 0 0 -10 10v509a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 569h221.5"></path>
+</g>
+<path d="M291.5 569a10 10 0 0 0 10 -10v-509a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M301.5 40h20"></path>
+</g>
+<path d="M 321.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Select.svg b/abap/structure_Select.svg
new file mode 100644
index 00000000..76036d73
--- /dev/null
+++ b/abap/structure_Select.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="415.5" height="71" viewBox="0 0 415.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M365.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M155 40h0"></path>
+<rect x="50" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/SelectLoop"><text x="102.5" y="44">SelectLoop</text>
+</a>
+</g>
+<path d="M155 40h10"></path>
+<g>
+<path d="M165 40h0"></path>
+<path d="M259 40h0"></path>
+<path d="M165 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M185 20h54"></path>
+</g>
+<path d="M239 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M165 40h20"></path>
+<g class="non-terminal">
+<path d="M185 40h0"></path>
+<path d="M239 40h0"></path>
+<rect x="185" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="212" y="44">Body</text>
+</a>
+</g>
+<path d="M239 40h20"></path>
+</g>
+<path d="M259 40h10"></path>
+<g class="terminal">
+<path d="M269 40h0"></path>
+<path d="M365.5 40h0"></path>
+<rect x="269" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndSelect"><text x="317.25" y="44">EndSelect</text>
+</a>
+</g>
+</g>
+<path d="M365.5 40h10"></path>
+<path d="M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Statics.svg b/abap/structure_Statics.svg
new file mode 100644
index 00000000..1c63c01b
--- /dev/null
+++ b/abap/structure_Statics.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="543.5" height="109" viewBox="0 0 543.5 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M493.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M163.5 40h0"></path>
+<rect x="50" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/StaticBegin"><text x="106.75" y="44">StaticBegin</text>
+</a>
+</g>
+<path d="M163.5 40h10"></path>
+<g>
+<path d="M173.5 40h0"></path>
+<path d="M387 40h0"></path>
+<path d="M173.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M193.5 20h173.5"></path>
+</g>
+<path d="M367 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M173.5 40h20"></path>
+<g>
+<path d="M193.5 40h0"></path>
+<path d="M367 40h0"></path>
+<path d="M193.5 40h10"></path>
+<g>
+<path d="M203.5 40h0"></path>
+<path d="M357 40h0"></path>
+<path d="M203.5 40h20"></path>
+<g class="terminal">
+<path d="M223.5 40h0"></path>
+<path d="M294.5 40h42.5"></path>
+<rect x="223.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Static"><text x="259" y="44">Static</text>
+</a>
+</g>
+<path d="M337 40h20"></path>
+<path d="M203.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M223.5 70h0"></path>
+<path d="M337 70h0"></path>
+<rect x="223.5" y="59" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/IncludeType"><text x="280.25" y="74">IncludeType</text>
+</a>
+</g>
+<path d="M337 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M357 40h10"></path>
+<path d="M203.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M203.5 89h153.5"></path>
+</g>
+<path d="M357 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M367 40h20"></path>
+</g>
+<path d="M387 40h10"></path>
+<g class="terminal">
+<path d="M397 40h0"></path>
+<path d="M493.5 40h0"></path>
+<rect x="397" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/StaticEnd"><text x="445.25" y="44">StaticEnd</text>
+</a>
+</g>
+</g>
+<path d="M493.5 40h10"></path>
+<path d="M 503.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_TestInjection.svg b/abap/structure_TestInjection.svg
new file mode 100644
index 00000000..d24c8503
--- /dev/null
+++ b/abap/structure_TestInjection.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="500.5" height="71" viewBox="0 0 500.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M450.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TestInjection"><text x="115.25" y="44">TestInjection</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M284.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h54"></path>
+</g>
+<path d="M264.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g class="non-terminal">
+<path d="M210.5 40h0"></path>
+<path d="M264.5 40h0"></path>
+<rect x="210.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="237.5" y="44">Body</text>
+</a>
+</g>
+<path d="M264.5 40h20"></path>
+</g>
+<path d="M284.5 40h10"></path>
+<g class="terminal">
+<path d="M294.5 40h0"></path>
+<path d="M450.5 40h0"></path>
+<rect x="294.5" y="29" width="156" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndTestInjection"><text x="372.5" y="44">EndTestInjection</text>
+</a>
+</g>
+</g>
+<path d="M450.5 40h10"></path>
+<path d="M 460.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_TestSeam.svg b/abap/structure_TestSeam.svg
new file mode 100644
index 00000000..f9bdd08e
--- /dev/null
+++ b/abap/structure_TestSeam.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="415.5" height="71" viewBox="0 0 415.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M365.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TestSeam"><text x="94" y="44">TestSeam</text>
+</a>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M242 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h54"></path>
+</g>
+<path d="M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g class="non-terminal">
+<path d="M168 40h0"></path>
+<path d="M222 40h0"></path>
+<rect x="168" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="195" y="44">Body</text>
+</a>
+</g>
+<path d="M222 40h20"></path>
+</g>
+<path d="M242 40h10"></path>
+<g class="terminal">
+<path d="M252 40h0"></path>
+<path d="M365.5 40h0"></path>
+<rect x="252" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndTestSeam"><text x="308.75" y="44">EndTestSeam</text>
+</a>
+</g>
+</g>
+<path d="M365.5 40h10"></path>
+<path d="M 375.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Try.svg b/abap/structure_Try.svg
new file mode 100644
index 00000000..5fcf4d71
--- /dev/null
+++ b/abap/structure_Try.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="592.5" height="80" viewBox="0 0 592.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M542.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M95.5 40h0"></path>
+<rect x="50" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Try"><text x="72.75" y="44">Try</text>
+</a>
+</g>
+<path d="M95.5 40h10"></path>
+<path d="M105.5 40h10"></path>
+<g>
+<path d="M115.5 40h0"></path>
+<path d="M451.5 40h0"></path>
+<g>
+<path d="M115.5 40h0"></path>
+<path d="M209.5 40h0"></path>
+<path d="M115.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M135.5 20h54"></path>
+</g>
+<path d="M189.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M115.5 40h20"></path>
+<g class="non-terminal">
+<path d="M135.5 40h0"></path>
+<path d="M189.5 40h0"></path>
+<rect x="135.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="162.5" y="44">Body</text>
+</a>
+</g>
+<path d="M189.5 40h20"></path>
+</g>
+<g>
+<path d="M209.5 40h0"></path>
+<path d="M332 40h0"></path>
+<path d="M209.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M229.5 20h82.5"></path>
+</g>
+<path d="M312 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M209.5 40h20"></path>
+<g>
+<path d="M229.5 40h0"></path>
+<path d="M312 40h0"></path>
+<path d="M229.5 40h10"></path>
+<g class="non-terminal">
+<path d="M239.5 40h0"></path>
+<path d="M302 40h0"></path>
+<rect x="239.5" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Catch"><text x="270.75" y="44">Catch</text>
+</a>
+</g>
+<path d="M302 40h10"></path>
+<path d="M239.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M239.5 60h62.5"></path>
+</g>
+<path d="M302 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M312 40h20"></path>
+</g>
+<g>
+<path d="M332 40h0"></path>
+<path d="M451.5 40h0"></path>
+<path d="M332 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M352 20h79.5"></path>
+</g>
+<path d="M431.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M332 40h20"></path>
+<g class="non-terminal">
+<path d="M352 40h0"></path>
+<path d="M431.5 40h0"></path>
+<rect x="352" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Cleanup"><text x="391.75" y="44">Cleanup</text>
+</a>
+</g>
+<path d="M431.5 40h20"></path>
+</g>
+</g>
+<path d="M451.5 40h10"></path>
+<path d="M461.5 40h10"></path>
+<g class="terminal">
+<path d="M471.5 40h0"></path>
+<path d="M542.5 40h0"></path>
+<rect x="471.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndTry"><text x="507" y="44">EndTry</text>
+</a>
+</g>
+</g>
+<path d="M542.5 40h10"></path>
+<path d="M 552.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_TypeEnum.svg b/abap/structure_TypeEnum.svg
new file mode 100644
index 00000000..08ae77c3
--- /dev/null
+++ b/abap/structure_TypeEnum.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="552" height="109" viewBox="0 0 552 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M502 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeEnumBegin"><text x="115.25" y="44">TypeEnumBegin</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M378.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h148"></path>
+</g>
+<path d="M358.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M358.5 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M348.5 40h0"></path>
+<path d="M220.5 40h20"></path>
+<g class="terminal">
+<path d="M240.5 40h0"></path>
+<path d="M328.5 40h0"></path>
+<rect x="240.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeEnum"><text x="284.5" y="44">TypeEnum</text>
+</a>
+</g>
+<path d="M328.5 40h20"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M240.5 70h0"></path>
+<path d="M294.5 70h34"></path>
+<rect x="240.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="267.5" y="74">Type</text>
+</a>
+</g>
+<path d="M328.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M348.5 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 89h128"></path>
+</g>
+<path d="M348.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M358.5 40h20"></path>
+</g>
+<path d="M378.5 40h10"></path>
+<g class="terminal">
+<path d="M388.5 40h0"></path>
+<path d="M502 40h0"></path>
+<rect x="388.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeEnumEnd"><text x="445.25" y="44">TypeEnumEnd</text>
+</a>
+</g>
+</g>
+<path d="M502 40h10"></path>
+<path d="M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_TypeMesh.svg b/abap/structure_TypeMesh.svg
new file mode 100644
index 00000000..001576b2
--- /dev/null
+++ b/abap/structure_TypeMesh.svg
@@ -0,0 +1,113 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="552" height="109" viewBox="0 0 552 109">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M502 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeMeshBegin"><text x="115.25" y="44">TypeMeshBegin</text>
+</a>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M378.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h148"></path>
+</g>
+<path d="M358.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g>
+<path d="M210.5 40h0"></path>
+<path d="M358.5 40h0"></path>
+<path d="M210.5 40h10"></path>
+<g>
+<path d="M220.5 40h0"></path>
+<path d="M348.5 40h0"></path>
+<path d="M220.5 40h20"></path>
+<g class="terminal">
+<path d="M240.5 40h0"></path>
+<path d="M328.5 40h0"></path>
+<rect x="240.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeMesh"><text x="284.5" y="44">TypeMesh</text>
+</a>
+</g>
+<path d="M328.5 40h20"></path>
+<path d="M220.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M240.5 70h0"></path>
+<path d="M294.5 70h34"></path>
+<rect x="240.5" y="59" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="267.5" y="74">Type</text>
+</a>
+</g>
+<path d="M328.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M348.5 40h10"></path>
+<path d="M220.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M220.5 89h128"></path>
+</g>
+<path d="M348.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M358.5 40h20"></path>
+</g>
+<path d="M378.5 40h10"></path>
+<g class="terminal">
+<path d="M388.5 40h0"></path>
+<path d="M502 40h0"></path>
+<rect x="388.5" y="29" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeMeshEnd"><text x="445.25" y="44">TypeMeshEnd</text>
+</a>
+</g>
+</g>
+<path d="M502 40h10"></path>
+<path d="M 512 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_Types.svg b/abap/structure_Types.svg
new file mode 100644
index 00000000..4db73739
--- /dev/null
+++ b/abap/structure_Types.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="509.5" height="199" viewBox="0 0 509.5 199">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M459.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M146.5 40h0"></path>
+<rect x="50" y="29" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeBegin"><text x="98.25" y="44">TypeBegin</text>
+</a>
+</g>
+<path d="M146.5 40h10"></path>
+<g>
+<path d="M156.5 40h0"></path>
+<path d="M370 40h0"></path>
+<path d="M156.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M176.5 20h173.5"></path>
+</g>
+<path d="M350 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M156.5 40h20"></path>
+<g>
+<path d="M176.5 40h0"></path>
+<path d="M350 40h0"></path>
+<path d="M176.5 40h10"></path>
+<g>
+<path d="M186.5 40h0"></path>
+<path d="M340 40h0"></path>
+<path d="M186.5 40h20"></path>
+<g class="terminal">
+<path d="M206.5 40h0"></path>
+<path d="M260.5 40h59.5"></path>
+<rect x="206.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Type"><text x="233.5" y="44">Type</text>
+</a>
+</g>
+<path d="M320 40h20"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M206.5 70h0"></path>
+<path d="M269 70h51"></path>
+<rect x="206.5" y="59" width="62.5" height="22"></rect>
+<a xlink:href="#/abap/structure/Types"><text x="237.75" y="74">Types</text>
+</a>
+</g>
+<path d="M320 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 100h0"></path>
+<path d="M303 100h17"></path>
+<rect x="206.5" y="89" width="96.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/MacroCall"><text x="254.75" y="104">MacroCall</text>
+</a>
+</g>
+<path d="M320 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 130h0"></path>
+<path d="M286 130h34"></path>
+<rect x="206.5" y="119" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/Include"><text x="246.25" y="134">Include</text>
+</a>
+</g>
+<path d="M320 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M186.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M206.5 160h0"></path>
+<path d="M320 160h0"></path>
+<rect x="206.5" y="149" width="113.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/IncludeType"><text x="263.25" y="164">IncludeType</text>
+</a>
+</g>
+<path d="M320 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M340 40h10"></path>
+<path d="M186.5 40a10 10 0 0 0 -10 10v119a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M186.5 179h153.5"></path>
+</g>
+<path d="M340 179a10 10 0 0 0 10 -10v-119a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M350 40h20"></path>
+</g>
+<path d="M370 40h10"></path>
+<g class="terminal">
+<path d="M380 40h0"></path>
+<path d="M459.5 40h0"></path>
+<rect x="380" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/TypeEnd"><text x="419.75" y="44">TypeEnd</text>
+</a>
+</g>
+</g>
+<path d="M459.5 40h10"></path>
+<path d="M 469.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_When.svg b/abap/structure_When.svg
new file mode 100644
index 00000000..99b58f4c
--- /dev/null
+++ b/abap/structure_When.svg
@@ -0,0 +1,93 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="339" height="101" viewBox="0 0 339 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M289 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M195 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M124 40h51"></path>
+<rect x="70" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/When"><text x="97" y="44">When</text>
+</a>
+</g>
+<path d="M175 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M175 70h0"></path>
+<rect x="70" y="59" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/WhenOthers"><text x="122.5" y="74">WhenOthers</text>
+</a>
+</g>
+<path d="M175 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M195 40h0"></path>
+<path d="M289 40h0"></path>
+<path d="M195 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M215 20h54"></path>
+</g>
+<path d="M269 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M195 40h20"></path>
+<g class="non-terminal">
+<path d="M215 40h0"></path>
+<path d="M269 40h0"></path>
+<rect x="215" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="242" y="44">Body</text>
+</a>
+</g>
+<path d="M269 40h20"></path>
+</g>
+</g>
+<path d="M289 40h10"></path>
+<path d="M 299 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_WhenType.svg b/abap/structure_WhenType.svg
new file mode 100644
index 00000000..d58d011a
--- /dev/null
+++ b/abap/structure_WhenType.svg
@@ -0,0 +1,93 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="339" height="101" viewBox="0 0 339 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M289 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M195 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M158 40h17"></path>
+<rect x="70" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/WhenType"><text x="114" y="44">WhenType</text>
+</a>
+</g>
+<path d="M175 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M175 70h0"></path>
+<rect x="70" y="59" width="105" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/WhenOthers"><text x="122.5" y="74">WhenOthers</text>
+</a>
+</g>
+<path d="M175 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M195 40h0"></path>
+<path d="M289 40h0"></path>
+<path d="M195 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M215 20h54"></path>
+</g>
+<path d="M269 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M195 40h20"></path>
+<g class="non-terminal">
+<path d="M215 40h0"></path>
+<path d="M269 40h0"></path>
+<rect x="215" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="242" y="44">Body</text>
+</a>
+</g>
+<path d="M269 40h20"></path>
+</g>
+</g>
+<path d="M289 40h10"></path>
+<path d="M 299 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_While.svg b/abap/structure_While.svg
new file mode 100644
index 00000000..b9d9ef58
--- /dev/null
+++ b/abap/structure_While.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="364.5" height="71" viewBox="0 0 364.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M314.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M112.5 40h0"></path>
+<rect x="50" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/While"><text x="81.25" y="44">While</text>
+</a>
+</g>
+<path d="M112.5 40h10"></path>
+<g>
+<path d="M122.5 40h0"></path>
+<path d="M216.5 40h0"></path>
+<path d="M122.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M142.5 20h54"></path>
+</g>
+<path d="M196.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M122.5 40h20"></path>
+<g class="non-terminal">
+<path d="M142.5 40h0"></path>
+<path d="M196.5 40h0"></path>
+<rect x="142.5" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="169.5" y="44">Body</text>
+</a>
+</g>
+<path d="M196.5 40h20"></path>
+</g>
+<path d="M216.5 40h10"></path>
+<g class="terminal">
+<path d="M226.5 40h0"></path>
+<path d="M314.5 40h0"></path>
+<rect x="226.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndWhile"><text x="270.5" y="44">EndWhile</text>
+</a>
+</g>
+</g>
+<path d="M314.5 40h10"></path>
+<path d="M 324.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/abap/structure_With.svg b/abap/structure_With.svg
new file mode 100644
index 00000000..9bcd9dae
--- /dev/null
+++ b/abap/structure_With.svg
@@ -0,0 +1,87 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="381.5" height="71" viewBox="0 0 381.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M331.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M138 40h0"></path>
+<rect x="50" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/WithLoop"><text x="94" y="44">WithLoop</text>
+</a>
+</g>
+<path d="M138 40h10"></path>
+<g>
+<path d="M148 40h0"></path>
+<path d="M242 40h0"></path>
+<path d="M148 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 20h54"></path>
+</g>
+<path d="M222 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 40h20"></path>
+<g class="non-terminal">
+<path d="M168 40h0"></path>
+<path d="M222 40h0"></path>
+<rect x="168" y="29" width="54" height="22"></rect>
+<a xlink:href="#/abap/structure/Body"><text x="195" y="44">Body</text>
+</a>
+</g>
+<path d="M222 40h20"></path>
+</g>
+<path d="M242 40h10"></path>
+<g class="terminal">
+<path d="M252 40h0"></path>
+<path d="M331.5 40h0"></path>
+<rect x="252" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<a xlink:href="#/abap/statement/EndWith"><text x="291.75" y="44">EndWith</text>
+</a>
+</g>
+</g>
+<path d="M331.5 40h10"></path>
+<path d="M 341.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+</g>
+</svg>
diff --git a/cds.json.js b/cds.json.js
new file mode 100644
index 00000000..6d5a6939
--- /dev/null
+++ b/cds.json.js
@@ -0,0 +1,624 @@
+cdsData = {
+  "expressions": [
+    {
+      "name": "CDSAggregate",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"MAX\"'),Railroad.Terminal('\"MIN\"'),Railroad.Terminal('\"SUM\"'),Railroad.Terminal('\"AVG\"'),Railroad.Terminal('\"COUNT\"')),Railroad.Terminal('\"(\"'),Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'})),Railroad.Terminal('\")\"'))).toString();",
+      "using": [
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"800\" height=\"191\" viewBox=\"0 0 800 191\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M750 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M169.5 40h0\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h17\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"MAX\"</text>\n</g>\n<path d=\"M149.5 40h20\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M132.5 70h17\"></path>\n<rect x=\"70\" y=\"59\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"74\">\"MIN\"</text>\n</g>\n<path d=\"M149.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M132.5 100h17\"></path>\n<rect x=\"70\" y=\"89\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"104\">\"SUM\"</text>\n</g>\n<path d=\"M149.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 130h0\"></path>\n<path d=\"M132.5 130h17\"></path>\n<rect x=\"70\" y=\"119\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"134\">\"AVG\"</text>\n</g>\n<path d=\"M149.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M70 160h0\"></path>\n<path d=\"M149.5 160h0\"></path>\n<rect x=\"70\" y=\"149\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"109.75\" y=\"164\">\"COUNT\"</text>\n</g>\n<path d=\"M149.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M169.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 40h0\"></path>\n<path d=\"M225 40h0\"></path>\n<rect x=\"179.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"202.25\" y=\"44\">\"(\"</text>\n</g>\n<path d=\"M225 40h10\"></path>\n<g>\n<path d=\"M235 40h0\"></path>\n<path d=\"M380 40h0\"></path>\n<path d=\"M235 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M255 20h105\"></path>\n</g>\n<path d=\"M360 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M235 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M255 40h0\"></path>\n<path d=\"M360 40h0\"></path>\n<rect x=\"255\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"307.5\" y=\"44\">\"DISTINCT\"</text>\n</g>\n<path d=\"M360 40h20\"></path>\n</g>\n<g>\n<path d=\"M380 40h0\"></path>\n<path d=\"M694.5 40h0\"></path>\n<path d=\"M380 40h20\"></path>\n<g>\n<path d=\"M400 40h0\"></path>\n<path d=\"M674.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M400 40h0\"></path>\n<path d=\"M479.5 40h0\"></path>\n<rect x=\"400\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"439.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M479.5 40h10\"></path>\n<g>\n<path d=\"M489.5 40h0\"></path>\n<path d=\"M674.5 40h0\"></path>\n<path d=\"M489.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M509.5 20h145\"></path>\n</g>\n<path d=\"M654.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M489.5 40h20\"></path>\n<g>\n<path d=\"M509.5 40h0\"></path>\n<path d=\"M654.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M509.5 40h0\"></path>\n<path d=\"M555 40h0\"></path>\n<rect x=\"509.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M555 40h10\"></path>\n<path d=\"M565 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M575 40h0\"></path>\n<path d=\"M654.5 40h0\"></path>\n<rect x=\"575\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"614.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M654.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M674.5 40h20\"></path>\n<path d=\"M380 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M400 70h0\"></path>\n<path d=\"M479.5 70h195\"></path>\n<rect x=\"400\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"439.75\" y=\"74\">CDSCast</text>\n</a>\n</g>\n<path d=\"M674.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M380 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M400 100h0\"></path>\n<path d=\"M479.5 100h195\"></path>\n<rect x=\"400\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"439.75\" y=\"104\">CDSCase</text>\n</a>\n</g>\n<path d=\"M674.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M694.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 40h0\"></path>\n<path d=\"M750 40h0\"></path>\n<rect x=\"704.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"727.25\" y=\"44\">\")\"</text>\n</g>\n</g>\n<path d=\"M750 40h10\"></path>\n<path d=\"M 760 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSCast",
+        "expression/CDSElement"
+      ],
+      "filename": "c_ds_aggregate.ts"
+    },
+    {
+      "name": "CDSAnnotate",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"ANNOTATE\"'),Railroad.Choice(0, Railroad.Terminal('\"ENTITY\"'),Railroad.Terminal('\"VIEW\"')),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\"WITH\"'),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'}),Railroad.Terminal('\";\"'))),Railroad.Terminal('\"}\"'),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSElement",
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1161\" height=\"101\" viewBox=\"0 0 1161 101\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1111 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M355.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"303\" y=\"44\">\"ANNOTATE\"</text>\n</g>\n<path d=\"M355.5 40h10\"></path>\n<g>\n<path d=\"M365.5 40h0\"></path>\n<path d=\"M493.5 40h0\"></path>\n<path d=\"M365.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M385.5 40h0\"></path>\n<path d=\"M473.5 40h0\"></path>\n<rect x=\"385.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"429.5\" y=\"44\">\"ENTITY\"</text>\n</g>\n<path d=\"M473.5 40h20\"></path>\n<path d=\"M365.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M385.5 70h0\"></path>\n<path d=\"M456.5 70h17\"></path>\n<rect x=\"385.5\" y=\"59\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"421\" y=\"74\">\"VIEW\"</text>\n</g>\n<path d=\"M473.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M493.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M503.5 40h0\"></path>\n<path d=\"M583 40h0\"></path>\n<rect x=\"503.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"543.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M583 40h10\"></path>\n<path d=\"M593 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M603 40h0\"></path>\n<path d=\"M674 40h0\"></path>\n<rect x=\"603\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"638.5\" y=\"44\">\"WITH\"</text>\n</g>\n<path d=\"M674 40h10\"></path>\n<path d=\"M684 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M694 40h0\"></path>\n<path d=\"M739.5 40h0\"></path>\n<rect x=\"694\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"716.75\" y=\"44\">\"{\"</text>\n</g>\n<path d=\"M739.5 40h10\"></path>\n<path d=\"M749.5 40h10\"></path>\n<g>\n<path d=\"M759.5 40h0\"></path>\n<path d=\"M950 40h0\"></path>\n<path d=\"M759.5 40h10\"></path>\n<g>\n<path d=\"M769.5 40h0\"></path>\n<path d=\"M940 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M769.5 40h0\"></path>\n<path d=\"M874.5 40h0\"></path>\n<rect x=\"769.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"822\" y=\"44\">CDSElement</text>\n</a>\n</g>\n<path d=\"M874.5 40h10\"></path>\n<path d=\"M884.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M894.5 40h0\"></path>\n<path d=\"M940 40h0\"></path>\n<rect x=\"894.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"917.25\" y=\"44\">\";\"</text>\n</g>\n</g>\n<path d=\"M940 40h10\"></path>\n<path d=\"M769.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M769.5 60h170.5\"></path>\n</g>\n<path d=\"M940 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M950 40h10\"></path>\n<path d=\"M960 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M970 40h0\"></path>\n<path d=\"M1015.5 40h0\"></path>\n<rect x=\"970\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"992.75\" y=\"44\">\"}\"</text>\n</g>\n<path d=\"M1015.5 40h10\"></path>\n<g>\n<path d=\"M1025.5 40h0\"></path>\n<path d=\"M1111 40h0\"></path>\n<path d=\"M1025.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1045.5 20h45.5\"></path>\n</g>\n<path d=\"M1091 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1025.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1045.5 40h0\"></path>\n<path d=\"M1091 40h0\"></path>\n<rect x=\"1045.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1068.25\" y=\"44\">\";\"</text>\n</g>\n<path d=\"M1091 40h20\"></path>\n</g>\n</g>\n<path d=\"M1111 40h10\"></path>\n<path d=\"M 1121 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_annotate.ts"
+    },
+    {
+      "name": "CDSAnnotation",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal(\"^@\\\\w+$\"),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Terminal(\"^\\\\w+$\"))),Railroad.Optional(Railroad.Terminal('\":\"')),Railroad.Optional(Railroad.Choice(0, Railroad.NonTerminal('CDSAnnotationArray', {href: '#/expression/CDSAnnotationArray'}),Railroad.NonTerminal('CDSAnnotationObject', {href: '#/expression/CDSAnnotationObject'}),Railroad.NonTerminal('CDSAnnotationSimple', {href: '#/expression/CDSAnnotationSimple'}))))).toString();",
+      "using": [
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject",
+        "expression/CDSAnnotationSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"716\" height=\"131\" viewBox=\"0 0 716 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M666 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">^@\\w+$</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<g>\n<path d=\"M131 40h0\"></path>\n<path d=\"M319 40h0\"></path>\n<path d=\"M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M151 20h148\"></path>\n</g>\n<path d=\"M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M131 40h20\"></path>\n<g>\n<path d=\"M151 40h0\"></path>\n<path d=\"M299 40h0\"></path>\n<path d=\"M151 40h10\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 40h0\"></path>\n<path d=\"M206.5 40h0\"></path>\n<rect x=\"161\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"183.75\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M206.5 40h10\"></path>\n<path d=\"M216.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<rect x=\"226.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"44\">^\\w+$</text>\n</g>\n</g>\n<path d=\"M289 40h10\"></path>\n<path d=\"M161 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 60h128\"></path>\n</g>\n<path d=\"M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M299 40h20\"></path>\n</g>\n<g>\n<path d=\"M319 40h0\"></path>\n<path d=\"M404.5 40h0\"></path>\n<path d=\"M319 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M339 20h45.5\"></path>\n</g>\n<path d=\"M384.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M319 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M339 40h0\"></path>\n<path d=\"M384.5 40h0\"></path>\n<rect x=\"339\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"361.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M384.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M404.5 40h0\"></path>\n<path d=\"M666 40h0\"></path>\n<path d=\"M404.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M424.5 20h221.5\"></path>\n</g>\n<path d=\"M646 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M404.5 40h20\"></path>\n<g>\n<path d=\"M424.5 40h0\"></path>\n<path d=\"M646 40h0\"></path>\n<path d=\"M424.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M444.5 40h0\"></path>\n<path d=\"M617.5 40h8.5\"></path>\n<rect x=\"444.5\" y=\"29\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationArray\"><text x=\"531\" y=\"44\">CDSAnnotationArray</text>\n</a>\n</g>\n<path d=\"M626 40h20\"></path>\n<path d=\"M424.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M444.5 70h0\"></path>\n<path d=\"M626 70h0\"></path>\n<rect x=\"444.5\" y=\"59\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationObject\"><text x=\"535.25\" y=\"74\">CDSAnnotationObject</text>\n</a>\n</g>\n<path d=\"M626 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M424.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M444.5 100h0\"></path>\n<path d=\"M626 100h0\"></path>\n<rect x=\"444.5\" y=\"89\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationSimple\"><text x=\"535.25\" y=\"104\">CDSAnnotationSimple</text>\n</a>\n</g>\n<path d=\"M626 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M646 40h20\"></path>\n</g>\n</g>\n<path d=\"M666 40h10\"></path>\n<path d=\"M 676 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotate",
+        "expression/CDSDefineAbstract",
+        "expression/CDSDefineCustom",
+        "expression/CDSDefineProjection",
+        "expression/CDSDefineView",
+        "expression/CDSElement",
+        "expression/CDSExtendView"
+      ],
+      "filename": "c_ds_annotation.ts"
+    },
+    {
+      "name": "CDSAnnotationArray",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"[\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSAnnotationSimple', {href: '#/expression/CDSAnnotationSimple'}),Railroad.NonTerminal('CDSAnnotationObject', {href: '#/expression/CDSAnnotationObject'}),Railroad.NonTerminal('CDSAnnotationArray', {href: '#/expression/CDSAnnotationArray'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSAnnotationSimple', {href: '#/expression/CDSAnnotationSimple'}),Railroad.NonTerminal('CDSAnnotationObject', {href: '#/expression/CDSAnnotationObject'}),Railroad.NonTerminal('CDSAnnotationArray', {href: '#/expression/CDSAnnotationArray'})))),Railroad.Terminal('\"]\"'))).toString();",
+      "using": [
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject",
+        "expression/CDSAnnotationSimple"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"769.5\" height=\"139\" viewBox=\"0 0 769.5 139\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M719.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M95.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"44\">\"&#91;\"</text>\n</g>\n<path d=\"M95.5 40h10\"></path>\n<g>\n<path d=\"M105.5 40h0\"></path>\n<path d=\"M327 40h0\"></path>\n<path d=\"M105.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M125.5 40h0\"></path>\n<path d=\"M307 40h0\"></path>\n<rect x=\"125.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationSimple\"><text x=\"216.25\" y=\"44\">CDSAnnotationSimple</text>\n</a>\n</g>\n<path d=\"M307 40h20\"></path>\n<path d=\"M105.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M125.5 70h0\"></path>\n<path d=\"M307 70h0\"></path>\n<rect x=\"125.5\" y=\"59\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationObject\"><text x=\"216.25\" y=\"74\">CDSAnnotationObject</text>\n</a>\n</g>\n<path d=\"M307 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M105.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M125.5 100h0\"></path>\n<path d=\"M298.5 100h8.5\"></path>\n<rect x=\"125.5\" y=\"89\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationArray\"><text x=\"212\" y=\"104\">CDSAnnotationArray</text>\n</a>\n</g>\n<path d=\"M307 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M327 40h0\"></path>\n<path d=\"M664 40h0\"></path>\n<path d=\"M327 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M347 20h297\"></path>\n</g>\n<path d=\"M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M327 40h20\"></path>\n<g>\n<path d=\"M347 40h0\"></path>\n<path d=\"M644 40h0\"></path>\n<path d=\"M347 40h10\"></path>\n<g>\n<path d=\"M357 40h0\"></path>\n<path d=\"M634 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M357 40h0\"></path>\n<path d=\"M402.5 40h0\"></path>\n<rect x=\"357\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"379.75\" y=\"44\">\",\"</text>\n</g>\n<path d=\"M402.5 40h10\"></path>\n<g>\n<path d=\"M412.5 40h0\"></path>\n<path d=\"M634 40h0\"></path>\n<path d=\"M412.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M432.5 40h0\"></path>\n<path d=\"M614 40h0\"></path>\n<rect x=\"432.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationSimple\"><text x=\"523.25\" y=\"44\">CDSAnnotationSimple</text>\n</a>\n</g>\n<path d=\"M614 40h20\"></path>\n<path d=\"M412.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M432.5 70h0\"></path>\n<path d=\"M614 70h0\"></path>\n<rect x=\"432.5\" y=\"59\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationObject\"><text x=\"523.25\" y=\"74\">CDSAnnotationObject</text>\n</a>\n</g>\n<path d=\"M614 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M412.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M432.5 100h0\"></path>\n<path d=\"M605.5 100h8.5\"></path>\n<rect x=\"432.5\" y=\"89\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationArray\"><text x=\"519\" y=\"104\">CDSAnnotationArray</text>\n</a>\n</g>\n<path d=\"M614 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M634 40h10\"></path>\n<path d=\"M357 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M357 119h277\"></path>\n</g>\n<path d=\"M634 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M644 40h20\"></path>\n</g>\n<path d=\"M664 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M674 40h0\"></path>\n<path d=\"M719.5 40h0\"></path>\n<rect x=\"674\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"696.75\" y=\"44\">\"&#93;\"</text>\n</g>\n</g>\n<path d=\"M719.5 40h10\"></path>\n<path d=\"M 729.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotation",
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject"
+      ],
+      "filename": "c_ds_annotation_array.ts"
+    },
+    {
+      "name": "CDSAnnotationObject",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"{\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\":\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSAnnotationObject', {href: '#/expression/CDSAnnotationObject'}),Railroad.NonTerminal('CDSAnnotationArray', {href: '#/expression/CDSAnnotationArray'}),Railroad.NonTerminal('CDSAnnotationSimple', {href: '#/expression/CDSAnnotationSimple'})))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\":\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSAnnotationObject', {href: '#/expression/CDSAnnotationObject'}),Railroad.NonTerminal('CDSAnnotationArray', {href: '#/expression/CDSAnnotationArray'}),Railroad.NonTerminal('CDSAnnotationSimple', {href: '#/expression/CDSAnnotationSimple'})))))),Railroad.Terminal('\"}\"'))).toString();",
+      "using": [
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject",
+        "expression/CDSAnnotationSimple",
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1589.5\" height=\"147\" viewBox=\"0 0 1589.5 147\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1539.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M95.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"52\">\"{\"</text>\n</g>\n<path d=\"M95.5 48h10\"></path>\n<path d=\"M105.5 48h10\"></path>\n<g>\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M410 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M195 48h0\"></path>\n<rect x=\"115.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"155.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M195 48h10\"></path>\n<g>\n<path d=\"M205 48h0\"></path>\n<path d=\"M410 48h0\"></path>\n<path d=\"M205 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M225 28h165\"></path>\n</g>\n<path d=\"M390 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M205 48h20\"></path>\n<g>\n<path d=\"M225 48h0\"></path>\n<path d=\"M390 48h0\"></path>\n<path d=\"M225 48h10\"></path>\n<g>\n<path d=\"M235 48h0\"></path>\n<path d=\"M380 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M235 48h0\"></path>\n<path d=\"M280.5 48h0\"></path>\n<rect x=\"235\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M280.5 48h10\"></path>\n<path d=\"M290.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M300.5 48h0\"></path>\n<path d=\"M380 48h0\"></path>\n<rect x=\"300.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"340.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M380 48h10\"></path>\n<path d=\"M235 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 68h145\"></path>\n</g>\n<path d=\"M380 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M390 48h20\"></path>\n</g>\n</g>\n<path d=\"M410 48h10\"></path>\n<g>\n<path d=\"M420 48h0\"></path>\n<path d=\"M737 48h0\"></path>\n<path d=\"M420 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M440 28h277\"></path>\n</g>\n<path d=\"M717 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M420 48h20\"></path>\n<g>\n<path d=\"M440 48h0\"></path>\n<path d=\"M717 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M440 48h0\"></path>\n<path d=\"M485.5 48h0\"></path>\n<rect x=\"440\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"462.75\" y=\"52\">\":\"</text>\n</g>\n<path d=\"M485.5 48h10\"></path>\n<g>\n<path d=\"M495.5 48h0\"></path>\n<path d=\"M717 48h0\"></path>\n<path d=\"M495.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M515.5 48h0\"></path>\n<path d=\"M697 48h0\"></path>\n<rect x=\"515.5\" y=\"37\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationObject\"><text x=\"606.25\" y=\"52\">CDSAnnotationObject</text>\n</a>\n</g>\n<path d=\"M697 48h20\"></path>\n<path d=\"M495.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M515.5 78h0\"></path>\n<path d=\"M688.5 78h8.5\"></path>\n<rect x=\"515.5\" y=\"67\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationArray\"><text x=\"602\" y=\"82\">CDSAnnotationArray</text>\n</a>\n</g>\n<path d=\"M697 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M495.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M515.5 108h0\"></path>\n<path d=\"M697 108h0\"></path>\n<rect x=\"515.5\" y=\"97\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationSimple\"><text x=\"606.25\" y=\"112\">CDSAnnotationSimple</text>\n</a>\n</g>\n<path d=\"M697 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M717 48h20\"></path>\n</g>\n<g>\n<path d=\"M737 48h0\"></path>\n<path d=\"M1484 48h0\"></path>\n<path d=\"M737 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M757 20h707\"></path>\n</g>\n<path d=\"M1464 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M737 48h20\"></path>\n<g>\n<path d=\"M757 48h0\"></path>\n<path d=\"M1464 48h0\"></path>\n<path d=\"M757 48h10\"></path>\n<g>\n<path d=\"M767 48h0\"></path>\n<path d=\"M1454 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M767 48h0\"></path>\n<path d=\"M812.5 48h0\"></path>\n<rect x=\"767\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"789.75\" y=\"52\">\",\"</text>\n</g>\n<path d=\"M812.5 48h10\"></path>\n<path d=\"M822.5 48h10\"></path>\n<g>\n<path d=\"M832.5 48h0\"></path>\n<path d=\"M1127 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M832.5 48h0\"></path>\n<path d=\"M912 48h0\"></path>\n<rect x=\"832.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"872.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M912 48h10\"></path>\n<g>\n<path d=\"M922 48h0\"></path>\n<path d=\"M1127 48h0\"></path>\n<path d=\"M922 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M942 28h165\"></path>\n</g>\n<path d=\"M1107 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M922 48h20\"></path>\n<g>\n<path d=\"M942 48h0\"></path>\n<path d=\"M1107 48h0\"></path>\n<path d=\"M942 48h10\"></path>\n<g>\n<path d=\"M952 48h0\"></path>\n<path d=\"M1097 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M952 48h0\"></path>\n<path d=\"M997.5 48h0\"></path>\n<rect x=\"952\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"974.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M997.5 48h10\"></path>\n<path d=\"M1007.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1017.5 48h0\"></path>\n<path d=\"M1097 48h0\"></path>\n<rect x=\"1017.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1057.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1097 48h10\"></path>\n<path d=\"M952 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M952 68h145\"></path>\n</g>\n<path d=\"M1097 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1107 48h20\"></path>\n</g>\n</g>\n<path d=\"M1127 48h10\"></path>\n<g>\n<path d=\"M1137 48h0\"></path>\n<path d=\"M1454 48h0\"></path>\n<path d=\"M1137 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1157 28h277\"></path>\n</g>\n<path d=\"M1434 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1137 48h20\"></path>\n<g>\n<path d=\"M1157 48h0\"></path>\n<path d=\"M1434 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1157 48h0\"></path>\n<path d=\"M1202.5 48h0\"></path>\n<rect x=\"1157\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1179.75\" y=\"52\">\":\"</text>\n</g>\n<path d=\"M1202.5 48h10\"></path>\n<g>\n<path d=\"M1212.5 48h0\"></path>\n<path d=\"M1434 48h0\"></path>\n<path d=\"M1212.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1232.5 48h0\"></path>\n<path d=\"M1414 48h0\"></path>\n<rect x=\"1232.5\" y=\"37\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationObject\"><text x=\"1323.25\" y=\"52\">CDSAnnotationObject</text>\n</a>\n</g>\n<path d=\"M1414 48h20\"></path>\n<path d=\"M1212.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1232.5 78h0\"></path>\n<path d=\"M1405.5 78h8.5\"></path>\n<rect x=\"1232.5\" y=\"67\" width=\"173\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationArray\"><text x=\"1319\" y=\"82\">CDSAnnotationArray</text>\n</a>\n</g>\n<path d=\"M1414 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1212.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1232.5 108h0\"></path>\n<path d=\"M1414 108h0\"></path>\n<rect x=\"1232.5\" y=\"97\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotationSimple\"><text x=\"1323.25\" y=\"112\">CDSAnnotationSimple</text>\n</a>\n</g>\n<path d=\"M1414 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1434 48h20\"></path>\n</g>\n</g>\n<path d=\"M1454 48h10\"></path>\n<path d=\"M767 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M767 127h687\"></path>\n</g>\n<path d=\"M1454 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1464 48h20\"></path>\n</g>\n<path d=\"M1484 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1494 48h0\"></path>\n<path d=\"M1539.5 48h0\"></path>\n<rect x=\"1494\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1516.75\" y=\"52\">\"}\"</text>\n</g>\n</g>\n<path d=\"M1539.5 48h10\"></path>\n<path d=\"M 1549.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotation",
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject"
+      ],
+      "filename": "c_ds_annotation_object.ts"
+    },
+    {
+      "name": "CDSAnnotationSimple",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Terminal('\"TRUE\"'),Railroad.Terminal('\"FALSE\"'),Railroad.Terminal(\"^\\\\d+$\"),Railroad.Sequence(Railroad.Terminal(\"^\\\\d+$\"),Railroad.Terminal('\".\"'),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal(\"^#[\\\\w_]+$\"))).toString();",
+      "using": [
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"330.5\" height=\"212\" viewBox=\"0 0 330.5 212\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M290.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M156.5 31h114\"></path>\n<rect x=\"60\" y=\"20\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"108.25\" y=\"35\">CDSString</text>\n</a>\n</g>\n<path d=\"M270.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 61h0\"></path>\n<path d=\"M131 61h139.5\"></path>\n<rect x=\"60\" y=\"50\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"65\">\"TRUE\"</text>\n</g>\n<path d=\"M270.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 91h0\"></path>\n<path d=\"M139.5 91h131\"></path>\n<rect x=\"60\" y=\"80\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"95\">\"FALSE\"</text>\n</g>\n<path d=\"M270.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 121h0\"></path>\n<path d=\"M122.5 121h148\"></path>\n<rect x=\"60\" y=\"110\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"125\">^\\d+$</text>\n</g>\n<path d=\"M270.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 151h0\"></path>\n<path d=\"M270.5 151h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 151h0\"></path>\n<path d=\"M122.5 151h0\"></path>\n<rect x=\"60\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"155\">^\\d+$</text>\n</g>\n<path d=\"M122.5 151h10\"></path>\n<path d=\"M132.5 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 151h0\"></path>\n<path d=\"M188 151h0\"></path>\n<rect x=\"142.5\" y=\"140\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"155\">\".\"</text>\n</g>\n<path d=\"M188 151h10\"></path>\n<path d=\"M198 151h10\"></path>\n<g class=\"terminal\">\n<path d=\"M208 151h0\"></path>\n<path d=\"M270.5 151h0\"></path>\n<rect x=\"208\" y=\"140\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"239.25\" y=\"155\">^\\d+$</text>\n</g>\n</g>\n<path d=\"M270.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M60 181h0\"></path>\n<path d=\"M156.5 181h114\"></path>\n<rect x=\"60\" y=\"170\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"108.25\" y=\"185\">^#&#91;\\w&#95;&#93;+$</text>\n</g>\n<path d=\"M270.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 290.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotation",
+        "expression/CDSAnnotationArray",
+        "expression/CDSAnnotationObject"
+      ],
+      "filename": "c_ds_annotation_simple.ts"
+    },
+    {
+      "name": "CDSArithmetics",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.NonTerminal('CDSInteger', {href: '#/expression/CDSInteger'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.Choice(0, Railroad.Terminal('\"+\"'),Railroad.Terminal('\"-\"'),Railroad.Terminal('\"*\"'),Railroad.Terminal('\"/\"')),Railroad.Choice(0, Railroad.NonTerminal('CDSInteger', {href: '#/expression/CDSInteger'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})))).toString();",
+      "using": [
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSFunction",
+        "expression/CDSInteger",
+        "expression/CDSName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"814.5\" height=\"221\" viewBox=\"0 0 814.5 221\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M764.5 31h0\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M364.5 31h0\"></path>\n<path d=\"M50 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 31h0\"></path>\n<path d=\"M175 31h169.5\"></path>\n<rect x=\"70\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSInteger\"><text x=\"122.5\" y=\"35\">CDSInteger</text>\n</a>\n</g>\n<path d=\"M344.5 31h20\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 70h0\"></path>\n<path d=\"M344.5 70h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 70h0\"></path>\n<path d=\"M149.5 70h0\"></path>\n<rect x=\"70\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"109.75\" y=\"74\">CDSName</text>\n</a>\n</g>\n<path d=\"M149.5 70h10\"></path>\n<g>\n<path d=\"M159.5 70h0\"></path>\n<path d=\"M344.5 70h0\"></path>\n<path d=\"M159.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M179.5 50h145\"></path>\n</g>\n<path d=\"M324.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M159.5 70h20\"></path>\n<g>\n<path d=\"M179.5 70h0\"></path>\n<path d=\"M324.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M179.5 70h0\"></path>\n<path d=\"M225 70h0\"></path>\n<rect x=\"179.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"202.25\" y=\"74\">\".\"</text>\n</g>\n<path d=\"M225 70h10\"></path>\n<path d=\"M235 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M245 70h0\"></path>\n<path d=\"M324.5 70h0\"></path>\n<rect x=\"245\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"284.75\" y=\"74\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M324.5 70h20\"></path>\n</g>\n</g>\n<path d=\"M344.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 100h0\"></path>\n<path d=\"M183.5 100h161\"></path>\n<rect x=\"70\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"126.75\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M344.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 130h0\"></path>\n<path d=\"M149.5 130h195\"></path>\n<rect x=\"70\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"109.75\" y=\"134\">CDSCase</text>\n</a>\n</g>\n<path d=\"M344.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 160h0\"></path>\n<path d=\"M149.5 160h195\"></path>\n<rect x=\"70\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"109.75\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M344.5 160a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M50 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M70 190h0\"></path>\n<path d=\"M166.5 190h178\"></path>\n<rect x=\"70\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"118.25\" y=\"194\">CDSString</text>\n</a>\n</g>\n<path d=\"M344.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M364.5 31h0\"></path>\n<path d=\"M450 31h0\"></path>\n<path d=\"M364.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 31h0\"></path>\n<path d=\"M430 31h0\"></path>\n<rect x=\"384.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.25\" y=\"35\">\"+\"</text>\n</g>\n<path d=\"M430 31h20\"></path>\n<path d=\"M364.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 61h0\"></path>\n<path d=\"M430 61h0\"></path>\n<rect x=\"384.5\" y=\"50\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.25\" y=\"65\">\"-\"</text>\n</g>\n<path d=\"M430 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M364.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 91h0\"></path>\n<path d=\"M430 91h0\"></path>\n<rect x=\"384.5\" y=\"80\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.25\" y=\"95\">\"&#42;\"</text>\n</g>\n<path d=\"M430 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M364.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M384.5 121h0\"></path>\n<path d=\"M430 121h0\"></path>\n<rect x=\"384.5\" y=\"110\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"407.25\" y=\"125\">\"/\"</text>\n</g>\n<path d=\"M430 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M450 31h0\"></path>\n<path d=\"M764.5 31h0\"></path>\n<path d=\"M450 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 31h0\"></path>\n<path d=\"M575 31h169.5\"></path>\n<rect x=\"470\" y=\"20\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSInteger\"><text x=\"522.5\" y=\"35\">CDSInteger</text>\n</a>\n</g>\n<path d=\"M744.5 31h20\"></path>\n<path d=\"M450 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M470 70h0\"></path>\n<path d=\"M744.5 70h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 70h0\"></path>\n<path d=\"M549.5 70h0\"></path>\n<rect x=\"470\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"509.75\" y=\"74\">CDSName</text>\n</a>\n</g>\n<path d=\"M549.5 70h10\"></path>\n<g>\n<path d=\"M559.5 70h0\"></path>\n<path d=\"M744.5 70h0\"></path>\n<path d=\"M559.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M579.5 50h145\"></path>\n</g>\n<path d=\"M724.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M559.5 70h20\"></path>\n<g>\n<path d=\"M579.5 70h0\"></path>\n<path d=\"M724.5 70h0\"></path>\n<g class=\"terminal\">\n<path d=\"M579.5 70h0\"></path>\n<path d=\"M625 70h0\"></path>\n<rect x=\"579.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"602.25\" y=\"74\">\".\"</text>\n</g>\n<path d=\"M625 70h10\"></path>\n<path d=\"M635 70h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M645 70h0\"></path>\n<path d=\"M724.5 70h0\"></path>\n<rect x=\"645\" y=\"59\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"684.75\" y=\"74\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M724.5 70h20\"></path>\n</g>\n</g>\n<path d=\"M744.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10\"></path>\n<path d=\"M450 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 100h0\"></path>\n<path d=\"M583.5 100h161\"></path>\n<rect x=\"470\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"526.75\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M744.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10\"></path>\n<path d=\"M450 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 130h0\"></path>\n<path d=\"M549.5 130h195\"></path>\n<rect x=\"470\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"509.75\" y=\"134\">CDSCase</text>\n</a>\n</g>\n<path d=\"M744.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10\"></path>\n<path d=\"M450 31a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 160h0\"></path>\n<path d=\"M549.5 160h195\"></path>\n<rect x=\"470\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"509.75\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M744.5 160a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10\"></path>\n<path d=\"M450 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M470 190h0\"></path>\n<path d=\"M566.5 190h178\"></path>\n<rect x=\"470\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"518.25\" y=\"194\">CDSString</text>\n</a>\n</g>\n<path d=\"M744.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M764.5 31h10\"></path>\n<path d=\"M 774.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSElement",
+        "expression/CDSFunction"
+      ],
+      "filename": "c_ds_arithmetics.ts"
+    },
+    {
+      "name": "CDSAs",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}))).toString();",
+      "using": [
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"253.5\" height=\"62\" viewBox=\"0 0 253.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M203.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M104 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"77\" y=\"35\">\"AS\"</text>\n</g>\n<path d=\"M104 31h10\"></path>\n<path d=\"M114 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M124 31h0\"></path>\n<path d=\"M203.5 31h0\"></path>\n<rect x=\"124\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"163.75\" y=\"35\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M203.5 31h10\"></path>\n<path d=\"M 213.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSDefineProjection",
+        "expression/CDSElement",
+        "expression/CDSExtendView",
+        "expression/CDSRelation",
+        "expression/CDSSource"
+      ],
+      "filename": "c_ds_as.ts"
+    },
+    {
+      "name": "CDSAssociation",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"ASSOCIATION\"'),Railroad.Optional(Railroad.NonTerminal('CDSCardinality', {href: '#/expression/CDSCardinality'})),Railroad.Terminal('\"TO\"'),Railroad.Optional(Railroad.Terminal('\"PARENT\"')),Railroad.NonTerminal('CDSRelation', {href: '#/expression/CDSRelation'}),Railroad.Terminal('\"ON\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}))).toString();",
+      "using": [
+        "expression/CDSCardinality",
+        "expression/CDSCondition",
+        "expression/CDSRelation"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"961\" height=\"71\" viewBox=\"0 0 961 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M911 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"ASSOCIATION\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M369.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h139\"></path>\n</g>\n<path d=\"M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M349.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCardinality\"><text x=\"280\" y=\"44\">CDSCardinality</text>\n</a>\n</g>\n<path d=\"M349.5 40h20\"></path>\n</g>\n<path d=\"M369.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M379.5 40h0\"></path>\n<path d=\"M433.5 40h0\"></path>\n<rect x=\"379.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.5\" y=\"44\">\"TO\"</text>\n</g>\n<path d=\"M433.5 40h10\"></path>\n<g>\n<path d=\"M443.5 40h0\"></path>\n<path d=\"M571.5 40h0\"></path>\n<path d=\"M443.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M463.5 20h88\"></path>\n</g>\n<path d=\"M551.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M443.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M463.5 40h0\"></path>\n<path d=\"M551.5 40h0\"></path>\n<rect x=\"463.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"507.5\" y=\"44\">\"PARENT\"</text>\n</g>\n<path d=\"M551.5 40h20\"></path>\n</g>\n<path d=\"M571.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M581.5 40h0\"></path>\n<path d=\"M695 40h0\"></path>\n<rect x=\"581.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSRelation\"><text x=\"638.25\" y=\"44\">CDSRelation</text>\n</a>\n</g>\n<path d=\"M695 40h10\"></path>\n<path d=\"M705 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M715 40h0\"></path>\n<path d=\"M769 40h0\"></path>\n<rect x=\"715\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"742\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M769 40h10\"></path>\n<path d=\"M779 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M789 40h0\"></path>\n<path d=\"M911 40h0\"></path>\n<rect x=\"789\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"850\" y=\"44\">CDSCondition</text>\n</a>\n</g>\n</g>\n<path d=\"M911 40h10\"></path>\n<path d=\"M 921 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_association.ts"
+    },
+    {
+      "name": "CDSCardinality",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"[\"'),Railroad.Choice(0, Railroad.Terminal('\"0\"'),Railroad.Terminal('\"1\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.Terminal('\"0\"'),Railroad.Terminal('\"1\"'),Railroad.Terminal('\"*\"')))),Railroad.Terminal('\"]\"'))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"543\" height=\"131\" viewBox=\"0 0 543 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M493 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M95.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"44\">\"&#91;\"</text>\n</g>\n<path d=\"M95.5 40h10\"></path>\n<g>\n<path d=\"M105.5 40h0\"></path>\n<path d=\"M191 40h0\"></path>\n<path d=\"M105.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M125.5 40h0\"></path>\n<path d=\"M171 40h0\"></path>\n<rect x=\"125.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"148.25\" y=\"44\">\"0\"</text>\n</g>\n<path d=\"M171 40h20\"></path>\n<path d=\"M105.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M125.5 70h0\"></path>\n<path d=\"M171 70h0\"></path>\n<rect x=\"125.5\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"148.25\" y=\"74\">\"1\"</text>\n</g>\n<path d=\"M171 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M191 40h0\"></path>\n<path d=\"M437.5 40h0\"></path>\n<path d=\"M191 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M211 20h206.5\"></path>\n</g>\n<path d=\"M417.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M191 40h20\"></path>\n<g>\n<path d=\"M211 40h0\"></path>\n<path d=\"M417.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M211 40h0\"></path>\n<path d=\"M256.5 40h0\"></path>\n<rect x=\"211\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"233.75\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M256.5 40h10\"></path>\n<path d=\"M266.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M276.5 40h0\"></path>\n<path d=\"M322 40h0\"></path>\n<rect x=\"276.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"299.25\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M322 40h10\"></path>\n<g>\n<path d=\"M332 40h0\"></path>\n<path d=\"M417.5 40h0\"></path>\n<path d=\"M332 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M352 40h0\"></path>\n<path d=\"M397.5 40h0\"></path>\n<rect x=\"352\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"44\">\"0\"</text>\n</g>\n<path d=\"M397.5 40h20\"></path>\n<path d=\"M332 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M352 70h0\"></path>\n<path d=\"M397.5 70h0\"></path>\n<rect x=\"352\" y=\"59\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"74\">\"1\"</text>\n</g>\n<path d=\"M397.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M332 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M352 100h0\"></path>\n<path d=\"M397.5 100h0\"></path>\n<rect x=\"352\" y=\"89\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"374.75\" y=\"104\">\"&#42;\"</text>\n</g>\n<path d=\"M397.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M417.5 40h20\"></path>\n</g>\n<path d=\"M437.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M447.5 40h0\"></path>\n<path d=\"M493 40h0\"></path>\n<rect x=\"447.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"470.25\" y=\"44\">\"&#93;\"</text>\n</g>\n</g>\n<path d=\"M493 40h10\"></path>\n<path d=\"M 503 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAssociation",
+        "expression/CDSComposition"
+      ],
+      "filename": "c_ds_cardinality.ts"
+    },
+    {
+      "name": "CDSCase",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"CASE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'})),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})),Railroad.Terminal('\"THEN\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})))),Railroad.Terminal('\"ELSE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})),Railroad.Terminal('\"END\"')),Railroad.Sequence(Railroad.Terminal('\"CASE\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.Terminal('\"WHEN\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}),Railroad.Terminal('\"THEN\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"ELSE\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})))),Railroad.Terminal('\"END\"')))).toString();",
+      "using": [
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSCondition",
+        "expression/CDSFunction",
+        "expression/CDSName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1834.5\" height=\"434\" viewBox=\"0 0 1834.5 434\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 40h0\"></path>\n<path d=\"M1794.5 40h0\"></path>\n<path d=\"M40 40h20\"></path>\n<g>\n<path d=\"M60 40h0\"></path>\n<path d=\"M1774.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 40h0\"></path>\n<path d=\"M131 40h0\"></path>\n<rect x=\"60\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"44\">\"CASE\"</text>\n</g>\n<path d=\"M131 40h10\"></path>\n<g>\n<path d=\"M141 40h0\"></path>\n<path d=\"M455.5 40h0\"></path>\n<path d=\"M141 40h20\"></path>\n<g>\n<path d=\"M161 40h0\"></path>\n<path d=\"M435.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M161 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<rect x=\"161\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"200.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g>\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M435.5 40h0\"></path>\n<path d=\"M250.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M270.5 20h145\"></path>\n</g>\n<path d=\"M415.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M250.5 40h20\"></path>\n<g>\n<path d=\"M270.5 40h0\"></path>\n<path d=\"M415.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M270.5 40h0\"></path>\n<path d=\"M316 40h0\"></path>\n<rect x=\"270.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"293.25\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M316 40h10\"></path>\n<path d=\"M326 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 40h0\"></path>\n<path d=\"M415.5 40h0\"></path>\n<rect x=\"336\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"375.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M415.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M435.5 40h20\"></path>\n<path d=\"M141 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M161 70h0\"></path>\n<path d=\"M274.5 70h161\"></path>\n<rect x=\"161\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"217.75\" y=\"74\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M435.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M455.5 40h10\"></path>\n<g>\n<path d=\"M465.5 40h0\"></path>\n<path d=\"M1286.5 40h0\"></path>\n<path d=\"M465.5 40h10\"></path>\n<g>\n<path d=\"M475.5 40h0\"></path>\n<path d=\"M1276.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M475.5 40h0\"></path>\n<path d=\"M546.5 40h0\"></path>\n<rect x=\"475.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"511\" y=\"44\">\"WHEN\"</text>\n</g>\n<path d=\"M546.5 40h10\"></path>\n<g>\n<path d=\"M556.5 40h0\"></path>\n<path d=\"M871 40h0\"></path>\n<path d=\"M556.5 40h20\"></path>\n<g>\n<path d=\"M576.5 40h0\"></path>\n<path d=\"M851 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 40h0\"></path>\n<path d=\"M656 40h0\"></path>\n<rect x=\"576.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"616.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M656 40h10\"></path>\n<g>\n<path d=\"M666 40h0\"></path>\n<path d=\"M851 40h0\"></path>\n<path d=\"M666 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M686 20h145\"></path>\n</g>\n<path d=\"M831 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M666 40h20\"></path>\n<g>\n<path d=\"M686 40h0\"></path>\n<path d=\"M831 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M686 40h0\"></path>\n<path d=\"M731.5 40h0\"></path>\n<rect x=\"686\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"708.75\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M731.5 40h10\"></path>\n<path d=\"M741.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M751.5 40h0\"></path>\n<path d=\"M831 40h0\"></path>\n<rect x=\"751.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"791.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M831 40h20\"></path>\n</g>\n</g>\n<path d=\"M851 40h20\"></path>\n<path d=\"M556.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 70h0\"></path>\n<path d=\"M673 70h178\"></path>\n<rect x=\"576.5\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"624.75\" y=\"74\">CDSString</text>\n</a>\n</g>\n<path d=\"M851 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M556.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 100h0\"></path>\n<path d=\"M690 100h161\"></path>\n<rect x=\"576.5\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"633.25\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M851 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M556.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 130h0\"></path>\n<path d=\"M656 130h195\"></path>\n<rect x=\"576.5\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"616.25\" y=\"134\">CDSCase</text>\n</a>\n</g>\n<path d=\"M851 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M556.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 160h0\"></path>\n<path d=\"M656 160h195\"></path>\n<rect x=\"576.5\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"616.25\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M851 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M556.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M576.5 190h0\"></path>\n<path d=\"M715.5 190h135.5\"></path>\n<rect x=\"576.5\" y=\"179\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"646\" y=\"194\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M851 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M871 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M881 40h0\"></path>\n<path d=\"M952 40h0\"></path>\n<rect x=\"881\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"916.5\" y=\"44\">\"THEN\"</text>\n</g>\n<path d=\"M952 40h10\"></path>\n<g>\n<path d=\"M962 40h0\"></path>\n<path d=\"M1276.5 40h0\"></path>\n<path d=\"M962 40h20\"></path>\n<g>\n<path d=\"M982 40h0\"></path>\n<path d=\"M1256.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 40h0\"></path>\n<path d=\"M1061.5 40h0\"></path>\n<rect x=\"982\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1021.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M1061.5 40h10\"></path>\n<g>\n<path d=\"M1071.5 40h0\"></path>\n<path d=\"M1256.5 40h0\"></path>\n<path d=\"M1071.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1091.5 20h145\"></path>\n</g>\n<path d=\"M1236.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1071.5 40h20\"></path>\n<g>\n<path d=\"M1091.5 40h0\"></path>\n<path d=\"M1236.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1091.5 40h0\"></path>\n<path d=\"M1137 40h0\"></path>\n<rect x=\"1091.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1114.25\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M1137 40h10\"></path>\n<path d=\"M1147 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1157 40h0\"></path>\n<path d=\"M1236.5 40h0\"></path>\n<rect x=\"1157\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1196.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1236.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1256.5 40h20\"></path>\n<path d=\"M962 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 70h0\"></path>\n<path d=\"M1078.5 70h178\"></path>\n<rect x=\"982\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1030.25\" y=\"74\">CDSString</text>\n</a>\n</g>\n<path d=\"M1256.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M962 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 100h0\"></path>\n<path d=\"M1095.5 100h161\"></path>\n<rect x=\"982\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1038.75\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1256.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M962 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 130h0\"></path>\n<path d=\"M1061.5 130h195\"></path>\n<rect x=\"982\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1021.75\" y=\"134\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1256.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M962 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 160h0\"></path>\n<path d=\"M1061.5 160h195\"></path>\n<rect x=\"982\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1021.75\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1256.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M962 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M982 190h0\"></path>\n<path d=\"M1121 190h135.5\"></path>\n<rect x=\"982\" y=\"179\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1051.5\" y=\"194\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1256.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1276.5 40h10\"></path>\n<path d=\"M475.5 40a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M475.5 209h801\"></path>\n</g>\n<path d=\"M1276.5 209a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1286.5 40h10\"></path>\n<path d=\"M1296.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1306.5 40h0\"></path>\n<path d=\"M1377.5 40h0\"></path>\n<rect x=\"1306.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1342\" y=\"44\">\"ELSE\"</text>\n</g>\n<path d=\"M1377.5 40h10\"></path>\n<g>\n<path d=\"M1387.5 40h0\"></path>\n<path d=\"M1702 40h0\"></path>\n<path d=\"M1387.5 40h20\"></path>\n<g>\n<path d=\"M1407.5 40h0\"></path>\n<path d=\"M1682 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 40h0\"></path>\n<path d=\"M1487 40h0\"></path>\n<rect x=\"1407.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1447.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M1487 40h10\"></path>\n<g>\n<path d=\"M1497 40h0\"></path>\n<path d=\"M1682 40h0\"></path>\n<path d=\"M1497 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1517 20h145\"></path>\n</g>\n<path d=\"M1662 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1497 40h20\"></path>\n<g>\n<path d=\"M1517 40h0\"></path>\n<path d=\"M1662 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1517 40h0\"></path>\n<path d=\"M1562.5 40h0\"></path>\n<rect x=\"1517\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1539.75\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M1562.5 40h10\"></path>\n<path d=\"M1572.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1582.5 40h0\"></path>\n<path d=\"M1662 40h0\"></path>\n<rect x=\"1582.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1622.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1662 40h20\"></path>\n</g>\n</g>\n<path d=\"M1682 40h20\"></path>\n<path d=\"M1387.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 70h0\"></path>\n<path d=\"M1504 70h178\"></path>\n<rect x=\"1407.5\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1455.75\" y=\"74\">CDSString</text>\n</a>\n</g>\n<path d=\"M1682 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1387.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 100h0\"></path>\n<path d=\"M1521 100h161\"></path>\n<rect x=\"1407.5\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1464.25\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1682 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1387.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 130h0\"></path>\n<path d=\"M1487 130h195\"></path>\n<rect x=\"1407.5\" y=\"119\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1447.25\" y=\"134\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1682 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1387.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 160h0\"></path>\n<path d=\"M1487 160h195\"></path>\n<rect x=\"1407.5\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1447.25\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1682 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1387.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1407.5 190h0\"></path>\n<path d=\"M1546.5 190h135.5\"></path>\n<rect x=\"1407.5\" y=\"179\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1477\" y=\"194\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1682 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1702 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1712 40h0\"></path>\n<path d=\"M1774.5 40h0\"></path>\n<rect x=\"1712\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1743.25\" y=\"44\">\"END\"</text>\n</g>\n</g>\n<path d=\"M1774.5 40h20\"></path>\n<path d=\"M40 40a10 10 0 0 1 10 10v185a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 245h0\"></path>\n<path d=\"M1317.5 245h457\"></path>\n<g class=\"terminal\">\n<path d=\"M60 245h0\"></path>\n<path d=\"M131 245h0\"></path>\n<rect x=\"60\" y=\"234\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"249\">\"CASE\"</text>\n</g>\n<path d=\"M131 245h10\"></path>\n<path d=\"M141 245h10\"></path>\n<g>\n<path d=\"M151 245h0\"></path>\n<path d=\"M799.5 245h0\"></path>\n<path d=\"M151 245h10\"></path>\n<g>\n<path d=\"M161 245h0\"></path>\n<path d=\"M789.5 245h0\"></path>\n<g class=\"terminal\">\n<path d=\"M161 245h0\"></path>\n<path d=\"M232 245h0\"></path>\n<rect x=\"161\" y=\"234\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"196.5\" y=\"249\">\"WHEN\"</text>\n</g>\n<path d=\"M232 245h10\"></path>\n<path d=\"M242 245h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M252 245h0\"></path>\n<path d=\"M374 245h0\"></path>\n<rect x=\"252\" y=\"234\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"313\" y=\"249\">CDSCondition</text>\n</a>\n</g>\n<path d=\"M374 245h10\"></path>\n<path d=\"M384 245h10\"></path>\n<g class=\"terminal\">\n<path d=\"M394 245h0\"></path>\n<path d=\"M465 245h0\"></path>\n<rect x=\"394\" y=\"234\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"429.5\" y=\"249\">\"THEN\"</text>\n</g>\n<path d=\"M465 245h10\"></path>\n<g>\n<path d=\"M475 245h0\"></path>\n<path d=\"M789.5 245h0\"></path>\n<path d=\"M475 245h20\"></path>\n<g>\n<path d=\"M495 245h0\"></path>\n<path d=\"M769.5 245h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 245h0\"></path>\n<path d=\"M574.5 245h0\"></path>\n<rect x=\"495\" y=\"234\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"534.75\" y=\"249\">CDSName</text>\n</a>\n</g>\n<path d=\"M574.5 245h10\"></path>\n<g>\n<path d=\"M584.5 245h0\"></path>\n<path d=\"M769.5 245h0\"></path>\n<path d=\"M584.5 245a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M604.5 225h145\"></path>\n</g>\n<path d=\"M749.5 225a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M584.5 245h20\"></path>\n<g>\n<path d=\"M604.5 245h0\"></path>\n<path d=\"M749.5 245h0\"></path>\n<g class=\"terminal\">\n<path d=\"M604.5 245h0\"></path>\n<path d=\"M650 245h0\"></path>\n<rect x=\"604.5\" y=\"234\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"627.25\" y=\"249\">\".\"</text>\n</g>\n<path d=\"M650 245h10\"></path>\n<path d=\"M660 245h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M670 245h0\"></path>\n<path d=\"M749.5 245h0\"></path>\n<rect x=\"670\" y=\"234\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"709.75\" y=\"249\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M749.5 245h20\"></path>\n</g>\n</g>\n<path d=\"M769.5 245h20\"></path>\n<path d=\"M475 245a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 275h0\"></path>\n<path d=\"M591.5 275h178\"></path>\n<rect x=\"495\" y=\"264\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"543.25\" y=\"279\">CDSString</text>\n</a>\n</g>\n<path d=\"M769.5 275a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 245a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 305h0\"></path>\n<path d=\"M608.5 305h161\"></path>\n<rect x=\"495\" y=\"294\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"551.75\" y=\"309\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M769.5 305a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 245a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 335h0\"></path>\n<path d=\"M574.5 335h195\"></path>\n<rect x=\"495\" y=\"324\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"534.75\" y=\"339\">CDSCase</text>\n</a>\n</g>\n<path d=\"M769.5 335a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 245a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 365h0\"></path>\n<path d=\"M574.5 365h195\"></path>\n<rect x=\"495\" y=\"354\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"534.75\" y=\"369\">CDSCast</text>\n</a>\n</g>\n<path d=\"M769.5 365a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M475 245a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M495 395h0\"></path>\n<path d=\"M634 395h135.5\"></path>\n<rect x=\"495\" y=\"384\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"564.5\" y=\"399\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M769.5 395a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M789.5 245h10\"></path>\n<path d=\"M161 245a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M161 414h628.5\"></path>\n</g>\n<path d=\"M789.5 414a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M799.5 245h10\"></path>\n<g>\n<path d=\"M809.5 245h0\"></path>\n<path d=\"M1245 245h0\"></path>\n<path d=\"M809.5 245a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M829.5 217h395.5\"></path>\n</g>\n<path d=\"M1225 217a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M809.5 245h20\"></path>\n<g>\n<path d=\"M829.5 245h0\"></path>\n<path d=\"M1225 245h0\"></path>\n<g class=\"terminal\">\n<path d=\"M829.5 245h0\"></path>\n<path d=\"M900.5 245h0\"></path>\n<rect x=\"829.5\" y=\"234\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"865\" y=\"249\">\"ELSE\"</text>\n</g>\n<path d=\"M900.5 245h10\"></path>\n<g>\n<path d=\"M910.5 245h0\"></path>\n<path d=\"M1225 245h0\"></path>\n<path d=\"M910.5 245h20\"></path>\n<g>\n<path d=\"M930.5 245h0\"></path>\n<path d=\"M1205 245h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 245h0\"></path>\n<path d=\"M1010 245h0\"></path>\n<rect x=\"930.5\" y=\"234\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"970.25\" y=\"249\">CDSName</text>\n</a>\n</g>\n<path d=\"M1010 245h10\"></path>\n<g>\n<path d=\"M1020 245h0\"></path>\n<path d=\"M1205 245h0\"></path>\n<path d=\"M1020 245a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1040 225h145\"></path>\n</g>\n<path d=\"M1185 225a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1020 245h20\"></path>\n<g>\n<path d=\"M1040 245h0\"></path>\n<path d=\"M1185 245h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1040 245h0\"></path>\n<path d=\"M1085.5 245h0\"></path>\n<rect x=\"1040\" y=\"234\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1062.75\" y=\"249\">\".\"</text>\n</g>\n<path d=\"M1085.5 245h10\"></path>\n<path d=\"M1095.5 245h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1105.5 245h0\"></path>\n<path d=\"M1185 245h0\"></path>\n<rect x=\"1105.5\" y=\"234\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1145.25\" y=\"249\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1185 245h20\"></path>\n</g>\n</g>\n<path d=\"M1205 245h20\"></path>\n<path d=\"M910.5 245a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 275h0\"></path>\n<path d=\"M1027 275h178\"></path>\n<rect x=\"930.5\" y=\"264\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"978.75\" y=\"279\">CDSString</text>\n</a>\n</g>\n<path d=\"M1205 275a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M910.5 245a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 305h0\"></path>\n<path d=\"M1044 305h161\"></path>\n<rect x=\"930.5\" y=\"294\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"987.25\" y=\"309\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1205 305a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M910.5 245a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 335h0\"></path>\n<path d=\"M1010 335h195\"></path>\n<rect x=\"930.5\" y=\"324\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"970.25\" y=\"339\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1205 335a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M910.5 245a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 365h0\"></path>\n<path d=\"M1010 365h195\"></path>\n<rect x=\"930.5\" y=\"354\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"970.25\" y=\"369\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1205 365a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M910.5 245a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930.5 395h0\"></path>\n<path d=\"M1069.5 395h135.5\"></path>\n<rect x=\"930.5\" y=\"384\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1000\" y=\"399\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1205 395a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1225 245h20\"></path>\n</g>\n<path d=\"M1245 245h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1255 245h0\"></path>\n<path d=\"M1317.5 245h0\"></path>\n<rect x=\"1255\" y=\"234\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1286.25\" y=\"249\">\"END\"</text>\n</g>\n</g>\n<path d=\"M1774.5 245a10 10 0 0 0 10 -10v-185a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 1794.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAggregate",
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSElement",
+        "expression/CDSFunction"
+      ],
+      "filename": "c_ds_case.ts"
+    },
+    {
+      "name": "CDSCast",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"CAST\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSAggregate', {href: '#/expression/CDSAggregate'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'})),Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('CDSType', {href: '#/expression/CDSType'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"PRESERVING\"'),Railroad.Terminal('\"TYPE\"'))),Railroad.Terminal('\")\"'))).toString();",
+      "using": [
+        "expression/CDSAggregate",
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSFunction",
+        "expression/CDSName",
+        "expression/CDSString",
+        "expression/CDSType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1043\" height=\"251\" viewBox=\"0 0 1043 251\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M993 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M121 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"85.5\" y=\"44\">\"CAST\"</text>\n</g>\n<path d=\"M121 40h10\"></path>\n<path d=\"M131 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M141 40h0\"></path>\n<path d=\"M186.5 40h0\"></path>\n<rect x=\"141\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"163.75\" y=\"44\">\"(\"</text>\n</g>\n<path d=\"M186.5 40h10\"></path>\n<g>\n<path d=\"M196.5 40h0\"></path>\n<path d=\"M511 40h0\"></path>\n<path d=\"M196.5 40h20\"></path>\n<g>\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M491 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 40h0\"></path>\n<path d=\"M296 40h0\"></path>\n<rect x=\"216.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"256.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M296 40h10\"></path>\n<g>\n<path d=\"M306 40h0\"></path>\n<path d=\"M491 40h0\"></path>\n<path d=\"M306 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M326 20h145\"></path>\n</g>\n<path d=\"M471 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M306 40h20\"></path>\n<g>\n<path d=\"M326 40h0\"></path>\n<path d=\"M471 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M326 40h0\"></path>\n<path d=\"M371.5 40h0\"></path>\n<rect x=\"326\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"348.75\" y=\"44\">\".\"</text>\n</g>\n<path d=\"M371.5 40h10\"></path>\n<path d=\"M381.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M391.5 40h0\"></path>\n<path d=\"M471 40h0\"></path>\n<rect x=\"391.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"431.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M471 40h20\"></path>\n</g>\n</g>\n<path d=\"M491 40h20\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 70h0\"></path>\n<path d=\"M330 70h161\"></path>\n<rect x=\"216.5\" y=\"59\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"273.25\" y=\"74\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M491 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 100h0\"></path>\n<path d=\"M296 100h195\"></path>\n<rect x=\"216.5\" y=\"89\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"256.25\" y=\"104\">CDSCase</text>\n</a>\n</g>\n<path d=\"M491 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 130h0\"></path>\n<path d=\"M338.5 130h152.5\"></path>\n<rect x=\"216.5\" y=\"119\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAggregate\"><text x=\"277.5\" y=\"134\">CDSAggregate</text>\n</a>\n</g>\n<path d=\"M491 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 160h0\"></path>\n<path d=\"M296 160h195\"></path>\n<rect x=\"216.5\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"256.25\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M491 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 190h0\"></path>\n<path d=\"M313 190h178\"></path>\n<rect x=\"216.5\" y=\"179\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"264.75\" y=\"194\">CDSString</text>\n</a>\n</g>\n<path d=\"M491 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M196.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M216.5 220h0\"></path>\n<path d=\"M355.5 220h135.5\"></path>\n<rect x=\"216.5\" y=\"209\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"286\" y=\"224\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M491 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M511 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M521 40h0\"></path>\n<path d=\"M575 40h0\"></path>\n<rect x=\"521\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"548\" y=\"44\">\"AS\"</text>\n</g>\n<path d=\"M575 40h10\"></path>\n<path d=\"M585 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M595 40h0\"></path>\n<path d=\"M674.5 40h0\"></path>\n<rect x=\"595\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSType\"><text x=\"634.75\" y=\"44\">CDSType</text>\n</a>\n</g>\n<path d=\"M674.5 40h10\"></path>\n<g>\n<path d=\"M684.5 40h0\"></path>\n<path d=\"M937.5 40h0\"></path>\n<path d=\"M684.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M704.5 20h213\"></path>\n</g>\n<path d=\"M917.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M684.5 40h20\"></path>\n<g>\n<path d=\"M704.5 40h0\"></path>\n<path d=\"M917.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M704.5 40h0\"></path>\n<path d=\"M826.5 40h0\"></path>\n<rect x=\"704.5\" y=\"29\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"765.5\" y=\"44\">\"PRESERVING\"</text>\n</g>\n<path d=\"M826.5 40h10\"></path>\n<path d=\"M836.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M846.5 40h0\"></path>\n<path d=\"M917.5 40h0\"></path>\n<rect x=\"846.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"882\" y=\"44\">\"TYPE\"</text>\n</g>\n</g>\n<path d=\"M917.5 40h20\"></path>\n</g>\n<path d=\"M937.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M947.5 40h0\"></path>\n<path d=\"M993 40h0\"></path>\n<rect x=\"947.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"970.25\" y=\"44\">\")\"</text>\n</g>\n</g>\n<path d=\"M993 40h10\"></path>\n<path d=\"M 1003 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAggregate",
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSElement",
+        "expression/CDSFunction"
+      ],
+      "filename": "c_ds_cast.ts"
+    },
+    {
+      "name": "CDSComposition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"COMPOSITION\"'),Railroad.Optional(Railroad.NonTerminal('CDSCardinality', {href: '#/expression/CDSCardinality'})),Railroad.Terminal('\"OF\"'),Railroad.NonTerminal('CDSRelation', {href: '#/expression/CDSRelation'}))).toString();",
+      "using": [
+        "expression/CDSCardinality",
+        "expression/CDSRelation"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"617\" height=\"71\" viewBox=\"0 0 617 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M567 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M180.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"115.25\" y=\"44\">\"COMPOSITION\"</text>\n</g>\n<path d=\"M180.5 40h10\"></path>\n<g>\n<path d=\"M190.5 40h0\"></path>\n<path d=\"M369.5 40h0\"></path>\n<path d=\"M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M210.5 20h139\"></path>\n</g>\n<path d=\"M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M190.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M210.5 40h0\"></path>\n<path d=\"M349.5 40h0\"></path>\n<rect x=\"210.5\" y=\"29\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCardinality\"><text x=\"280\" y=\"44\">CDSCardinality</text>\n</a>\n</g>\n<path d=\"M349.5 40h20\"></path>\n</g>\n<path d=\"M369.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M379.5 40h0\"></path>\n<path d=\"M433.5 40h0\"></path>\n<rect x=\"379.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"406.5\" y=\"44\">\"OF\"</text>\n</g>\n<path d=\"M433.5 40h10\"></path>\n<path d=\"M443.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M453.5 40h0\"></path>\n<path d=\"M567 40h0\"></path>\n<rect x=\"453.5\" y=\"29\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSRelation\"><text x=\"510.25\" y=\"44\">CDSRelation</text>\n</a>\n</g>\n</g>\n<path d=\"M567 40h10\"></path>\n<path d=\"M 577 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_composition.ts"
+    },
+    {
+      "name": "CDSCondition",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Sequence(Railroad.Terminal('\"!\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"')),Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"'),Railroad.Sequence(Railroad.Terminal('\">\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('\"<\"'),Railroad.Terminal('\"=\"')),Railroad.Terminal('\"LIKE\"'),Railroad.Terminal('\"NOT LIKE\"')),Railroad.Choice(0, Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.NonTerminal('CDSInteger', {href: '#/expression/CDSInteger'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('\"INITIAL\"'),Railroad.Terminal('\"NULL\"'))))),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}),Railroad.Terminal('\")\"'))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Choice(0, Railroad.Terminal('\"AND\"'),Railroad.Terminal('\"OR\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.Choice(0, Railroad.Terminal('\"=\"'),Railroad.Sequence(Railroad.Terminal('\"!\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"')),Railroad.Terminal('\"<\"'),Railroad.Terminal('\">\"'),Railroad.Sequence(Railroad.Terminal('\">\"'),Railroad.Terminal('\"=\"')),Railroad.Sequence(Railroad.Terminal('\"<\"'),Railroad.Terminal('\"=\"')),Railroad.Terminal('\"LIKE\"'),Railroad.Terminal('\"NOT LIKE\"')),Railroad.Choice(0, Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.NonTerminal('CDSInteger', {href: '#/expression/CDSInteger'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))),Railroad.Sequence(Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.Terminal('\"IS\"'),Railroad.Optional(Railroad.Terminal('\"NOT\"')),Railroad.Choice(0, Railroad.Terminal('\"INITIAL\"'),Railroad.Terminal('\"NULL\"'))))),Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}),Railroad.Terminal('\")\"'))))))).toString();",
+      "using": [
+        "expression/CDSCondition",
+        "expression/CDSFunction",
+        "expression/CDSInteger",
+        "expression/CDSName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2455.5\" height=\"486\" viewBox=\"0 0 2455.5 486\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M2405.5 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1146.5 48h0\"></path>\n<path d=\"M50 48h20\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M1126.5 48h0\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M172.5 48h0\"></path>\n<path d=\"M70 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M90 28h62.5\"></path>\n</g>\n<path d=\"M152.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M70 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 48h0\"></path>\n<path d=\"M152.5 48h0\"></path>\n<rect x=\"90\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"121.25\" y=\"52\">\"NOT\"</text>\n</g>\n<path d=\"M152.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M172.5 48h0\"></path>\n<path d=\"M1126.5 48h0\"></path>\n<path d=\"M172.5 48h20\"></path>\n<g>\n<path d=\"M192.5 48h0\"></path>\n<path d=\"M1106.5 48h0\"></path>\n<g>\n<path d=\"M192.5 48h0\"></path>\n<path d=\"M554 48h0\"></path>\n<path d=\"M192.5 48h20\"></path>\n<g>\n<path d=\"M212.5 48h0\"></path>\n<path d=\"M534 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 48h0\"></path>\n<path d=\"M292 48h0\"></path>\n<rect x=\"212.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"252.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M292 48h10\"></path>\n<g>\n<path d=\"M302 48h0\"></path>\n<path d=\"M534 48h0\"></path>\n<path d=\"M302 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M322 28h192\"></path>\n</g>\n<path d=\"M514 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M302 48h20\"></path>\n<g>\n<path d=\"M322 48h0\"></path>\n<path d=\"M514 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M322 48h0\"></path>\n<path d=\"M367.5 48h0\"></path>\n<rect x=\"322\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M367.5 48h10\"></path>\n<g>\n<path d=\"M377.5 48h0\"></path>\n<path d=\"M514 48h0\"></path>\n<path d=\"M377.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397.5 48h0\"></path>\n<path d=\"M477 48h17\"></path>\n<rect x=\"397.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"437.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M494 48h20\"></path>\n<path d=\"M377.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397.5 78h0\"></path>\n<path d=\"M494 78h0\"></path>\n<rect x=\"397.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"445.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M494 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M514 48h20\"></path>\n</g>\n</g>\n<path d=\"M534 48h20\"></path>\n<path d=\"M192.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 108h0\"></path>\n<path d=\"M326 108h208\"></path>\n<rect x=\"212.5\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"269.25\" y=\"112\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M534 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M192.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 138h0\"></path>\n<path d=\"M309 138h225\"></path>\n<rect x=\"212.5\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"260.75\" y=\"142\">CDSString</text>\n</a>\n</g>\n<path d=\"M534 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M554 48h0\"></path>\n<path d=\"M705 48h0\"></path>\n<path d=\"M554 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M574 48h0\"></path>\n<path d=\"M619.5 48h65.5\"></path>\n<rect x=\"574\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"52\">\"=\"</text>\n</g>\n<path d=\"M685 48h20\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M574 78h0\"></path>\n<path d=\"M685 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M574 78h0\"></path>\n<path d=\"M619.5 78h0\"></path>\n<rect x=\"574\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"82\">\"!\"</text>\n</g>\n<path d=\"M619.5 78h10\"></path>\n<path d=\"M629.5 78h10\"></path>\n<g class=\"terminal\">\n<path d=\"M639.5 78h0\"></path>\n<path d=\"M685 78h0\"></path>\n<rect x=\"639.5\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.25\" y=\"82\">\"=\"</text>\n</g>\n</g>\n<path d=\"M685 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M574 108h0\"></path>\n<path d=\"M685 108h0\"></path>\n<g class=\"terminal\">\n<path d=\"M574 108h0\"></path>\n<path d=\"M619.5 108h0\"></path>\n<rect x=\"574\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"112\">\"&#60;\"</text>\n</g>\n<path d=\"M619.5 108h10\"></path>\n<path d=\"M629.5 108h10\"></path>\n<g class=\"terminal\">\n<path d=\"M639.5 108h0\"></path>\n<path d=\"M685 108h0\"></path>\n<rect x=\"639.5\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.25\" y=\"112\">\">\"</text>\n</g>\n</g>\n<path d=\"M685 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M574 138h0\"></path>\n<path d=\"M619.5 138h65.5\"></path>\n<rect x=\"574\" y=\"127\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"142\">\"&#60;\"</text>\n</g>\n<path d=\"M685 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M574 168h0\"></path>\n<path d=\"M619.5 168h65.5\"></path>\n<rect x=\"574\" y=\"157\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"172\">\">\"</text>\n</g>\n<path d=\"M685 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M574 198h0\"></path>\n<path d=\"M685 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M574 198h0\"></path>\n<path d=\"M619.5 198h0\"></path>\n<rect x=\"574\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"202\">\">\"</text>\n</g>\n<path d=\"M619.5 198h10\"></path>\n<path d=\"M629.5 198h10\"></path>\n<g class=\"terminal\">\n<path d=\"M639.5 198h0\"></path>\n<path d=\"M685 198h0\"></path>\n<rect x=\"639.5\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.25\" y=\"202\">\"=\"</text>\n</g>\n</g>\n<path d=\"M685 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M574 228h0\"></path>\n<path d=\"M685 228h0\"></path>\n<g class=\"terminal\">\n<path d=\"M574 228h0\"></path>\n<path d=\"M619.5 228h0\"></path>\n<rect x=\"574\" y=\"217\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"596.75\" y=\"232\">\"&#60;\"</text>\n</g>\n<path d=\"M619.5 228h10\"></path>\n<path d=\"M629.5 228h10\"></path>\n<g class=\"terminal\">\n<path d=\"M639.5 228h0\"></path>\n<path d=\"M685 228h0\"></path>\n<rect x=\"639.5\" y=\"217\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"662.25\" y=\"232\">\"=\"</text>\n</g>\n</g>\n<path d=\"M685 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M574 258h0\"></path>\n<path d=\"M645 258h40\"></path>\n<rect x=\"574\" y=\"247\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"609.5\" y=\"262\">\"LIKE\"</text>\n</g>\n<path d=\"M685 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M554 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M574 288h0\"></path>\n<path d=\"M679 288h6\"></path>\n<rect x=\"574\" y=\"277\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"626.5\" y=\"292\">\"NOT LIKE\"</text>\n</g>\n<path d=\"M685 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M705 48h0\"></path>\n<path d=\"M1106.5 48h0\"></path>\n<path d=\"M705 48h20\"></path>\n<g>\n<path d=\"M725 48h0\"></path>\n<path d=\"M1086.5 48h0\"></path>\n<path d=\"M725 48h20\"></path>\n<g>\n<path d=\"M745 48h0\"></path>\n<path d=\"M1066.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M745 48h0\"></path>\n<path d=\"M824.5 48h0\"></path>\n<rect x=\"745\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"784.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M824.5 48h10\"></path>\n<g>\n<path d=\"M834.5 48h0\"></path>\n<path d=\"M1066.5 48h0\"></path>\n<path d=\"M834.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M854.5 28h192\"></path>\n</g>\n<path d=\"M1046.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M834.5 48h20\"></path>\n<g>\n<path d=\"M854.5 48h0\"></path>\n<path d=\"M1046.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M854.5 48h0\"></path>\n<path d=\"M900 48h0\"></path>\n<rect x=\"854.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"877.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M900 48h10\"></path>\n<g>\n<path d=\"M910 48h0\"></path>\n<path d=\"M1046.5 48h0\"></path>\n<path d=\"M910 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930 48h0\"></path>\n<path d=\"M1009.5 48h17\"></path>\n<rect x=\"930\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"969.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1026.5 48h20\"></path>\n<path d=\"M910 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M930 78h0\"></path>\n<path d=\"M1026.5 78h0\"></path>\n<rect x=\"930\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"978.25\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M1026.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1046.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1066.5 48h20\"></path>\n<path d=\"M725 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M745 108h0\"></path>\n<path d=\"M858.5 108h208\"></path>\n<rect x=\"745\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"801.75\" y=\"112\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1066.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M725 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M745 138h0\"></path>\n<path d=\"M841.5 138h225\"></path>\n<rect x=\"745\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"793.25\" y=\"142\">CDSString</text>\n</a>\n</g>\n<path d=\"M1066.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1086.5 48h20\"></path>\n<path d=\"M705 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725 168h0\"></path>\n<path d=\"M830 168h256.5\"></path>\n<rect x=\"725\" y=\"157\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSInteger\"><text x=\"777.5\" y=\"172\">CDSInteger</text>\n</a>\n</g>\n<path d=\"M1086.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M705 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725 198h0\"></path>\n<path d=\"M838.5 198h248\"></path>\n<rect x=\"725\" y=\"187\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"781.75\" y=\"202\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1086.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M705 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725 228h0\"></path>\n<path d=\"M821.5 228h265\"></path>\n<rect x=\"725\" y=\"217\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"773.25\" y=\"232\">CDSString</text>\n</a>\n</g>\n<path d=\"M1086.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1106.5 48h20\"></path>\n<path d=\"M172.5 48a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M192.5 327h0\"></path>\n<path d=\"M867 327h239.5\"></path>\n<g>\n<path d=\"M192.5 327h0\"></path>\n<path d=\"M554 327h0\"></path>\n<path d=\"M192.5 327h20\"></path>\n<g>\n<path d=\"M212.5 327h0\"></path>\n<path d=\"M534 327h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 327h0\"></path>\n<path d=\"M292 327h0\"></path>\n<rect x=\"212.5\" y=\"316\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"252.25\" y=\"331\">CDSName</text>\n</a>\n</g>\n<path d=\"M292 327h10\"></path>\n<g>\n<path d=\"M302 327h0\"></path>\n<path d=\"M534 327h0\"></path>\n<path d=\"M302 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M322 307h192\"></path>\n</g>\n<path d=\"M514 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M302 327h20\"></path>\n<g>\n<path d=\"M322 327h0\"></path>\n<path d=\"M514 327h0\"></path>\n<g class=\"terminal\">\n<path d=\"M322 327h0\"></path>\n<path d=\"M367.5 327h0\"></path>\n<rect x=\"322\" y=\"316\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"344.75\" y=\"331\">\".\"</text>\n</g>\n<path d=\"M367.5 327h10\"></path>\n<g>\n<path d=\"M377.5 327h0\"></path>\n<path d=\"M514 327h0\"></path>\n<path d=\"M377.5 327h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397.5 327h0\"></path>\n<path d=\"M477 327h17\"></path>\n<rect x=\"397.5\" y=\"316\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"437.25\" y=\"331\">CDSName</text>\n</a>\n</g>\n<path d=\"M494 327h20\"></path>\n<path d=\"M377.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M397.5 357h0\"></path>\n<path d=\"M494 357h0\"></path>\n<rect x=\"397.5\" y=\"346\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"445.75\" y=\"361\">CDSString</text>\n</a>\n</g>\n<path d=\"M494 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M514 327h20\"></path>\n</g>\n</g>\n<path d=\"M534 327h20\"></path>\n<path d=\"M192.5 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 387h0\"></path>\n<path d=\"M326 387h208\"></path>\n<rect x=\"212.5\" y=\"376\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"269.25\" y=\"391\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M534 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M192.5 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M212.5 417h0\"></path>\n<path d=\"M309 417h225\"></path>\n<rect x=\"212.5\" y=\"406\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"260.75\" y=\"421\">CDSString</text>\n</a>\n</g>\n<path d=\"M534 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M554 327h10\"></path>\n<g class=\"terminal\">\n<path d=\"M564 327h0\"></path>\n<path d=\"M618 327h0\"></path>\n<rect x=\"564\" y=\"316\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"591\" y=\"331\">\"IS\"</text>\n</g>\n<path d=\"M618 327h10\"></path>\n<g>\n<path d=\"M628 327h0\"></path>\n<path d=\"M730.5 327h0\"></path>\n<path d=\"M628 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M648 307h62.5\"></path>\n</g>\n<path d=\"M710.5 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M628 327h20\"></path>\n<g class=\"terminal\">\n<path d=\"M648 327h0\"></path>\n<path d=\"M710.5 327h0\"></path>\n<rect x=\"648\" y=\"316\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"679.25\" y=\"331\">\"NOT\"</text>\n</g>\n<path d=\"M710.5 327h20\"></path>\n</g>\n<g>\n<path d=\"M730.5 327h0\"></path>\n<path d=\"M867 327h0\"></path>\n<path d=\"M730.5 327h20\"></path>\n<g class=\"terminal\">\n<path d=\"M750.5 327h0\"></path>\n<path d=\"M847 327h0\"></path>\n<rect x=\"750.5\" y=\"316\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"798.75\" y=\"331\">\"INITIAL\"</text>\n</g>\n<path d=\"M847 327h20\"></path>\n<path d=\"M730.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M750.5 357h0\"></path>\n<path d=\"M821.5 357h25.5\"></path>\n<rect x=\"750.5\" y=\"346\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"786\" y=\"361\">\"NULL\"</text>\n</g>\n<path d=\"M847 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1106.5 327a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1126.5 48h20\"></path>\n<path d=\"M50 48a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M70 447h0\"></path>\n<path d=\"M323 447h803.5\"></path>\n<g class=\"terminal\">\n<path d=\"M70 447h0\"></path>\n<path d=\"M115.5 447h0\"></path>\n<rect x=\"70\" y=\"436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"92.75\" y=\"451\">\"(\"</text>\n</g>\n<path d=\"M115.5 447h10\"></path>\n<path d=\"M125.5 447h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M135.5 447h0\"></path>\n<path d=\"M257.5 447h0\"></path>\n<rect x=\"135.5\" y=\"436\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"196.5\" y=\"451\">CDSCondition</text>\n</a>\n</g>\n<path d=\"M257.5 447h10\"></path>\n<path d=\"M267.5 447h10\"></path>\n<g class=\"terminal\">\n<path d=\"M277.5 447h0\"></path>\n<path d=\"M323 447h0\"></path>\n<rect x=\"277.5\" y=\"436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.25\" y=\"451\">\")\"</text>\n</g>\n</g>\n<path d=\"M1126.5 447a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1146.5 48h0\"></path>\n<path d=\"M2405.5 48h0\"></path>\n<path d=\"M1146.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1166.5 20h1219\"></path>\n</g>\n<path d=\"M2385.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1146.5 48h20\"></path>\n<g>\n<path d=\"M1166.5 48h0\"></path>\n<path d=\"M2385.5 48h0\"></path>\n<path d=\"M1166.5 48h10\"></path>\n<g>\n<path d=\"M1176.5 48h0\"></path>\n<path d=\"M2375.5 48h0\"></path>\n<g>\n<path d=\"M1176.5 48h0\"></path>\n<path d=\"M1279 48h0\"></path>\n<path d=\"M1176.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1196.5 48h0\"></path>\n<path d=\"M1259 48h0\"></path>\n<rect x=\"1196.5\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1227.75\" y=\"52\">\"AND\"</text>\n</g>\n<path d=\"M1259 48h20\"></path>\n<path d=\"M1176.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1196.5 78h0\"></path>\n<path d=\"M1250.5 78h8.5\"></path>\n<rect x=\"1196.5\" y=\"67\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1223.5\" y=\"82\">\"OR\"</text>\n</g>\n<path d=\"M1259 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1279 48h0\"></path>\n<path d=\"M2375.5 48h0\"></path>\n<path d=\"M1279 48h20\"></path>\n<g>\n<path d=\"M1299 48h0\"></path>\n<path d=\"M2355.5 48h0\"></path>\n<g>\n<path d=\"M1299 48h0\"></path>\n<path d=\"M1401.5 48h0\"></path>\n<path d=\"M1299 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1319 28h62.5\"></path>\n</g>\n<path d=\"M1381.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1299 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1319 48h0\"></path>\n<path d=\"M1381.5 48h0\"></path>\n<rect x=\"1319\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1350.25\" y=\"52\">\"NOT\"</text>\n</g>\n<path d=\"M1381.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1401.5 48h0\"></path>\n<path d=\"M2355.5 48h0\"></path>\n<path d=\"M1401.5 48h20\"></path>\n<g>\n<path d=\"M1421.5 48h0\"></path>\n<path d=\"M2335.5 48h0\"></path>\n<g>\n<path d=\"M1421.5 48h0\"></path>\n<path d=\"M1783 48h0\"></path>\n<path d=\"M1421.5 48h20\"></path>\n<g>\n<path d=\"M1441.5 48h0\"></path>\n<path d=\"M1763 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 48h0\"></path>\n<path d=\"M1521 48h0\"></path>\n<rect x=\"1441.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1481.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1521 48h10\"></path>\n<g>\n<path d=\"M1531 48h0\"></path>\n<path d=\"M1763 48h0\"></path>\n<path d=\"M1531 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1551 28h192\"></path>\n</g>\n<path d=\"M1743 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1531 48h20\"></path>\n<g>\n<path d=\"M1551 48h0\"></path>\n<path d=\"M1743 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1551 48h0\"></path>\n<path d=\"M1596.5 48h0\"></path>\n<rect x=\"1551\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1573.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1596.5 48h10\"></path>\n<g>\n<path d=\"M1606.5 48h0\"></path>\n<path d=\"M1743 48h0\"></path>\n<path d=\"M1606.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1626.5 48h0\"></path>\n<path d=\"M1706 48h17\"></path>\n<rect x=\"1626.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1666.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1723 48h20\"></path>\n<path d=\"M1606.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1626.5 78h0\"></path>\n<path d=\"M1723 78h0\"></path>\n<rect x=\"1626.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1674.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M1723 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1743 48h20\"></path>\n</g>\n</g>\n<path d=\"M1763 48h20\"></path>\n<path d=\"M1421.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 108h0\"></path>\n<path d=\"M1555 108h208\"></path>\n<rect x=\"1441.5\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1498.25\" y=\"112\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1763 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1421.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 138h0\"></path>\n<path d=\"M1538 138h225\"></path>\n<rect x=\"1441.5\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1489.75\" y=\"142\">CDSString</text>\n</a>\n</g>\n<path d=\"M1763 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1783 48h0\"></path>\n<path d=\"M1934 48h0\"></path>\n<path d=\"M1783 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 48h0\"></path>\n<path d=\"M1848.5 48h65.5\"></path>\n<rect x=\"1803\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"52\">\"=\"</text>\n</g>\n<path d=\"M1914 48h20\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1803 78h0\"></path>\n<path d=\"M1914 78h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 78h0\"></path>\n<path d=\"M1848.5 78h0\"></path>\n<rect x=\"1803\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"82\">\"!\"</text>\n</g>\n<path d=\"M1848.5 78h10\"></path>\n<path d=\"M1858.5 78h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1868.5 78h0\"></path>\n<path d=\"M1914 78h0\"></path>\n<rect x=\"1868.5\" y=\"67\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1891.25\" y=\"82\">\"=\"</text>\n</g>\n</g>\n<path d=\"M1914 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1803 108h0\"></path>\n<path d=\"M1914 108h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 108h0\"></path>\n<path d=\"M1848.5 108h0\"></path>\n<rect x=\"1803\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"112\">\"&#60;\"</text>\n</g>\n<path d=\"M1848.5 108h10\"></path>\n<path d=\"M1858.5 108h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1868.5 108h0\"></path>\n<path d=\"M1914 108h0\"></path>\n<rect x=\"1868.5\" y=\"97\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1891.25\" y=\"112\">\">\"</text>\n</g>\n</g>\n<path d=\"M1914 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 138h0\"></path>\n<path d=\"M1848.5 138h65.5\"></path>\n<rect x=\"1803\" y=\"127\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"142\">\"&#60;\"</text>\n</g>\n<path d=\"M1914 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 168h0\"></path>\n<path d=\"M1848.5 168h65.5\"></path>\n<rect x=\"1803\" y=\"157\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"172\">\">\"</text>\n</g>\n<path d=\"M1914 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1803 198h0\"></path>\n<path d=\"M1914 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 198h0\"></path>\n<path d=\"M1848.5 198h0\"></path>\n<rect x=\"1803\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"202\">\">\"</text>\n</g>\n<path d=\"M1848.5 198h10\"></path>\n<path d=\"M1858.5 198h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1868.5 198h0\"></path>\n<path d=\"M1914 198h0\"></path>\n<rect x=\"1868.5\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1891.25\" y=\"202\">\"=\"</text>\n</g>\n</g>\n<path d=\"M1914 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1803 228h0\"></path>\n<path d=\"M1914 228h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 228h0\"></path>\n<path d=\"M1848.5 228h0\"></path>\n<rect x=\"1803\" y=\"217\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1825.75\" y=\"232\">\"&#60;\"</text>\n</g>\n<path d=\"M1848.5 228h10\"></path>\n<path d=\"M1858.5 228h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1868.5 228h0\"></path>\n<path d=\"M1914 228h0\"></path>\n<rect x=\"1868.5\" y=\"217\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1891.25\" y=\"232\">\"=\"</text>\n</g>\n</g>\n<path d=\"M1914 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 258h0\"></path>\n<path d=\"M1874 258h40\"></path>\n<rect x=\"1803\" y=\"247\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1838.5\" y=\"262\">\"LIKE\"</text>\n</g>\n<path d=\"M1914 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1783 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1803 288h0\"></path>\n<path d=\"M1908 288h6\"></path>\n<rect x=\"1803\" y=\"277\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1855.5\" y=\"292\">\"NOT LIKE\"</text>\n</g>\n<path d=\"M1914 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1934 48h0\"></path>\n<path d=\"M2335.5 48h0\"></path>\n<path d=\"M1934 48h20\"></path>\n<g>\n<path d=\"M1954 48h0\"></path>\n<path d=\"M2315.5 48h0\"></path>\n<path d=\"M1954 48h20\"></path>\n<g>\n<path d=\"M1974 48h0\"></path>\n<path d=\"M2295.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1974 48h0\"></path>\n<path d=\"M2053.5 48h0\"></path>\n<rect x=\"1974\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2013.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M2053.5 48h10\"></path>\n<g>\n<path d=\"M2063.5 48h0\"></path>\n<path d=\"M2295.5 48h0\"></path>\n<path d=\"M2063.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2083.5 28h192\"></path>\n</g>\n<path d=\"M2275.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2063.5 48h20\"></path>\n<g>\n<path d=\"M2083.5 48h0\"></path>\n<path d=\"M2275.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2083.5 48h0\"></path>\n<path d=\"M2129 48h0\"></path>\n<rect x=\"2083.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2106.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M2129 48h10\"></path>\n<g>\n<path d=\"M2139 48h0\"></path>\n<path d=\"M2275.5 48h0\"></path>\n<path d=\"M2139 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2159 48h0\"></path>\n<path d=\"M2238.5 48h17\"></path>\n<rect x=\"2159\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2198.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M2255.5 48h20\"></path>\n<path d=\"M2139 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2159 78h0\"></path>\n<path d=\"M2255.5 78h0\"></path>\n<rect x=\"2159\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2207.25\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M2255.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2275.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M2295.5 48h20\"></path>\n<path d=\"M1954 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1974 108h0\"></path>\n<path d=\"M2087.5 108h208\"></path>\n<rect x=\"1974\" y=\"97\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2030.75\" y=\"112\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2295.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1954 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1974 138h0\"></path>\n<path d=\"M2070.5 138h225\"></path>\n<rect x=\"1974\" y=\"127\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2022.25\" y=\"142\">CDSString</text>\n</a>\n</g>\n<path d=\"M2295.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2315.5 48h20\"></path>\n<path d=\"M1934 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1954 168h0\"></path>\n<path d=\"M2059 168h256.5\"></path>\n<rect x=\"1954\" y=\"157\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSInteger\"><text x=\"2006.5\" y=\"172\">CDSInteger</text>\n</a>\n</g>\n<path d=\"M2315.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1934 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1954 198h0\"></path>\n<path d=\"M2067.5 198h248\"></path>\n<rect x=\"1954\" y=\"187\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2010.75\" y=\"202\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2315.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1934 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1954 228h0\"></path>\n<path d=\"M2050.5 228h265\"></path>\n<rect x=\"1954\" y=\"217\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2002.25\" y=\"232\">CDSString</text>\n</a>\n</g>\n<path d=\"M2315.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2335.5 48h20\"></path>\n<path d=\"M1401.5 48a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1421.5 327h0\"></path>\n<path d=\"M2096 327h239.5\"></path>\n<g>\n<path d=\"M1421.5 327h0\"></path>\n<path d=\"M1783 327h0\"></path>\n<path d=\"M1421.5 327h20\"></path>\n<g>\n<path d=\"M1441.5 327h0\"></path>\n<path d=\"M1763 327h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 327h0\"></path>\n<path d=\"M1521 327h0\"></path>\n<rect x=\"1441.5\" y=\"316\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1481.25\" y=\"331\">CDSName</text>\n</a>\n</g>\n<path d=\"M1521 327h10\"></path>\n<g>\n<path d=\"M1531 327h0\"></path>\n<path d=\"M1763 327h0\"></path>\n<path d=\"M1531 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1551 307h192\"></path>\n</g>\n<path d=\"M1743 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1531 327h20\"></path>\n<g>\n<path d=\"M1551 327h0\"></path>\n<path d=\"M1743 327h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1551 327h0\"></path>\n<path d=\"M1596.5 327h0\"></path>\n<rect x=\"1551\" y=\"316\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1573.75\" y=\"331\">\".\"</text>\n</g>\n<path d=\"M1596.5 327h10\"></path>\n<g>\n<path d=\"M1606.5 327h0\"></path>\n<path d=\"M1743 327h0\"></path>\n<path d=\"M1606.5 327h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1626.5 327h0\"></path>\n<path d=\"M1706 327h17\"></path>\n<rect x=\"1626.5\" y=\"316\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1666.25\" y=\"331\">CDSName</text>\n</a>\n</g>\n<path d=\"M1723 327h20\"></path>\n<path d=\"M1606.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1626.5 357h0\"></path>\n<path d=\"M1723 357h0\"></path>\n<rect x=\"1626.5\" y=\"346\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1674.75\" y=\"361\">CDSString</text>\n</a>\n</g>\n<path d=\"M1723 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1743 327h20\"></path>\n</g>\n</g>\n<path d=\"M1763 327h20\"></path>\n<path d=\"M1421.5 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 387h0\"></path>\n<path d=\"M1555 387h208\"></path>\n<rect x=\"1441.5\" y=\"376\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1498.25\" y=\"391\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1763 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1421.5 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1441.5 417h0\"></path>\n<path d=\"M1538 417h225\"></path>\n<rect x=\"1441.5\" y=\"406\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1489.75\" y=\"421\">CDSString</text>\n</a>\n</g>\n<path d=\"M1763 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1783 327h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1793 327h0\"></path>\n<path d=\"M1847 327h0\"></path>\n<rect x=\"1793\" y=\"316\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1820\" y=\"331\">\"IS\"</text>\n</g>\n<path d=\"M1847 327h10\"></path>\n<g>\n<path d=\"M1857 327h0\"></path>\n<path d=\"M1959.5 327h0\"></path>\n<path d=\"M1857 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1877 307h62.5\"></path>\n</g>\n<path d=\"M1939.5 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1857 327h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1877 327h0\"></path>\n<path d=\"M1939.5 327h0\"></path>\n<rect x=\"1877\" y=\"316\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1908.25\" y=\"331\">\"NOT\"</text>\n</g>\n<path d=\"M1939.5 327h20\"></path>\n</g>\n<g>\n<path d=\"M1959.5 327h0\"></path>\n<path d=\"M2096 327h0\"></path>\n<path d=\"M1959.5 327h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1979.5 327h0\"></path>\n<path d=\"M2076 327h0\"></path>\n<rect x=\"1979.5\" y=\"316\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2027.75\" y=\"331\">\"INITIAL\"</text>\n</g>\n<path d=\"M2076 327h20\"></path>\n<path d=\"M1959.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1979.5 357h0\"></path>\n<path d=\"M2050.5 357h25.5\"></path>\n<rect x=\"1979.5\" y=\"346\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2015\" y=\"361\">\"NULL\"</text>\n</g>\n<path d=\"M2076 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2335.5 327a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2355.5 48h20\"></path>\n<path d=\"M1279 48a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1299 447h0\"></path>\n<path d=\"M1552 447h803.5\"></path>\n<g class=\"terminal\">\n<path d=\"M1299 447h0\"></path>\n<path d=\"M1344.5 447h0\"></path>\n<rect x=\"1299\" y=\"436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1321.75\" y=\"451\">\"(\"</text>\n</g>\n<path d=\"M1344.5 447h10\"></path>\n<path d=\"M1354.5 447h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1364.5 447h0\"></path>\n<path d=\"M1486.5 447h0\"></path>\n<rect x=\"1364.5\" y=\"436\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"1425.5\" y=\"451\">CDSCondition</text>\n</a>\n</g>\n<path d=\"M1486.5 447h10\"></path>\n<path d=\"M1496.5 447h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1506.5 447h0\"></path>\n<path d=\"M1552 447h0\"></path>\n<rect x=\"1506.5\" y=\"436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1529.25\" y=\"451\">\")\"</text>\n</g>\n</g>\n<path d=\"M2355.5 447a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M2375.5 48h10\"></path>\n<path d=\"M1176.5 48a10 10 0 0 0 -10 10v398a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1176.5 466h1199\"></path>\n</g>\n<path d=\"M2375.5 466a10 10 0 0 0 10 -10v-398a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2385.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M2405.5 48h10\"></path>\n<path d=\"M 2415.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAssociation",
+        "expression/CDSCase",
+        "expression/CDSCondition",
+        "expression/CDSHaving",
+        "expression/CDSJoin",
+        "expression/CDSWhere"
+      ],
+      "filename": "c_ds_condition.ts"
+    },
+    {
+      "name": "CDSDefineAbstract",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"DEFINE ABSTRACT ENTITY\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Optional(Railroad.Terminal('\"KEY\"')),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('CDSType', {href: '#/expression/CDSType'}),Railroad.Terminal('\";\"'))),Railroad.Terminal('\"}\"'),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSName",
+        "expression/CDSType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1503.5\" height=\"88\" viewBox=\"0 0 1503.5 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1453.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M474.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.5\" y=\"44\">\"DEFINE ABSTRACT ENTITY\"</text>\n</g>\n<path d=\"M474.5 40h10\"></path>\n<path d=\"M484.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M494.5 40h0\"></path>\n<path d=\"M574 40h0\"></path>\n<rect x=\"494.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"534.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M574 40h10\"></path>\n<path d=\"M584 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M594 40h0\"></path>\n<path d=\"M639.5 40h0\"></path>\n<rect x=\"594\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"616.75\" y=\"44\">\"{\"</text>\n</g>\n<path d=\"M639.5 40h10\"></path>\n<path d=\"M649.5 40h10\"></path>\n<g>\n<path d=\"M659.5 40h0\"></path>\n<path d=\"M1292.5 40h0\"></path>\n<path d=\"M659.5 40h10\"></path>\n<g>\n<path d=\"M669.5 40h0\"></path>\n<path d=\"M1282.5 40h0\"></path>\n<g>\n<path d=\"M669.5 40h0\"></path>\n<path d=\"M860 40h0\"></path>\n<path d=\"M669.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M689.5 20h150.5\"></path>\n</g>\n<path d=\"M840 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M669.5 40h20\"></path>\n<g>\n<path d=\"M689.5 40h0\"></path>\n<path d=\"M840 40h0\"></path>\n<path d=\"M689.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M699.5 40h0\"></path>\n<path d=\"M830 40h0\"></path>\n<rect x=\"699.5\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"764.75\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M830 40h10\"></path>\n<path d=\"M699.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M699.5 60h130.5\"></path>\n</g>\n<path d=\"M830 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M840 40h20\"></path>\n</g>\n<g>\n<path d=\"M860 40h0\"></path>\n<path d=\"M962.5 40h0\"></path>\n<path d=\"M860 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M880 20h62.5\"></path>\n</g>\n<path d=\"M942.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M860 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M880 40h0\"></path>\n<path d=\"M942.5 40h0\"></path>\n<rect x=\"880\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"911.25\" y=\"44\">\"KEY\"</text>\n</g>\n<path d=\"M942.5 40h20\"></path>\n</g>\n<path d=\"M962.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M972.5 40h0\"></path>\n<path d=\"M1052 40h0\"></path>\n<rect x=\"972.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1012.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M1052 40h10\"></path>\n<path d=\"M1062 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1072 40h0\"></path>\n<path d=\"M1117.5 40h0\"></path>\n<rect x=\"1072\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1094.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M1117.5 40h10\"></path>\n<path d=\"M1127.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1137.5 40h0\"></path>\n<path d=\"M1217 40h0\"></path>\n<rect x=\"1137.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSType\"><text x=\"1177.25\" y=\"44\">CDSType</text>\n</a>\n</g>\n<path d=\"M1217 40h10\"></path>\n<path d=\"M1227 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1237 40h0\"></path>\n<path d=\"M1282.5 40h0\"></path>\n<rect x=\"1237\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1259.75\" y=\"44\">\";\"</text>\n</g>\n</g>\n<path d=\"M1282.5 40h10\"></path>\n<path d=\"M669.5 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M669.5 68h613\"></path>\n</g>\n<path d=\"M1282.5 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1292.5 40h10\"></path>\n<path d=\"M1302.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1312.5 40h0\"></path>\n<path d=\"M1358 40h0\"></path>\n<rect x=\"1312.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1335.25\" y=\"44\">\"}\"</text>\n</g>\n<path d=\"M1358 40h10\"></path>\n<g>\n<path d=\"M1368 40h0\"></path>\n<path d=\"M1453.5 40h0\"></path>\n<path d=\"M1368 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1388 20h45.5\"></path>\n</g>\n<path d=\"M1433.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1368 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1388 40h0\"></path>\n<path d=\"M1433.5 40h0\"></path>\n<rect x=\"1388\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1410.75\" y=\"44\">\";\"</text>\n</g>\n<path d=\"M1433.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1453.5 40h10\"></path>\n<path d=\"M 1463.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_define_abstract.ts"
+    },
+    {
+      "name": "CDSDefineCustom",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"DEFINE\"'),Railroad.Optional(Railroad.Terminal('\"ROOT\"')),Railroad.Terminal('\"CUSTOM ENTITY\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Optional(Railroad.Terminal('\"KEY\"')),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('CDSType', {href: '#/expression/CDSType'}),Railroad.Terminal('\";\"'))),Railroad.Terminal('\"}\"'),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSName",
+        "expression/CDSType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1646\" height=\"88\" viewBox=\"0 0 1646 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1596 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"294.5\" y=\"44\">\"DEFINE\"</text>\n</g>\n<path d=\"M338.5 40h10\"></path>\n<g>\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M459.5 40h0\"></path>\n<path d=\"M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M368.5 20h71\"></path>\n</g>\n<path d=\"M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M348.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 40h0\"></path>\n<path d=\"M439.5 40h0\"></path>\n<rect x=\"368.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404\" y=\"44\">\"ROOT\"</text>\n</g>\n<path d=\"M439.5 40h20\"></path>\n</g>\n<path d=\"M459.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M617 40h0\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"543.25\" y=\"44\">\"CUSTOM ENTITY\"</text>\n</g>\n<path d=\"M617 40h10\"></path>\n<path d=\"M627 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M637 40h0\"></path>\n<path d=\"M716.5 40h0\"></path>\n<rect x=\"637\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"676.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M716.5 40h10\"></path>\n<path d=\"M726.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M736.5 40h0\"></path>\n<path d=\"M782 40h0\"></path>\n<rect x=\"736.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"759.25\" y=\"44\">\"{\"</text>\n</g>\n<path d=\"M782 40h10\"></path>\n<path d=\"M792 40h10\"></path>\n<g>\n<path d=\"M802 40h0\"></path>\n<path d=\"M1435 40h0\"></path>\n<path d=\"M802 40h10\"></path>\n<g>\n<path d=\"M812 40h0\"></path>\n<path d=\"M1425 40h0\"></path>\n<g>\n<path d=\"M812 40h0\"></path>\n<path d=\"M1002.5 40h0\"></path>\n<path d=\"M812 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M832 20h150.5\"></path>\n</g>\n<path d=\"M982.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M812 40h20\"></path>\n<g>\n<path d=\"M832 40h0\"></path>\n<path d=\"M982.5 40h0\"></path>\n<path d=\"M832 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M842 40h0\"></path>\n<path d=\"M972.5 40h0\"></path>\n<rect x=\"842\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"907.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M972.5 40h10\"></path>\n<path d=\"M842 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M842 60h130.5\"></path>\n</g>\n<path d=\"M972.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M982.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M1002.5 40h0\"></path>\n<path d=\"M1105 40h0\"></path>\n<path d=\"M1002.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1022.5 20h62.5\"></path>\n</g>\n<path d=\"M1085 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1002.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1022.5 40h0\"></path>\n<path d=\"M1085 40h0\"></path>\n<rect x=\"1022.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1053.75\" y=\"44\">\"KEY\"</text>\n</g>\n<path d=\"M1085 40h20\"></path>\n</g>\n<path d=\"M1105 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1115 40h0\"></path>\n<path d=\"M1194.5 40h0\"></path>\n<rect x=\"1115\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1154.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M1194.5 40h10\"></path>\n<path d=\"M1204.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1214.5 40h0\"></path>\n<path d=\"M1260 40h0\"></path>\n<rect x=\"1214.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1237.25\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M1260 40h10\"></path>\n<path d=\"M1270 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1280 40h0\"></path>\n<path d=\"M1359.5 40h0\"></path>\n<rect x=\"1280\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSType\"><text x=\"1319.75\" y=\"44\">CDSType</text>\n</a>\n</g>\n<path d=\"M1359.5 40h10\"></path>\n<path d=\"M1369.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1379.5 40h0\"></path>\n<path d=\"M1425 40h0\"></path>\n<rect x=\"1379.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1402.25\" y=\"44\">\";\"</text>\n</g>\n</g>\n<path d=\"M1425 40h10\"></path>\n<path d=\"M812 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M812 68h613\"></path>\n</g>\n<path d=\"M1425 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1435 40h10\"></path>\n<path d=\"M1445 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1455 40h0\"></path>\n<path d=\"M1500.5 40h0\"></path>\n<rect x=\"1455\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1477.75\" y=\"44\">\"}\"</text>\n</g>\n<path d=\"M1500.5 40h10\"></path>\n<g>\n<path d=\"M1510.5 40h0\"></path>\n<path d=\"M1596 40h0\"></path>\n<path d=\"M1510.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1530.5 20h45.5\"></path>\n</g>\n<path d=\"M1576 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1510.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1530.5 40h0\"></path>\n<path d=\"M1576 40h0\"></path>\n<rect x=\"1530.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1553.25\" y=\"44\">\";\"</text>\n</g>\n<path d=\"M1576 40h20\"></path>\n</g>\n</g>\n<path d=\"M1596 40h10\"></path>\n<path d=\"M 1606 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_define_custom.ts"
+    },
+    {
+      "name": "CDSDefineProjection",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"DEFINE\"'),Railroad.Optional(Railroad.Terminal('\"ROOT\"')),Railroad.Terminal('\"VIEW\"'),Railroad.Sequence(Railroad.Comment(\"v755\", {}), Railroad.Optional(Railroad.Terminal('\"ENTITY\"'))),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSProviderContract', {href: '#/expression/CDSProviderContract'})),Railroad.Terminal('\"AS PROJECTION ON\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'})),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'}))),Railroad.Terminal('\"}\"'),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSAs",
+        "expression/CDSElement",
+        "expression/CDSName",
+        "expression/CDSProviderContract"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2104.5\" height=\"80\" viewBox=\"0 0 2104.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M2054.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"294.5\" y=\"44\">\"DEFINE\"</text>\n</g>\n<path d=\"M338.5 40h10\"></path>\n<g>\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M459.5 40h0\"></path>\n<path d=\"M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M368.5 20h71\"></path>\n</g>\n<path d=\"M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M348.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 40h0\"></path>\n<path d=\"M439.5 40h0\"></path>\n<rect x=\"368.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404\" y=\"44\">\"ROOT\"</text>\n</g>\n<path d=\"M439.5 40h20\"></path>\n</g>\n<path d=\"M459.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M540.5 40h0\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"505\" y=\"44\">\"VIEW\"</text>\n</g>\n<path d=\"M540.5 40h10\"></path>\n<path d=\"M550.5 40h10\"></path>\n<g>\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M736.5 40h0\"></path>\n<g>\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<text x=\"579.5\" y=\"45\" class=\"comment\">v755</text>\n</g>\n<path d=\"M598.5 40h10\"></path>\n<g>\n<path d=\"M608.5 40h0\"></path>\n<path d=\"M736.5 40h0\"></path>\n<path d=\"M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M628.5 20h88\"></path>\n</g>\n<path d=\"M716.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M608.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M628.5 40h0\"></path>\n<path d=\"M716.5 40h0\"></path>\n<rect x=\"628.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"672.5\" y=\"44\">\"ENTITY\"</text>\n</g>\n<path d=\"M716.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M736.5 40h10\"></path>\n<path d=\"M746.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M756.5 40h0\"></path>\n<path d=\"M836 40h0\"></path>\n<rect x=\"756.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"796.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M836 40h10\"></path>\n<g>\n<path d=\"M846 40h0\"></path>\n<path d=\"M1067.5 40h0\"></path>\n<path d=\"M846 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M866 20h181.5\"></path>\n</g>\n<path d=\"M1047.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M846 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M866 40h0\"></path>\n<path d=\"M1047.5 40h0\"></path>\n<rect x=\"866\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSProviderContract\"><text x=\"956.75\" y=\"44\">CDSProviderContract</text>\n</a>\n</g>\n<path d=\"M1047.5 40h20\"></path>\n</g>\n<path d=\"M1067.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1077.5 40h0\"></path>\n<path d=\"M1250.5 40h0\"></path>\n<rect x=\"1077.5\" y=\"29\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1164\" y=\"44\">\"AS PROJECTION ON\"</text>\n</g>\n<path d=\"M1250.5 40h10\"></path>\n<path d=\"M1260.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1270.5 40h0\"></path>\n<path d=\"M1350 40h0\"></path>\n<rect x=\"1270.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1310.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M1350 40h10\"></path>\n<g>\n<path d=\"M1360 40h0\"></path>\n<path d=\"M1462.5 40h0\"></path>\n<path d=\"M1360 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1380 20h62.5\"></path>\n</g>\n<path d=\"M1442.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1360 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1380 40h0\"></path>\n<path d=\"M1442.5 40h0\"></path>\n<rect x=\"1380\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"1411.25\" y=\"44\">CDSAs</text>\n</a>\n</g>\n<path d=\"M1442.5 40h20\"></path>\n</g>\n<path d=\"M1462.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1472.5 40h0\"></path>\n<path d=\"M1518 40h0\"></path>\n<rect x=\"1472.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1495.25\" y=\"44\">\"{\"</text>\n</g>\n<path d=\"M1518 40h10\"></path>\n<path d=\"M1528 40h10\"></path>\n<g>\n<path d=\"M1538 40h0\"></path>\n<path d=\"M1663 40h0\"></path>\n<path d=\"M1538 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1548 40h0\"></path>\n<path d=\"M1653 40h0\"></path>\n<rect x=\"1548\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"1600.5\" y=\"44\">CDSElement</text>\n</a>\n</g>\n<path d=\"M1653 40h10\"></path>\n<path d=\"M1548 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1548 60h105\"></path>\n</g>\n<path d=\"M1653 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1663 40h10\"></path>\n<g>\n<path d=\"M1673 40h0\"></path>\n<path d=\"M1903.5 40h0\"></path>\n<path d=\"M1673 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1693 20h190.5\"></path>\n</g>\n<path d=\"M1883.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1673 40h20\"></path>\n<g>\n<path d=\"M1693 40h0\"></path>\n<path d=\"M1883.5 40h0\"></path>\n<path d=\"M1693 40h10\"></path>\n<g>\n<path d=\"M1703 40h0\"></path>\n<path d=\"M1873.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1703 40h0\"></path>\n<path d=\"M1748.5 40h0\"></path>\n<rect x=\"1703\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1725.75\" y=\"44\">\",\"</text>\n</g>\n<path d=\"M1748.5 40h10\"></path>\n<path d=\"M1758.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1768.5 40h0\"></path>\n<path d=\"M1873.5 40h0\"></path>\n<rect x=\"1768.5\" y=\"29\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"1821\" y=\"44\">CDSElement</text>\n</a>\n</g>\n</g>\n<path d=\"M1873.5 40h10\"></path>\n<path d=\"M1703 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1703 60h170.5\"></path>\n</g>\n<path d=\"M1873.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1883.5 40h20\"></path>\n</g>\n<path d=\"M1903.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1913.5 40h0\"></path>\n<path d=\"M1959 40h0\"></path>\n<rect x=\"1913.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1936.25\" y=\"44\">\"}\"</text>\n</g>\n<path d=\"M1959 40h10\"></path>\n<g>\n<path d=\"M1969 40h0\"></path>\n<path d=\"M2054.5 40h0\"></path>\n<path d=\"M1969 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1989 20h45.5\"></path>\n</g>\n<path d=\"M2034.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1969 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1989 40h0\"></path>\n<path d=\"M2034.5 40h0\"></path>\n<rect x=\"1989\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2011.75\" y=\"44\">\";\"</text>\n</g>\n<path d=\"M2034.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M2054.5 40h10\"></path>\n<path d=\"M 2064.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_define_projection.ts"
+    },
+    {
+      "name": "CDSDefineView",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"DEFINE\"'),Railroad.Optional(Railroad.Terminal('\"ROOT\"')),Railroad.Terminal('\"VIEW\"'),Railroad.Sequence(Railroad.Comment(\"v755\", {}), Railroad.Optional(Railroad.Terminal('\"ENTITY\"'))),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSWithParameters', {href: '#/expression/CDSWithParameters'})),Railroad.Terminal('\"AS\"'),Railroad.NonTerminal('CDSSelect', {href: '#/expression/CDSSelect'}),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSName",
+        "expression/CDSSelect",
+        "expression/CDSWithParameters"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1376.5\" height=\"80\" viewBox=\"0 0 1376.5 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1326.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<path d=\"M240.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 40h0\"></path>\n<path d=\"M338.5 40h0\"></path>\n<rect x=\"250.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"294.5\" y=\"44\">\"DEFINE\"</text>\n</g>\n<path d=\"M338.5 40h10\"></path>\n<g>\n<path d=\"M348.5 40h0\"></path>\n<path d=\"M459.5 40h0\"></path>\n<path d=\"M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M368.5 20h71\"></path>\n</g>\n<path d=\"M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M348.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M368.5 40h0\"></path>\n<path d=\"M439.5 40h0\"></path>\n<rect x=\"368.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"404\" y=\"44\">\"ROOT\"</text>\n</g>\n<path d=\"M439.5 40h20\"></path>\n</g>\n<path d=\"M459.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M469.5 40h0\"></path>\n<path d=\"M540.5 40h0\"></path>\n<rect x=\"469.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"505\" y=\"44\">\"VIEW\"</text>\n</g>\n<path d=\"M540.5 40h10\"></path>\n<path d=\"M550.5 40h10\"></path>\n<g>\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M736.5 40h0\"></path>\n<g>\n<path d=\"M560.5 40h0\"></path>\n<path d=\"M598.5 40h0\"></path>\n<text x=\"579.5\" y=\"45\" class=\"comment\">v755</text>\n</g>\n<path d=\"M598.5 40h10\"></path>\n<g>\n<path d=\"M608.5 40h0\"></path>\n<path d=\"M736.5 40h0\"></path>\n<path d=\"M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M628.5 20h88\"></path>\n</g>\n<path d=\"M716.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M608.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M628.5 40h0\"></path>\n<path d=\"M716.5 40h0\"></path>\n<rect x=\"628.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"672.5\" y=\"44\">\"ENTITY\"</text>\n</g>\n<path d=\"M716.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M736.5 40h10\"></path>\n<path d=\"M746.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M756.5 40h0\"></path>\n<path d=\"M836 40h0\"></path>\n<rect x=\"756.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"796.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M836 40h10\"></path>\n<g>\n<path d=\"M846 40h0\"></path>\n<path d=\"M1050.5 40h0\"></path>\n<path d=\"M846 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M866 20h164.5\"></path>\n</g>\n<path d=\"M1030.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M846 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M866 40h0\"></path>\n<path d=\"M1030.5 40h0\"></path>\n<rect x=\"866\" y=\"29\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSWithParameters\"><text x=\"948.25\" y=\"44\">CDSWithParameters</text>\n</a>\n</g>\n<path d=\"M1030.5 40h20\"></path>\n</g>\n<path d=\"M1050.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1060.5 40h0\"></path>\n<path d=\"M1114.5 40h0\"></path>\n<rect x=\"1060.5\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1087.5\" y=\"44\">\"AS\"</text>\n</g>\n<path d=\"M1114.5 40h10\"></path>\n<path d=\"M1124.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1134.5 40h0\"></path>\n<path d=\"M1231 40h0\"></path>\n<rect x=\"1134.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSSelect\"><text x=\"1182.75\" y=\"44\">CDSSelect</text>\n</a>\n</g>\n<path d=\"M1231 40h10\"></path>\n<g>\n<path d=\"M1241 40h0\"></path>\n<path d=\"M1326.5 40h0\"></path>\n<path d=\"M1241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1261 20h45.5\"></path>\n</g>\n<path d=\"M1306.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1241 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1261 40h0\"></path>\n<path d=\"M1306.5 40h0\"></path>\n<rect x=\"1261\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1283.75\" y=\"44\">\";\"</text>\n</g>\n<path d=\"M1306.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1326.5 40h10\"></path>\n<path d=\"M 1336.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_define_view.ts"
+    },
+    {
+      "name": "CDSElement",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Optional(Railroad.Terminal('\"KEY\"')),Railroad.Choice(0, Railroad.NonTerminal('CDSAggregate', {href: '#/expression/CDSAggregate'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\": REDIRECTED TO\"'),Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"PARENT\"'),Railroad.Terminal('\"COMPOSITION CHILD\"'))),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})),Railroad.NonTerminal('CDSPrefixedName', {href: '#/expression/CDSPrefixedName'}),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'})))).toString();",
+      "using": [
+        "expression/CDSAggregate",
+        "expression/CDSAnnotation",
+        "expression/CDSArithmetics",
+        "expression/CDSAs",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSFunction",
+        "expression/CDSName",
+        "expression/CDSPrefixedName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1160.5\" height=\"350\" viewBox=\"0 0 1160.5 350\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M1110.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h150.5\"></path>\n</g>\n<path d=\"M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M220.5 40h0\"></path>\n<path d=\"M70 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 40h0\"></path>\n<path d=\"M210.5 40h0\"></path>\n<rect x=\"80\" y=\"29\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"44\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 40h10\"></path>\n<path d=\"M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 60h130.5\"></path>\n</g>\n<path d=\"M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M240.5 40h0\"></path>\n<path d=\"M343 40h0\"></path>\n<path d=\"M240.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M260.5 20h62.5\"></path>\n</g>\n<path d=\"M323 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M240.5 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 40h0\"></path>\n<path d=\"M323 40h0\"></path>\n<rect x=\"260.5\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"44\">\"KEY\"</text>\n</g>\n<path d=\"M323 40h20\"></path>\n</g>\n<g>\n<path d=\"M343 40h0\"></path>\n<path d=\"M1008 40h0\"></path>\n<path d=\"M343 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 40h0\"></path>\n<path d=\"M485 40h503\"></path>\n<rect x=\"363\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAggregate\"><text x=\"424\" y=\"44\">CDSAggregate</text>\n</a>\n</g>\n<path d=\"M988 40h20\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 70h0\"></path>\n<path d=\"M459.5 70h528.5\"></path>\n<rect x=\"363\" y=\"59\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"411.25\" y=\"74\">CDSString</text>\n</a>\n</g>\n<path d=\"M988 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 100h0\"></path>\n<path d=\"M476.5 100h511.5\"></path>\n<rect x=\"363\" y=\"89\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"419.75\" y=\"104\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M988 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 130h0\"></path>\n<path d=\"M502 130h486\"></path>\n<rect x=\"363\" y=\"119\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"432.5\" y=\"134\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M988 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 160h0\"></path>\n<path d=\"M442.5 160h545.5\"></path>\n<rect x=\"363\" y=\"149\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"402.75\" y=\"164\">CDSCast</text>\n</a>\n</g>\n<path d=\"M988 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 190h0\"></path>\n<path d=\"M442.5 190h545.5\"></path>\n<rect x=\"363\" y=\"179\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"402.75\" y=\"194\">CDSCase</text>\n</a>\n</g>\n<path d=\"M988 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M363 229h0\"></path>\n<path d=\"M988 229h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 229h0\"></path>\n<path d=\"M442.5 229h0\"></path>\n<rect x=\"363\" y=\"218\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"402.75\" y=\"233\">CDSName</text>\n</a>\n</g>\n<path d=\"M442.5 229h10\"></path>\n<path d=\"M452.5 229h10\"></path>\n<g class=\"terminal\">\n<path d=\"M462.5 229h0\"></path>\n<path d=\"M627 229h0\"></path>\n<rect x=\"462.5\" y=\"218\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"544.75\" y=\"233\">\": REDIRECTED TO\"</text>\n</g>\n<path d=\"M627 229h10\"></path>\n<g>\n<path d=\"M637 229h0\"></path>\n<path d=\"M898.5 229h0\"></path>\n<path d=\"M637 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M657 209h221.5\"></path>\n</g>\n<path d=\"M878.5 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M637 229h20\"></path>\n<g>\n<path d=\"M657 229h0\"></path>\n<path d=\"M878.5 229h0\"></path>\n<path d=\"M657 229h20\"></path>\n<g class=\"terminal\">\n<path d=\"M677 229h0\"></path>\n<path d=\"M765 229h93.5\"></path>\n<rect x=\"677\" y=\"218\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"721\" y=\"233\">\"PARENT\"</text>\n</g>\n<path d=\"M858.5 229h20\"></path>\n<path d=\"M657 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M677 259h0\"></path>\n<path d=\"M858.5 259h0\"></path>\n<rect x=\"677\" y=\"248\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"767.75\" y=\"263\">\"COMPOSITION CHILD\"</text>\n</g>\n<path d=\"M858.5 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M878.5 229h20\"></path>\n</g>\n<path d=\"M898.5 229h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M908.5 229h0\"></path>\n<path d=\"M988 229h0\"></path>\n<rect x=\"908.5\" y=\"218\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"948.25\" y=\"233\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M988 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v229a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 289h0\"></path>\n<path d=\"M510.5 289h477.5\"></path>\n<rect x=\"363\" y=\"278\" width=\"147.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSPrefixedName\"><text x=\"436.75\" y=\"293\">CDSPrefixedName</text>\n</a>\n</g>\n<path d=\"M988 289a10 10 0 0 0 10 -10v-229a10 10 0 0 1 10 -10\"></path>\n<path d=\"M343 40a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M363 319h0\"></path>\n<path d=\"M425.5 319h562.5\"></path>\n<rect x=\"363\" y=\"308\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"394.25\" y=\"323\">^\\d+$</text>\n</g>\n<path d=\"M988 319a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M1008 40h0\"></path>\n<path d=\"M1110.5 40h0\"></path>\n<path d=\"M1008 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1028 20h62.5\"></path>\n</g>\n<path d=\"M1090.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1008 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1028 40h0\"></path>\n<path d=\"M1090.5 40h0\"></path>\n<rect x=\"1028\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"1059.25\" y=\"44\">CDSAs</text>\n</a>\n</g>\n<path d=\"M1090.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M1110.5 40h10\"></path>\n<path d=\"M 1120.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotate",
+        "expression/CDSDefineProjection",
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_element.ts"
+    },
+    {
+      "name": "CDSExtendView",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAnnotation', {href: '#/expression/CDSAnnotation'})),Railroad.Terminal('\"EXTEND VIEW\"'),Railroad.Optional(Railroad.Terminal('\"ENTITY\"')),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\"WITH\"'),Railroad.Optional(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})),Railroad.Sequence(Railroad.Terminal('\"{\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}))),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'}))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}))),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'}))))),Railroad.Terminal('\"}\"')),Railroad.Optional(Railroad.Terminal('\";\"')))).toString();",
+      "using": [
+        "expression/CDSAnnotation",
+        "expression/CDSAs",
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1995\" height=\"88\" viewBox=\"0 0 1995 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1945 48h0\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M240.5 48h0\"></path>\n<path d=\"M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 28h150.5\"></path>\n</g>\n<path d=\"M220.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 48h20\"></path>\n<g>\n<path d=\"M70 48h0\"></path>\n<path d=\"M220.5 48h0\"></path>\n<path d=\"M70 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M80 48h0\"></path>\n<path d=\"M210.5 48h0\"></path>\n<rect x=\"80\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAnnotation\"><text x=\"145.25\" y=\"52\">CDSAnnotation</text>\n</a>\n</g>\n<path d=\"M210.5 48h10\"></path>\n<path d=\"M80 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M80 68h130.5\"></path>\n</g>\n<path d=\"M210.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M220.5 48h20\"></path>\n</g>\n<path d=\"M240.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M250.5 48h0\"></path>\n<path d=\"M381 48h0\"></path>\n<rect x=\"250.5\" y=\"37\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"315.75\" y=\"52\">\"EXTEND VIEW\"</text>\n</g>\n<path d=\"M381 48h10\"></path>\n<g>\n<path d=\"M391 48h0\"></path>\n<path d=\"M519 48h0\"></path>\n<path d=\"M391 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M411 28h88\"></path>\n</g>\n<path d=\"M499 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M391 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M411 48h0\"></path>\n<path d=\"M499 48h0\"></path>\n<rect x=\"411\" y=\"37\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"455\" y=\"52\">\"ENTITY\"</text>\n</g>\n<path d=\"M499 48h20\"></path>\n</g>\n<path d=\"M519 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M529 48h0\"></path>\n<path d=\"M608.5 48h0\"></path>\n<rect x=\"529\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"568.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M608.5 48h10\"></path>\n<path d=\"M618.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M628.5 48h0\"></path>\n<path d=\"M699.5 48h0\"></path>\n<rect x=\"628.5\" y=\"37\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"664\" y=\"52\">\"WITH\"</text>\n</g>\n<path d=\"M699.5 48h10\"></path>\n<g>\n<path d=\"M709.5 48h0\"></path>\n<path d=\"M829 48h0\"></path>\n<path d=\"M709.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M729.5 28h79.5\"></path>\n</g>\n<path d=\"M809 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M709.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M729.5 48h0\"></path>\n<path d=\"M809 48h0\"></path>\n<rect x=\"729.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"769.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M809 48h20\"></path>\n</g>\n<path d=\"M829 48h10\"></path>\n<g>\n<path d=\"M839 48h0\"></path>\n<path d=\"M1849.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M839 48h0\"></path>\n<path d=\"M884.5 48h0\"></path>\n<rect x=\"839\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"861.75\" y=\"52\">\"{\"</text>\n</g>\n<path d=\"M884.5 48h10\"></path>\n<path d=\"M894.5 48h10\"></path>\n<g>\n<path d=\"M904.5 48h0\"></path>\n<path d=\"M1281.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M904.5 48h0\"></path>\n<path d=\"M984 48h0\"></path>\n<rect x=\"904.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"944.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M984 48h10\"></path>\n<g>\n<path d=\"M994 48h0\"></path>\n<path d=\"M1179 48h0\"></path>\n<path d=\"M994 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1014 28h145\"></path>\n</g>\n<path d=\"M1159 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M994 48h20\"></path>\n<g>\n<path d=\"M1014 48h0\"></path>\n<path d=\"M1159 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1014 48h0\"></path>\n<path d=\"M1059.5 48h0\"></path>\n<rect x=\"1014\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1036.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1059.5 48h10\"></path>\n<path d=\"M1069.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1079.5 48h0\"></path>\n<path d=\"M1159 48h0\"></path>\n<rect x=\"1079.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1119.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1159 48h20\"></path>\n</g>\n<g>\n<path d=\"M1179 48h0\"></path>\n<path d=\"M1281.5 48h0\"></path>\n<path d=\"M1179 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1199 28h62.5\"></path>\n</g>\n<path d=\"M1261.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1179 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1199 48h0\"></path>\n<path d=\"M1261.5 48h0\"></path>\n<rect x=\"1199\" y=\"37\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"1230.25\" y=\"52\">CDSAs</text>\n</a>\n</g>\n<path d=\"M1261.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M1281.5 48h10\"></path>\n<g>\n<path d=\"M1291.5 48h0\"></path>\n<path d=\"M1794 48h0\"></path>\n<path d=\"M1291.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1311.5 20h462.5\"></path>\n</g>\n<path d=\"M1774 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1291.5 48h20\"></path>\n<g>\n<path d=\"M1311.5 48h0\"></path>\n<path d=\"M1774 48h0\"></path>\n<path d=\"M1311.5 48h10\"></path>\n<g>\n<path d=\"M1321.5 48h0\"></path>\n<path d=\"M1764 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1321.5 48h0\"></path>\n<path d=\"M1367 48h0\"></path>\n<rect x=\"1321.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1344.25\" y=\"52\">\",\"</text>\n</g>\n<path d=\"M1367 48h10\"></path>\n<path d=\"M1377 48h10\"></path>\n<g>\n<path d=\"M1387 48h0\"></path>\n<path d=\"M1764 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1387 48h0\"></path>\n<path d=\"M1466.5 48h0\"></path>\n<rect x=\"1387\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1426.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1466.5 48h10\"></path>\n<g>\n<path d=\"M1476.5 48h0\"></path>\n<path d=\"M1661.5 48h0\"></path>\n<path d=\"M1476.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1496.5 28h145\"></path>\n</g>\n<path d=\"M1641.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1476.5 48h20\"></path>\n<g>\n<path d=\"M1496.5 48h0\"></path>\n<path d=\"M1641.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1496.5 48h0\"></path>\n<path d=\"M1542 48h0\"></path>\n<rect x=\"1496.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1519.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1542 48h10\"></path>\n<path d=\"M1552 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1562 48h0\"></path>\n<path d=\"M1641.5 48h0\"></path>\n<rect x=\"1562\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1601.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1641.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M1661.5 48h0\"></path>\n<path d=\"M1764 48h0\"></path>\n<path d=\"M1661.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1681.5 28h62.5\"></path>\n</g>\n<path d=\"M1744 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1661.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1681.5 48h0\"></path>\n<path d=\"M1744 48h0\"></path>\n<rect x=\"1681.5\" y=\"37\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"1712.75\" y=\"52\">CDSAs</text>\n</a>\n</g>\n<path d=\"M1744 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1764 48h10\"></path>\n<path d=\"M1321.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1321.5 68h442.5\"></path>\n</g>\n<path d=\"M1764 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1774 48h20\"></path>\n</g>\n<path d=\"M1794 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1804 48h0\"></path>\n<path d=\"M1849.5 48h0\"></path>\n<rect x=\"1804\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1826.75\" y=\"52\">\"}\"</text>\n</g>\n</g>\n<path d=\"M1849.5 48h10\"></path>\n<g>\n<path d=\"M1859.5 48h0\"></path>\n<path d=\"M1945 48h0\"></path>\n<path d=\"M1859.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1879.5 28h45.5\"></path>\n</g>\n<path d=\"M1925 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1859.5 48h20\"></path>\n<g class=\"terminal\">\n<path d=\"M1879.5 48h0\"></path>\n<path d=\"M1925 48h0\"></path>\n<rect x=\"1879.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1902.25\" y=\"52\">\";\"</text>\n</g>\n<path d=\"M1925 48h20\"></path>\n</g>\n</g>\n<path d=\"M1945 48h10\"></path>\n<path d=\"M 1955 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "c_ds_extend_view.ts"
+    },
+    {
+      "name": "CDSFunction",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Choice(0, Railroad.Sequence(Railroad.Terminal('\"SUBSTRING\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"COALESCE\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_TO_DATS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"CONCAT\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_TO_TIMS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"UPPER\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"LOWER\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"ABS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"CEIL\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"FLOOR\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"ROUND\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DIV\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DIVISION\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"CONCAT_WITH_SPACE\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DATS_IS_VALID\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DATS_DAYS_BETWEEN\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_ADD_SECONDS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_SECONDS_BETWEEN\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_CURRENT_UTCTIMESTAMP\"'),Railroad.Terminal('\"(\"'),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_IS_VALID\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"ABAP_SYSTEM_TIMEZONE\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"ABAP_USER_TIMEZONE\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"BINTOHEX\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"HEXTOBIN\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DATS_ADD_DAYS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DATS_ADD_MONTHS\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"TSTMP_TO_DST\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"DATS_TIMS_TO_TSTMP\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"MOD\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"LEFT\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')),Railroad.Sequence(Railroad.Terminal('\"RIGHT\"'),Railroad.Terminal('\"(\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\",\"'),Railroad.Choice(0, Railroad.NonTerminal('CDSCast', {href: '#/expression/CDSCast'}),Railroad.NonTerminal('CDSFunction', {href: '#/expression/CDSFunction'}),Railroad.NonTerminal('CDSArithmetics', {href: '#/expression/CDSArithmetics'}),Railroad.NonTerminal('CDSCase', {href: '#/expression/CDSCase'}),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'}))))),Railroad.Terminal(\"^\\\\d+$\")),Railroad.Terminal('\")\"')))).toString();",
+      "using": [
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSFunction",
+        "expression/CDSName",
+        "expression/CDSParameters",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"4130.5\" height=\"7142\" viewBox=\"0 0 4130.5 7142\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<g>\n<path d=\"M40 31h0\"></path>\n<path d=\"M4090.5 31h0\"></path>\n<path d=\"M40 31h20\"></path>\n<g>\n<path d=\"M60 31h0\"></path>\n<path d=\"M2492 31h1578.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 31h0\"></path>\n<path d=\"M173.5 31h0\"></path>\n<rect x=\"60\" y=\"20\" width=\"113.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"116.75\" y=\"35\">\"SUBSTRING\"</text>\n</g>\n<path d=\"M173.5 31h10\"></path>\n<path d=\"M183.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M193.5 31h0\"></path>\n<path d=\"M239 31h0\"></path>\n<rect x=\"193.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"216.25\" y=\"35\">\"(\"</text>\n</g>\n<path d=\"M239 31h10\"></path>\n<g>\n<path d=\"M249 31h0\"></path>\n<path d=\"M934.5 31h0\"></path>\n<path d=\"M249 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 31h0\"></path>\n<path d=\"M348.5 31h566\"></path>\n<rect x=\"269\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"308.75\" y=\"35\">CDSCast</text>\n</a>\n</g>\n<path d=\"M914.5 31h20\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 61h0\"></path>\n<path d=\"M382.5 61h532\"></path>\n<rect x=\"269\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"325.75\" y=\"65\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M914.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 91h0\"></path>\n<path d=\"M408 91h506.5\"></path>\n<rect x=\"269\" y=\"80\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"338.5\" y=\"95\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M914.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 121h0\"></path>\n<path d=\"M348.5 121h566\"></path>\n<rect x=\"269\" y=\"110\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"308.75\" y=\"125\">CDSCase</text>\n</a>\n</g>\n<path d=\"M914.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 151h0\"></path>\n<path d=\"M365.5 151h549\"></path>\n<rect x=\"269\" y=\"140\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"317.25\" y=\"155\">CDSString</text>\n</a>\n</g>\n<path d=\"M914.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M269 198h0\"></path>\n<path d=\"M914.5 198h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M269 198h0\"></path>\n<path d=\"M348.5 198h0\"></path>\n<rect x=\"269\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"308.75\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M348.5 198h10\"></path>\n<g>\n<path d=\"M358.5 198h0\"></path>\n<path d=\"M529 198h0\"></path>\n<path d=\"M358.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M378.5 178h130.5\"></path>\n</g>\n<path d=\"M509 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M358.5 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M378.5 198h0\"></path>\n<path d=\"M509 198h0\"></path>\n<rect x=\"378.5\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"443.75\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M509 198h20\"></path>\n</g>\n<g>\n<path d=\"M529 198h0\"></path>\n<path d=\"M914.5 198h0\"></path>\n<path d=\"M529 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M549 170h345.5\"></path>\n</g>\n<path d=\"M894.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M529 198h20\"></path>\n<g>\n<path d=\"M549 198h0\"></path>\n<path d=\"M894.5 198h0\"></path>\n<path d=\"M549 198h10\"></path>\n<g>\n<path d=\"M559 198h0\"></path>\n<path d=\"M884.5 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M559 198h0\"></path>\n<path d=\"M604.5 198h0\"></path>\n<rect x=\"559\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"581.75\" y=\"202\">\".\"</text>\n</g>\n<path d=\"M604.5 198h10\"></path>\n<path d=\"M614.5 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M624.5 198h0\"></path>\n<path d=\"M704 198h0\"></path>\n<rect x=\"624.5\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"664.25\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M704 198h10\"></path>\n<g>\n<path d=\"M714 198h0\"></path>\n<path d=\"M884.5 198h0\"></path>\n<path d=\"M714 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M734 178h130.5\"></path>\n</g>\n<path d=\"M864.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M714 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M734 198h0\"></path>\n<path d=\"M864.5 198h0\"></path>\n<rect x=\"734\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"799.25\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M864.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M884.5 198h10\"></path>\n<path d=\"M559 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M559 218h325.5\"></path>\n</g>\n<path d=\"M884.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M894.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M914.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M249 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M269 237h0\"></path>\n<path d=\"M331.5 237h583\"></path>\n<rect x=\"269\" y=\"226\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"300.25\" y=\"241\">^\\d+$</text>\n</g>\n<path d=\"M914.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M934.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M944.5 31h0\"></path>\n<path d=\"M990 31h0\"></path>\n<rect x=\"944.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"967.25\" y=\"35\">\",\"</text>\n</g>\n<path d=\"M990 31h10\"></path>\n<g>\n<path d=\"M1000 31h0\"></path>\n<path d=\"M1685.5 31h0\"></path>\n<path d=\"M1000 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 31h0\"></path>\n<path d=\"M1099.5 31h566\"></path>\n<rect x=\"1020\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1059.75\" y=\"35\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1665.5 31h20\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 61h0\"></path>\n<path d=\"M1133.5 61h532\"></path>\n<rect x=\"1020\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1076.75\" y=\"65\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1665.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 91h0\"></path>\n<path d=\"M1159 91h506.5\"></path>\n<rect x=\"1020\" y=\"80\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1089.5\" y=\"95\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1665.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 121h0\"></path>\n<path d=\"M1099.5 121h566\"></path>\n<rect x=\"1020\" y=\"110\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1059.75\" y=\"125\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1665.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 151h0\"></path>\n<path d=\"M1116.5 151h549\"></path>\n<rect x=\"1020\" y=\"140\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1068.25\" y=\"155\">CDSString</text>\n</a>\n</g>\n<path d=\"M1665.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1020 198h0\"></path>\n<path d=\"M1665.5 198h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1020 198h0\"></path>\n<path d=\"M1099.5 198h0\"></path>\n<rect x=\"1020\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1059.75\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M1099.5 198h10\"></path>\n<g>\n<path d=\"M1109.5 198h0\"></path>\n<path d=\"M1280 198h0\"></path>\n<path d=\"M1109.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1129.5 178h130.5\"></path>\n</g>\n<path d=\"M1260 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1109.5 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1129.5 198h0\"></path>\n<path d=\"M1260 198h0\"></path>\n<rect x=\"1129.5\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1194.75\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1260 198h20\"></path>\n</g>\n<g>\n<path d=\"M1280 198h0\"></path>\n<path d=\"M1665.5 198h0\"></path>\n<path d=\"M1280 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1300 170h345.5\"></path>\n</g>\n<path d=\"M1645.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1280 198h20\"></path>\n<g>\n<path d=\"M1300 198h0\"></path>\n<path d=\"M1645.5 198h0\"></path>\n<path d=\"M1300 198h10\"></path>\n<g>\n<path d=\"M1310 198h0\"></path>\n<path d=\"M1635.5 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1310 198h0\"></path>\n<path d=\"M1355.5 198h0\"></path>\n<rect x=\"1310\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1332.75\" y=\"202\">\".\"</text>\n</g>\n<path d=\"M1355.5 198h10\"></path>\n<path d=\"M1365.5 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1375.5 198h0\"></path>\n<path d=\"M1455 198h0\"></path>\n<rect x=\"1375.5\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1415.25\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M1455 198h10\"></path>\n<g>\n<path d=\"M1465 198h0\"></path>\n<path d=\"M1635.5 198h0\"></path>\n<path d=\"M1465 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1485 178h130.5\"></path>\n</g>\n<path d=\"M1615.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1465 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1485 198h0\"></path>\n<path d=\"M1615.5 198h0\"></path>\n<rect x=\"1485\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1550.25\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1615.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M1635.5 198h10\"></path>\n<path d=\"M1310 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1310 218h325.5\"></path>\n</g>\n<path d=\"M1635.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1645.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M1665.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1000 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1020 237h0\"></path>\n<path d=\"M1082.5 237h583\"></path>\n<rect x=\"1020\" y=\"226\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1051.25\" y=\"241\">^\\d+$</text>\n</g>\n<path d=\"M1665.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1685.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1695.5 31h0\"></path>\n<path d=\"M1741 31h0\"></path>\n<rect x=\"1695.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1718.25\" y=\"35\">\",\"</text>\n</g>\n<path d=\"M1741 31h10\"></path>\n<g>\n<path d=\"M1751 31h0\"></path>\n<path d=\"M2436.5 31h0\"></path>\n<path d=\"M1751 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 31h0\"></path>\n<path d=\"M1850.5 31h566\"></path>\n<rect x=\"1771\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1810.75\" y=\"35\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2416.5 31h20\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 61h0\"></path>\n<path d=\"M1884.5 61h532\"></path>\n<rect x=\"1771\" y=\"50\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1827.75\" y=\"65\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2416.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 91h0\"></path>\n<path d=\"M1910 91h506.5\"></path>\n<rect x=\"1771\" y=\"80\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1840.5\" y=\"95\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2416.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 121h0\"></path>\n<path d=\"M1850.5 121h566\"></path>\n<rect x=\"1771\" y=\"110\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1810.75\" y=\"125\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2416.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 151h0\"></path>\n<path d=\"M1867.5 151h549\"></path>\n<rect x=\"1771\" y=\"140\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1819.25\" y=\"155\">CDSString</text>\n</a>\n</g>\n<path d=\"M2416.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1771 198h0\"></path>\n<path d=\"M2416.5 198h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1771 198h0\"></path>\n<path d=\"M1850.5 198h0\"></path>\n<rect x=\"1771\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1810.75\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M1850.5 198h10\"></path>\n<g>\n<path d=\"M1860.5 198h0\"></path>\n<path d=\"M2031 198h0\"></path>\n<path d=\"M1860.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1880.5 178h130.5\"></path>\n</g>\n<path d=\"M2011 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1860.5 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1880.5 198h0\"></path>\n<path d=\"M2011 198h0\"></path>\n<rect x=\"1880.5\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1945.75\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2011 198h20\"></path>\n</g>\n<g>\n<path d=\"M2031 198h0\"></path>\n<path d=\"M2416.5 198h0\"></path>\n<path d=\"M2031 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2051 170h345.5\"></path>\n</g>\n<path d=\"M2396.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2031 198h20\"></path>\n<g>\n<path d=\"M2051 198h0\"></path>\n<path d=\"M2396.5 198h0\"></path>\n<path d=\"M2051 198h10\"></path>\n<g>\n<path d=\"M2061 198h0\"></path>\n<path d=\"M2386.5 198h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2061 198h0\"></path>\n<path d=\"M2106.5 198h0\"></path>\n<rect x=\"2061\" y=\"187\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2083.75\" y=\"202\">\".\"</text>\n</g>\n<path d=\"M2106.5 198h10\"></path>\n<path d=\"M2116.5 198h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2126.5 198h0\"></path>\n<path d=\"M2206 198h0\"></path>\n<rect x=\"2126.5\" y=\"187\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2166.25\" y=\"202\">CDSName</text>\n</a>\n</g>\n<path d=\"M2206 198h10\"></path>\n<g>\n<path d=\"M2216 198h0\"></path>\n<path d=\"M2386.5 198h0\"></path>\n<path d=\"M2216 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2236 178h130.5\"></path>\n</g>\n<path d=\"M2366.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2216 198h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2236 198h0\"></path>\n<path d=\"M2366.5 198h0\"></path>\n<rect x=\"2236\" y=\"187\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2301.25\" y=\"202\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2366.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M2386.5 198h10\"></path>\n<path d=\"M2061 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2061 218h325.5\"></path>\n</g>\n<path d=\"M2386.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2396.5 198h20\"></path>\n</g>\n</g>\n<path d=\"M2416.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1751 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1771 237h0\"></path>\n<path d=\"M1833.5 237h583\"></path>\n<rect x=\"1771\" y=\"226\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1802.25\" y=\"241\">^\\d+$</text>\n</g>\n<path d=\"M2416.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2436.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2446.5 31h0\"></path>\n<path d=\"M2492 31h0\"></path>\n<rect x=\"2446.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2469.25\" y=\"35\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 31h20\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v216a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 267h0\"></path>\n<path d=\"M1732.5 267h2338\"></path>\n<g class=\"terminal\">\n<path d=\"M60 267h0\"></path>\n<path d=\"M165 267h0\"></path>\n<rect x=\"60\" y=\"256\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"112.5\" y=\"271\">\"COALESCE\"</text>\n</g>\n<path d=\"M165 267h10\"></path>\n<path d=\"M175 267h10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 267h0\"></path>\n<path d=\"M230.5 267h0\"></path>\n<rect x=\"185\" y=\"256\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"271\">\"(\"</text>\n</g>\n<path d=\"M230.5 267h10\"></path>\n<g>\n<path d=\"M240.5 267h0\"></path>\n<path d=\"M926 267h0\"></path>\n<path d=\"M240.5 267h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 267h0\"></path>\n<path d=\"M340 267h566\"></path>\n<rect x=\"260.5\" y=\"256\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"300.25\" y=\"271\">CDSCast</text>\n</a>\n</g>\n<path d=\"M906 267h20\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 297h0\"></path>\n<path d=\"M374 297h532\"></path>\n<rect x=\"260.5\" y=\"286\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"317.25\" y=\"301\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M906 297a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 327h0\"></path>\n<path d=\"M399.5 327h506.5\"></path>\n<rect x=\"260.5\" y=\"316\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"330\" y=\"331\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M906 327a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 357h0\"></path>\n<path d=\"M340 357h566\"></path>\n<rect x=\"260.5\" y=\"346\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"300.25\" y=\"361\">CDSCase</text>\n</a>\n</g>\n<path d=\"M906 357a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 387h0\"></path>\n<path d=\"M357 387h549\"></path>\n<rect x=\"260.5\" y=\"376\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"308.75\" y=\"391\">CDSString</text>\n</a>\n</g>\n<path d=\"M906 387a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M260.5 434h0\"></path>\n<path d=\"M906 434h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 434h0\"></path>\n<path d=\"M340 434h0\"></path>\n<rect x=\"260.5\" y=\"423\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"300.25\" y=\"438\">CDSName</text>\n</a>\n</g>\n<path d=\"M340 434h10\"></path>\n<g>\n<path d=\"M350 434h0\"></path>\n<path d=\"M520.5 434h0\"></path>\n<path d=\"M350 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M370 414h130.5\"></path>\n</g>\n<path d=\"M500.5 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M350 434h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 434h0\"></path>\n<path d=\"M500.5 434h0\"></path>\n<rect x=\"370\" y=\"423\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"435.25\" y=\"438\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M500.5 434h20\"></path>\n</g>\n<g>\n<path d=\"M520.5 434h0\"></path>\n<path d=\"M906 434h0\"></path>\n<path d=\"M520.5 434a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M540.5 406h345.5\"></path>\n</g>\n<path d=\"M886 406a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M520.5 434h20\"></path>\n<g>\n<path d=\"M540.5 434h0\"></path>\n<path d=\"M886 434h0\"></path>\n<path d=\"M540.5 434h10\"></path>\n<g>\n<path d=\"M550.5 434h0\"></path>\n<path d=\"M876 434h0\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 434h0\"></path>\n<path d=\"M596 434h0\"></path>\n<rect x=\"550.5\" y=\"423\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"438\">\".\"</text>\n</g>\n<path d=\"M596 434h10\"></path>\n<path d=\"M606 434h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616 434h0\"></path>\n<path d=\"M695.5 434h0\"></path>\n<rect x=\"616\" y=\"423\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"655.75\" y=\"438\">CDSName</text>\n</a>\n</g>\n<path d=\"M695.5 434h10\"></path>\n<g>\n<path d=\"M705.5 434h0\"></path>\n<path d=\"M876 434h0\"></path>\n<path d=\"M705.5 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M725.5 414h130.5\"></path>\n</g>\n<path d=\"M856 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M705.5 434h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725.5 434h0\"></path>\n<path d=\"M856 434h0\"></path>\n<rect x=\"725.5\" y=\"423\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"790.75\" y=\"438\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M856 434h20\"></path>\n</g>\n</g>\n<path d=\"M876 434h10\"></path>\n<path d=\"M550.5 434a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M550.5 454h325.5\"></path>\n</g>\n<path d=\"M876 454a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M886 434h20\"></path>\n</g>\n</g>\n<path d=\"M906 434a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 267a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 473h0\"></path>\n<path d=\"M323 473h583\"></path>\n<rect x=\"260.5\" y=\"462\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"477\">^\\d+$</text>\n</g>\n<path d=\"M906 473a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M926 267h10\"></path>\n<g class=\"terminal\">\n<path d=\"M936 267h0\"></path>\n<path d=\"M981.5 267h0\"></path>\n<rect x=\"936\" y=\"256\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"958.75\" y=\"271\">\",\"</text>\n</g>\n<path d=\"M981.5 267h10\"></path>\n<g>\n<path d=\"M991.5 267h0\"></path>\n<path d=\"M1677 267h0\"></path>\n<path d=\"M991.5 267h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 267h0\"></path>\n<path d=\"M1091 267h566\"></path>\n<rect x=\"1011.5\" y=\"256\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1051.25\" y=\"271\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1657 267h20\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 297h0\"></path>\n<path d=\"M1125 297h532\"></path>\n<rect x=\"1011.5\" y=\"286\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1068.25\" y=\"301\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1657 297a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 327h0\"></path>\n<path d=\"M1150.5 327h506.5\"></path>\n<rect x=\"1011.5\" y=\"316\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1081\" y=\"331\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1657 327a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 357h0\"></path>\n<path d=\"M1091 357h566\"></path>\n<rect x=\"1011.5\" y=\"346\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1051.25\" y=\"361\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1657 357a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 387h0\"></path>\n<path d=\"M1108 387h549\"></path>\n<rect x=\"1011.5\" y=\"376\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1059.75\" y=\"391\">CDSString</text>\n</a>\n</g>\n<path d=\"M1657 387a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1011.5 434h0\"></path>\n<path d=\"M1657 434h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 434h0\"></path>\n<path d=\"M1091 434h0\"></path>\n<rect x=\"1011.5\" y=\"423\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1051.25\" y=\"438\">CDSName</text>\n</a>\n</g>\n<path d=\"M1091 434h10\"></path>\n<g>\n<path d=\"M1101 434h0\"></path>\n<path d=\"M1271.5 434h0\"></path>\n<path d=\"M1101 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1121 414h130.5\"></path>\n</g>\n<path d=\"M1251.5 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1101 434h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1121 434h0\"></path>\n<path d=\"M1251.5 434h0\"></path>\n<rect x=\"1121\" y=\"423\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1186.25\" y=\"438\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1251.5 434h20\"></path>\n</g>\n<g>\n<path d=\"M1271.5 434h0\"></path>\n<path d=\"M1657 434h0\"></path>\n<path d=\"M1271.5 434a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1291.5 406h345.5\"></path>\n</g>\n<path d=\"M1637 406a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1271.5 434h20\"></path>\n<g>\n<path d=\"M1291.5 434h0\"></path>\n<path d=\"M1637 434h0\"></path>\n<path d=\"M1291.5 434h10\"></path>\n<g>\n<path d=\"M1301.5 434h0\"></path>\n<path d=\"M1627 434h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1301.5 434h0\"></path>\n<path d=\"M1347 434h0\"></path>\n<rect x=\"1301.5\" y=\"423\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1324.25\" y=\"438\">\".\"</text>\n</g>\n<path d=\"M1347 434h10\"></path>\n<path d=\"M1357 434h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1367 434h0\"></path>\n<path d=\"M1446.5 434h0\"></path>\n<rect x=\"1367\" y=\"423\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1406.75\" y=\"438\">CDSName</text>\n</a>\n</g>\n<path d=\"M1446.5 434h10\"></path>\n<g>\n<path d=\"M1456.5 434h0\"></path>\n<path d=\"M1627 434h0\"></path>\n<path d=\"M1456.5 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1476.5 414h130.5\"></path>\n</g>\n<path d=\"M1607 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1456.5 434h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1476.5 434h0\"></path>\n<path d=\"M1607 434h0\"></path>\n<rect x=\"1476.5\" y=\"423\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1541.75\" y=\"438\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1607 434h20\"></path>\n</g>\n</g>\n<path d=\"M1627 434h10\"></path>\n<path d=\"M1301.5 434a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1301.5 454h325.5\"></path>\n</g>\n<path d=\"M1627 454a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1637 434h20\"></path>\n</g>\n</g>\n<path d=\"M1657 434a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 267a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1011.5 473h0\"></path>\n<path d=\"M1074 473h583\"></path>\n<rect x=\"1011.5\" y=\"462\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1042.75\" y=\"477\">^\\d+$</text>\n</g>\n<path d=\"M1657 473a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1677 267h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1687 267h0\"></path>\n<path d=\"M1732.5 267h0\"></path>\n<rect x=\"1687\" y=\"256\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1709.75\" y=\"271\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 267a10 10 0 0 0 10 -10v-216a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v452a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 503h0\"></path>\n<path d=\"M3277 503h793.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 503h0\"></path>\n<path d=\"M207.5 503h0\"></path>\n<rect x=\"60\" y=\"492\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"133.75\" y=\"507\">\"TSTMP&#95;TO&#95;DATS\"</text>\n</g>\n<path d=\"M207.5 503h10\"></path>\n<path d=\"M217.5 503h10\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 503h0\"></path>\n<path d=\"M273 503h0\"></path>\n<rect x=\"227.5\" y=\"492\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"507\">\"(\"</text>\n</g>\n<path d=\"M273 503h10\"></path>\n<g>\n<path d=\"M283 503h0\"></path>\n<path d=\"M968.5 503h0\"></path>\n<path d=\"M283 503h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 503h0\"></path>\n<path d=\"M382.5 503h566\"></path>\n<rect x=\"303\" y=\"492\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"342.75\" y=\"507\">CDSCast</text>\n</a>\n</g>\n<path d=\"M948.5 503h20\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 533h0\"></path>\n<path d=\"M416.5 533h532\"></path>\n<rect x=\"303\" y=\"522\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"359.75\" y=\"537\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M948.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 563h0\"></path>\n<path d=\"M442 563h506.5\"></path>\n<rect x=\"303\" y=\"552\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"372.5\" y=\"567\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M948.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 593h0\"></path>\n<path d=\"M382.5 593h566\"></path>\n<rect x=\"303\" y=\"582\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"342.75\" y=\"597\">CDSCase</text>\n</a>\n</g>\n<path d=\"M948.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 623h0\"></path>\n<path d=\"M399.5 623h549\"></path>\n<rect x=\"303\" y=\"612\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"351.25\" y=\"627\">CDSString</text>\n</a>\n</g>\n<path d=\"M948.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303 670h0\"></path>\n<path d=\"M948.5 670h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 670h0\"></path>\n<path d=\"M382.5 670h0\"></path>\n<rect x=\"303\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"342.75\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M382.5 670h10\"></path>\n<g>\n<path d=\"M392.5 670h0\"></path>\n<path d=\"M563 670h0\"></path>\n<path d=\"M392.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M412.5 650h130.5\"></path>\n</g>\n<path d=\"M543 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M392.5 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M412.5 670h0\"></path>\n<path d=\"M543 670h0\"></path>\n<rect x=\"412.5\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"477.75\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M543 670h20\"></path>\n</g>\n<g>\n<path d=\"M563 670h0\"></path>\n<path d=\"M948.5 670h0\"></path>\n<path d=\"M563 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M583 642h345.5\"></path>\n</g>\n<path d=\"M928.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M563 670h20\"></path>\n<g>\n<path d=\"M583 670h0\"></path>\n<path d=\"M928.5 670h0\"></path>\n<path d=\"M583 670h10\"></path>\n<g>\n<path d=\"M593 670h0\"></path>\n<path d=\"M918.5 670h0\"></path>\n<g class=\"terminal\">\n<path d=\"M593 670h0\"></path>\n<path d=\"M638.5 670h0\"></path>\n<rect x=\"593\" y=\"659\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"615.75\" y=\"674\">\".\"</text>\n</g>\n<path d=\"M638.5 670h10\"></path>\n<path d=\"M648.5 670h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M658.5 670h0\"></path>\n<path d=\"M738 670h0\"></path>\n<rect x=\"658.5\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"698.25\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M738 670h10\"></path>\n<g>\n<path d=\"M748 670h0\"></path>\n<path d=\"M918.5 670h0\"></path>\n<path d=\"M748 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M768 650h130.5\"></path>\n</g>\n<path d=\"M898.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M748 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768 670h0\"></path>\n<path d=\"M898.5 670h0\"></path>\n<rect x=\"768\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"833.25\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M898.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M918.5 670h10\"></path>\n<path d=\"M593 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M593 690h325.5\"></path>\n</g>\n<path d=\"M918.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M928.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M948.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 709h0\"></path>\n<path d=\"M365.5 709h583\"></path>\n<rect x=\"303\" y=\"698\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"713\">^\\d+$</text>\n</g>\n<path d=\"M948.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M968.5 503h10\"></path>\n<g class=\"terminal\">\n<path d=\"M978.5 503h0\"></path>\n<path d=\"M1024 503h0\"></path>\n<rect x=\"978.5\" y=\"492\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001.25\" y=\"507\">\",\"</text>\n</g>\n<path d=\"M1024 503h10\"></path>\n<g>\n<path d=\"M1034 503h0\"></path>\n<path d=\"M1719.5 503h0\"></path>\n<path d=\"M1034 503h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 503h0\"></path>\n<path d=\"M1133.5 503h566\"></path>\n<rect x=\"1054\" y=\"492\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1093.75\" y=\"507\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1699.5 503h20\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 533h0\"></path>\n<path d=\"M1167.5 533h532\"></path>\n<rect x=\"1054\" y=\"522\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1110.75\" y=\"537\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1699.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 563h0\"></path>\n<path d=\"M1193 563h506.5\"></path>\n<rect x=\"1054\" y=\"552\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1123.5\" y=\"567\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1699.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 593h0\"></path>\n<path d=\"M1133.5 593h566\"></path>\n<rect x=\"1054\" y=\"582\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1093.75\" y=\"597\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1699.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 623h0\"></path>\n<path d=\"M1150.5 623h549\"></path>\n<rect x=\"1054\" y=\"612\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1102.25\" y=\"627\">CDSString</text>\n</a>\n</g>\n<path d=\"M1699.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1054 670h0\"></path>\n<path d=\"M1699.5 670h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 670h0\"></path>\n<path d=\"M1133.5 670h0\"></path>\n<rect x=\"1054\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1093.75\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M1133.5 670h10\"></path>\n<g>\n<path d=\"M1143.5 670h0\"></path>\n<path d=\"M1314 670h0\"></path>\n<path d=\"M1143.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1163.5 650h130.5\"></path>\n</g>\n<path d=\"M1294 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1143.5 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1163.5 670h0\"></path>\n<path d=\"M1294 670h0\"></path>\n<rect x=\"1163.5\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1228.75\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1294 670h20\"></path>\n</g>\n<g>\n<path d=\"M1314 670h0\"></path>\n<path d=\"M1699.5 670h0\"></path>\n<path d=\"M1314 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1334 642h345.5\"></path>\n</g>\n<path d=\"M1679.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1314 670h20\"></path>\n<g>\n<path d=\"M1334 670h0\"></path>\n<path d=\"M1679.5 670h0\"></path>\n<path d=\"M1334 670h10\"></path>\n<g>\n<path d=\"M1344 670h0\"></path>\n<path d=\"M1669.5 670h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1344 670h0\"></path>\n<path d=\"M1389.5 670h0\"></path>\n<rect x=\"1344\" y=\"659\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1366.75\" y=\"674\">\".\"</text>\n</g>\n<path d=\"M1389.5 670h10\"></path>\n<path d=\"M1399.5 670h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1409.5 670h0\"></path>\n<path d=\"M1489 670h0\"></path>\n<rect x=\"1409.5\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1449.25\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M1489 670h10\"></path>\n<g>\n<path d=\"M1499 670h0\"></path>\n<path d=\"M1669.5 670h0\"></path>\n<path d=\"M1499 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1519 650h130.5\"></path>\n</g>\n<path d=\"M1649.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1499 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1519 670h0\"></path>\n<path d=\"M1649.5 670h0\"></path>\n<rect x=\"1519\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1584.25\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1649.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M1669.5 670h10\"></path>\n<path d=\"M1344 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1344 690h325.5\"></path>\n</g>\n<path d=\"M1669.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1679.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M1699.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1054 709h0\"></path>\n<path d=\"M1116.5 709h583\"></path>\n<rect x=\"1054\" y=\"698\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1085.25\" y=\"713\">^\\d+$</text>\n</g>\n<path d=\"M1699.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1719.5 503h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1729.5 503h0\"></path>\n<path d=\"M1775 503h0\"></path>\n<rect x=\"1729.5\" y=\"492\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1752.25\" y=\"507\">\",\"</text>\n</g>\n<path d=\"M1775 503h10\"></path>\n<g>\n<path d=\"M1785 503h0\"></path>\n<path d=\"M2470.5 503h0\"></path>\n<path d=\"M1785 503h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 503h0\"></path>\n<path d=\"M1884.5 503h566\"></path>\n<rect x=\"1805\" y=\"492\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1844.75\" y=\"507\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2450.5 503h20\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 533h0\"></path>\n<path d=\"M1918.5 533h532\"></path>\n<rect x=\"1805\" y=\"522\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1861.75\" y=\"537\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2450.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 563h0\"></path>\n<path d=\"M1944 563h506.5\"></path>\n<rect x=\"1805\" y=\"552\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1874.5\" y=\"567\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2450.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 593h0\"></path>\n<path d=\"M1884.5 593h566\"></path>\n<rect x=\"1805\" y=\"582\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1844.75\" y=\"597\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2450.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 623h0\"></path>\n<path d=\"M1901.5 623h549\"></path>\n<rect x=\"1805\" y=\"612\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1853.25\" y=\"627\">CDSString</text>\n</a>\n</g>\n<path d=\"M2450.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1805 670h0\"></path>\n<path d=\"M2450.5 670h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 670h0\"></path>\n<path d=\"M1884.5 670h0\"></path>\n<rect x=\"1805\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1844.75\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M1884.5 670h10\"></path>\n<g>\n<path d=\"M1894.5 670h0\"></path>\n<path d=\"M2065 670h0\"></path>\n<path d=\"M1894.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1914.5 650h130.5\"></path>\n</g>\n<path d=\"M2045 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1894.5 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1914.5 670h0\"></path>\n<path d=\"M2045 670h0\"></path>\n<rect x=\"1914.5\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1979.75\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2045 670h20\"></path>\n</g>\n<g>\n<path d=\"M2065 670h0\"></path>\n<path d=\"M2450.5 670h0\"></path>\n<path d=\"M2065 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2085 642h345.5\"></path>\n</g>\n<path d=\"M2430.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2065 670h20\"></path>\n<g>\n<path d=\"M2085 670h0\"></path>\n<path d=\"M2430.5 670h0\"></path>\n<path d=\"M2085 670h10\"></path>\n<g>\n<path d=\"M2095 670h0\"></path>\n<path d=\"M2420.5 670h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2095 670h0\"></path>\n<path d=\"M2140.5 670h0\"></path>\n<rect x=\"2095\" y=\"659\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2117.75\" y=\"674\">\".\"</text>\n</g>\n<path d=\"M2140.5 670h10\"></path>\n<path d=\"M2150.5 670h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2160.5 670h0\"></path>\n<path d=\"M2240 670h0\"></path>\n<rect x=\"2160.5\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2200.25\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M2240 670h10\"></path>\n<g>\n<path d=\"M2250 670h0\"></path>\n<path d=\"M2420.5 670h0\"></path>\n<path d=\"M2250 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2270 650h130.5\"></path>\n</g>\n<path d=\"M2400.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2250 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2270 670h0\"></path>\n<path d=\"M2400.5 670h0\"></path>\n<rect x=\"2270\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2335.25\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2400.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M2420.5 670h10\"></path>\n<path d=\"M2095 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2095 690h325.5\"></path>\n</g>\n<path d=\"M2420.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2430.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M2450.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1805 709h0\"></path>\n<path d=\"M1867.5 709h583\"></path>\n<rect x=\"1805\" y=\"698\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1836.25\" y=\"713\">^\\d+$</text>\n</g>\n<path d=\"M2450.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2470.5 503h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2480.5 503h0\"></path>\n<path d=\"M2526 503h0\"></path>\n<rect x=\"2480.5\" y=\"492\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2503.25\" y=\"507\">\",\"</text>\n</g>\n<path d=\"M2526 503h10\"></path>\n<g>\n<path d=\"M2536 503h0\"></path>\n<path d=\"M3221.5 503h0\"></path>\n<path d=\"M2536 503h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 503h0\"></path>\n<path d=\"M2635.5 503h566\"></path>\n<rect x=\"2556\" y=\"492\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"2595.75\" y=\"507\">CDSCast</text>\n</a>\n</g>\n<path d=\"M3201.5 503h20\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 533h0\"></path>\n<path d=\"M2669.5 533h532\"></path>\n<rect x=\"2556\" y=\"522\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2612.75\" y=\"537\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M3201.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 563h0\"></path>\n<path d=\"M2695 563h506.5\"></path>\n<rect x=\"2556\" y=\"552\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"2625.5\" y=\"567\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M3201.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 593h0\"></path>\n<path d=\"M2635.5 593h566\"></path>\n<rect x=\"2556\" y=\"582\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"2595.75\" y=\"597\">CDSCase</text>\n</a>\n</g>\n<path d=\"M3201.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 623h0\"></path>\n<path d=\"M2652.5 623h549\"></path>\n<rect x=\"2556\" y=\"612\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2604.25\" y=\"627\">CDSString</text>\n</a>\n</g>\n<path d=\"M3201.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2556 670h0\"></path>\n<path d=\"M3201.5 670h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 670h0\"></path>\n<path d=\"M2635.5 670h0\"></path>\n<rect x=\"2556\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2595.75\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M2635.5 670h10\"></path>\n<g>\n<path d=\"M2645.5 670h0\"></path>\n<path d=\"M2816 670h0\"></path>\n<path d=\"M2645.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2665.5 650h130.5\"></path>\n</g>\n<path d=\"M2796 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2645.5 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2665.5 670h0\"></path>\n<path d=\"M2796 670h0\"></path>\n<rect x=\"2665.5\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2730.75\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2796 670h20\"></path>\n</g>\n<g>\n<path d=\"M2816 670h0\"></path>\n<path d=\"M3201.5 670h0\"></path>\n<path d=\"M2816 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2836 642h345.5\"></path>\n</g>\n<path d=\"M3181.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2816 670h20\"></path>\n<g>\n<path d=\"M2836 670h0\"></path>\n<path d=\"M3181.5 670h0\"></path>\n<path d=\"M2836 670h10\"></path>\n<g>\n<path d=\"M2846 670h0\"></path>\n<path d=\"M3171.5 670h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2846 670h0\"></path>\n<path d=\"M2891.5 670h0\"></path>\n<rect x=\"2846\" y=\"659\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2868.75\" y=\"674\">\".\"</text>\n</g>\n<path d=\"M2891.5 670h10\"></path>\n<path d=\"M2901.5 670h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2911.5 670h0\"></path>\n<path d=\"M2991 670h0\"></path>\n<rect x=\"2911.5\" y=\"659\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2951.25\" y=\"674\">CDSName</text>\n</a>\n</g>\n<path d=\"M2991 670h10\"></path>\n<g>\n<path d=\"M3001 670h0\"></path>\n<path d=\"M3171.5 670h0\"></path>\n<path d=\"M3001 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3021 650h130.5\"></path>\n</g>\n<path d=\"M3151.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M3001 670h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3021 670h0\"></path>\n<path d=\"M3151.5 670h0\"></path>\n<rect x=\"3021\" y=\"659\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3086.25\" y=\"674\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3151.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M3171.5 670h10\"></path>\n<path d=\"M2846 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2846 690h325.5\"></path>\n</g>\n<path d=\"M3171.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M3181.5 670h20\"></path>\n</g>\n</g>\n<path d=\"M3201.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M2556 709h0\"></path>\n<path d=\"M2618.5 709h583\"></path>\n<rect x=\"2556\" y=\"698\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2587.25\" y=\"713\">^\\d+$</text>\n</g>\n<path d=\"M3201.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M3221.5 503h10\"></path>\n<g class=\"terminal\">\n<path d=\"M3231.5 503h0\"></path>\n<path d=\"M3277 503h0\"></path>\n<rect x=\"3231.5\" y=\"492\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3254.25\" y=\"507\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 503a10 10 0 0 0 10 -10v-452a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v688a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 739h0\"></path>\n<path d=\"M1715.5 739h2355\"></path>\n<g class=\"terminal\">\n<path d=\"M60 739h0\"></path>\n<path d=\"M148 739h0\"></path>\n<rect x=\"60\" y=\"728\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"104\" y=\"743\">\"CONCAT\"</text>\n</g>\n<path d=\"M148 739h10\"></path>\n<path d=\"M158 739h10\"></path>\n<g class=\"terminal\">\n<path d=\"M168 739h0\"></path>\n<path d=\"M213.5 739h0\"></path>\n<rect x=\"168\" y=\"728\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"190.75\" y=\"743\">\"(\"</text>\n</g>\n<path d=\"M213.5 739h10\"></path>\n<g>\n<path d=\"M223.5 739h0\"></path>\n<path d=\"M909 739h0\"></path>\n<path d=\"M223.5 739h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 739h0\"></path>\n<path d=\"M323 739h566\"></path>\n<rect x=\"243.5\" y=\"728\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"283.25\" y=\"743\">CDSCast</text>\n</a>\n</g>\n<path d=\"M889 739h20\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 769h0\"></path>\n<path d=\"M357 769h532\"></path>\n<rect x=\"243.5\" y=\"758\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"300.25\" y=\"773\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M889 769a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 799h0\"></path>\n<path d=\"M382.5 799h506.5\"></path>\n<rect x=\"243.5\" y=\"788\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"313\" y=\"803\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M889 799a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 829h0\"></path>\n<path d=\"M323 829h566\"></path>\n<rect x=\"243.5\" y=\"818\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"283.25\" y=\"833\">CDSCase</text>\n</a>\n</g>\n<path d=\"M889 829a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 859h0\"></path>\n<path d=\"M340 859h549\"></path>\n<rect x=\"243.5\" y=\"848\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"291.75\" y=\"863\">CDSString</text>\n</a>\n</g>\n<path d=\"M889 859a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M243.5 906h0\"></path>\n<path d=\"M889 906h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243.5 906h0\"></path>\n<path d=\"M323 906h0\"></path>\n<rect x=\"243.5\" y=\"895\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"283.25\" y=\"910\">CDSName</text>\n</a>\n</g>\n<path d=\"M323 906h10\"></path>\n<g>\n<path d=\"M333 906h0\"></path>\n<path d=\"M503.5 906h0\"></path>\n<path d=\"M333 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M353 886h130.5\"></path>\n</g>\n<path d=\"M483.5 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M333 906h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M353 906h0\"></path>\n<path d=\"M483.5 906h0\"></path>\n<rect x=\"353\" y=\"895\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"418.25\" y=\"910\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M483.5 906h20\"></path>\n</g>\n<g>\n<path d=\"M503.5 906h0\"></path>\n<path d=\"M889 906h0\"></path>\n<path d=\"M503.5 906a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M523.5 878h345.5\"></path>\n</g>\n<path d=\"M869 878a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M503.5 906h20\"></path>\n<g>\n<path d=\"M523.5 906h0\"></path>\n<path d=\"M869 906h0\"></path>\n<path d=\"M523.5 906h10\"></path>\n<g>\n<path d=\"M533.5 906h0\"></path>\n<path d=\"M859 906h0\"></path>\n<g class=\"terminal\">\n<path d=\"M533.5 906h0\"></path>\n<path d=\"M579 906h0\"></path>\n<rect x=\"533.5\" y=\"895\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"556.25\" y=\"910\">\".\"</text>\n</g>\n<path d=\"M579 906h10\"></path>\n<path d=\"M589 906h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M599 906h0\"></path>\n<path d=\"M678.5 906h0\"></path>\n<rect x=\"599\" y=\"895\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"638.75\" y=\"910\">CDSName</text>\n</a>\n</g>\n<path d=\"M678.5 906h10\"></path>\n<g>\n<path d=\"M688.5 906h0\"></path>\n<path d=\"M859 906h0\"></path>\n<path d=\"M688.5 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M708.5 886h130.5\"></path>\n</g>\n<path d=\"M839 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M688.5 906h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M708.5 906h0\"></path>\n<path d=\"M839 906h0\"></path>\n<rect x=\"708.5\" y=\"895\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"773.75\" y=\"910\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M839 906h20\"></path>\n</g>\n</g>\n<path d=\"M859 906h10\"></path>\n<path d=\"M533.5 906a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M533.5 926h325.5\"></path>\n</g>\n<path d=\"M859 926a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M869 906h20\"></path>\n</g>\n</g>\n<path d=\"M889 906a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M223.5 739a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 945h0\"></path>\n<path d=\"M306 945h583\"></path>\n<rect x=\"243.5\" y=\"934\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"274.75\" y=\"949\">^\\d+$</text>\n</g>\n<path d=\"M889 945a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M909 739h10\"></path>\n<g class=\"terminal\">\n<path d=\"M919 739h0\"></path>\n<path d=\"M964.5 739h0\"></path>\n<rect x=\"919\" y=\"728\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"941.75\" y=\"743\">\",\"</text>\n</g>\n<path d=\"M964.5 739h10\"></path>\n<g>\n<path d=\"M974.5 739h0\"></path>\n<path d=\"M1660 739h0\"></path>\n<path d=\"M974.5 739h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 739h0\"></path>\n<path d=\"M1074 739h566\"></path>\n<rect x=\"994.5\" y=\"728\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1034.25\" y=\"743\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1640 739h20\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 769h0\"></path>\n<path d=\"M1108 769h532\"></path>\n<rect x=\"994.5\" y=\"758\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1051.25\" y=\"773\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1640 769a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 799h0\"></path>\n<path d=\"M1133.5 799h506.5\"></path>\n<rect x=\"994.5\" y=\"788\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1064\" y=\"803\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1640 799a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 829h0\"></path>\n<path d=\"M1074 829h566\"></path>\n<rect x=\"994.5\" y=\"818\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1034.25\" y=\"833\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1640 829a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 859h0\"></path>\n<path d=\"M1091 859h549\"></path>\n<rect x=\"994.5\" y=\"848\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1042.75\" y=\"863\">CDSString</text>\n</a>\n</g>\n<path d=\"M1640 859a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M994.5 906h0\"></path>\n<path d=\"M1640 906h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M994.5 906h0\"></path>\n<path d=\"M1074 906h0\"></path>\n<rect x=\"994.5\" y=\"895\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1034.25\" y=\"910\">CDSName</text>\n</a>\n</g>\n<path d=\"M1074 906h10\"></path>\n<g>\n<path d=\"M1084 906h0\"></path>\n<path d=\"M1254.5 906h0\"></path>\n<path d=\"M1084 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1104 886h130.5\"></path>\n</g>\n<path d=\"M1234.5 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1084 906h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1104 906h0\"></path>\n<path d=\"M1234.5 906h0\"></path>\n<rect x=\"1104\" y=\"895\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1169.25\" y=\"910\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1234.5 906h20\"></path>\n</g>\n<g>\n<path d=\"M1254.5 906h0\"></path>\n<path d=\"M1640 906h0\"></path>\n<path d=\"M1254.5 906a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1274.5 878h345.5\"></path>\n</g>\n<path d=\"M1620 878a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1254.5 906h20\"></path>\n<g>\n<path d=\"M1274.5 906h0\"></path>\n<path d=\"M1620 906h0\"></path>\n<path d=\"M1274.5 906h10\"></path>\n<g>\n<path d=\"M1284.5 906h0\"></path>\n<path d=\"M1610 906h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1284.5 906h0\"></path>\n<path d=\"M1330 906h0\"></path>\n<rect x=\"1284.5\" y=\"895\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1307.25\" y=\"910\">\".\"</text>\n</g>\n<path d=\"M1330 906h10\"></path>\n<path d=\"M1340 906h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1350 906h0\"></path>\n<path d=\"M1429.5 906h0\"></path>\n<rect x=\"1350\" y=\"895\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1389.75\" y=\"910\">CDSName</text>\n</a>\n</g>\n<path d=\"M1429.5 906h10\"></path>\n<g>\n<path d=\"M1439.5 906h0\"></path>\n<path d=\"M1610 906h0\"></path>\n<path d=\"M1439.5 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1459.5 886h130.5\"></path>\n</g>\n<path d=\"M1590 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1439.5 906h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1459.5 906h0\"></path>\n<path d=\"M1590 906h0\"></path>\n<rect x=\"1459.5\" y=\"895\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1524.75\" y=\"910\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1590 906h20\"></path>\n</g>\n</g>\n<path d=\"M1610 906h10\"></path>\n<path d=\"M1284.5 906a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1284.5 926h325.5\"></path>\n</g>\n<path d=\"M1610 926a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1620 906h20\"></path>\n</g>\n</g>\n<path d=\"M1640 906a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M974.5 739a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M994.5 945h0\"></path>\n<path d=\"M1057 945h583\"></path>\n<rect x=\"994.5\" y=\"934\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1025.75\" y=\"949\">^\\d+$</text>\n</g>\n<path d=\"M1640 945a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1660 739h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1670 739h0\"></path>\n<path d=\"M1715.5 739h0\"></path>\n<rect x=\"1670\" y=\"728\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1692.75\" y=\"743\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 739a10 10 0 0 0 10 -10v-688a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v924a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 975h0\"></path>\n<path d=\"M3277 975h793.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 975h0\"></path>\n<path d=\"M207.5 975h0\"></path>\n<rect x=\"60\" y=\"964\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"133.75\" y=\"979\">\"TSTMP&#95;TO&#95;TIMS\"</text>\n</g>\n<path d=\"M207.5 975h10\"></path>\n<path d=\"M217.5 975h10\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 975h0\"></path>\n<path d=\"M273 975h0\"></path>\n<rect x=\"227.5\" y=\"964\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"979\">\"(\"</text>\n</g>\n<path d=\"M273 975h10\"></path>\n<g>\n<path d=\"M283 975h0\"></path>\n<path d=\"M968.5 975h0\"></path>\n<path d=\"M283 975h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 975h0\"></path>\n<path d=\"M382.5 975h566\"></path>\n<rect x=\"303\" y=\"964\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"342.75\" y=\"979\">CDSCast</text>\n</a>\n</g>\n<path d=\"M948.5 975h20\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 1005h0\"></path>\n<path d=\"M416.5 1005h532\"></path>\n<rect x=\"303\" y=\"994\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"359.75\" y=\"1009\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M948.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 1035h0\"></path>\n<path d=\"M442 1035h506.5\"></path>\n<rect x=\"303\" y=\"1024\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"372.5\" y=\"1039\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M948.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 1065h0\"></path>\n<path d=\"M382.5 1065h566\"></path>\n<rect x=\"303\" y=\"1054\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"342.75\" y=\"1069\">CDSCase</text>\n</a>\n</g>\n<path d=\"M948.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 1095h0\"></path>\n<path d=\"M399.5 1095h549\"></path>\n<rect x=\"303\" y=\"1084\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"351.25\" y=\"1099\">CDSString</text>\n</a>\n</g>\n<path d=\"M948.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303 1142h0\"></path>\n<path d=\"M948.5 1142h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 1142h0\"></path>\n<path d=\"M382.5 1142h0\"></path>\n<rect x=\"303\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"342.75\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M382.5 1142h10\"></path>\n<g>\n<path d=\"M392.5 1142h0\"></path>\n<path d=\"M563 1142h0\"></path>\n<path d=\"M392.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M412.5 1122h130.5\"></path>\n</g>\n<path d=\"M543 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M392.5 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M412.5 1142h0\"></path>\n<path d=\"M543 1142h0\"></path>\n<rect x=\"412.5\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"477.75\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M543 1142h20\"></path>\n</g>\n<g>\n<path d=\"M563 1142h0\"></path>\n<path d=\"M948.5 1142h0\"></path>\n<path d=\"M563 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M583 1114h345.5\"></path>\n</g>\n<path d=\"M928.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M563 1142h20\"></path>\n<g>\n<path d=\"M583 1142h0\"></path>\n<path d=\"M928.5 1142h0\"></path>\n<path d=\"M583 1142h10\"></path>\n<g>\n<path d=\"M593 1142h0\"></path>\n<path d=\"M918.5 1142h0\"></path>\n<g class=\"terminal\">\n<path d=\"M593 1142h0\"></path>\n<path d=\"M638.5 1142h0\"></path>\n<rect x=\"593\" y=\"1131\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"615.75\" y=\"1146\">\".\"</text>\n</g>\n<path d=\"M638.5 1142h10\"></path>\n<path d=\"M648.5 1142h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M658.5 1142h0\"></path>\n<path d=\"M738 1142h0\"></path>\n<rect x=\"658.5\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"698.25\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M738 1142h10\"></path>\n<g>\n<path d=\"M748 1142h0\"></path>\n<path d=\"M918.5 1142h0\"></path>\n<path d=\"M748 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M768 1122h130.5\"></path>\n</g>\n<path d=\"M898.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M748 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768 1142h0\"></path>\n<path d=\"M898.5 1142h0\"></path>\n<rect x=\"768\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"833.25\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M898.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M918.5 1142h10\"></path>\n<path d=\"M593 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M593 1162h325.5\"></path>\n</g>\n<path d=\"M918.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M928.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M948.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 1181h0\"></path>\n<path d=\"M365.5 1181h583\"></path>\n<rect x=\"303\" y=\"1170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"1185\">^\\d+$</text>\n</g>\n<path d=\"M948.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M968.5 975h10\"></path>\n<g class=\"terminal\">\n<path d=\"M978.5 975h0\"></path>\n<path d=\"M1024 975h0\"></path>\n<rect x=\"978.5\" y=\"964\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001.25\" y=\"979\">\",\"</text>\n</g>\n<path d=\"M1024 975h10\"></path>\n<g>\n<path d=\"M1034 975h0\"></path>\n<path d=\"M1719.5 975h0\"></path>\n<path d=\"M1034 975h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 975h0\"></path>\n<path d=\"M1133.5 975h566\"></path>\n<rect x=\"1054\" y=\"964\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1093.75\" y=\"979\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1699.5 975h20\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 1005h0\"></path>\n<path d=\"M1167.5 1005h532\"></path>\n<rect x=\"1054\" y=\"994\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1110.75\" y=\"1009\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1699.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 1035h0\"></path>\n<path d=\"M1193 1035h506.5\"></path>\n<rect x=\"1054\" y=\"1024\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1123.5\" y=\"1039\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1699.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 1065h0\"></path>\n<path d=\"M1133.5 1065h566\"></path>\n<rect x=\"1054\" y=\"1054\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1093.75\" y=\"1069\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1699.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 1095h0\"></path>\n<path d=\"M1150.5 1095h549\"></path>\n<rect x=\"1054\" y=\"1084\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1102.25\" y=\"1099\">CDSString</text>\n</a>\n</g>\n<path d=\"M1699.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1054 1142h0\"></path>\n<path d=\"M1699.5 1142h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 1142h0\"></path>\n<path d=\"M1133.5 1142h0\"></path>\n<rect x=\"1054\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1093.75\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M1133.5 1142h10\"></path>\n<g>\n<path d=\"M1143.5 1142h0\"></path>\n<path d=\"M1314 1142h0\"></path>\n<path d=\"M1143.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1163.5 1122h130.5\"></path>\n</g>\n<path d=\"M1294 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1143.5 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1163.5 1142h0\"></path>\n<path d=\"M1294 1142h0\"></path>\n<rect x=\"1163.5\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1228.75\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1294 1142h20\"></path>\n</g>\n<g>\n<path d=\"M1314 1142h0\"></path>\n<path d=\"M1699.5 1142h0\"></path>\n<path d=\"M1314 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1334 1114h345.5\"></path>\n</g>\n<path d=\"M1679.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1314 1142h20\"></path>\n<g>\n<path d=\"M1334 1142h0\"></path>\n<path d=\"M1679.5 1142h0\"></path>\n<path d=\"M1334 1142h10\"></path>\n<g>\n<path d=\"M1344 1142h0\"></path>\n<path d=\"M1669.5 1142h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1344 1142h0\"></path>\n<path d=\"M1389.5 1142h0\"></path>\n<rect x=\"1344\" y=\"1131\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1366.75\" y=\"1146\">\".\"</text>\n</g>\n<path d=\"M1389.5 1142h10\"></path>\n<path d=\"M1399.5 1142h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1409.5 1142h0\"></path>\n<path d=\"M1489 1142h0\"></path>\n<rect x=\"1409.5\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1449.25\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M1489 1142h10\"></path>\n<g>\n<path d=\"M1499 1142h0\"></path>\n<path d=\"M1669.5 1142h0\"></path>\n<path d=\"M1499 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1519 1122h130.5\"></path>\n</g>\n<path d=\"M1649.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1499 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1519 1142h0\"></path>\n<path d=\"M1649.5 1142h0\"></path>\n<rect x=\"1519\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1584.25\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1649.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M1669.5 1142h10\"></path>\n<path d=\"M1344 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1344 1162h325.5\"></path>\n</g>\n<path d=\"M1669.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1679.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M1699.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1054 1181h0\"></path>\n<path d=\"M1116.5 1181h583\"></path>\n<rect x=\"1054\" y=\"1170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1085.25\" y=\"1185\">^\\d+$</text>\n</g>\n<path d=\"M1699.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1719.5 975h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1729.5 975h0\"></path>\n<path d=\"M1775 975h0\"></path>\n<rect x=\"1729.5\" y=\"964\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1752.25\" y=\"979\">\",\"</text>\n</g>\n<path d=\"M1775 975h10\"></path>\n<g>\n<path d=\"M1785 975h0\"></path>\n<path d=\"M2470.5 975h0\"></path>\n<path d=\"M1785 975h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 975h0\"></path>\n<path d=\"M1884.5 975h566\"></path>\n<rect x=\"1805\" y=\"964\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1844.75\" y=\"979\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2450.5 975h20\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 1005h0\"></path>\n<path d=\"M1918.5 1005h532\"></path>\n<rect x=\"1805\" y=\"994\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1861.75\" y=\"1009\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2450.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 1035h0\"></path>\n<path d=\"M1944 1035h506.5\"></path>\n<rect x=\"1805\" y=\"1024\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1874.5\" y=\"1039\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2450.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 1065h0\"></path>\n<path d=\"M1884.5 1065h566\"></path>\n<rect x=\"1805\" y=\"1054\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1844.75\" y=\"1069\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2450.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 1095h0\"></path>\n<path d=\"M1901.5 1095h549\"></path>\n<rect x=\"1805\" y=\"1084\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1853.25\" y=\"1099\">CDSString</text>\n</a>\n</g>\n<path d=\"M2450.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1805 1142h0\"></path>\n<path d=\"M2450.5 1142h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 1142h0\"></path>\n<path d=\"M1884.5 1142h0\"></path>\n<rect x=\"1805\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1844.75\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M1884.5 1142h10\"></path>\n<g>\n<path d=\"M1894.5 1142h0\"></path>\n<path d=\"M2065 1142h0\"></path>\n<path d=\"M1894.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1914.5 1122h130.5\"></path>\n</g>\n<path d=\"M2045 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1894.5 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1914.5 1142h0\"></path>\n<path d=\"M2045 1142h0\"></path>\n<rect x=\"1914.5\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1979.75\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2045 1142h20\"></path>\n</g>\n<g>\n<path d=\"M2065 1142h0\"></path>\n<path d=\"M2450.5 1142h0\"></path>\n<path d=\"M2065 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2085 1114h345.5\"></path>\n</g>\n<path d=\"M2430.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2065 1142h20\"></path>\n<g>\n<path d=\"M2085 1142h0\"></path>\n<path d=\"M2430.5 1142h0\"></path>\n<path d=\"M2085 1142h10\"></path>\n<g>\n<path d=\"M2095 1142h0\"></path>\n<path d=\"M2420.5 1142h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2095 1142h0\"></path>\n<path d=\"M2140.5 1142h0\"></path>\n<rect x=\"2095\" y=\"1131\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2117.75\" y=\"1146\">\".\"</text>\n</g>\n<path d=\"M2140.5 1142h10\"></path>\n<path d=\"M2150.5 1142h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2160.5 1142h0\"></path>\n<path d=\"M2240 1142h0\"></path>\n<rect x=\"2160.5\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2200.25\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M2240 1142h10\"></path>\n<g>\n<path d=\"M2250 1142h0\"></path>\n<path d=\"M2420.5 1142h0\"></path>\n<path d=\"M2250 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2270 1122h130.5\"></path>\n</g>\n<path d=\"M2400.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2250 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2270 1142h0\"></path>\n<path d=\"M2400.5 1142h0\"></path>\n<rect x=\"2270\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2335.25\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2400.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M2420.5 1142h10\"></path>\n<path d=\"M2095 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2095 1162h325.5\"></path>\n</g>\n<path d=\"M2420.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2430.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M2450.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1805 1181h0\"></path>\n<path d=\"M1867.5 1181h583\"></path>\n<rect x=\"1805\" y=\"1170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1836.25\" y=\"1185\">^\\d+$</text>\n</g>\n<path d=\"M2450.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2470.5 975h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2480.5 975h0\"></path>\n<path d=\"M2526 975h0\"></path>\n<rect x=\"2480.5\" y=\"964\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2503.25\" y=\"979\">\",\"</text>\n</g>\n<path d=\"M2526 975h10\"></path>\n<g>\n<path d=\"M2536 975h0\"></path>\n<path d=\"M3221.5 975h0\"></path>\n<path d=\"M2536 975h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 975h0\"></path>\n<path d=\"M2635.5 975h566\"></path>\n<rect x=\"2556\" y=\"964\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"2595.75\" y=\"979\">CDSCast</text>\n</a>\n</g>\n<path d=\"M3201.5 975h20\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 1005h0\"></path>\n<path d=\"M2669.5 1005h532\"></path>\n<rect x=\"2556\" y=\"994\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2612.75\" y=\"1009\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M3201.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 1035h0\"></path>\n<path d=\"M2695 1035h506.5\"></path>\n<rect x=\"2556\" y=\"1024\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"2625.5\" y=\"1039\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M3201.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 1065h0\"></path>\n<path d=\"M2635.5 1065h566\"></path>\n<rect x=\"2556\" y=\"1054\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"2595.75\" y=\"1069\">CDSCase</text>\n</a>\n</g>\n<path d=\"M3201.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 1095h0\"></path>\n<path d=\"M2652.5 1095h549\"></path>\n<rect x=\"2556\" y=\"1084\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2604.25\" y=\"1099\">CDSString</text>\n</a>\n</g>\n<path d=\"M3201.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2556 1142h0\"></path>\n<path d=\"M3201.5 1142h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2556 1142h0\"></path>\n<path d=\"M2635.5 1142h0\"></path>\n<rect x=\"2556\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2595.75\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M2635.5 1142h10\"></path>\n<g>\n<path d=\"M2645.5 1142h0\"></path>\n<path d=\"M2816 1142h0\"></path>\n<path d=\"M2645.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2665.5 1122h130.5\"></path>\n</g>\n<path d=\"M2796 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2645.5 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2665.5 1142h0\"></path>\n<path d=\"M2796 1142h0\"></path>\n<rect x=\"2665.5\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2730.75\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2796 1142h20\"></path>\n</g>\n<g>\n<path d=\"M2816 1142h0\"></path>\n<path d=\"M3201.5 1142h0\"></path>\n<path d=\"M2816 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2836 1114h345.5\"></path>\n</g>\n<path d=\"M3181.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2816 1142h20\"></path>\n<g>\n<path d=\"M2836 1142h0\"></path>\n<path d=\"M3181.5 1142h0\"></path>\n<path d=\"M2836 1142h10\"></path>\n<g>\n<path d=\"M2846 1142h0\"></path>\n<path d=\"M3171.5 1142h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2846 1142h0\"></path>\n<path d=\"M2891.5 1142h0\"></path>\n<rect x=\"2846\" y=\"1131\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2868.75\" y=\"1146\">\".\"</text>\n</g>\n<path d=\"M2891.5 1142h10\"></path>\n<path d=\"M2901.5 1142h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2911.5 1142h0\"></path>\n<path d=\"M2991 1142h0\"></path>\n<rect x=\"2911.5\" y=\"1131\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2951.25\" y=\"1146\">CDSName</text>\n</a>\n</g>\n<path d=\"M2991 1142h10\"></path>\n<g>\n<path d=\"M3001 1142h0\"></path>\n<path d=\"M3171.5 1142h0\"></path>\n<path d=\"M3001 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3021 1122h130.5\"></path>\n</g>\n<path d=\"M3151.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M3001 1142h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3021 1142h0\"></path>\n<path d=\"M3151.5 1142h0\"></path>\n<rect x=\"3021\" y=\"1131\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3086.25\" y=\"1146\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3151.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M3171.5 1142h10\"></path>\n<path d=\"M2846 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2846 1162h325.5\"></path>\n</g>\n<path d=\"M3171.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M3181.5 1142h20\"></path>\n</g>\n</g>\n<path d=\"M3201.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2536 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M2556 1181h0\"></path>\n<path d=\"M2618.5 1181h583\"></path>\n<rect x=\"2556\" y=\"1170\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2587.25\" y=\"1185\">^\\d+$</text>\n</g>\n<path d=\"M3201.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M3221.5 975h10\"></path>\n<g class=\"terminal\">\n<path d=\"M3231.5 975h0\"></path>\n<path d=\"M3277 975h0\"></path>\n<rect x=\"3231.5\" y=\"964\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3254.25\" y=\"979\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 975a10 10 0 0 0 10 -10v-924a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1160a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1211h0\"></path>\n<path d=\"M956 1211h3114.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1211h0\"></path>\n<path d=\"M139.5 1211h0\"></path>\n<rect x=\"60\" y=\"1200\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"1215\">\"UPPER\"</text>\n</g>\n<path d=\"M139.5 1211h10\"></path>\n<path d=\"M149.5 1211h10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 1211h0\"></path>\n<path d=\"M205 1211h0\"></path>\n<rect x=\"159.5\" y=\"1200\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"1215\">\"(\"</text>\n</g>\n<path d=\"M205 1211h10\"></path>\n<g>\n<path d=\"M215 1211h0\"></path>\n<path d=\"M900.5 1211h0\"></path>\n<path d=\"M215 1211h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1211h0\"></path>\n<path d=\"M314.5 1211h566\"></path>\n<rect x=\"235\" y=\"1200\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"274.75\" y=\"1215\">CDSCast</text>\n</a>\n</g>\n<path d=\"M880.5 1211h20\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1241h0\"></path>\n<path d=\"M348.5 1241h532\"></path>\n<rect x=\"235\" y=\"1230\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"291.75\" y=\"1245\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M880.5 1241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1271h0\"></path>\n<path d=\"M374 1271h506.5\"></path>\n<rect x=\"235\" y=\"1260\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"304.5\" y=\"1275\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M880.5 1271a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1301h0\"></path>\n<path d=\"M314.5 1301h566\"></path>\n<rect x=\"235\" y=\"1290\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"274.75\" y=\"1305\">CDSCase</text>\n</a>\n</g>\n<path d=\"M880.5 1301a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1331h0\"></path>\n<path d=\"M331.5 1331h549\"></path>\n<rect x=\"235\" y=\"1320\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"283.25\" y=\"1335\">CDSString</text>\n</a>\n</g>\n<path d=\"M880.5 1331a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 1378h0\"></path>\n<path d=\"M880.5 1378h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1378h0\"></path>\n<path d=\"M314.5 1378h0\"></path>\n<rect x=\"235\" y=\"1367\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.75\" y=\"1382\">CDSName</text>\n</a>\n</g>\n<path d=\"M314.5 1378h10\"></path>\n<g>\n<path d=\"M324.5 1378h0\"></path>\n<path d=\"M495 1378h0\"></path>\n<path d=\"M324.5 1378a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 1358h130.5\"></path>\n</g>\n<path d=\"M475 1358a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 1378h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 1378h0\"></path>\n<path d=\"M475 1378h0\"></path>\n<rect x=\"344.5\" y=\"1367\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"409.75\" y=\"1382\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M475 1378h20\"></path>\n</g>\n<g>\n<path d=\"M495 1378h0\"></path>\n<path d=\"M880.5 1378h0\"></path>\n<path d=\"M495 1378a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 1350h345.5\"></path>\n</g>\n<path d=\"M860.5 1350a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 1378h20\"></path>\n<g>\n<path d=\"M515 1378h0\"></path>\n<path d=\"M860.5 1378h0\"></path>\n<path d=\"M515 1378h10\"></path>\n<g>\n<path d=\"M525 1378h0\"></path>\n<path d=\"M850.5 1378h0\"></path>\n<g class=\"terminal\">\n<path d=\"M525 1378h0\"></path>\n<path d=\"M570.5 1378h0\"></path>\n<rect x=\"525\" y=\"1367\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"1382\">\".\"</text>\n</g>\n<path d=\"M570.5 1378h10\"></path>\n<path d=\"M580.5 1378h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590.5 1378h0\"></path>\n<path d=\"M670 1378h0\"></path>\n<rect x=\"590.5\" y=\"1367\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"630.25\" y=\"1382\">CDSName</text>\n</a>\n</g>\n<path d=\"M670 1378h10\"></path>\n<g>\n<path d=\"M680 1378h0\"></path>\n<path d=\"M850.5 1378h0\"></path>\n<path d=\"M680 1378a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M700 1358h130.5\"></path>\n</g>\n<path d=\"M830.5 1358a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M680 1378h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700 1378h0\"></path>\n<path d=\"M830.5 1378h0\"></path>\n<rect x=\"700\" y=\"1367\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"765.25\" y=\"1382\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M830.5 1378h20\"></path>\n</g>\n</g>\n<path d=\"M850.5 1378h10\"></path>\n<path d=\"M525 1378a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M525 1398h325.5\"></path>\n</g>\n<path d=\"M850.5 1398a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M860.5 1378h20\"></path>\n</g>\n</g>\n<path d=\"M880.5 1378a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1211a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 1417h0\"></path>\n<path d=\"M297.5 1417h583\"></path>\n<rect x=\"235\" y=\"1406\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"1421\">^\\d+$</text>\n</g>\n<path d=\"M880.5 1417a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M900.5 1211h10\"></path>\n<g class=\"terminal\">\n<path d=\"M910.5 1211h0\"></path>\n<path d=\"M956 1211h0\"></path>\n<rect x=\"910.5\" y=\"1200\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.25\" y=\"1215\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 1211a10 10 0 0 0 10 -10v-1160a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1396a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1447h0\"></path>\n<path d=\"M956 1447h3114.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1447h0\"></path>\n<path d=\"M139.5 1447h0\"></path>\n<rect x=\"60\" y=\"1436\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"1451\">\"LOWER\"</text>\n</g>\n<path d=\"M139.5 1447h10\"></path>\n<path d=\"M149.5 1447h10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 1447h0\"></path>\n<path d=\"M205 1447h0\"></path>\n<rect x=\"159.5\" y=\"1436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"1451\">\"(\"</text>\n</g>\n<path d=\"M205 1447h10\"></path>\n<g>\n<path d=\"M215 1447h0\"></path>\n<path d=\"M900.5 1447h0\"></path>\n<path d=\"M215 1447h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1447h0\"></path>\n<path d=\"M314.5 1447h566\"></path>\n<rect x=\"235\" y=\"1436\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"274.75\" y=\"1451\">CDSCast</text>\n</a>\n</g>\n<path d=\"M880.5 1447h20\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1477h0\"></path>\n<path d=\"M348.5 1477h532\"></path>\n<rect x=\"235\" y=\"1466\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"291.75\" y=\"1481\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M880.5 1477a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1507h0\"></path>\n<path d=\"M374 1507h506.5\"></path>\n<rect x=\"235\" y=\"1496\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"304.5\" y=\"1511\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M880.5 1507a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1537h0\"></path>\n<path d=\"M314.5 1537h566\"></path>\n<rect x=\"235\" y=\"1526\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"274.75\" y=\"1541\">CDSCase</text>\n</a>\n</g>\n<path d=\"M880.5 1537a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1567h0\"></path>\n<path d=\"M331.5 1567h549\"></path>\n<rect x=\"235\" y=\"1556\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"283.25\" y=\"1571\">CDSString</text>\n</a>\n</g>\n<path d=\"M880.5 1567a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 1614h0\"></path>\n<path d=\"M880.5 1614h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 1614h0\"></path>\n<path d=\"M314.5 1614h0\"></path>\n<rect x=\"235\" y=\"1603\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.75\" y=\"1618\">CDSName</text>\n</a>\n</g>\n<path d=\"M314.5 1614h10\"></path>\n<g>\n<path d=\"M324.5 1614h0\"></path>\n<path d=\"M495 1614h0\"></path>\n<path d=\"M324.5 1614a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 1594h130.5\"></path>\n</g>\n<path d=\"M475 1594a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 1614h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 1614h0\"></path>\n<path d=\"M475 1614h0\"></path>\n<rect x=\"344.5\" y=\"1603\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"409.75\" y=\"1618\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M475 1614h20\"></path>\n</g>\n<g>\n<path d=\"M495 1614h0\"></path>\n<path d=\"M880.5 1614h0\"></path>\n<path d=\"M495 1614a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 1586h345.5\"></path>\n</g>\n<path d=\"M860.5 1586a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 1614h20\"></path>\n<g>\n<path d=\"M515 1614h0\"></path>\n<path d=\"M860.5 1614h0\"></path>\n<path d=\"M515 1614h10\"></path>\n<g>\n<path d=\"M525 1614h0\"></path>\n<path d=\"M850.5 1614h0\"></path>\n<g class=\"terminal\">\n<path d=\"M525 1614h0\"></path>\n<path d=\"M570.5 1614h0\"></path>\n<rect x=\"525\" y=\"1603\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"1618\">\".\"</text>\n</g>\n<path d=\"M570.5 1614h10\"></path>\n<path d=\"M580.5 1614h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590.5 1614h0\"></path>\n<path d=\"M670 1614h0\"></path>\n<rect x=\"590.5\" y=\"1603\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"630.25\" y=\"1618\">CDSName</text>\n</a>\n</g>\n<path d=\"M670 1614h10\"></path>\n<g>\n<path d=\"M680 1614h0\"></path>\n<path d=\"M850.5 1614h0\"></path>\n<path d=\"M680 1614a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M700 1594h130.5\"></path>\n</g>\n<path d=\"M830.5 1594a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M680 1614h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700 1614h0\"></path>\n<path d=\"M830.5 1614h0\"></path>\n<rect x=\"700\" y=\"1603\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"765.25\" y=\"1618\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M830.5 1614h20\"></path>\n</g>\n</g>\n<path d=\"M850.5 1614h10\"></path>\n<path d=\"M525 1614a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M525 1634h325.5\"></path>\n</g>\n<path d=\"M850.5 1634a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M860.5 1614h20\"></path>\n</g>\n</g>\n<path d=\"M880.5 1614a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 1447a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 1653h0\"></path>\n<path d=\"M297.5 1653h583\"></path>\n<rect x=\"235\" y=\"1642\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"1657\">^\\d+$</text>\n</g>\n<path d=\"M880.5 1653a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M900.5 1447h10\"></path>\n<g class=\"terminal\">\n<path d=\"M910.5 1447h0\"></path>\n<path d=\"M956 1447h0\"></path>\n<rect x=\"910.5\" y=\"1436\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.25\" y=\"1451\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 1447a10 10 0 0 0 10 -10v-1396a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1632a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1683h0\"></path>\n<path d=\"M939 1683h3131.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1683h0\"></path>\n<path d=\"M122.5 1683h0\"></path>\n<rect x=\"60\" y=\"1672\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"1687\">\"ABS\"</text>\n</g>\n<path d=\"M122.5 1683h10\"></path>\n<path d=\"M132.5 1683h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 1683h0\"></path>\n<path d=\"M188 1683h0\"></path>\n<rect x=\"142.5\" y=\"1672\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"1687\">\"(\"</text>\n</g>\n<path d=\"M188 1683h10\"></path>\n<g>\n<path d=\"M198 1683h0\"></path>\n<path d=\"M883.5 1683h0\"></path>\n<path d=\"M198 1683h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1683h0\"></path>\n<path d=\"M297.5 1683h566\"></path>\n<rect x=\"218\" y=\"1672\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"257.75\" y=\"1687\">CDSCast</text>\n</a>\n</g>\n<path d=\"M863.5 1683h20\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1713h0\"></path>\n<path d=\"M331.5 1713h532\"></path>\n<rect x=\"218\" y=\"1702\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"274.75\" y=\"1717\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M863.5 1713a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1743h0\"></path>\n<path d=\"M357 1743h506.5\"></path>\n<rect x=\"218\" y=\"1732\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"287.5\" y=\"1747\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M863.5 1743a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1773h0\"></path>\n<path d=\"M297.5 1773h566\"></path>\n<rect x=\"218\" y=\"1762\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"257.75\" y=\"1777\">CDSCase</text>\n</a>\n</g>\n<path d=\"M863.5 1773a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1803h0\"></path>\n<path d=\"M314.5 1803h549\"></path>\n<rect x=\"218\" y=\"1792\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"266.25\" y=\"1807\">CDSString</text>\n</a>\n</g>\n<path d=\"M863.5 1803a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M218 1850h0\"></path>\n<path d=\"M863.5 1850h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 1850h0\"></path>\n<path d=\"M297.5 1850h0\"></path>\n<rect x=\"218\" y=\"1839\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"257.75\" y=\"1854\">CDSName</text>\n</a>\n</g>\n<path d=\"M297.5 1850h10\"></path>\n<g>\n<path d=\"M307.5 1850h0\"></path>\n<path d=\"M478 1850h0\"></path>\n<path d=\"M307.5 1850a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M327.5 1830h130.5\"></path>\n</g>\n<path d=\"M458 1830a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M307.5 1850h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 1850h0\"></path>\n<path d=\"M458 1850h0\"></path>\n<rect x=\"327.5\" y=\"1839\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"392.75\" y=\"1854\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M458 1850h20\"></path>\n</g>\n<g>\n<path d=\"M478 1850h0\"></path>\n<path d=\"M863.5 1850h0\"></path>\n<path d=\"M478 1850a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M498 1822h345.5\"></path>\n</g>\n<path d=\"M843.5 1822a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M478 1850h20\"></path>\n<g>\n<path d=\"M498 1850h0\"></path>\n<path d=\"M843.5 1850h0\"></path>\n<path d=\"M498 1850h10\"></path>\n<g>\n<path d=\"M508 1850h0\"></path>\n<path d=\"M833.5 1850h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508 1850h0\"></path>\n<path d=\"M553.5 1850h0\"></path>\n<rect x=\"508\" y=\"1839\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"530.75\" y=\"1854\">\".\"</text>\n</g>\n<path d=\"M553.5 1850h10\"></path>\n<path d=\"M563.5 1850h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 1850h0\"></path>\n<path d=\"M653 1850h0\"></path>\n<rect x=\"573.5\" y=\"1839\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"613.25\" y=\"1854\">CDSName</text>\n</a>\n</g>\n<path d=\"M653 1850h10\"></path>\n<g>\n<path d=\"M663 1850h0\"></path>\n<path d=\"M833.5 1850h0\"></path>\n<path d=\"M663 1850a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M683 1830h130.5\"></path>\n</g>\n<path d=\"M813.5 1830a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M663 1850h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M683 1850h0\"></path>\n<path d=\"M813.5 1850h0\"></path>\n<rect x=\"683\" y=\"1839\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"748.25\" y=\"1854\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M813.5 1850h20\"></path>\n</g>\n</g>\n<path d=\"M833.5 1850h10\"></path>\n<path d=\"M508 1850a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508 1870h325.5\"></path>\n</g>\n<path d=\"M833.5 1870a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M843.5 1850h20\"></path>\n</g>\n</g>\n<path d=\"M863.5 1850a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 1683a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 1889h0\"></path>\n<path d=\"M280.5 1889h583\"></path>\n<rect x=\"218\" y=\"1878\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249.25\" y=\"1893\">^\\d+$</text>\n</g>\n<path d=\"M863.5 1889a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M883.5 1683h10\"></path>\n<g class=\"terminal\">\n<path d=\"M893.5 1683h0\"></path>\n<path d=\"M939 1683h0\"></path>\n<rect x=\"893.5\" y=\"1672\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"916.25\" y=\"1687\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 1683a10 10 0 0 0 10 -10v-1632a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v1868a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 1919h0\"></path>\n<path d=\"M947.5 1919h3123\"></path>\n<g class=\"terminal\">\n<path d=\"M60 1919h0\"></path>\n<path d=\"M131 1919h0\"></path>\n<rect x=\"60\" y=\"1908\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"1923\">\"CEIL\"</text>\n</g>\n<path d=\"M131 1919h10\"></path>\n<path d=\"M141 1919h10\"></path>\n<g class=\"terminal\">\n<path d=\"M151 1919h0\"></path>\n<path d=\"M196.5 1919h0\"></path>\n<rect x=\"151\" y=\"1908\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"173.75\" y=\"1923\">\"(\"</text>\n</g>\n<path d=\"M196.5 1919h10\"></path>\n<g>\n<path d=\"M206.5 1919h0\"></path>\n<path d=\"M892 1919h0\"></path>\n<path d=\"M206.5 1919h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 1919h0\"></path>\n<path d=\"M306 1919h566\"></path>\n<rect x=\"226.5\" y=\"1908\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"266.25\" y=\"1923\">CDSCast</text>\n</a>\n</g>\n<path d=\"M872 1919h20\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 1949h0\"></path>\n<path d=\"M340 1949h532\"></path>\n<rect x=\"226.5\" y=\"1938\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"283.25\" y=\"1953\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M872 1949a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 1979h0\"></path>\n<path d=\"M365.5 1979h506.5\"></path>\n<rect x=\"226.5\" y=\"1968\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"296\" y=\"1983\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M872 1979a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 2009h0\"></path>\n<path d=\"M306 2009h566\"></path>\n<rect x=\"226.5\" y=\"1998\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"266.25\" y=\"2013\">CDSCase</text>\n</a>\n</g>\n<path d=\"M872 2009a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 2039h0\"></path>\n<path d=\"M323 2039h549\"></path>\n<rect x=\"226.5\" y=\"2028\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"274.75\" y=\"2043\">CDSString</text>\n</a>\n</g>\n<path d=\"M872 2039a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M226.5 2086h0\"></path>\n<path d=\"M872 2086h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 2086h0\"></path>\n<path d=\"M306 2086h0\"></path>\n<rect x=\"226.5\" y=\"2075\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"266.25\" y=\"2090\">CDSName</text>\n</a>\n</g>\n<path d=\"M306 2086h10\"></path>\n<g>\n<path d=\"M316 2086h0\"></path>\n<path d=\"M486.5 2086h0\"></path>\n<path d=\"M316 2086a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M336 2066h130.5\"></path>\n</g>\n<path d=\"M466.5 2066a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M316 2086h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 2086h0\"></path>\n<path d=\"M466.5 2086h0\"></path>\n<rect x=\"336\" y=\"2075\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"401.25\" y=\"2090\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M466.5 2086h20\"></path>\n</g>\n<g>\n<path d=\"M486.5 2086h0\"></path>\n<path d=\"M872 2086h0\"></path>\n<path d=\"M486.5 2086a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M506.5 2058h345.5\"></path>\n</g>\n<path d=\"M852 2058a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M486.5 2086h20\"></path>\n<g>\n<path d=\"M506.5 2086h0\"></path>\n<path d=\"M852 2086h0\"></path>\n<path d=\"M506.5 2086h10\"></path>\n<g>\n<path d=\"M516.5 2086h0\"></path>\n<path d=\"M842 2086h0\"></path>\n<g class=\"terminal\">\n<path d=\"M516.5 2086h0\"></path>\n<path d=\"M562 2086h0\"></path>\n<rect x=\"516.5\" y=\"2075\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"539.25\" y=\"2090\">\".\"</text>\n</g>\n<path d=\"M562 2086h10\"></path>\n<path d=\"M572 2086h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M582 2086h0\"></path>\n<path d=\"M661.5 2086h0\"></path>\n<rect x=\"582\" y=\"2075\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"621.75\" y=\"2090\">CDSName</text>\n</a>\n</g>\n<path d=\"M661.5 2086h10\"></path>\n<g>\n<path d=\"M671.5 2086h0\"></path>\n<path d=\"M842 2086h0\"></path>\n<path d=\"M671.5 2086a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M691.5 2066h130.5\"></path>\n</g>\n<path d=\"M822 2066a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M671.5 2086h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M691.5 2086h0\"></path>\n<path d=\"M822 2086h0\"></path>\n<rect x=\"691.5\" y=\"2075\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"756.75\" y=\"2090\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M822 2086h20\"></path>\n</g>\n</g>\n<path d=\"M842 2086h10\"></path>\n<path d=\"M516.5 2086a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M516.5 2106h325.5\"></path>\n</g>\n<path d=\"M842 2106a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M852 2086h20\"></path>\n</g>\n</g>\n<path d=\"M872 2086a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 1919a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 2125h0\"></path>\n<path d=\"M289 2125h583\"></path>\n<rect x=\"226.5\" y=\"2114\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"2129\">^\\d+$</text>\n</g>\n<path d=\"M872 2125a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M892 1919h10\"></path>\n<g class=\"terminal\">\n<path d=\"M902 1919h0\"></path>\n<path d=\"M947.5 1919h0\"></path>\n<rect x=\"902\" y=\"1908\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"924.75\" y=\"1923\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 1919a10 10 0 0 0 10 -10v-1868a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2104a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 2155h0\"></path>\n<path d=\"M956 2155h3114.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2155h0\"></path>\n<path d=\"M139.5 2155h0\"></path>\n<rect x=\"60\" y=\"2144\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"2159\">\"FLOOR\"</text>\n</g>\n<path d=\"M139.5 2155h10\"></path>\n<path d=\"M149.5 2155h10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 2155h0\"></path>\n<path d=\"M205 2155h0\"></path>\n<rect x=\"159.5\" y=\"2144\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"2159\">\"(\"</text>\n</g>\n<path d=\"M205 2155h10\"></path>\n<g>\n<path d=\"M215 2155h0\"></path>\n<path d=\"M900.5 2155h0\"></path>\n<path d=\"M215 2155h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2155h0\"></path>\n<path d=\"M314.5 2155h566\"></path>\n<rect x=\"235\" y=\"2144\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"274.75\" y=\"2159\">CDSCast</text>\n</a>\n</g>\n<path d=\"M880.5 2155h20\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2185h0\"></path>\n<path d=\"M348.5 2185h532\"></path>\n<rect x=\"235\" y=\"2174\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"291.75\" y=\"2189\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M880.5 2185a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2215h0\"></path>\n<path d=\"M374 2215h506.5\"></path>\n<rect x=\"235\" y=\"2204\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"304.5\" y=\"2219\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M880.5 2215a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2245h0\"></path>\n<path d=\"M314.5 2245h566\"></path>\n<rect x=\"235\" y=\"2234\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"274.75\" y=\"2249\">CDSCase</text>\n</a>\n</g>\n<path d=\"M880.5 2245a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2275h0\"></path>\n<path d=\"M331.5 2275h549\"></path>\n<rect x=\"235\" y=\"2264\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"283.25\" y=\"2279\">CDSString</text>\n</a>\n</g>\n<path d=\"M880.5 2275a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 2322h0\"></path>\n<path d=\"M880.5 2322h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2322h0\"></path>\n<path d=\"M314.5 2322h0\"></path>\n<rect x=\"235\" y=\"2311\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.75\" y=\"2326\">CDSName</text>\n</a>\n</g>\n<path d=\"M314.5 2322h10\"></path>\n<g>\n<path d=\"M324.5 2322h0\"></path>\n<path d=\"M495 2322h0\"></path>\n<path d=\"M324.5 2322a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 2302h130.5\"></path>\n</g>\n<path d=\"M475 2302a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 2322h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 2322h0\"></path>\n<path d=\"M475 2322h0\"></path>\n<rect x=\"344.5\" y=\"2311\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"409.75\" y=\"2326\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M475 2322h20\"></path>\n</g>\n<g>\n<path d=\"M495 2322h0\"></path>\n<path d=\"M880.5 2322h0\"></path>\n<path d=\"M495 2322a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 2294h345.5\"></path>\n</g>\n<path d=\"M860.5 2294a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 2322h20\"></path>\n<g>\n<path d=\"M515 2322h0\"></path>\n<path d=\"M860.5 2322h0\"></path>\n<path d=\"M515 2322h10\"></path>\n<g>\n<path d=\"M525 2322h0\"></path>\n<path d=\"M850.5 2322h0\"></path>\n<g class=\"terminal\">\n<path d=\"M525 2322h0\"></path>\n<path d=\"M570.5 2322h0\"></path>\n<rect x=\"525\" y=\"2311\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"2326\">\".\"</text>\n</g>\n<path d=\"M570.5 2322h10\"></path>\n<path d=\"M580.5 2322h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590.5 2322h0\"></path>\n<path d=\"M670 2322h0\"></path>\n<rect x=\"590.5\" y=\"2311\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"630.25\" y=\"2326\">CDSName</text>\n</a>\n</g>\n<path d=\"M670 2322h10\"></path>\n<g>\n<path d=\"M680 2322h0\"></path>\n<path d=\"M850.5 2322h0\"></path>\n<path d=\"M680 2322a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M700 2302h130.5\"></path>\n</g>\n<path d=\"M830.5 2302a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M680 2322h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700 2322h0\"></path>\n<path d=\"M830.5 2322h0\"></path>\n<rect x=\"700\" y=\"2311\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"765.25\" y=\"2326\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M830.5 2322h20\"></path>\n</g>\n</g>\n<path d=\"M850.5 2322h10\"></path>\n<path d=\"M525 2322a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M525 2342h325.5\"></path>\n</g>\n<path d=\"M850.5 2342a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M860.5 2322h20\"></path>\n</g>\n</g>\n<path d=\"M880.5 2322a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2155a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 2361h0\"></path>\n<path d=\"M297.5 2361h583\"></path>\n<rect x=\"235\" y=\"2350\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"2365\">^\\d+$</text>\n</g>\n<path d=\"M880.5 2361a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M900.5 2155h10\"></path>\n<g class=\"terminal\">\n<path d=\"M910.5 2155h0\"></path>\n<path d=\"M956 2155h0\"></path>\n<rect x=\"910.5\" y=\"2144\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.25\" y=\"2159\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 2155a10 10 0 0 0 10 -10v-2104a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2340a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 2391h0\"></path>\n<path d=\"M1707 2391h2363.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2391h0\"></path>\n<path d=\"M139.5 2391h0\"></path>\n<rect x=\"60\" y=\"2380\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"2395\">\"ROUND\"</text>\n</g>\n<path d=\"M139.5 2391h10\"></path>\n<path d=\"M149.5 2391h10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 2391h0\"></path>\n<path d=\"M205 2391h0\"></path>\n<rect x=\"159.5\" y=\"2380\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"2395\">\"(\"</text>\n</g>\n<path d=\"M205 2391h10\"></path>\n<g>\n<path d=\"M215 2391h0\"></path>\n<path d=\"M900.5 2391h0\"></path>\n<path d=\"M215 2391h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2391h0\"></path>\n<path d=\"M314.5 2391h566\"></path>\n<rect x=\"235\" y=\"2380\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"274.75\" y=\"2395\">CDSCast</text>\n</a>\n</g>\n<path d=\"M880.5 2391h20\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2421h0\"></path>\n<path d=\"M348.5 2421h532\"></path>\n<rect x=\"235\" y=\"2410\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"291.75\" y=\"2425\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M880.5 2421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2451h0\"></path>\n<path d=\"M374 2451h506.5\"></path>\n<rect x=\"235\" y=\"2440\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"304.5\" y=\"2455\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M880.5 2451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2481h0\"></path>\n<path d=\"M314.5 2481h566\"></path>\n<rect x=\"235\" y=\"2470\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"274.75\" y=\"2485\">CDSCase</text>\n</a>\n</g>\n<path d=\"M880.5 2481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2511h0\"></path>\n<path d=\"M331.5 2511h549\"></path>\n<rect x=\"235\" y=\"2500\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"283.25\" y=\"2515\">CDSString</text>\n</a>\n</g>\n<path d=\"M880.5 2511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 2558h0\"></path>\n<path d=\"M880.5 2558h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 2558h0\"></path>\n<path d=\"M314.5 2558h0\"></path>\n<rect x=\"235\" y=\"2547\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.75\" y=\"2562\">CDSName</text>\n</a>\n</g>\n<path d=\"M314.5 2558h10\"></path>\n<g>\n<path d=\"M324.5 2558h0\"></path>\n<path d=\"M495 2558h0\"></path>\n<path d=\"M324.5 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 2538h130.5\"></path>\n</g>\n<path d=\"M475 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 2558h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 2558h0\"></path>\n<path d=\"M475 2558h0\"></path>\n<rect x=\"344.5\" y=\"2547\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"409.75\" y=\"2562\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M475 2558h20\"></path>\n</g>\n<g>\n<path d=\"M495 2558h0\"></path>\n<path d=\"M880.5 2558h0\"></path>\n<path d=\"M495 2558a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 2530h345.5\"></path>\n</g>\n<path d=\"M860.5 2530a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 2558h20\"></path>\n<g>\n<path d=\"M515 2558h0\"></path>\n<path d=\"M860.5 2558h0\"></path>\n<path d=\"M515 2558h10\"></path>\n<g>\n<path d=\"M525 2558h0\"></path>\n<path d=\"M850.5 2558h0\"></path>\n<g class=\"terminal\">\n<path d=\"M525 2558h0\"></path>\n<path d=\"M570.5 2558h0\"></path>\n<rect x=\"525\" y=\"2547\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"2562\">\".\"</text>\n</g>\n<path d=\"M570.5 2558h10\"></path>\n<path d=\"M580.5 2558h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590.5 2558h0\"></path>\n<path d=\"M670 2558h0\"></path>\n<rect x=\"590.5\" y=\"2547\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"630.25\" y=\"2562\">CDSName</text>\n</a>\n</g>\n<path d=\"M670 2558h10\"></path>\n<g>\n<path d=\"M680 2558h0\"></path>\n<path d=\"M850.5 2558h0\"></path>\n<path d=\"M680 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M700 2538h130.5\"></path>\n</g>\n<path d=\"M830.5 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M680 2558h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700 2558h0\"></path>\n<path d=\"M830.5 2558h0\"></path>\n<rect x=\"700\" y=\"2547\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"765.25\" y=\"2562\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M830.5 2558h20\"></path>\n</g>\n</g>\n<path d=\"M850.5 2558h10\"></path>\n<path d=\"M525 2558a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M525 2578h325.5\"></path>\n</g>\n<path d=\"M850.5 2578a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M860.5 2558h20\"></path>\n</g>\n</g>\n<path d=\"M880.5 2558a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 2391a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 2597h0\"></path>\n<path d=\"M297.5 2597h583\"></path>\n<rect x=\"235\" y=\"2586\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"2601\">^\\d+$</text>\n</g>\n<path d=\"M880.5 2597a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M900.5 2391h10\"></path>\n<g class=\"terminal\">\n<path d=\"M910.5 2391h0\"></path>\n<path d=\"M956 2391h0\"></path>\n<rect x=\"910.5\" y=\"2380\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.25\" y=\"2395\">\",\"</text>\n</g>\n<path d=\"M956 2391h10\"></path>\n<g>\n<path d=\"M966 2391h0\"></path>\n<path d=\"M1651.5 2391h0\"></path>\n<path d=\"M966 2391h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2391h0\"></path>\n<path d=\"M1065.5 2391h566\"></path>\n<rect x=\"986\" y=\"2380\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1025.75\" y=\"2395\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1631.5 2391h20\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2421h0\"></path>\n<path d=\"M1099.5 2421h532\"></path>\n<rect x=\"986\" y=\"2410\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1042.75\" y=\"2425\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1631.5 2421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2451h0\"></path>\n<path d=\"M1125 2451h506.5\"></path>\n<rect x=\"986\" y=\"2440\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1055.5\" y=\"2455\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1631.5 2451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2481h0\"></path>\n<path d=\"M1065.5 2481h566\"></path>\n<rect x=\"986\" y=\"2470\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1025.75\" y=\"2485\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1631.5 2481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2511h0\"></path>\n<path d=\"M1082.5 2511h549\"></path>\n<rect x=\"986\" y=\"2500\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1034.25\" y=\"2515\">CDSString</text>\n</a>\n</g>\n<path d=\"M1631.5 2511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M986 2558h0\"></path>\n<path d=\"M1631.5 2558h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 2558h0\"></path>\n<path d=\"M1065.5 2558h0\"></path>\n<rect x=\"986\" y=\"2547\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1025.75\" y=\"2562\">CDSName</text>\n</a>\n</g>\n<path d=\"M1065.5 2558h10\"></path>\n<g>\n<path d=\"M1075.5 2558h0\"></path>\n<path d=\"M1246 2558h0\"></path>\n<path d=\"M1075.5 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1095.5 2538h130.5\"></path>\n</g>\n<path d=\"M1226 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1075.5 2558h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1095.5 2558h0\"></path>\n<path d=\"M1226 2558h0\"></path>\n<rect x=\"1095.5\" y=\"2547\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1160.75\" y=\"2562\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1226 2558h20\"></path>\n</g>\n<g>\n<path d=\"M1246 2558h0\"></path>\n<path d=\"M1631.5 2558h0\"></path>\n<path d=\"M1246 2558a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1266 2530h345.5\"></path>\n</g>\n<path d=\"M1611.5 2530a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1246 2558h20\"></path>\n<g>\n<path d=\"M1266 2558h0\"></path>\n<path d=\"M1611.5 2558h0\"></path>\n<path d=\"M1266 2558h10\"></path>\n<g>\n<path d=\"M1276 2558h0\"></path>\n<path d=\"M1601.5 2558h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1276 2558h0\"></path>\n<path d=\"M1321.5 2558h0\"></path>\n<rect x=\"1276\" y=\"2547\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1298.75\" y=\"2562\">\".\"</text>\n</g>\n<path d=\"M1321.5 2558h10\"></path>\n<path d=\"M1331.5 2558h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1341.5 2558h0\"></path>\n<path d=\"M1421 2558h0\"></path>\n<rect x=\"1341.5\" y=\"2547\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1381.25\" y=\"2562\">CDSName</text>\n</a>\n</g>\n<path d=\"M1421 2558h10\"></path>\n<g>\n<path d=\"M1431 2558h0\"></path>\n<path d=\"M1601.5 2558h0\"></path>\n<path d=\"M1431 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1451 2538h130.5\"></path>\n</g>\n<path d=\"M1581.5 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1431 2558h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1451 2558h0\"></path>\n<path d=\"M1581.5 2558h0\"></path>\n<rect x=\"1451\" y=\"2547\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1516.25\" y=\"2562\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1581.5 2558h20\"></path>\n</g>\n</g>\n<path d=\"M1601.5 2558h10\"></path>\n<path d=\"M1276 2558a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1276 2578h325.5\"></path>\n</g>\n<path d=\"M1601.5 2578a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1611.5 2558h20\"></path>\n</g>\n</g>\n<path d=\"M1631.5 2558a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 2391a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M986 2597h0\"></path>\n<path d=\"M1048.5 2597h583\"></path>\n<rect x=\"986\" y=\"2586\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.25\" y=\"2601\">^\\d+$</text>\n</g>\n<path d=\"M1631.5 2597a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1651.5 2391h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1661.5 2391h0\"></path>\n<path d=\"M1707 2391h0\"></path>\n<rect x=\"1661.5\" y=\"2380\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1684.25\" y=\"2395\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 2391a10 10 0 0 0 10 -10v-2340a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2576a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 2627h0\"></path>\n<path d=\"M1690 2627h2380.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2627h0\"></path>\n<path d=\"M122.5 2627h0\"></path>\n<rect x=\"60\" y=\"2616\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"2631\">\"DIV\"</text>\n</g>\n<path d=\"M122.5 2627h10\"></path>\n<path d=\"M132.5 2627h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 2627h0\"></path>\n<path d=\"M188 2627h0\"></path>\n<rect x=\"142.5\" y=\"2616\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"2631\">\"(\"</text>\n</g>\n<path d=\"M188 2627h10\"></path>\n<g>\n<path d=\"M198 2627h0\"></path>\n<path d=\"M883.5 2627h0\"></path>\n<path d=\"M198 2627h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2627h0\"></path>\n<path d=\"M297.5 2627h566\"></path>\n<rect x=\"218\" y=\"2616\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"257.75\" y=\"2631\">CDSCast</text>\n</a>\n</g>\n<path d=\"M863.5 2627h20\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2657h0\"></path>\n<path d=\"M331.5 2657h532\"></path>\n<rect x=\"218\" y=\"2646\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"274.75\" y=\"2661\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M863.5 2657a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2687h0\"></path>\n<path d=\"M357 2687h506.5\"></path>\n<rect x=\"218\" y=\"2676\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"287.5\" y=\"2691\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M863.5 2687a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2717h0\"></path>\n<path d=\"M297.5 2717h566\"></path>\n<rect x=\"218\" y=\"2706\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"257.75\" y=\"2721\">CDSCase</text>\n</a>\n</g>\n<path d=\"M863.5 2717a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2747h0\"></path>\n<path d=\"M314.5 2747h549\"></path>\n<rect x=\"218\" y=\"2736\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"266.25\" y=\"2751\">CDSString</text>\n</a>\n</g>\n<path d=\"M863.5 2747a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M218 2794h0\"></path>\n<path d=\"M863.5 2794h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 2794h0\"></path>\n<path d=\"M297.5 2794h0\"></path>\n<rect x=\"218\" y=\"2783\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"257.75\" y=\"2798\">CDSName</text>\n</a>\n</g>\n<path d=\"M297.5 2794h10\"></path>\n<g>\n<path d=\"M307.5 2794h0\"></path>\n<path d=\"M478 2794h0\"></path>\n<path d=\"M307.5 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M327.5 2774h130.5\"></path>\n</g>\n<path d=\"M458 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M307.5 2794h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 2794h0\"></path>\n<path d=\"M458 2794h0\"></path>\n<rect x=\"327.5\" y=\"2783\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"392.75\" y=\"2798\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M458 2794h20\"></path>\n</g>\n<g>\n<path d=\"M478 2794h0\"></path>\n<path d=\"M863.5 2794h0\"></path>\n<path d=\"M478 2794a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M498 2766h345.5\"></path>\n</g>\n<path d=\"M843.5 2766a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M478 2794h20\"></path>\n<g>\n<path d=\"M498 2794h0\"></path>\n<path d=\"M843.5 2794h0\"></path>\n<path d=\"M498 2794h10\"></path>\n<g>\n<path d=\"M508 2794h0\"></path>\n<path d=\"M833.5 2794h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508 2794h0\"></path>\n<path d=\"M553.5 2794h0\"></path>\n<rect x=\"508\" y=\"2783\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"530.75\" y=\"2798\">\".\"</text>\n</g>\n<path d=\"M553.5 2794h10\"></path>\n<path d=\"M563.5 2794h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 2794h0\"></path>\n<path d=\"M653 2794h0\"></path>\n<rect x=\"573.5\" y=\"2783\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"613.25\" y=\"2798\">CDSName</text>\n</a>\n</g>\n<path d=\"M653 2794h10\"></path>\n<g>\n<path d=\"M663 2794h0\"></path>\n<path d=\"M833.5 2794h0\"></path>\n<path d=\"M663 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M683 2774h130.5\"></path>\n</g>\n<path d=\"M813.5 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M663 2794h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M683 2794h0\"></path>\n<path d=\"M813.5 2794h0\"></path>\n<rect x=\"683\" y=\"2783\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"748.25\" y=\"2798\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M813.5 2794h20\"></path>\n</g>\n</g>\n<path d=\"M833.5 2794h10\"></path>\n<path d=\"M508 2794a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508 2814h325.5\"></path>\n</g>\n<path d=\"M833.5 2814a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M843.5 2794h20\"></path>\n</g>\n</g>\n<path d=\"M863.5 2794a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 2627a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 2833h0\"></path>\n<path d=\"M280.5 2833h583\"></path>\n<rect x=\"218\" y=\"2822\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249.25\" y=\"2837\">^\\d+$</text>\n</g>\n<path d=\"M863.5 2833a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M883.5 2627h10\"></path>\n<g class=\"terminal\">\n<path d=\"M893.5 2627h0\"></path>\n<path d=\"M939 2627h0\"></path>\n<rect x=\"893.5\" y=\"2616\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"916.25\" y=\"2631\">\",\"</text>\n</g>\n<path d=\"M939 2627h10\"></path>\n<g>\n<path d=\"M949 2627h0\"></path>\n<path d=\"M1634.5 2627h0\"></path>\n<path d=\"M949 2627h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2627h0\"></path>\n<path d=\"M1048.5 2627h566\"></path>\n<rect x=\"969\" y=\"2616\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1008.75\" y=\"2631\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1614.5 2627h20\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2657h0\"></path>\n<path d=\"M1082.5 2657h532\"></path>\n<rect x=\"969\" y=\"2646\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1025.75\" y=\"2661\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1614.5 2657a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2687h0\"></path>\n<path d=\"M1108 2687h506.5\"></path>\n<rect x=\"969\" y=\"2676\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1038.5\" y=\"2691\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1614.5 2687a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2717h0\"></path>\n<path d=\"M1048.5 2717h566\"></path>\n<rect x=\"969\" y=\"2706\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1008.75\" y=\"2721\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1614.5 2717a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2747h0\"></path>\n<path d=\"M1065.5 2747h549\"></path>\n<rect x=\"969\" y=\"2736\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1017.25\" y=\"2751\">CDSString</text>\n</a>\n</g>\n<path d=\"M1614.5 2747a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M969 2794h0\"></path>\n<path d=\"M1614.5 2794h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 2794h0\"></path>\n<path d=\"M1048.5 2794h0\"></path>\n<rect x=\"969\" y=\"2783\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1008.75\" y=\"2798\">CDSName</text>\n</a>\n</g>\n<path d=\"M1048.5 2794h10\"></path>\n<g>\n<path d=\"M1058.5 2794h0\"></path>\n<path d=\"M1229 2794h0\"></path>\n<path d=\"M1058.5 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1078.5 2774h130.5\"></path>\n</g>\n<path d=\"M1209 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1058.5 2794h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1078.5 2794h0\"></path>\n<path d=\"M1209 2794h0\"></path>\n<rect x=\"1078.5\" y=\"2783\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1143.75\" y=\"2798\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1209 2794h20\"></path>\n</g>\n<g>\n<path d=\"M1229 2794h0\"></path>\n<path d=\"M1614.5 2794h0\"></path>\n<path d=\"M1229 2794a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1249 2766h345.5\"></path>\n</g>\n<path d=\"M1594.5 2766a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1229 2794h20\"></path>\n<g>\n<path d=\"M1249 2794h0\"></path>\n<path d=\"M1594.5 2794h0\"></path>\n<path d=\"M1249 2794h10\"></path>\n<g>\n<path d=\"M1259 2794h0\"></path>\n<path d=\"M1584.5 2794h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1259 2794h0\"></path>\n<path d=\"M1304.5 2794h0\"></path>\n<rect x=\"1259\" y=\"2783\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1281.75\" y=\"2798\">\".\"</text>\n</g>\n<path d=\"M1304.5 2794h10\"></path>\n<path d=\"M1314.5 2794h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1324.5 2794h0\"></path>\n<path d=\"M1404 2794h0\"></path>\n<rect x=\"1324.5\" y=\"2783\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1364.25\" y=\"2798\">CDSName</text>\n</a>\n</g>\n<path d=\"M1404 2794h10\"></path>\n<g>\n<path d=\"M1414 2794h0\"></path>\n<path d=\"M1584.5 2794h0\"></path>\n<path d=\"M1414 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1434 2774h130.5\"></path>\n</g>\n<path d=\"M1564.5 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1414 2794h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1434 2794h0\"></path>\n<path d=\"M1564.5 2794h0\"></path>\n<rect x=\"1434\" y=\"2783\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1499.25\" y=\"2798\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1564.5 2794h20\"></path>\n</g>\n</g>\n<path d=\"M1584.5 2794h10\"></path>\n<path d=\"M1259 2794a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1259 2814h325.5\"></path>\n</g>\n<path d=\"M1584.5 2814a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1594.5 2794h20\"></path>\n</g>\n</g>\n<path d=\"M1614.5 2794a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 2627a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M969 2833h0\"></path>\n<path d=\"M1031.5 2833h583\"></path>\n<rect x=\"969\" y=\"2822\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1000.25\" y=\"2837\">^\\d+$</text>\n</g>\n<path d=\"M1614.5 2833a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1634.5 2627h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1644.5 2627h0\"></path>\n<path d=\"M1690 2627h0\"></path>\n<rect x=\"1644.5\" y=\"2616\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1667.25\" y=\"2631\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 2627a10 10 0 0 0 10 -10v-2576a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v2812a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 2863h0\"></path>\n<path d=\"M1732.5 2863h2338\"></path>\n<g class=\"terminal\">\n<path d=\"M60 2863h0\"></path>\n<path d=\"M165 2863h0\"></path>\n<rect x=\"60\" y=\"2852\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"112.5\" y=\"2867\">\"DIVISION\"</text>\n</g>\n<path d=\"M165 2863h10\"></path>\n<path d=\"M175 2863h10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 2863h0\"></path>\n<path d=\"M230.5 2863h0\"></path>\n<rect x=\"185\" y=\"2852\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"2867\">\"(\"</text>\n</g>\n<path d=\"M230.5 2863h10\"></path>\n<g>\n<path d=\"M240.5 2863h0\"></path>\n<path d=\"M926 2863h0\"></path>\n<path d=\"M240.5 2863h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 2863h0\"></path>\n<path d=\"M340 2863h566\"></path>\n<rect x=\"260.5\" y=\"2852\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"300.25\" y=\"2867\">CDSCast</text>\n</a>\n</g>\n<path d=\"M906 2863h20\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 2893h0\"></path>\n<path d=\"M374 2893h532\"></path>\n<rect x=\"260.5\" y=\"2882\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"317.25\" y=\"2897\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M906 2893a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 2923h0\"></path>\n<path d=\"M399.5 2923h506.5\"></path>\n<rect x=\"260.5\" y=\"2912\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"330\" y=\"2927\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M906 2923a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 2953h0\"></path>\n<path d=\"M340 2953h566\"></path>\n<rect x=\"260.5\" y=\"2942\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"300.25\" y=\"2957\">CDSCase</text>\n</a>\n</g>\n<path d=\"M906 2953a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 2983h0\"></path>\n<path d=\"M357 2983h549\"></path>\n<rect x=\"260.5\" y=\"2972\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"308.75\" y=\"2987\">CDSString</text>\n</a>\n</g>\n<path d=\"M906 2983a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M260.5 3030h0\"></path>\n<path d=\"M906 3030h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 3030h0\"></path>\n<path d=\"M340 3030h0\"></path>\n<rect x=\"260.5\" y=\"3019\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"300.25\" y=\"3034\">CDSName</text>\n</a>\n</g>\n<path d=\"M340 3030h10\"></path>\n<g>\n<path d=\"M350 3030h0\"></path>\n<path d=\"M520.5 3030h0\"></path>\n<path d=\"M350 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M370 3010h130.5\"></path>\n</g>\n<path d=\"M500.5 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M350 3030h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 3030h0\"></path>\n<path d=\"M500.5 3030h0\"></path>\n<rect x=\"370\" y=\"3019\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"435.25\" y=\"3034\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M500.5 3030h20\"></path>\n</g>\n<g>\n<path d=\"M520.5 3030h0\"></path>\n<path d=\"M906 3030h0\"></path>\n<path d=\"M520.5 3030a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M540.5 3002h345.5\"></path>\n</g>\n<path d=\"M886 3002a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M520.5 3030h20\"></path>\n<g>\n<path d=\"M540.5 3030h0\"></path>\n<path d=\"M886 3030h0\"></path>\n<path d=\"M540.5 3030h10\"></path>\n<g>\n<path d=\"M550.5 3030h0\"></path>\n<path d=\"M876 3030h0\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 3030h0\"></path>\n<path d=\"M596 3030h0\"></path>\n<rect x=\"550.5\" y=\"3019\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"3034\">\".\"</text>\n</g>\n<path d=\"M596 3030h10\"></path>\n<path d=\"M606 3030h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616 3030h0\"></path>\n<path d=\"M695.5 3030h0\"></path>\n<rect x=\"616\" y=\"3019\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"655.75\" y=\"3034\">CDSName</text>\n</a>\n</g>\n<path d=\"M695.5 3030h10\"></path>\n<g>\n<path d=\"M705.5 3030h0\"></path>\n<path d=\"M876 3030h0\"></path>\n<path d=\"M705.5 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M725.5 3010h130.5\"></path>\n</g>\n<path d=\"M856 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M705.5 3030h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725.5 3030h0\"></path>\n<path d=\"M856 3030h0\"></path>\n<rect x=\"725.5\" y=\"3019\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"790.75\" y=\"3034\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M856 3030h20\"></path>\n</g>\n</g>\n<path d=\"M876 3030h10\"></path>\n<path d=\"M550.5 3030a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M550.5 3050h325.5\"></path>\n</g>\n<path d=\"M876 3050a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M886 3030h20\"></path>\n</g>\n</g>\n<path d=\"M906 3030a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 2863a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 3069h0\"></path>\n<path d=\"M323 3069h583\"></path>\n<rect x=\"260.5\" y=\"3058\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"3073\">^\\d+$</text>\n</g>\n<path d=\"M906 3069a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M926 2863h10\"></path>\n<g class=\"terminal\">\n<path d=\"M936 2863h0\"></path>\n<path d=\"M981.5 2863h0\"></path>\n<rect x=\"936\" y=\"2852\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"958.75\" y=\"2867\">\",\"</text>\n</g>\n<path d=\"M981.5 2863h10\"></path>\n<g>\n<path d=\"M991.5 2863h0\"></path>\n<path d=\"M1677 2863h0\"></path>\n<path d=\"M991.5 2863h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 2863h0\"></path>\n<path d=\"M1091 2863h566\"></path>\n<rect x=\"1011.5\" y=\"2852\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1051.25\" y=\"2867\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1657 2863h20\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 2893h0\"></path>\n<path d=\"M1125 2893h532\"></path>\n<rect x=\"1011.5\" y=\"2882\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1068.25\" y=\"2897\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1657 2893a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 2923h0\"></path>\n<path d=\"M1150.5 2923h506.5\"></path>\n<rect x=\"1011.5\" y=\"2912\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1081\" y=\"2927\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1657 2923a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 2953h0\"></path>\n<path d=\"M1091 2953h566\"></path>\n<rect x=\"1011.5\" y=\"2942\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1051.25\" y=\"2957\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1657 2953a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 2983h0\"></path>\n<path d=\"M1108 2983h549\"></path>\n<rect x=\"1011.5\" y=\"2972\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1059.75\" y=\"2987\">CDSString</text>\n</a>\n</g>\n<path d=\"M1657 2983a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1011.5 3030h0\"></path>\n<path d=\"M1657 3030h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1011.5 3030h0\"></path>\n<path d=\"M1091 3030h0\"></path>\n<rect x=\"1011.5\" y=\"3019\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1051.25\" y=\"3034\">CDSName</text>\n</a>\n</g>\n<path d=\"M1091 3030h10\"></path>\n<g>\n<path d=\"M1101 3030h0\"></path>\n<path d=\"M1271.5 3030h0\"></path>\n<path d=\"M1101 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1121 3010h130.5\"></path>\n</g>\n<path d=\"M1251.5 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1101 3030h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1121 3030h0\"></path>\n<path d=\"M1251.5 3030h0\"></path>\n<rect x=\"1121\" y=\"3019\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1186.25\" y=\"3034\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1251.5 3030h20\"></path>\n</g>\n<g>\n<path d=\"M1271.5 3030h0\"></path>\n<path d=\"M1657 3030h0\"></path>\n<path d=\"M1271.5 3030a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1291.5 3002h345.5\"></path>\n</g>\n<path d=\"M1637 3002a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1271.5 3030h20\"></path>\n<g>\n<path d=\"M1291.5 3030h0\"></path>\n<path d=\"M1637 3030h0\"></path>\n<path d=\"M1291.5 3030h10\"></path>\n<g>\n<path d=\"M1301.5 3030h0\"></path>\n<path d=\"M1627 3030h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1301.5 3030h0\"></path>\n<path d=\"M1347 3030h0\"></path>\n<rect x=\"1301.5\" y=\"3019\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1324.25\" y=\"3034\">\".\"</text>\n</g>\n<path d=\"M1347 3030h10\"></path>\n<path d=\"M1357 3030h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1367 3030h0\"></path>\n<path d=\"M1446.5 3030h0\"></path>\n<rect x=\"1367\" y=\"3019\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1406.75\" y=\"3034\">CDSName</text>\n</a>\n</g>\n<path d=\"M1446.5 3030h10\"></path>\n<g>\n<path d=\"M1456.5 3030h0\"></path>\n<path d=\"M1627 3030h0\"></path>\n<path d=\"M1456.5 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1476.5 3010h130.5\"></path>\n</g>\n<path d=\"M1607 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1456.5 3030h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1476.5 3030h0\"></path>\n<path d=\"M1607 3030h0\"></path>\n<rect x=\"1476.5\" y=\"3019\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1541.75\" y=\"3034\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1607 3030h20\"></path>\n</g>\n</g>\n<path d=\"M1627 3030h10\"></path>\n<path d=\"M1301.5 3030a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1301.5 3050h325.5\"></path>\n</g>\n<path d=\"M1627 3050a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1637 3030h20\"></path>\n</g>\n</g>\n<path d=\"M1657 3030a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M991.5 2863a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1011.5 3069h0\"></path>\n<path d=\"M1074 3069h583\"></path>\n<rect x=\"1011.5\" y=\"3058\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1042.75\" y=\"3073\">^\\d+$</text>\n</g>\n<path d=\"M1657 3069a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1677 2863h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1687 2863h0\"></path>\n<path d=\"M1732.5 2863h0\"></path>\n<rect x=\"1687\" y=\"2852\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1709.75\" y=\"2867\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 2863a10 10 0 0 0 10 -10v-2812a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3048a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 3099h0\"></path>\n<path d=\"M2560 3099h1510.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3099h0\"></path>\n<path d=\"M241.5 3099h0\"></path>\n<rect x=\"60\" y=\"3088\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"150.75\" y=\"3103\">\"CONCAT&#95;WITH&#95;SPACE\"</text>\n</g>\n<path d=\"M241.5 3099h10\"></path>\n<path d=\"M251.5 3099h10\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 3099h0\"></path>\n<path d=\"M307 3099h0\"></path>\n<rect x=\"261.5\" y=\"3088\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.25\" y=\"3103\">\"(\"</text>\n</g>\n<path d=\"M307 3099h10\"></path>\n<g>\n<path d=\"M317 3099h0\"></path>\n<path d=\"M1002.5 3099h0\"></path>\n<path d=\"M317 3099h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3099h0\"></path>\n<path d=\"M416.5 3099h566\"></path>\n<rect x=\"337\" y=\"3088\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"376.75\" y=\"3103\">CDSCast</text>\n</a>\n</g>\n<path d=\"M982.5 3099h20\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3129h0\"></path>\n<path d=\"M450.5 3129h532\"></path>\n<rect x=\"337\" y=\"3118\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"393.75\" y=\"3133\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M982.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3159h0\"></path>\n<path d=\"M476 3159h506.5\"></path>\n<rect x=\"337\" y=\"3148\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"406.5\" y=\"3163\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M982.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3189h0\"></path>\n<path d=\"M416.5 3189h566\"></path>\n<rect x=\"337\" y=\"3178\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"376.75\" y=\"3193\">CDSCase</text>\n</a>\n</g>\n<path d=\"M982.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3219h0\"></path>\n<path d=\"M433.5 3219h549\"></path>\n<rect x=\"337\" y=\"3208\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"385.25\" y=\"3223\">CDSString</text>\n</a>\n</g>\n<path d=\"M982.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M337 3266h0\"></path>\n<path d=\"M982.5 3266h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3266h0\"></path>\n<path d=\"M416.5 3266h0\"></path>\n<rect x=\"337\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"376.75\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M416.5 3266h10\"></path>\n<g>\n<path d=\"M426.5 3266h0\"></path>\n<path d=\"M597 3266h0\"></path>\n<path d=\"M426.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M446.5 3246h130.5\"></path>\n</g>\n<path d=\"M577 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M426.5 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M446.5 3266h0\"></path>\n<path d=\"M577 3266h0\"></path>\n<rect x=\"446.5\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"511.75\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M577 3266h20\"></path>\n</g>\n<g>\n<path d=\"M597 3266h0\"></path>\n<path d=\"M982.5 3266h0\"></path>\n<path d=\"M597 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M617 3238h345.5\"></path>\n</g>\n<path d=\"M962.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M597 3266h20\"></path>\n<g>\n<path d=\"M617 3266h0\"></path>\n<path d=\"M962.5 3266h0\"></path>\n<path d=\"M617 3266h10\"></path>\n<g>\n<path d=\"M627 3266h0\"></path>\n<path d=\"M952.5 3266h0\"></path>\n<g class=\"terminal\">\n<path d=\"M627 3266h0\"></path>\n<path d=\"M672.5 3266h0\"></path>\n<rect x=\"627\" y=\"3255\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"649.75\" y=\"3270\">\".\"</text>\n</g>\n<path d=\"M672.5 3266h10\"></path>\n<path d=\"M682.5 3266h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M692.5 3266h0\"></path>\n<path d=\"M772 3266h0\"></path>\n<rect x=\"692.5\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"732.25\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M772 3266h10\"></path>\n<g>\n<path d=\"M782 3266h0\"></path>\n<path d=\"M952.5 3266h0\"></path>\n<path d=\"M782 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M802 3246h130.5\"></path>\n</g>\n<path d=\"M932.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M782 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M802 3266h0\"></path>\n<path d=\"M932.5 3266h0\"></path>\n<rect x=\"802\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"867.25\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M932.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M952.5 3266h10\"></path>\n<path d=\"M627 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M627 3286h325.5\"></path>\n</g>\n<path d=\"M952.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M962.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M982.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M337 3305h0\"></path>\n<path d=\"M399.5 3305h583\"></path>\n<rect x=\"337\" y=\"3294\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.25\" y=\"3309\">^\\d+$</text>\n</g>\n<path d=\"M982.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1002.5 3099h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1012.5 3099h0\"></path>\n<path d=\"M1058 3099h0\"></path>\n<rect x=\"1012.5\" y=\"3088\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1035.25\" y=\"3103\">\",\"</text>\n</g>\n<path d=\"M1058 3099h10\"></path>\n<g>\n<path d=\"M1068 3099h0\"></path>\n<path d=\"M1753.5 3099h0\"></path>\n<path d=\"M1068 3099h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3099h0\"></path>\n<path d=\"M1167.5 3099h566\"></path>\n<rect x=\"1088\" y=\"3088\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1127.75\" y=\"3103\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1733.5 3099h20\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3129h0\"></path>\n<path d=\"M1201.5 3129h532\"></path>\n<rect x=\"1088\" y=\"3118\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1144.75\" y=\"3133\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1733.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3159h0\"></path>\n<path d=\"M1227 3159h506.5\"></path>\n<rect x=\"1088\" y=\"3148\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1157.5\" y=\"3163\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1733.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3189h0\"></path>\n<path d=\"M1167.5 3189h566\"></path>\n<rect x=\"1088\" y=\"3178\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1127.75\" y=\"3193\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1733.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3219h0\"></path>\n<path d=\"M1184.5 3219h549\"></path>\n<rect x=\"1088\" y=\"3208\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1136.25\" y=\"3223\">CDSString</text>\n</a>\n</g>\n<path d=\"M1733.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1088 3266h0\"></path>\n<path d=\"M1733.5 3266h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3266h0\"></path>\n<path d=\"M1167.5 3266h0\"></path>\n<rect x=\"1088\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1127.75\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M1167.5 3266h10\"></path>\n<g>\n<path d=\"M1177.5 3266h0\"></path>\n<path d=\"M1348 3266h0\"></path>\n<path d=\"M1177.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1197.5 3246h130.5\"></path>\n</g>\n<path d=\"M1328 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1177.5 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1197.5 3266h0\"></path>\n<path d=\"M1328 3266h0\"></path>\n<rect x=\"1197.5\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1262.75\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1328 3266h20\"></path>\n</g>\n<g>\n<path d=\"M1348 3266h0\"></path>\n<path d=\"M1733.5 3266h0\"></path>\n<path d=\"M1348 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1368 3238h345.5\"></path>\n</g>\n<path d=\"M1713.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1348 3266h20\"></path>\n<g>\n<path d=\"M1368 3266h0\"></path>\n<path d=\"M1713.5 3266h0\"></path>\n<path d=\"M1368 3266h10\"></path>\n<g>\n<path d=\"M1378 3266h0\"></path>\n<path d=\"M1703.5 3266h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1378 3266h0\"></path>\n<path d=\"M1423.5 3266h0\"></path>\n<rect x=\"1378\" y=\"3255\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1400.75\" y=\"3270\">\".\"</text>\n</g>\n<path d=\"M1423.5 3266h10\"></path>\n<path d=\"M1433.5 3266h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1443.5 3266h0\"></path>\n<path d=\"M1523 3266h0\"></path>\n<rect x=\"1443.5\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1483.25\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M1523 3266h10\"></path>\n<g>\n<path d=\"M1533 3266h0\"></path>\n<path d=\"M1703.5 3266h0\"></path>\n<path d=\"M1533 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1553 3246h130.5\"></path>\n</g>\n<path d=\"M1683.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1533 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1553 3266h0\"></path>\n<path d=\"M1683.5 3266h0\"></path>\n<rect x=\"1553\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1618.25\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1683.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M1703.5 3266h10\"></path>\n<path d=\"M1378 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1378 3286h325.5\"></path>\n</g>\n<path d=\"M1703.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1713.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M1733.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1088 3305h0\"></path>\n<path d=\"M1150.5 3305h583\"></path>\n<rect x=\"1088\" y=\"3294\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1119.25\" y=\"3309\">^\\d+$</text>\n</g>\n<path d=\"M1733.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1753.5 3099h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1763.5 3099h0\"></path>\n<path d=\"M1809 3099h0\"></path>\n<rect x=\"1763.5\" y=\"3088\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1786.25\" y=\"3103\">\",\"</text>\n</g>\n<path d=\"M1809 3099h10\"></path>\n<g>\n<path d=\"M1819 3099h0\"></path>\n<path d=\"M2504.5 3099h0\"></path>\n<path d=\"M1819 3099h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3099h0\"></path>\n<path d=\"M1918.5 3099h566\"></path>\n<rect x=\"1839\" y=\"3088\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1878.75\" y=\"3103\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2484.5 3099h20\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3129h0\"></path>\n<path d=\"M1952.5 3129h532\"></path>\n<rect x=\"1839\" y=\"3118\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1895.75\" y=\"3133\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2484.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3159h0\"></path>\n<path d=\"M1978 3159h506.5\"></path>\n<rect x=\"1839\" y=\"3148\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1908.5\" y=\"3163\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2484.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3189h0\"></path>\n<path d=\"M1918.5 3189h566\"></path>\n<rect x=\"1839\" y=\"3178\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1878.75\" y=\"3193\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2484.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3219h0\"></path>\n<path d=\"M1935.5 3219h549\"></path>\n<rect x=\"1839\" y=\"3208\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1887.25\" y=\"3223\">CDSString</text>\n</a>\n</g>\n<path d=\"M2484.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1839 3266h0\"></path>\n<path d=\"M2484.5 3266h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3266h0\"></path>\n<path d=\"M1918.5 3266h0\"></path>\n<rect x=\"1839\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1878.75\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M1918.5 3266h10\"></path>\n<g>\n<path d=\"M1928.5 3266h0\"></path>\n<path d=\"M2099 3266h0\"></path>\n<path d=\"M1928.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1948.5 3246h130.5\"></path>\n</g>\n<path d=\"M2079 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1928.5 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1948.5 3266h0\"></path>\n<path d=\"M2079 3266h0\"></path>\n<rect x=\"1948.5\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2013.75\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2079 3266h20\"></path>\n</g>\n<g>\n<path d=\"M2099 3266h0\"></path>\n<path d=\"M2484.5 3266h0\"></path>\n<path d=\"M2099 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2119 3238h345.5\"></path>\n</g>\n<path d=\"M2464.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2099 3266h20\"></path>\n<g>\n<path d=\"M2119 3266h0\"></path>\n<path d=\"M2464.5 3266h0\"></path>\n<path d=\"M2119 3266h10\"></path>\n<g>\n<path d=\"M2129 3266h0\"></path>\n<path d=\"M2454.5 3266h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2129 3266h0\"></path>\n<path d=\"M2174.5 3266h0\"></path>\n<rect x=\"2129\" y=\"3255\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2151.75\" y=\"3270\">\".\"</text>\n</g>\n<path d=\"M2174.5 3266h10\"></path>\n<path d=\"M2184.5 3266h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2194.5 3266h0\"></path>\n<path d=\"M2274 3266h0\"></path>\n<rect x=\"2194.5\" y=\"3255\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2234.25\" y=\"3270\">CDSName</text>\n</a>\n</g>\n<path d=\"M2274 3266h10\"></path>\n<g>\n<path d=\"M2284 3266h0\"></path>\n<path d=\"M2454.5 3266h0\"></path>\n<path d=\"M2284 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2304 3246h130.5\"></path>\n</g>\n<path d=\"M2434.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2284 3266h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2304 3266h0\"></path>\n<path d=\"M2434.5 3266h0\"></path>\n<rect x=\"2304\" y=\"3255\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2369.25\" y=\"3270\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2434.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M2454.5 3266h10\"></path>\n<path d=\"M2129 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2129 3286h325.5\"></path>\n</g>\n<path d=\"M2454.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2464.5 3266h20\"></path>\n</g>\n</g>\n<path d=\"M2484.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1839 3305h0\"></path>\n<path d=\"M1901.5 3305h583\"></path>\n<rect x=\"1839\" y=\"3294\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1870.25\" y=\"3309\">^\\d+$</text>\n</g>\n<path d=\"M2484.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2504.5 3099h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2514.5 3099h0\"></path>\n<path d=\"M2560 3099h0\"></path>\n<rect x=\"2514.5\" y=\"3088\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2537.25\" y=\"3103\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 3099a10 10 0 0 0 10 -10v-3048a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3284a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 3335h0\"></path>\n<path d=\"M1024 3335h3046.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3335h0\"></path>\n<path d=\"M207.5 3335h0\"></path>\n<rect x=\"60\" y=\"3324\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"133.75\" y=\"3339\">\"DATS&#95;IS&#95;VALID\"</text>\n</g>\n<path d=\"M207.5 3335h10\"></path>\n<path d=\"M217.5 3335h10\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 3335h0\"></path>\n<path d=\"M273 3335h0\"></path>\n<rect x=\"227.5\" y=\"3324\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"3339\">\"(\"</text>\n</g>\n<path d=\"M273 3335h10\"></path>\n<g>\n<path d=\"M283 3335h0\"></path>\n<path d=\"M968.5 3335h0\"></path>\n<path d=\"M283 3335h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3335h0\"></path>\n<path d=\"M382.5 3335h566\"></path>\n<rect x=\"303\" y=\"3324\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"342.75\" y=\"3339\">CDSCast</text>\n</a>\n</g>\n<path d=\"M948.5 3335h20\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3365h0\"></path>\n<path d=\"M416.5 3365h532\"></path>\n<rect x=\"303\" y=\"3354\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"359.75\" y=\"3369\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M948.5 3365a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3395h0\"></path>\n<path d=\"M442 3395h506.5\"></path>\n<rect x=\"303\" y=\"3384\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"372.5\" y=\"3399\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M948.5 3395a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3425h0\"></path>\n<path d=\"M382.5 3425h566\"></path>\n<rect x=\"303\" y=\"3414\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"342.75\" y=\"3429\">CDSCase</text>\n</a>\n</g>\n<path d=\"M948.5 3425a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3455h0\"></path>\n<path d=\"M399.5 3455h549\"></path>\n<rect x=\"303\" y=\"3444\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"351.25\" y=\"3459\">CDSString</text>\n</a>\n</g>\n<path d=\"M948.5 3455a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303 3502h0\"></path>\n<path d=\"M948.5 3502h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 3502h0\"></path>\n<path d=\"M382.5 3502h0\"></path>\n<rect x=\"303\" y=\"3491\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"342.75\" y=\"3506\">CDSName</text>\n</a>\n</g>\n<path d=\"M382.5 3502h10\"></path>\n<g>\n<path d=\"M392.5 3502h0\"></path>\n<path d=\"M563 3502h0\"></path>\n<path d=\"M392.5 3502a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M412.5 3482h130.5\"></path>\n</g>\n<path d=\"M543 3482a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M392.5 3502h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M412.5 3502h0\"></path>\n<path d=\"M543 3502h0\"></path>\n<rect x=\"412.5\" y=\"3491\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"477.75\" y=\"3506\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M543 3502h20\"></path>\n</g>\n<g>\n<path d=\"M563 3502h0\"></path>\n<path d=\"M948.5 3502h0\"></path>\n<path d=\"M563 3502a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M583 3474h345.5\"></path>\n</g>\n<path d=\"M928.5 3474a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M563 3502h20\"></path>\n<g>\n<path d=\"M583 3502h0\"></path>\n<path d=\"M928.5 3502h0\"></path>\n<path d=\"M583 3502h10\"></path>\n<g>\n<path d=\"M593 3502h0\"></path>\n<path d=\"M918.5 3502h0\"></path>\n<g class=\"terminal\">\n<path d=\"M593 3502h0\"></path>\n<path d=\"M638.5 3502h0\"></path>\n<rect x=\"593\" y=\"3491\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"615.75\" y=\"3506\">\".\"</text>\n</g>\n<path d=\"M638.5 3502h10\"></path>\n<path d=\"M648.5 3502h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M658.5 3502h0\"></path>\n<path d=\"M738 3502h0\"></path>\n<rect x=\"658.5\" y=\"3491\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"698.25\" y=\"3506\">CDSName</text>\n</a>\n</g>\n<path d=\"M738 3502h10\"></path>\n<g>\n<path d=\"M748 3502h0\"></path>\n<path d=\"M918.5 3502h0\"></path>\n<path d=\"M748 3502a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M768 3482h130.5\"></path>\n</g>\n<path d=\"M898.5 3482a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M748 3502h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768 3502h0\"></path>\n<path d=\"M898.5 3502h0\"></path>\n<rect x=\"768\" y=\"3491\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"833.25\" y=\"3506\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M898.5 3502h20\"></path>\n</g>\n</g>\n<path d=\"M918.5 3502h10\"></path>\n<path d=\"M593 3502a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M593 3522h325.5\"></path>\n</g>\n<path d=\"M918.5 3522a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M928.5 3502h20\"></path>\n</g>\n</g>\n<path d=\"M948.5 3502a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 3335a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 3541h0\"></path>\n<path d=\"M365.5 3541h583\"></path>\n<rect x=\"303\" y=\"3530\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"3545\">^\\d+$</text>\n</g>\n<path d=\"M948.5 3541a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M968.5 3335h10\"></path>\n<g class=\"terminal\">\n<path d=\"M978.5 3335h0\"></path>\n<path d=\"M1024 3335h0\"></path>\n<rect x=\"978.5\" y=\"3324\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001.25\" y=\"3339\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 3335a10 10 0 0 0 10 -10v-3284a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3520a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 3571h0\"></path>\n<path d=\"M1809 3571h2261.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3571h0\"></path>\n<path d=\"M241.5 3571h0\"></path>\n<rect x=\"60\" y=\"3560\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"150.75\" y=\"3575\">\"DATS&#95;DAYS&#95;BETWEEN\"</text>\n</g>\n<path d=\"M241.5 3571h10\"></path>\n<path d=\"M251.5 3571h10\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 3571h0\"></path>\n<path d=\"M307 3571h0\"></path>\n<rect x=\"261.5\" y=\"3560\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.25\" y=\"3575\">\"(\"</text>\n</g>\n<path d=\"M307 3571h10\"></path>\n<g>\n<path d=\"M317 3571h0\"></path>\n<path d=\"M1002.5 3571h0\"></path>\n<path d=\"M317 3571h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3571h0\"></path>\n<path d=\"M416.5 3571h566\"></path>\n<rect x=\"337\" y=\"3560\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"376.75\" y=\"3575\">CDSCast</text>\n</a>\n</g>\n<path d=\"M982.5 3571h20\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3601h0\"></path>\n<path d=\"M450.5 3601h532\"></path>\n<rect x=\"337\" y=\"3590\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"393.75\" y=\"3605\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M982.5 3601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3631h0\"></path>\n<path d=\"M476 3631h506.5\"></path>\n<rect x=\"337\" y=\"3620\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"406.5\" y=\"3635\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M982.5 3631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3661h0\"></path>\n<path d=\"M416.5 3661h566\"></path>\n<rect x=\"337\" y=\"3650\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"376.75\" y=\"3665\">CDSCase</text>\n</a>\n</g>\n<path d=\"M982.5 3661a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3691h0\"></path>\n<path d=\"M433.5 3691h549\"></path>\n<rect x=\"337\" y=\"3680\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"385.25\" y=\"3695\">CDSString</text>\n</a>\n</g>\n<path d=\"M982.5 3691a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M337 3738h0\"></path>\n<path d=\"M982.5 3738h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3738h0\"></path>\n<path d=\"M416.5 3738h0\"></path>\n<rect x=\"337\" y=\"3727\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"376.75\" y=\"3742\">CDSName</text>\n</a>\n</g>\n<path d=\"M416.5 3738h10\"></path>\n<g>\n<path d=\"M426.5 3738h0\"></path>\n<path d=\"M597 3738h0\"></path>\n<path d=\"M426.5 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M446.5 3718h130.5\"></path>\n</g>\n<path d=\"M577 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M426.5 3738h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M446.5 3738h0\"></path>\n<path d=\"M577 3738h0\"></path>\n<rect x=\"446.5\" y=\"3727\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"511.75\" y=\"3742\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M577 3738h20\"></path>\n</g>\n<g>\n<path d=\"M597 3738h0\"></path>\n<path d=\"M982.5 3738h0\"></path>\n<path d=\"M597 3738a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M617 3710h345.5\"></path>\n</g>\n<path d=\"M962.5 3710a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M597 3738h20\"></path>\n<g>\n<path d=\"M617 3738h0\"></path>\n<path d=\"M962.5 3738h0\"></path>\n<path d=\"M617 3738h10\"></path>\n<g>\n<path d=\"M627 3738h0\"></path>\n<path d=\"M952.5 3738h0\"></path>\n<g class=\"terminal\">\n<path d=\"M627 3738h0\"></path>\n<path d=\"M672.5 3738h0\"></path>\n<rect x=\"627\" y=\"3727\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"649.75\" y=\"3742\">\".\"</text>\n</g>\n<path d=\"M672.5 3738h10\"></path>\n<path d=\"M682.5 3738h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M692.5 3738h0\"></path>\n<path d=\"M772 3738h0\"></path>\n<rect x=\"692.5\" y=\"3727\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"732.25\" y=\"3742\">CDSName</text>\n</a>\n</g>\n<path d=\"M772 3738h10\"></path>\n<g>\n<path d=\"M782 3738h0\"></path>\n<path d=\"M952.5 3738h0\"></path>\n<path d=\"M782 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M802 3718h130.5\"></path>\n</g>\n<path d=\"M932.5 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M782 3738h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M802 3738h0\"></path>\n<path d=\"M932.5 3738h0\"></path>\n<rect x=\"802\" y=\"3727\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"867.25\" y=\"3742\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M932.5 3738h20\"></path>\n</g>\n</g>\n<path d=\"M952.5 3738h10\"></path>\n<path d=\"M627 3738a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M627 3758h325.5\"></path>\n</g>\n<path d=\"M952.5 3758a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M962.5 3738h20\"></path>\n</g>\n</g>\n<path d=\"M982.5 3738a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3571a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M337 3777h0\"></path>\n<path d=\"M399.5 3777h583\"></path>\n<rect x=\"337\" y=\"3766\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.25\" y=\"3781\">^\\d+$</text>\n</g>\n<path d=\"M982.5 3777a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1002.5 3571h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1012.5 3571h0\"></path>\n<path d=\"M1058 3571h0\"></path>\n<rect x=\"1012.5\" y=\"3560\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1035.25\" y=\"3575\">\",\"</text>\n</g>\n<path d=\"M1058 3571h10\"></path>\n<g>\n<path d=\"M1068 3571h0\"></path>\n<path d=\"M1753.5 3571h0\"></path>\n<path d=\"M1068 3571h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3571h0\"></path>\n<path d=\"M1167.5 3571h566\"></path>\n<rect x=\"1088\" y=\"3560\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1127.75\" y=\"3575\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1733.5 3571h20\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3601h0\"></path>\n<path d=\"M1201.5 3601h532\"></path>\n<rect x=\"1088\" y=\"3590\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1144.75\" y=\"3605\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1733.5 3601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3631h0\"></path>\n<path d=\"M1227 3631h506.5\"></path>\n<rect x=\"1088\" y=\"3620\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1157.5\" y=\"3635\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1733.5 3631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3661h0\"></path>\n<path d=\"M1167.5 3661h566\"></path>\n<rect x=\"1088\" y=\"3650\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1127.75\" y=\"3665\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1733.5 3661a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3691h0\"></path>\n<path d=\"M1184.5 3691h549\"></path>\n<rect x=\"1088\" y=\"3680\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1136.25\" y=\"3695\">CDSString</text>\n</a>\n</g>\n<path d=\"M1733.5 3691a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1088 3738h0\"></path>\n<path d=\"M1733.5 3738h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3738h0\"></path>\n<path d=\"M1167.5 3738h0\"></path>\n<rect x=\"1088\" y=\"3727\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1127.75\" y=\"3742\">CDSName</text>\n</a>\n</g>\n<path d=\"M1167.5 3738h10\"></path>\n<g>\n<path d=\"M1177.5 3738h0\"></path>\n<path d=\"M1348 3738h0\"></path>\n<path d=\"M1177.5 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1197.5 3718h130.5\"></path>\n</g>\n<path d=\"M1328 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1177.5 3738h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1197.5 3738h0\"></path>\n<path d=\"M1328 3738h0\"></path>\n<rect x=\"1197.5\" y=\"3727\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1262.75\" y=\"3742\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1328 3738h20\"></path>\n</g>\n<g>\n<path d=\"M1348 3738h0\"></path>\n<path d=\"M1733.5 3738h0\"></path>\n<path d=\"M1348 3738a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1368 3710h345.5\"></path>\n</g>\n<path d=\"M1713.5 3710a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1348 3738h20\"></path>\n<g>\n<path d=\"M1368 3738h0\"></path>\n<path d=\"M1713.5 3738h0\"></path>\n<path d=\"M1368 3738h10\"></path>\n<g>\n<path d=\"M1378 3738h0\"></path>\n<path d=\"M1703.5 3738h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1378 3738h0\"></path>\n<path d=\"M1423.5 3738h0\"></path>\n<rect x=\"1378\" y=\"3727\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1400.75\" y=\"3742\">\".\"</text>\n</g>\n<path d=\"M1423.5 3738h10\"></path>\n<path d=\"M1433.5 3738h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1443.5 3738h0\"></path>\n<path d=\"M1523 3738h0\"></path>\n<rect x=\"1443.5\" y=\"3727\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1483.25\" y=\"3742\">CDSName</text>\n</a>\n</g>\n<path d=\"M1523 3738h10\"></path>\n<g>\n<path d=\"M1533 3738h0\"></path>\n<path d=\"M1703.5 3738h0\"></path>\n<path d=\"M1533 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1553 3718h130.5\"></path>\n</g>\n<path d=\"M1683.5 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1533 3738h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1553 3738h0\"></path>\n<path d=\"M1683.5 3738h0\"></path>\n<rect x=\"1553\" y=\"3727\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1618.25\" y=\"3742\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1683.5 3738h20\"></path>\n</g>\n</g>\n<path d=\"M1703.5 3738h10\"></path>\n<path d=\"M1378 3738a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1378 3758h325.5\"></path>\n</g>\n<path d=\"M1703.5 3758a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1713.5 3738h20\"></path>\n</g>\n</g>\n<path d=\"M1733.5 3738a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3571a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1088 3777h0\"></path>\n<path d=\"M1150.5 3777h583\"></path>\n<rect x=\"1088\" y=\"3766\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1119.25\" y=\"3781\">^\\d+$</text>\n</g>\n<path d=\"M1733.5 3777a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1753.5 3571h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1763.5 3571h0\"></path>\n<path d=\"M1809 3571h0\"></path>\n<rect x=\"1763.5\" y=\"3560\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1786.25\" y=\"3575\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 3571a10 10 0 0 0 10 -10v-3520a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3756a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 3807h0\"></path>\n<path d=\"M2560 3807h1510.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 3807h0\"></path>\n<path d=\"M241.5 3807h0\"></path>\n<rect x=\"60\" y=\"3796\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"150.75\" y=\"3811\">\"TSTMP&#95;ADD&#95;SECONDS\"</text>\n</g>\n<path d=\"M241.5 3807h10\"></path>\n<path d=\"M251.5 3807h10\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 3807h0\"></path>\n<path d=\"M307 3807h0\"></path>\n<rect x=\"261.5\" y=\"3796\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.25\" y=\"3811\">\"(\"</text>\n</g>\n<path d=\"M307 3807h10\"></path>\n<g>\n<path d=\"M317 3807h0\"></path>\n<path d=\"M1002.5 3807h0\"></path>\n<path d=\"M317 3807h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3807h0\"></path>\n<path d=\"M416.5 3807h566\"></path>\n<rect x=\"337\" y=\"3796\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"376.75\" y=\"3811\">CDSCast</text>\n</a>\n</g>\n<path d=\"M982.5 3807h20\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3837h0\"></path>\n<path d=\"M450.5 3837h532\"></path>\n<rect x=\"337\" y=\"3826\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"393.75\" y=\"3841\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M982.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3867h0\"></path>\n<path d=\"M476 3867h506.5\"></path>\n<rect x=\"337\" y=\"3856\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"406.5\" y=\"3871\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M982.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3897h0\"></path>\n<path d=\"M416.5 3897h566\"></path>\n<rect x=\"337\" y=\"3886\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"376.75\" y=\"3901\">CDSCase</text>\n</a>\n</g>\n<path d=\"M982.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3927h0\"></path>\n<path d=\"M433.5 3927h549\"></path>\n<rect x=\"337\" y=\"3916\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"385.25\" y=\"3931\">CDSString</text>\n</a>\n</g>\n<path d=\"M982.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M337 3974h0\"></path>\n<path d=\"M982.5 3974h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M337 3974h0\"></path>\n<path d=\"M416.5 3974h0\"></path>\n<rect x=\"337\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"376.75\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M416.5 3974h10\"></path>\n<g>\n<path d=\"M426.5 3974h0\"></path>\n<path d=\"M597 3974h0\"></path>\n<path d=\"M426.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M446.5 3954h130.5\"></path>\n</g>\n<path d=\"M577 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M426.5 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M446.5 3974h0\"></path>\n<path d=\"M577 3974h0\"></path>\n<rect x=\"446.5\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"511.75\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M577 3974h20\"></path>\n</g>\n<g>\n<path d=\"M597 3974h0\"></path>\n<path d=\"M982.5 3974h0\"></path>\n<path d=\"M597 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M617 3946h345.5\"></path>\n</g>\n<path d=\"M962.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M597 3974h20\"></path>\n<g>\n<path d=\"M617 3974h0\"></path>\n<path d=\"M962.5 3974h0\"></path>\n<path d=\"M617 3974h10\"></path>\n<g>\n<path d=\"M627 3974h0\"></path>\n<path d=\"M952.5 3974h0\"></path>\n<g class=\"terminal\">\n<path d=\"M627 3974h0\"></path>\n<path d=\"M672.5 3974h0\"></path>\n<rect x=\"627\" y=\"3963\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"649.75\" y=\"3978\">\".\"</text>\n</g>\n<path d=\"M672.5 3974h10\"></path>\n<path d=\"M682.5 3974h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M692.5 3974h0\"></path>\n<path d=\"M772 3974h0\"></path>\n<rect x=\"692.5\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"732.25\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M772 3974h10\"></path>\n<g>\n<path d=\"M782 3974h0\"></path>\n<path d=\"M952.5 3974h0\"></path>\n<path d=\"M782 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M802 3954h130.5\"></path>\n</g>\n<path d=\"M932.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M782 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M802 3974h0\"></path>\n<path d=\"M932.5 3974h0\"></path>\n<rect x=\"802\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"867.25\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M932.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M952.5 3974h10\"></path>\n<path d=\"M627 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M627 3994h325.5\"></path>\n</g>\n<path d=\"M952.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M962.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M982.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M317 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M337 4013h0\"></path>\n<path d=\"M399.5 4013h583\"></path>\n<rect x=\"337\" y=\"4002\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"368.25\" y=\"4017\">^\\d+$</text>\n</g>\n<path d=\"M982.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1002.5 3807h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1012.5 3807h0\"></path>\n<path d=\"M1058 3807h0\"></path>\n<rect x=\"1012.5\" y=\"3796\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1035.25\" y=\"3811\">\",\"</text>\n</g>\n<path d=\"M1058 3807h10\"></path>\n<g>\n<path d=\"M1068 3807h0\"></path>\n<path d=\"M1753.5 3807h0\"></path>\n<path d=\"M1068 3807h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3807h0\"></path>\n<path d=\"M1167.5 3807h566\"></path>\n<rect x=\"1088\" y=\"3796\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1127.75\" y=\"3811\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1733.5 3807h20\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3837h0\"></path>\n<path d=\"M1201.5 3837h532\"></path>\n<rect x=\"1088\" y=\"3826\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1144.75\" y=\"3841\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1733.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3867h0\"></path>\n<path d=\"M1227 3867h506.5\"></path>\n<rect x=\"1088\" y=\"3856\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1157.5\" y=\"3871\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1733.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3897h0\"></path>\n<path d=\"M1167.5 3897h566\"></path>\n<rect x=\"1088\" y=\"3886\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1127.75\" y=\"3901\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1733.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3927h0\"></path>\n<path d=\"M1184.5 3927h549\"></path>\n<rect x=\"1088\" y=\"3916\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1136.25\" y=\"3931\">CDSString</text>\n</a>\n</g>\n<path d=\"M1733.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1088 3974h0\"></path>\n<path d=\"M1733.5 3974h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1088 3974h0\"></path>\n<path d=\"M1167.5 3974h0\"></path>\n<rect x=\"1088\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1127.75\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M1167.5 3974h10\"></path>\n<g>\n<path d=\"M1177.5 3974h0\"></path>\n<path d=\"M1348 3974h0\"></path>\n<path d=\"M1177.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1197.5 3954h130.5\"></path>\n</g>\n<path d=\"M1328 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1177.5 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1197.5 3974h0\"></path>\n<path d=\"M1328 3974h0\"></path>\n<rect x=\"1197.5\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1262.75\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1328 3974h20\"></path>\n</g>\n<g>\n<path d=\"M1348 3974h0\"></path>\n<path d=\"M1733.5 3974h0\"></path>\n<path d=\"M1348 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1368 3946h345.5\"></path>\n</g>\n<path d=\"M1713.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1348 3974h20\"></path>\n<g>\n<path d=\"M1368 3974h0\"></path>\n<path d=\"M1713.5 3974h0\"></path>\n<path d=\"M1368 3974h10\"></path>\n<g>\n<path d=\"M1378 3974h0\"></path>\n<path d=\"M1703.5 3974h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1378 3974h0\"></path>\n<path d=\"M1423.5 3974h0\"></path>\n<rect x=\"1378\" y=\"3963\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1400.75\" y=\"3978\">\".\"</text>\n</g>\n<path d=\"M1423.5 3974h10\"></path>\n<path d=\"M1433.5 3974h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1443.5 3974h0\"></path>\n<path d=\"M1523 3974h0\"></path>\n<rect x=\"1443.5\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1483.25\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M1523 3974h10\"></path>\n<g>\n<path d=\"M1533 3974h0\"></path>\n<path d=\"M1703.5 3974h0\"></path>\n<path d=\"M1533 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1553 3954h130.5\"></path>\n</g>\n<path d=\"M1683.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1533 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1553 3974h0\"></path>\n<path d=\"M1683.5 3974h0\"></path>\n<rect x=\"1553\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1618.25\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1683.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M1703.5 3974h10\"></path>\n<path d=\"M1378 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1378 3994h325.5\"></path>\n</g>\n<path d=\"M1703.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1713.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M1733.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1068 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1088 4013h0\"></path>\n<path d=\"M1150.5 4013h583\"></path>\n<rect x=\"1088\" y=\"4002\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1119.25\" y=\"4017\">^\\d+$</text>\n</g>\n<path d=\"M1733.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1753.5 3807h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1763.5 3807h0\"></path>\n<path d=\"M1809 3807h0\"></path>\n<rect x=\"1763.5\" y=\"3796\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1786.25\" y=\"3811\">\",\"</text>\n</g>\n<path d=\"M1809 3807h10\"></path>\n<g>\n<path d=\"M1819 3807h0\"></path>\n<path d=\"M2504.5 3807h0\"></path>\n<path d=\"M1819 3807h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3807h0\"></path>\n<path d=\"M1918.5 3807h566\"></path>\n<rect x=\"1839\" y=\"3796\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1878.75\" y=\"3811\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2484.5 3807h20\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3837h0\"></path>\n<path d=\"M1952.5 3837h532\"></path>\n<rect x=\"1839\" y=\"3826\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1895.75\" y=\"3841\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2484.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3867h0\"></path>\n<path d=\"M1978 3867h506.5\"></path>\n<rect x=\"1839\" y=\"3856\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1908.5\" y=\"3871\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2484.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3897h0\"></path>\n<path d=\"M1918.5 3897h566\"></path>\n<rect x=\"1839\" y=\"3886\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1878.75\" y=\"3901\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2484.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3927h0\"></path>\n<path d=\"M1935.5 3927h549\"></path>\n<rect x=\"1839\" y=\"3916\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1887.25\" y=\"3931\">CDSString</text>\n</a>\n</g>\n<path d=\"M2484.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1839 3974h0\"></path>\n<path d=\"M2484.5 3974h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1839 3974h0\"></path>\n<path d=\"M1918.5 3974h0\"></path>\n<rect x=\"1839\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1878.75\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M1918.5 3974h10\"></path>\n<g>\n<path d=\"M1928.5 3974h0\"></path>\n<path d=\"M2099 3974h0\"></path>\n<path d=\"M1928.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1948.5 3954h130.5\"></path>\n</g>\n<path d=\"M2079 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1928.5 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1948.5 3974h0\"></path>\n<path d=\"M2079 3974h0\"></path>\n<rect x=\"1948.5\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2013.75\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2079 3974h20\"></path>\n</g>\n<g>\n<path d=\"M2099 3974h0\"></path>\n<path d=\"M2484.5 3974h0\"></path>\n<path d=\"M2099 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2119 3946h345.5\"></path>\n</g>\n<path d=\"M2464.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2099 3974h20\"></path>\n<g>\n<path d=\"M2119 3974h0\"></path>\n<path d=\"M2464.5 3974h0\"></path>\n<path d=\"M2119 3974h10\"></path>\n<g>\n<path d=\"M2129 3974h0\"></path>\n<path d=\"M2454.5 3974h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2129 3974h0\"></path>\n<path d=\"M2174.5 3974h0\"></path>\n<rect x=\"2129\" y=\"3963\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2151.75\" y=\"3978\">\".\"</text>\n</g>\n<path d=\"M2174.5 3974h10\"></path>\n<path d=\"M2184.5 3974h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2194.5 3974h0\"></path>\n<path d=\"M2274 3974h0\"></path>\n<rect x=\"2194.5\" y=\"3963\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2234.25\" y=\"3978\">CDSName</text>\n</a>\n</g>\n<path d=\"M2274 3974h10\"></path>\n<g>\n<path d=\"M2284 3974h0\"></path>\n<path d=\"M2454.5 3974h0\"></path>\n<path d=\"M2284 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2304 3954h130.5\"></path>\n</g>\n<path d=\"M2434.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2284 3974h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2304 3974h0\"></path>\n<path d=\"M2434.5 3974h0\"></path>\n<rect x=\"2304\" y=\"3963\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2369.25\" y=\"3978\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2434.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M2454.5 3974h10\"></path>\n<path d=\"M2129 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2129 3994h325.5\"></path>\n</g>\n<path d=\"M2454.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2464.5 3974h20\"></path>\n</g>\n</g>\n<path d=\"M2484.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1819 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1839 4013h0\"></path>\n<path d=\"M1901.5 4013h583\"></path>\n<rect x=\"1839\" y=\"4002\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1870.25\" y=\"4017\">^\\d+$</text>\n</g>\n<path d=\"M2484.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2504.5 3807h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2514.5 3807h0\"></path>\n<path d=\"M2560 3807h0\"></path>\n<rect x=\"2514.5\" y=\"3796\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2537.25\" y=\"3811\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 3807a10 10 0 0 0 10 -10v-3756a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v3992a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 4043h0\"></path>\n<path d=\"M2594 4043h1476.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4043h0\"></path>\n<path d=\"M275.5 4043h0\"></path>\n<rect x=\"60\" y=\"4032\" width=\"215.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"167.75\" y=\"4047\">\"TSTMP&#95;SECONDS&#95;BETWEEN\"</text>\n</g>\n<path d=\"M275.5 4043h10\"></path>\n<path d=\"M285.5 4043h10\"></path>\n<g class=\"terminal\">\n<path d=\"M295.5 4043h0\"></path>\n<path d=\"M341 4043h0\"></path>\n<rect x=\"295.5\" y=\"4032\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"318.25\" y=\"4047\">\"(\"</text>\n</g>\n<path d=\"M341 4043h10\"></path>\n<g>\n<path d=\"M351 4043h0\"></path>\n<path d=\"M1036.5 4043h0\"></path>\n<path d=\"M351 4043h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4043h0\"></path>\n<path d=\"M450.5 4043h566\"></path>\n<rect x=\"371\" y=\"4032\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"410.75\" y=\"4047\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1016.5 4043h20\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4073h0\"></path>\n<path d=\"M484.5 4073h532\"></path>\n<rect x=\"371\" y=\"4062\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"427.75\" y=\"4077\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1016.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4103h0\"></path>\n<path d=\"M510 4103h506.5\"></path>\n<rect x=\"371\" y=\"4092\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"440.5\" y=\"4107\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1016.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4133h0\"></path>\n<path d=\"M450.5 4133h566\"></path>\n<rect x=\"371\" y=\"4122\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"410.75\" y=\"4137\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1016.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4163h0\"></path>\n<path d=\"M467.5 4163h549\"></path>\n<rect x=\"371\" y=\"4152\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"419.25\" y=\"4167\">CDSString</text>\n</a>\n</g>\n<path d=\"M1016.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M371 4210h0\"></path>\n<path d=\"M1016.5 4210h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M371 4210h0\"></path>\n<path d=\"M450.5 4210h0\"></path>\n<rect x=\"371\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"410.75\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M450.5 4210h10\"></path>\n<g>\n<path d=\"M460.5 4210h0\"></path>\n<path d=\"M631 4210h0\"></path>\n<path d=\"M460.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M480.5 4190h130.5\"></path>\n</g>\n<path d=\"M611 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M460.5 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M480.5 4210h0\"></path>\n<path d=\"M611 4210h0\"></path>\n<rect x=\"480.5\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"545.75\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M611 4210h20\"></path>\n</g>\n<g>\n<path d=\"M631 4210h0\"></path>\n<path d=\"M1016.5 4210h0\"></path>\n<path d=\"M631 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M651 4182h345.5\"></path>\n</g>\n<path d=\"M996.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M631 4210h20\"></path>\n<g>\n<path d=\"M651 4210h0\"></path>\n<path d=\"M996.5 4210h0\"></path>\n<path d=\"M651 4210h10\"></path>\n<g>\n<path d=\"M661 4210h0\"></path>\n<path d=\"M986.5 4210h0\"></path>\n<g class=\"terminal\">\n<path d=\"M661 4210h0\"></path>\n<path d=\"M706.5 4210h0\"></path>\n<rect x=\"661\" y=\"4199\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"683.75\" y=\"4214\">\".\"</text>\n</g>\n<path d=\"M706.5 4210h10\"></path>\n<path d=\"M716.5 4210h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M726.5 4210h0\"></path>\n<path d=\"M806 4210h0\"></path>\n<rect x=\"726.5\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"766.25\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M806 4210h10\"></path>\n<g>\n<path d=\"M816 4210h0\"></path>\n<path d=\"M986.5 4210h0\"></path>\n<path d=\"M816 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M836 4190h130.5\"></path>\n</g>\n<path d=\"M966.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M816 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M836 4210h0\"></path>\n<path d=\"M966.5 4210h0\"></path>\n<rect x=\"836\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"901.25\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M966.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M986.5 4210h10\"></path>\n<path d=\"M661 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M661 4230h325.5\"></path>\n</g>\n<path d=\"M986.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M996.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M1016.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M351 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M371 4249h0\"></path>\n<path d=\"M433.5 4249h583\"></path>\n<rect x=\"371\" y=\"4238\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"402.25\" y=\"4253\">^\\d+$</text>\n</g>\n<path d=\"M1016.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1036.5 4043h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1046.5 4043h0\"></path>\n<path d=\"M1092 4043h0\"></path>\n<rect x=\"1046.5\" y=\"4032\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1069.25\" y=\"4047\">\",\"</text>\n</g>\n<path d=\"M1092 4043h10\"></path>\n<g>\n<path d=\"M1102 4043h0\"></path>\n<path d=\"M1787.5 4043h0\"></path>\n<path d=\"M1102 4043h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4043h0\"></path>\n<path d=\"M1201.5 4043h566\"></path>\n<rect x=\"1122\" y=\"4032\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1161.75\" y=\"4047\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1767.5 4043h20\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4073h0\"></path>\n<path d=\"M1235.5 4073h532\"></path>\n<rect x=\"1122\" y=\"4062\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1178.75\" y=\"4077\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1767.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4103h0\"></path>\n<path d=\"M1261 4103h506.5\"></path>\n<rect x=\"1122\" y=\"4092\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1191.5\" y=\"4107\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1767.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4133h0\"></path>\n<path d=\"M1201.5 4133h566\"></path>\n<rect x=\"1122\" y=\"4122\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1161.75\" y=\"4137\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1767.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4163h0\"></path>\n<path d=\"M1218.5 4163h549\"></path>\n<rect x=\"1122\" y=\"4152\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1170.25\" y=\"4167\">CDSString</text>\n</a>\n</g>\n<path d=\"M1767.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1122 4210h0\"></path>\n<path d=\"M1767.5 4210h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1122 4210h0\"></path>\n<path d=\"M1201.5 4210h0\"></path>\n<rect x=\"1122\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1161.75\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M1201.5 4210h10\"></path>\n<g>\n<path d=\"M1211.5 4210h0\"></path>\n<path d=\"M1382 4210h0\"></path>\n<path d=\"M1211.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1231.5 4190h130.5\"></path>\n</g>\n<path d=\"M1362 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1211.5 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1231.5 4210h0\"></path>\n<path d=\"M1362 4210h0\"></path>\n<rect x=\"1231.5\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1296.75\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1362 4210h20\"></path>\n</g>\n<g>\n<path d=\"M1382 4210h0\"></path>\n<path d=\"M1767.5 4210h0\"></path>\n<path d=\"M1382 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1402 4182h345.5\"></path>\n</g>\n<path d=\"M1747.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1382 4210h20\"></path>\n<g>\n<path d=\"M1402 4210h0\"></path>\n<path d=\"M1747.5 4210h0\"></path>\n<path d=\"M1402 4210h10\"></path>\n<g>\n<path d=\"M1412 4210h0\"></path>\n<path d=\"M1737.5 4210h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1412 4210h0\"></path>\n<path d=\"M1457.5 4210h0\"></path>\n<rect x=\"1412\" y=\"4199\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1434.75\" y=\"4214\">\".\"</text>\n</g>\n<path d=\"M1457.5 4210h10\"></path>\n<path d=\"M1467.5 4210h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1477.5 4210h0\"></path>\n<path d=\"M1557 4210h0\"></path>\n<rect x=\"1477.5\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1517.25\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M1557 4210h10\"></path>\n<g>\n<path d=\"M1567 4210h0\"></path>\n<path d=\"M1737.5 4210h0\"></path>\n<path d=\"M1567 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1587 4190h130.5\"></path>\n</g>\n<path d=\"M1717.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1567 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1587 4210h0\"></path>\n<path d=\"M1717.5 4210h0\"></path>\n<rect x=\"1587\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1652.25\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1717.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M1737.5 4210h10\"></path>\n<path d=\"M1412 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1412 4230h325.5\"></path>\n</g>\n<path d=\"M1737.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1747.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M1767.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1102 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1122 4249h0\"></path>\n<path d=\"M1184.5 4249h583\"></path>\n<rect x=\"1122\" y=\"4238\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1153.25\" y=\"4253\">^\\d+$</text>\n</g>\n<path d=\"M1767.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1787.5 4043h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1797.5 4043h0\"></path>\n<path d=\"M1843 4043h0\"></path>\n<rect x=\"1797.5\" y=\"4032\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1820.25\" y=\"4047\">\",\"</text>\n</g>\n<path d=\"M1843 4043h10\"></path>\n<g>\n<path d=\"M1853 4043h0\"></path>\n<path d=\"M2538.5 4043h0\"></path>\n<path d=\"M1853 4043h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4043h0\"></path>\n<path d=\"M1952.5 4043h566\"></path>\n<rect x=\"1873\" y=\"4032\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1912.75\" y=\"4047\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2518.5 4043h20\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4073h0\"></path>\n<path d=\"M1986.5 4073h532\"></path>\n<rect x=\"1873\" y=\"4062\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1929.75\" y=\"4077\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2518.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4103h0\"></path>\n<path d=\"M2012 4103h506.5\"></path>\n<rect x=\"1873\" y=\"4092\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1942.5\" y=\"4107\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2518.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4133h0\"></path>\n<path d=\"M1952.5 4133h566\"></path>\n<rect x=\"1873\" y=\"4122\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1912.75\" y=\"4137\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2518.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4163h0\"></path>\n<path d=\"M1969.5 4163h549\"></path>\n<rect x=\"1873\" y=\"4152\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1921.25\" y=\"4167\">CDSString</text>\n</a>\n</g>\n<path d=\"M2518.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1873 4210h0\"></path>\n<path d=\"M2518.5 4210h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1873 4210h0\"></path>\n<path d=\"M1952.5 4210h0\"></path>\n<rect x=\"1873\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1912.75\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M1952.5 4210h10\"></path>\n<g>\n<path d=\"M1962.5 4210h0\"></path>\n<path d=\"M2133 4210h0\"></path>\n<path d=\"M1962.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1982.5 4190h130.5\"></path>\n</g>\n<path d=\"M2113 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1962.5 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1982.5 4210h0\"></path>\n<path d=\"M2113 4210h0\"></path>\n<rect x=\"1982.5\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2047.75\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2113 4210h20\"></path>\n</g>\n<g>\n<path d=\"M2133 4210h0\"></path>\n<path d=\"M2518.5 4210h0\"></path>\n<path d=\"M2133 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2153 4182h345.5\"></path>\n</g>\n<path d=\"M2498.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2133 4210h20\"></path>\n<g>\n<path d=\"M2153 4210h0\"></path>\n<path d=\"M2498.5 4210h0\"></path>\n<path d=\"M2153 4210h10\"></path>\n<g>\n<path d=\"M2163 4210h0\"></path>\n<path d=\"M2488.5 4210h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2163 4210h0\"></path>\n<path d=\"M2208.5 4210h0\"></path>\n<rect x=\"2163\" y=\"4199\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2185.75\" y=\"4214\">\".\"</text>\n</g>\n<path d=\"M2208.5 4210h10\"></path>\n<path d=\"M2218.5 4210h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2228.5 4210h0\"></path>\n<path d=\"M2308 4210h0\"></path>\n<rect x=\"2228.5\" y=\"4199\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2268.25\" y=\"4214\">CDSName</text>\n</a>\n</g>\n<path d=\"M2308 4210h10\"></path>\n<g>\n<path d=\"M2318 4210h0\"></path>\n<path d=\"M2488.5 4210h0\"></path>\n<path d=\"M2318 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2338 4190h130.5\"></path>\n</g>\n<path d=\"M2468.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2318 4210h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2338 4210h0\"></path>\n<path d=\"M2468.5 4210h0\"></path>\n<rect x=\"2338\" y=\"4199\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2403.25\" y=\"4214\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2468.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M2488.5 4210h10\"></path>\n<path d=\"M2163 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2163 4230h325.5\"></path>\n</g>\n<path d=\"M2488.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2498.5 4210h20\"></path>\n</g>\n</g>\n<path d=\"M2518.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1853 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1873 4249h0\"></path>\n<path d=\"M1935.5 4249h583\"></path>\n<rect x=\"1873\" y=\"4238\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1904.25\" y=\"4253\">^\\d+$</text>\n</g>\n<path d=\"M2518.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2538.5 4043h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2548.5 4043h0\"></path>\n<path d=\"M2594 4043h0\"></path>\n<rect x=\"2548.5\" y=\"4032\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2571.25\" y=\"4047\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 4043a10 10 0 0 0 10 -10v-3992a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4228a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 4279h0\"></path>\n<path d=\"M449 4279h3621.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4279h0\"></path>\n<path d=\"M318 4279h0\"></path>\n<rect x=\"60\" y=\"4268\" width=\"258\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"189\" y=\"4283\">\"TSTMP&#95;CURRENT&#95;UTCTIMESTAMP\"</text>\n</g>\n<path d=\"M318 4279h10\"></path>\n<path d=\"M328 4279h10\"></path>\n<g class=\"terminal\">\n<path d=\"M338 4279h0\"></path>\n<path d=\"M383.5 4279h0\"></path>\n<rect x=\"338\" y=\"4268\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.75\" y=\"4283\">\"(\"</text>\n</g>\n<path d=\"M383.5 4279h10\"></path>\n<path d=\"M393.5 4279h10\"></path>\n<g class=\"terminal\">\n<path d=\"M403.5 4279h0\"></path>\n<path d=\"M449 4279h0\"></path>\n<rect x=\"403.5\" y=\"4268\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"426.25\" y=\"4283\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 4279a10 10 0 0 0 10 -10v-4228a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4258a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 4309h0\"></path>\n<path d=\"M1032.5 4309h3038\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4309h0\"></path>\n<path d=\"M216 4309h0\"></path>\n<rect x=\"60\" y=\"4298\" width=\"156\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"138\" y=\"4313\">\"TSTMP&#95;IS&#95;VALID\"</text>\n</g>\n<path d=\"M216 4309h10\"></path>\n<path d=\"M226 4309h10\"></path>\n<g class=\"terminal\">\n<path d=\"M236 4309h0\"></path>\n<path d=\"M281.5 4309h0\"></path>\n<rect x=\"236\" y=\"4298\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"258.75\" y=\"4313\">\"(\"</text>\n</g>\n<path d=\"M281.5 4309h10\"></path>\n<g>\n<path d=\"M291.5 4309h0\"></path>\n<path d=\"M977 4309h0\"></path>\n<path d=\"M291.5 4309h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4309h0\"></path>\n<path d=\"M391 4309h566\"></path>\n<rect x=\"311.5\" y=\"4298\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"351.25\" y=\"4313\">CDSCast</text>\n</a>\n</g>\n<path d=\"M957 4309h20\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4339h0\"></path>\n<path d=\"M425 4339h532\"></path>\n<rect x=\"311.5\" y=\"4328\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"368.25\" y=\"4343\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M957 4339a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4369h0\"></path>\n<path d=\"M450.5 4369h506.5\"></path>\n<rect x=\"311.5\" y=\"4358\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"381\" y=\"4373\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M957 4369a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4399h0\"></path>\n<path d=\"M391 4399h566\"></path>\n<rect x=\"311.5\" y=\"4388\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"351.25\" y=\"4403\">CDSCase</text>\n</a>\n</g>\n<path d=\"M957 4399a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4429h0\"></path>\n<path d=\"M408 4429h549\"></path>\n<rect x=\"311.5\" y=\"4418\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"359.75\" y=\"4433\">CDSString</text>\n</a>\n</g>\n<path d=\"M957 4429a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M311.5 4476h0\"></path>\n<path d=\"M957 4476h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M311.5 4476h0\"></path>\n<path d=\"M391 4476h0\"></path>\n<rect x=\"311.5\" y=\"4465\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"351.25\" y=\"4480\">CDSName</text>\n</a>\n</g>\n<path d=\"M391 4476h10\"></path>\n<g>\n<path d=\"M401 4476h0\"></path>\n<path d=\"M571.5 4476h0\"></path>\n<path d=\"M401 4476a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M421 4456h130.5\"></path>\n</g>\n<path d=\"M551.5 4456a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M401 4476h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M421 4476h0\"></path>\n<path d=\"M551.5 4476h0\"></path>\n<rect x=\"421\" y=\"4465\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"486.25\" y=\"4480\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M551.5 4476h20\"></path>\n</g>\n<g>\n<path d=\"M571.5 4476h0\"></path>\n<path d=\"M957 4476h0\"></path>\n<path d=\"M571.5 4476a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M591.5 4448h345.5\"></path>\n</g>\n<path d=\"M937 4448a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M571.5 4476h20\"></path>\n<g>\n<path d=\"M591.5 4476h0\"></path>\n<path d=\"M937 4476h0\"></path>\n<path d=\"M591.5 4476h10\"></path>\n<g>\n<path d=\"M601.5 4476h0\"></path>\n<path d=\"M927 4476h0\"></path>\n<g class=\"terminal\">\n<path d=\"M601.5 4476h0\"></path>\n<path d=\"M647 4476h0\"></path>\n<rect x=\"601.5\" y=\"4465\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"624.25\" y=\"4480\">\".\"</text>\n</g>\n<path d=\"M647 4476h10\"></path>\n<path d=\"M657 4476h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M667 4476h0\"></path>\n<path d=\"M746.5 4476h0\"></path>\n<rect x=\"667\" y=\"4465\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"706.75\" y=\"4480\">CDSName</text>\n</a>\n</g>\n<path d=\"M746.5 4476h10\"></path>\n<g>\n<path d=\"M756.5 4476h0\"></path>\n<path d=\"M927 4476h0\"></path>\n<path d=\"M756.5 4476a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M776.5 4456h130.5\"></path>\n</g>\n<path d=\"M907 4456a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M756.5 4476h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M776.5 4476h0\"></path>\n<path d=\"M907 4476h0\"></path>\n<rect x=\"776.5\" y=\"4465\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"841.75\" y=\"4480\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M907 4476h20\"></path>\n</g>\n</g>\n<path d=\"M927 4476h10\"></path>\n<path d=\"M601.5 4476a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M601.5 4496h325.5\"></path>\n</g>\n<path d=\"M927 4496a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M937 4476h20\"></path>\n</g>\n</g>\n<path d=\"M957 4476a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M291.5 4309a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M311.5 4515h0\"></path>\n<path d=\"M374 4515h583\"></path>\n<rect x=\"311.5\" y=\"4504\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"342.75\" y=\"4519\">^\\d+$</text>\n</g>\n<path d=\"M957 4515a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M977 4309h10\"></path>\n<g class=\"terminal\">\n<path d=\"M987 4309h0\"></path>\n<path d=\"M1032.5 4309h0\"></path>\n<rect x=\"987\" y=\"4298\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1009.75\" y=\"4313\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 4309a10 10 0 0 0 10 -10v-4258a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4494a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 4545h0\"></path>\n<path d=\"M1834.5 4545h2236\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4545h0\"></path>\n<path d=\"M267 4545h0\"></path>\n<rect x=\"60\" y=\"4534\" width=\"207\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"163.5\" y=\"4549\">\"ABAP&#95;SYSTEM&#95;TIMEZONE\"</text>\n</g>\n<path d=\"M267 4545h10\"></path>\n<path d=\"M277 4545h10\"></path>\n<g class=\"terminal\">\n<path d=\"M287 4545h0\"></path>\n<path d=\"M332.5 4545h0\"></path>\n<rect x=\"287\" y=\"4534\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"309.75\" y=\"4549\">\"(\"</text>\n</g>\n<path d=\"M332.5 4545h10\"></path>\n<g>\n<path d=\"M342.5 4545h0\"></path>\n<path d=\"M1028 4545h0\"></path>\n<path d=\"M342.5 4545h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4545h0\"></path>\n<path d=\"M442 4545h566\"></path>\n<rect x=\"362.5\" y=\"4534\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"402.25\" y=\"4549\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1008 4545h20\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4575h0\"></path>\n<path d=\"M476 4575h532\"></path>\n<rect x=\"362.5\" y=\"4564\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"419.25\" y=\"4579\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1008 4575a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4605h0\"></path>\n<path d=\"M501.5 4605h506.5\"></path>\n<rect x=\"362.5\" y=\"4594\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"432\" y=\"4609\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1008 4605a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4635h0\"></path>\n<path d=\"M442 4635h566\"></path>\n<rect x=\"362.5\" y=\"4624\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"402.25\" y=\"4639\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1008 4635a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4665h0\"></path>\n<path d=\"M459 4665h549\"></path>\n<rect x=\"362.5\" y=\"4654\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"410.75\" y=\"4669\">CDSString</text>\n</a>\n</g>\n<path d=\"M1008 4665a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M362.5 4712h0\"></path>\n<path d=\"M1008 4712h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M362.5 4712h0\"></path>\n<path d=\"M442 4712h0\"></path>\n<rect x=\"362.5\" y=\"4701\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"402.25\" y=\"4716\">CDSName</text>\n</a>\n</g>\n<path d=\"M442 4712h10\"></path>\n<g>\n<path d=\"M452 4712h0\"></path>\n<path d=\"M622.5 4712h0\"></path>\n<path d=\"M452 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M472 4692h130.5\"></path>\n</g>\n<path d=\"M602.5 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M452 4712h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M472 4712h0\"></path>\n<path d=\"M602.5 4712h0\"></path>\n<rect x=\"472\" y=\"4701\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"537.25\" y=\"4716\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M602.5 4712h20\"></path>\n</g>\n<g>\n<path d=\"M622.5 4712h0\"></path>\n<path d=\"M1008 4712h0\"></path>\n<path d=\"M622.5 4712a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M642.5 4684h345.5\"></path>\n</g>\n<path d=\"M988 4684a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M622.5 4712h20\"></path>\n<g>\n<path d=\"M642.5 4712h0\"></path>\n<path d=\"M988 4712h0\"></path>\n<path d=\"M642.5 4712h10\"></path>\n<g>\n<path d=\"M652.5 4712h0\"></path>\n<path d=\"M978 4712h0\"></path>\n<g class=\"terminal\">\n<path d=\"M652.5 4712h0\"></path>\n<path d=\"M698 4712h0\"></path>\n<rect x=\"652.5\" y=\"4701\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"675.25\" y=\"4716\">\".\"</text>\n</g>\n<path d=\"M698 4712h10\"></path>\n<path d=\"M708 4712h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M718 4712h0\"></path>\n<path d=\"M797.5 4712h0\"></path>\n<rect x=\"718\" y=\"4701\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"757.75\" y=\"4716\">CDSName</text>\n</a>\n</g>\n<path d=\"M797.5 4712h10\"></path>\n<g>\n<path d=\"M807.5 4712h0\"></path>\n<path d=\"M978 4712h0\"></path>\n<path d=\"M807.5 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M827.5 4692h130.5\"></path>\n</g>\n<path d=\"M958 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M807.5 4712h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M827.5 4712h0\"></path>\n<path d=\"M958 4712h0\"></path>\n<rect x=\"827.5\" y=\"4701\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"892.75\" y=\"4716\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M958 4712h20\"></path>\n</g>\n</g>\n<path d=\"M978 4712h10\"></path>\n<path d=\"M652.5 4712a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M652.5 4732h325.5\"></path>\n</g>\n<path d=\"M978 4732a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M988 4712h20\"></path>\n</g>\n</g>\n<path d=\"M1008 4712a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M342.5 4545a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M362.5 4751h0\"></path>\n<path d=\"M425 4751h583\"></path>\n<rect x=\"362.5\" y=\"4740\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"393.75\" y=\"4755\">^\\d+$</text>\n</g>\n<path d=\"M1008 4751a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1028 4545h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1038 4545h0\"></path>\n<path d=\"M1083.5 4545h0\"></path>\n<rect x=\"1038\" y=\"4534\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1060.75\" y=\"4549\">\",\"</text>\n</g>\n<path d=\"M1083.5 4545h10\"></path>\n<g>\n<path d=\"M1093.5 4545h0\"></path>\n<path d=\"M1779 4545h0\"></path>\n<path d=\"M1093.5 4545h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4545h0\"></path>\n<path d=\"M1193 4545h566\"></path>\n<rect x=\"1113.5\" y=\"4534\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1153.25\" y=\"4549\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1759 4545h20\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4575h0\"></path>\n<path d=\"M1227 4575h532\"></path>\n<rect x=\"1113.5\" y=\"4564\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1170.25\" y=\"4579\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1759 4575a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4605h0\"></path>\n<path d=\"M1252.5 4605h506.5\"></path>\n<rect x=\"1113.5\" y=\"4594\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1183\" y=\"4609\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1759 4605a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4635h0\"></path>\n<path d=\"M1193 4635h566\"></path>\n<rect x=\"1113.5\" y=\"4624\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1153.25\" y=\"4639\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1759 4635a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4665h0\"></path>\n<path d=\"M1210 4665h549\"></path>\n<rect x=\"1113.5\" y=\"4654\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1161.75\" y=\"4669\">CDSString</text>\n</a>\n</g>\n<path d=\"M1759 4665a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1113.5 4712h0\"></path>\n<path d=\"M1759 4712h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1113.5 4712h0\"></path>\n<path d=\"M1193 4712h0\"></path>\n<rect x=\"1113.5\" y=\"4701\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1153.25\" y=\"4716\">CDSName</text>\n</a>\n</g>\n<path d=\"M1193 4712h10\"></path>\n<g>\n<path d=\"M1203 4712h0\"></path>\n<path d=\"M1373.5 4712h0\"></path>\n<path d=\"M1203 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1223 4692h130.5\"></path>\n</g>\n<path d=\"M1353.5 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1203 4712h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1223 4712h0\"></path>\n<path d=\"M1353.5 4712h0\"></path>\n<rect x=\"1223\" y=\"4701\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1288.25\" y=\"4716\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1353.5 4712h20\"></path>\n</g>\n<g>\n<path d=\"M1373.5 4712h0\"></path>\n<path d=\"M1759 4712h0\"></path>\n<path d=\"M1373.5 4712a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1393.5 4684h345.5\"></path>\n</g>\n<path d=\"M1739 4684a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1373.5 4712h20\"></path>\n<g>\n<path d=\"M1393.5 4712h0\"></path>\n<path d=\"M1739 4712h0\"></path>\n<path d=\"M1393.5 4712h10\"></path>\n<g>\n<path d=\"M1403.5 4712h0\"></path>\n<path d=\"M1729 4712h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1403.5 4712h0\"></path>\n<path d=\"M1449 4712h0\"></path>\n<rect x=\"1403.5\" y=\"4701\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1426.25\" y=\"4716\">\".\"</text>\n</g>\n<path d=\"M1449 4712h10\"></path>\n<path d=\"M1459 4712h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1469 4712h0\"></path>\n<path d=\"M1548.5 4712h0\"></path>\n<rect x=\"1469\" y=\"4701\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1508.75\" y=\"4716\">CDSName</text>\n</a>\n</g>\n<path d=\"M1548.5 4712h10\"></path>\n<g>\n<path d=\"M1558.5 4712h0\"></path>\n<path d=\"M1729 4712h0\"></path>\n<path d=\"M1558.5 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1578.5 4692h130.5\"></path>\n</g>\n<path d=\"M1709 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1558.5 4712h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1578.5 4712h0\"></path>\n<path d=\"M1709 4712h0\"></path>\n<rect x=\"1578.5\" y=\"4701\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1643.75\" y=\"4716\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1709 4712h20\"></path>\n</g>\n</g>\n<path d=\"M1729 4712h10\"></path>\n<path d=\"M1403.5 4712a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1403.5 4732h325.5\"></path>\n</g>\n<path d=\"M1729 4732a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1739 4712h20\"></path>\n</g>\n</g>\n<path d=\"M1759 4712a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1093.5 4545a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1113.5 4751h0\"></path>\n<path d=\"M1176 4751h583\"></path>\n<rect x=\"1113.5\" y=\"4740\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1144.75\" y=\"4755\">^\\d+$</text>\n</g>\n<path d=\"M1759 4751a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1779 4545h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1789 4545h0\"></path>\n<path d=\"M1834.5 4545h0\"></path>\n<rect x=\"1789\" y=\"4534\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1811.75\" y=\"4549\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 4545a10 10 0 0 0 10 -10v-4494a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4730a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 4781h0\"></path>\n<path d=\"M2568.5 4781h1502\"></path>\n<g class=\"terminal\">\n<path d=\"M60 4781h0\"></path>\n<path d=\"M250 4781h0\"></path>\n<rect x=\"60\" y=\"4770\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"155\" y=\"4785\">\"ABAP&#95;USER&#95;TIMEZONE\"</text>\n</g>\n<path d=\"M250 4781h10\"></path>\n<path d=\"M260 4781h10\"></path>\n<g class=\"terminal\">\n<path d=\"M270 4781h0\"></path>\n<path d=\"M315.5 4781h0\"></path>\n<rect x=\"270\" y=\"4770\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"292.75\" y=\"4785\">\"(\"</text>\n</g>\n<path d=\"M315.5 4781h10\"></path>\n<g>\n<path d=\"M325.5 4781h0\"></path>\n<path d=\"M1011 4781h0\"></path>\n<path d=\"M325.5 4781h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4781h0\"></path>\n<path d=\"M425 4781h566\"></path>\n<rect x=\"345.5\" y=\"4770\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"385.25\" y=\"4785\">CDSCast</text>\n</a>\n</g>\n<path d=\"M991 4781h20\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4811h0\"></path>\n<path d=\"M459 4811h532\"></path>\n<rect x=\"345.5\" y=\"4800\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"402.25\" y=\"4815\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M991 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4841h0\"></path>\n<path d=\"M484.5 4841h506.5\"></path>\n<rect x=\"345.5\" y=\"4830\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"415\" y=\"4845\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M991 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4871h0\"></path>\n<path d=\"M425 4871h566\"></path>\n<rect x=\"345.5\" y=\"4860\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"385.25\" y=\"4875\">CDSCase</text>\n</a>\n</g>\n<path d=\"M991 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4901h0\"></path>\n<path d=\"M442 4901h549\"></path>\n<rect x=\"345.5\" y=\"4890\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"393.75\" y=\"4905\">CDSString</text>\n</a>\n</g>\n<path d=\"M991 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M345.5 4948h0\"></path>\n<path d=\"M991 4948h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 4948h0\"></path>\n<path d=\"M425 4948h0\"></path>\n<rect x=\"345.5\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"385.25\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M425 4948h10\"></path>\n<g>\n<path d=\"M435 4948h0\"></path>\n<path d=\"M605.5 4948h0\"></path>\n<path d=\"M435 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M455 4928h130.5\"></path>\n</g>\n<path d=\"M585.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M435 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M455 4948h0\"></path>\n<path d=\"M585.5 4948h0\"></path>\n<rect x=\"455\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"520.25\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M585.5 4948h20\"></path>\n</g>\n<g>\n<path d=\"M605.5 4948h0\"></path>\n<path d=\"M991 4948h0\"></path>\n<path d=\"M605.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M625.5 4920h345.5\"></path>\n</g>\n<path d=\"M971 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M605.5 4948h20\"></path>\n<g>\n<path d=\"M625.5 4948h0\"></path>\n<path d=\"M971 4948h0\"></path>\n<path d=\"M625.5 4948h10\"></path>\n<g>\n<path d=\"M635.5 4948h0\"></path>\n<path d=\"M961 4948h0\"></path>\n<g class=\"terminal\">\n<path d=\"M635.5 4948h0\"></path>\n<path d=\"M681 4948h0\"></path>\n<rect x=\"635.5\" y=\"4937\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"658.25\" y=\"4952\">\".\"</text>\n</g>\n<path d=\"M681 4948h10\"></path>\n<path d=\"M691 4948h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M701 4948h0\"></path>\n<path d=\"M780.5 4948h0\"></path>\n<rect x=\"701\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"740.75\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M780.5 4948h10\"></path>\n<g>\n<path d=\"M790.5 4948h0\"></path>\n<path d=\"M961 4948h0\"></path>\n<path d=\"M790.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M810.5 4928h130.5\"></path>\n</g>\n<path d=\"M941 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M790.5 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M810.5 4948h0\"></path>\n<path d=\"M941 4948h0\"></path>\n<rect x=\"810.5\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"875.75\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M941 4948h20\"></path>\n</g>\n</g>\n<path d=\"M961 4948h10\"></path>\n<path d=\"M635.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M635.5 4968h325.5\"></path>\n</g>\n<path d=\"M961 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M971 4948h20\"></path>\n</g>\n</g>\n<path d=\"M991 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M345.5 4987h0\"></path>\n<path d=\"M408 4987h583\"></path>\n<rect x=\"345.5\" y=\"4976\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"376.75\" y=\"4991\">^\\d+$</text>\n</g>\n<path d=\"M991 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1011 4781h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1021 4781h0\"></path>\n<path d=\"M1066.5 4781h0\"></path>\n<rect x=\"1021\" y=\"4770\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1043.75\" y=\"4785\">\",\"</text>\n</g>\n<path d=\"M1066.5 4781h10\"></path>\n<g>\n<path d=\"M1076.5 4781h0\"></path>\n<path d=\"M1762 4781h0\"></path>\n<path d=\"M1076.5 4781h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4781h0\"></path>\n<path d=\"M1176 4781h566\"></path>\n<rect x=\"1096.5\" y=\"4770\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1136.25\" y=\"4785\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1742 4781h20\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4811h0\"></path>\n<path d=\"M1210 4811h532\"></path>\n<rect x=\"1096.5\" y=\"4800\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1153.25\" y=\"4815\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1742 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4841h0\"></path>\n<path d=\"M1235.5 4841h506.5\"></path>\n<rect x=\"1096.5\" y=\"4830\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1166\" y=\"4845\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1742 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4871h0\"></path>\n<path d=\"M1176 4871h566\"></path>\n<rect x=\"1096.5\" y=\"4860\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1136.25\" y=\"4875\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1742 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4901h0\"></path>\n<path d=\"M1193 4901h549\"></path>\n<rect x=\"1096.5\" y=\"4890\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1144.75\" y=\"4905\">CDSString</text>\n</a>\n</g>\n<path d=\"M1742 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1096.5 4948h0\"></path>\n<path d=\"M1742 4948h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 4948h0\"></path>\n<path d=\"M1176 4948h0\"></path>\n<rect x=\"1096.5\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1136.25\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M1176 4948h10\"></path>\n<g>\n<path d=\"M1186 4948h0\"></path>\n<path d=\"M1356.5 4948h0\"></path>\n<path d=\"M1186 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1206 4928h130.5\"></path>\n</g>\n<path d=\"M1336.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1186 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1206 4948h0\"></path>\n<path d=\"M1336.5 4948h0\"></path>\n<rect x=\"1206\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1271.25\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1336.5 4948h20\"></path>\n</g>\n<g>\n<path d=\"M1356.5 4948h0\"></path>\n<path d=\"M1742 4948h0\"></path>\n<path d=\"M1356.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1376.5 4920h345.5\"></path>\n</g>\n<path d=\"M1722 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1356.5 4948h20\"></path>\n<g>\n<path d=\"M1376.5 4948h0\"></path>\n<path d=\"M1722 4948h0\"></path>\n<path d=\"M1376.5 4948h10\"></path>\n<g>\n<path d=\"M1386.5 4948h0\"></path>\n<path d=\"M1712 4948h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1386.5 4948h0\"></path>\n<path d=\"M1432 4948h0\"></path>\n<rect x=\"1386.5\" y=\"4937\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1409.25\" y=\"4952\">\".\"</text>\n</g>\n<path d=\"M1432 4948h10\"></path>\n<path d=\"M1442 4948h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1452 4948h0\"></path>\n<path d=\"M1531.5 4948h0\"></path>\n<rect x=\"1452\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1491.75\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M1531.5 4948h10\"></path>\n<g>\n<path d=\"M1541.5 4948h0\"></path>\n<path d=\"M1712 4948h0\"></path>\n<path d=\"M1541.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1561.5 4928h130.5\"></path>\n</g>\n<path d=\"M1692 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1541.5 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1561.5 4948h0\"></path>\n<path d=\"M1692 4948h0\"></path>\n<rect x=\"1561.5\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1626.75\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1692 4948h20\"></path>\n</g>\n</g>\n<path d=\"M1712 4948h10\"></path>\n<path d=\"M1386.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1386.5 4968h325.5\"></path>\n</g>\n<path d=\"M1712 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1722 4948h20\"></path>\n</g>\n</g>\n<path d=\"M1742 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1096.5 4987h0\"></path>\n<path d=\"M1159 4987h583\"></path>\n<rect x=\"1096.5\" y=\"4976\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1127.75\" y=\"4991\">^\\d+$</text>\n</g>\n<path d=\"M1742 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1762 4781h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1772 4781h0\"></path>\n<path d=\"M1817.5 4781h0\"></path>\n<rect x=\"1772\" y=\"4770\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1794.75\" y=\"4785\">\",\"</text>\n</g>\n<path d=\"M1817.5 4781h10\"></path>\n<g>\n<path d=\"M1827.5 4781h0\"></path>\n<path d=\"M2513 4781h0\"></path>\n<path d=\"M1827.5 4781h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4781h0\"></path>\n<path d=\"M1927 4781h566\"></path>\n<rect x=\"1847.5\" y=\"4770\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1887.25\" y=\"4785\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2493 4781h20\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4811h0\"></path>\n<path d=\"M1961 4811h532\"></path>\n<rect x=\"1847.5\" y=\"4800\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1904.25\" y=\"4815\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2493 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4841h0\"></path>\n<path d=\"M1986.5 4841h506.5\"></path>\n<rect x=\"1847.5\" y=\"4830\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1917\" y=\"4845\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2493 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4871h0\"></path>\n<path d=\"M1927 4871h566\"></path>\n<rect x=\"1847.5\" y=\"4860\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1887.25\" y=\"4875\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2493 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4901h0\"></path>\n<path d=\"M1944 4901h549\"></path>\n<rect x=\"1847.5\" y=\"4890\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1895.75\" y=\"4905\">CDSString</text>\n</a>\n</g>\n<path d=\"M2493 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1847.5 4948h0\"></path>\n<path d=\"M2493 4948h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 4948h0\"></path>\n<path d=\"M1927 4948h0\"></path>\n<rect x=\"1847.5\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1887.25\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M1927 4948h10\"></path>\n<g>\n<path d=\"M1937 4948h0\"></path>\n<path d=\"M2107.5 4948h0\"></path>\n<path d=\"M1937 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1957 4928h130.5\"></path>\n</g>\n<path d=\"M2087.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1937 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1957 4948h0\"></path>\n<path d=\"M2087.5 4948h0\"></path>\n<rect x=\"1957\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2022.25\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2087.5 4948h20\"></path>\n</g>\n<g>\n<path d=\"M2107.5 4948h0\"></path>\n<path d=\"M2493 4948h0\"></path>\n<path d=\"M2107.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2127.5 4920h345.5\"></path>\n</g>\n<path d=\"M2473 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2107.5 4948h20\"></path>\n<g>\n<path d=\"M2127.5 4948h0\"></path>\n<path d=\"M2473 4948h0\"></path>\n<path d=\"M2127.5 4948h10\"></path>\n<g>\n<path d=\"M2137.5 4948h0\"></path>\n<path d=\"M2463 4948h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2137.5 4948h0\"></path>\n<path d=\"M2183 4948h0\"></path>\n<rect x=\"2137.5\" y=\"4937\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2160.25\" y=\"4952\">\".\"</text>\n</g>\n<path d=\"M2183 4948h10\"></path>\n<path d=\"M2193 4948h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2203 4948h0\"></path>\n<path d=\"M2282.5 4948h0\"></path>\n<rect x=\"2203\" y=\"4937\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2242.75\" y=\"4952\">CDSName</text>\n</a>\n</g>\n<path d=\"M2282.5 4948h10\"></path>\n<g>\n<path d=\"M2292.5 4948h0\"></path>\n<path d=\"M2463 4948h0\"></path>\n<path d=\"M2292.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2312.5 4928h130.5\"></path>\n</g>\n<path d=\"M2443 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2292.5 4948h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2312.5 4948h0\"></path>\n<path d=\"M2443 4948h0\"></path>\n<rect x=\"2312.5\" y=\"4937\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2377.75\" y=\"4952\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2443 4948h20\"></path>\n</g>\n</g>\n<path d=\"M2463 4948h10\"></path>\n<path d=\"M2137.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2137.5 4968h325.5\"></path>\n</g>\n<path d=\"M2463 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2473 4948h20\"></path>\n</g>\n</g>\n<path d=\"M2493 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1847.5 4987h0\"></path>\n<path d=\"M1910 4987h583\"></path>\n<rect x=\"1847.5\" y=\"4976\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1878.75\" y=\"4991\">^\\d+$</text>\n</g>\n<path d=\"M2493 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2513 4781h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2523 4781h0\"></path>\n<path d=\"M2568.5 4781h0\"></path>\n<rect x=\"2523\" y=\"4770\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2545.75\" y=\"4785\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 4781a10 10 0 0 0 10 -10v-4730a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v4966a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 5017h0\"></path>\n<path d=\"M981.5 5017h3089\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5017h0\"></path>\n<path d=\"M165 5017h0\"></path>\n<rect x=\"60\" y=\"5006\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"112.5\" y=\"5021\">\"BINTOHEX\"</text>\n</g>\n<path d=\"M165 5017h10\"></path>\n<path d=\"M175 5017h10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 5017h0\"></path>\n<path d=\"M230.5 5017h0\"></path>\n<rect x=\"185\" y=\"5006\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"5021\">\"(\"</text>\n</g>\n<path d=\"M230.5 5017h10\"></path>\n<g>\n<path d=\"M240.5 5017h0\"></path>\n<path d=\"M926 5017h0\"></path>\n<path d=\"M240.5 5017h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5017h0\"></path>\n<path d=\"M340 5017h566\"></path>\n<rect x=\"260.5\" y=\"5006\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"300.25\" y=\"5021\">CDSCast</text>\n</a>\n</g>\n<path d=\"M906 5017h20\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5047h0\"></path>\n<path d=\"M374 5047h532\"></path>\n<rect x=\"260.5\" y=\"5036\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"317.25\" y=\"5051\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M906 5047a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5077h0\"></path>\n<path d=\"M399.5 5077h506.5\"></path>\n<rect x=\"260.5\" y=\"5066\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"330\" y=\"5081\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M906 5077a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5107h0\"></path>\n<path d=\"M340 5107h566\"></path>\n<rect x=\"260.5\" y=\"5096\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"300.25\" y=\"5111\">CDSCase</text>\n</a>\n</g>\n<path d=\"M906 5107a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5137h0\"></path>\n<path d=\"M357 5137h549\"></path>\n<rect x=\"260.5\" y=\"5126\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"308.75\" y=\"5141\">CDSString</text>\n</a>\n</g>\n<path d=\"M906 5137a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M260.5 5184h0\"></path>\n<path d=\"M906 5184h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5184h0\"></path>\n<path d=\"M340 5184h0\"></path>\n<rect x=\"260.5\" y=\"5173\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"300.25\" y=\"5188\">CDSName</text>\n</a>\n</g>\n<path d=\"M340 5184h10\"></path>\n<g>\n<path d=\"M350 5184h0\"></path>\n<path d=\"M520.5 5184h0\"></path>\n<path d=\"M350 5184a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M370 5164h130.5\"></path>\n</g>\n<path d=\"M500.5 5164a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M350 5184h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 5184h0\"></path>\n<path d=\"M500.5 5184h0\"></path>\n<rect x=\"370\" y=\"5173\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"435.25\" y=\"5188\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M500.5 5184h20\"></path>\n</g>\n<g>\n<path d=\"M520.5 5184h0\"></path>\n<path d=\"M906 5184h0\"></path>\n<path d=\"M520.5 5184a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M540.5 5156h345.5\"></path>\n</g>\n<path d=\"M886 5156a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M520.5 5184h20\"></path>\n<g>\n<path d=\"M540.5 5184h0\"></path>\n<path d=\"M886 5184h0\"></path>\n<path d=\"M540.5 5184h10\"></path>\n<g>\n<path d=\"M550.5 5184h0\"></path>\n<path d=\"M876 5184h0\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 5184h0\"></path>\n<path d=\"M596 5184h0\"></path>\n<rect x=\"550.5\" y=\"5173\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"5188\">\".\"</text>\n</g>\n<path d=\"M596 5184h10\"></path>\n<path d=\"M606 5184h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616 5184h0\"></path>\n<path d=\"M695.5 5184h0\"></path>\n<rect x=\"616\" y=\"5173\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"655.75\" y=\"5188\">CDSName</text>\n</a>\n</g>\n<path d=\"M695.5 5184h10\"></path>\n<g>\n<path d=\"M705.5 5184h0\"></path>\n<path d=\"M876 5184h0\"></path>\n<path d=\"M705.5 5184a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M725.5 5164h130.5\"></path>\n</g>\n<path d=\"M856 5164a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M705.5 5184h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725.5 5184h0\"></path>\n<path d=\"M856 5184h0\"></path>\n<rect x=\"725.5\" y=\"5173\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"790.75\" y=\"5188\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M856 5184h20\"></path>\n</g>\n</g>\n<path d=\"M876 5184h10\"></path>\n<path d=\"M550.5 5184a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M550.5 5204h325.5\"></path>\n</g>\n<path d=\"M876 5204a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M886 5184h20\"></path>\n</g>\n</g>\n<path d=\"M906 5184a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5017a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 5223h0\"></path>\n<path d=\"M323 5223h583\"></path>\n<rect x=\"260.5\" y=\"5212\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"5227\">^\\d+$</text>\n</g>\n<path d=\"M906 5223a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M926 5017h10\"></path>\n<g class=\"terminal\">\n<path d=\"M936 5017h0\"></path>\n<path d=\"M981.5 5017h0\"></path>\n<rect x=\"936\" y=\"5006\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"958.75\" y=\"5021\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 5017a10 10 0 0 0 10 -10v-4966a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5202a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 5253h0\"></path>\n<path d=\"M981.5 5253h3089\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5253h0\"></path>\n<path d=\"M165 5253h0\"></path>\n<rect x=\"60\" y=\"5242\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"112.5\" y=\"5257\">\"HEXTOBIN\"</text>\n</g>\n<path d=\"M165 5253h10\"></path>\n<path d=\"M175 5253h10\"></path>\n<g class=\"terminal\">\n<path d=\"M185 5253h0\"></path>\n<path d=\"M230.5 5253h0\"></path>\n<rect x=\"185\" y=\"5242\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"207.75\" y=\"5257\">\"(\"</text>\n</g>\n<path d=\"M230.5 5253h10\"></path>\n<g>\n<path d=\"M240.5 5253h0\"></path>\n<path d=\"M926 5253h0\"></path>\n<path d=\"M240.5 5253h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5253h0\"></path>\n<path d=\"M340 5253h566\"></path>\n<rect x=\"260.5\" y=\"5242\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"300.25\" y=\"5257\">CDSCast</text>\n</a>\n</g>\n<path d=\"M906 5253h20\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5283h0\"></path>\n<path d=\"M374 5283h532\"></path>\n<rect x=\"260.5\" y=\"5272\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"317.25\" y=\"5287\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M906 5283a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5313h0\"></path>\n<path d=\"M399.5 5313h506.5\"></path>\n<rect x=\"260.5\" y=\"5302\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"330\" y=\"5317\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M906 5313a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5343h0\"></path>\n<path d=\"M340 5343h566\"></path>\n<rect x=\"260.5\" y=\"5332\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"300.25\" y=\"5347\">CDSCase</text>\n</a>\n</g>\n<path d=\"M906 5343a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5373h0\"></path>\n<path d=\"M357 5373h549\"></path>\n<rect x=\"260.5\" y=\"5362\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"308.75\" y=\"5377\">CDSString</text>\n</a>\n</g>\n<path d=\"M906 5373a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M260.5 5420h0\"></path>\n<path d=\"M906 5420h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M260.5 5420h0\"></path>\n<path d=\"M340 5420h0\"></path>\n<rect x=\"260.5\" y=\"5409\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"300.25\" y=\"5424\">CDSName</text>\n</a>\n</g>\n<path d=\"M340 5420h10\"></path>\n<g>\n<path d=\"M350 5420h0\"></path>\n<path d=\"M520.5 5420h0\"></path>\n<path d=\"M350 5420a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M370 5400h130.5\"></path>\n</g>\n<path d=\"M500.5 5400a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M350 5420h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M370 5420h0\"></path>\n<path d=\"M500.5 5420h0\"></path>\n<rect x=\"370\" y=\"5409\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"435.25\" y=\"5424\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M500.5 5420h20\"></path>\n</g>\n<g>\n<path d=\"M520.5 5420h0\"></path>\n<path d=\"M906 5420h0\"></path>\n<path d=\"M520.5 5420a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M540.5 5392h345.5\"></path>\n</g>\n<path d=\"M886 5392a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M520.5 5420h20\"></path>\n<g>\n<path d=\"M540.5 5420h0\"></path>\n<path d=\"M886 5420h0\"></path>\n<path d=\"M540.5 5420h10\"></path>\n<g>\n<path d=\"M550.5 5420h0\"></path>\n<path d=\"M876 5420h0\"></path>\n<g class=\"terminal\">\n<path d=\"M550.5 5420h0\"></path>\n<path d=\"M596 5420h0\"></path>\n<rect x=\"550.5\" y=\"5409\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.25\" y=\"5424\">\".\"</text>\n</g>\n<path d=\"M596 5420h10\"></path>\n<path d=\"M606 5420h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616 5420h0\"></path>\n<path d=\"M695.5 5420h0\"></path>\n<rect x=\"616\" y=\"5409\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"655.75\" y=\"5424\">CDSName</text>\n</a>\n</g>\n<path d=\"M695.5 5420h10\"></path>\n<g>\n<path d=\"M705.5 5420h0\"></path>\n<path d=\"M876 5420h0\"></path>\n<path d=\"M705.5 5420a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M725.5 5400h130.5\"></path>\n</g>\n<path d=\"M856 5400a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M705.5 5420h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M725.5 5420h0\"></path>\n<path d=\"M856 5420h0\"></path>\n<rect x=\"725.5\" y=\"5409\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"790.75\" y=\"5424\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M856 5420h20\"></path>\n</g>\n</g>\n<path d=\"M876 5420h10\"></path>\n<path d=\"M550.5 5420a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M550.5 5440h325.5\"></path>\n</g>\n<path d=\"M876 5440a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M886 5420h20\"></path>\n</g>\n</g>\n<path d=\"M906 5420a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M240.5 5253a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M260.5 5459h0\"></path>\n<path d=\"M323 5459h583\"></path>\n<rect x=\"260.5\" y=\"5448\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"291.75\" y=\"5463\">^\\d+$</text>\n</g>\n<path d=\"M906 5459a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M926 5253h10\"></path>\n<g class=\"terminal\">\n<path d=\"M936 5253h0\"></path>\n<path d=\"M981.5 5253h0\"></path>\n<rect x=\"936\" y=\"5242\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"958.75\" y=\"5257\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 5253a10 10 0 0 0 10 -10v-5202a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5438a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 5489h0\"></path>\n<path d=\"M2526 5489h1544.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5489h0\"></path>\n<path d=\"M207.5 5489h0\"></path>\n<rect x=\"60\" y=\"5478\" width=\"147.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"133.75\" y=\"5493\">\"DATS&#95;ADD&#95;DAYS\"</text>\n</g>\n<path d=\"M207.5 5489h10\"></path>\n<path d=\"M217.5 5489h10\"></path>\n<g class=\"terminal\">\n<path d=\"M227.5 5489h0\"></path>\n<path d=\"M273 5489h0\"></path>\n<rect x=\"227.5\" y=\"5478\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"250.25\" y=\"5493\">\"(\"</text>\n</g>\n<path d=\"M273 5489h10\"></path>\n<g>\n<path d=\"M283 5489h0\"></path>\n<path d=\"M968.5 5489h0\"></path>\n<path d=\"M283 5489h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5489h0\"></path>\n<path d=\"M382.5 5489h566\"></path>\n<rect x=\"303\" y=\"5478\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"342.75\" y=\"5493\">CDSCast</text>\n</a>\n</g>\n<path d=\"M948.5 5489h20\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5519h0\"></path>\n<path d=\"M416.5 5519h532\"></path>\n<rect x=\"303\" y=\"5508\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"359.75\" y=\"5523\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M948.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5549h0\"></path>\n<path d=\"M442 5549h506.5\"></path>\n<rect x=\"303\" y=\"5538\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"372.5\" y=\"5553\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M948.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5579h0\"></path>\n<path d=\"M382.5 5579h566\"></path>\n<rect x=\"303\" y=\"5568\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"342.75\" y=\"5583\">CDSCase</text>\n</a>\n</g>\n<path d=\"M948.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5609h0\"></path>\n<path d=\"M399.5 5609h549\"></path>\n<rect x=\"303\" y=\"5598\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"351.25\" y=\"5613\">CDSString</text>\n</a>\n</g>\n<path d=\"M948.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M303 5656h0\"></path>\n<path d=\"M948.5 5656h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M303 5656h0\"></path>\n<path d=\"M382.5 5656h0\"></path>\n<rect x=\"303\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"342.75\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M382.5 5656h10\"></path>\n<g>\n<path d=\"M392.5 5656h0\"></path>\n<path d=\"M563 5656h0\"></path>\n<path d=\"M392.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M412.5 5636h130.5\"></path>\n</g>\n<path d=\"M543 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M392.5 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M412.5 5656h0\"></path>\n<path d=\"M543 5656h0\"></path>\n<rect x=\"412.5\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"477.75\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M543 5656h20\"></path>\n</g>\n<g>\n<path d=\"M563 5656h0\"></path>\n<path d=\"M948.5 5656h0\"></path>\n<path d=\"M563 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M583 5628h345.5\"></path>\n</g>\n<path d=\"M928.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M563 5656h20\"></path>\n<g>\n<path d=\"M583 5656h0\"></path>\n<path d=\"M928.5 5656h0\"></path>\n<path d=\"M583 5656h10\"></path>\n<g>\n<path d=\"M593 5656h0\"></path>\n<path d=\"M918.5 5656h0\"></path>\n<g class=\"terminal\">\n<path d=\"M593 5656h0\"></path>\n<path d=\"M638.5 5656h0\"></path>\n<rect x=\"593\" y=\"5645\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"615.75\" y=\"5660\">\".\"</text>\n</g>\n<path d=\"M638.5 5656h10\"></path>\n<path d=\"M648.5 5656h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M658.5 5656h0\"></path>\n<path d=\"M738 5656h0\"></path>\n<rect x=\"658.5\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"698.25\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M738 5656h10\"></path>\n<g>\n<path d=\"M748 5656h0\"></path>\n<path d=\"M918.5 5656h0\"></path>\n<path d=\"M748 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M768 5636h130.5\"></path>\n</g>\n<path d=\"M898.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M748 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M768 5656h0\"></path>\n<path d=\"M898.5 5656h0\"></path>\n<rect x=\"768\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"833.25\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M898.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M918.5 5656h10\"></path>\n<path d=\"M593 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M593 5676h325.5\"></path>\n</g>\n<path d=\"M918.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M928.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M948.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M283 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M303 5695h0\"></path>\n<path d=\"M365.5 5695h583\"></path>\n<rect x=\"303\" y=\"5684\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"334.25\" y=\"5699\">^\\d+$</text>\n</g>\n<path d=\"M948.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M968.5 5489h10\"></path>\n<g class=\"terminal\">\n<path d=\"M978.5 5489h0\"></path>\n<path d=\"M1024 5489h0\"></path>\n<rect x=\"978.5\" y=\"5478\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1001.25\" y=\"5493\">\",\"</text>\n</g>\n<path d=\"M1024 5489h10\"></path>\n<g>\n<path d=\"M1034 5489h0\"></path>\n<path d=\"M1719.5 5489h0\"></path>\n<path d=\"M1034 5489h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5489h0\"></path>\n<path d=\"M1133.5 5489h566\"></path>\n<rect x=\"1054\" y=\"5478\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1093.75\" y=\"5493\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1699.5 5489h20\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5519h0\"></path>\n<path d=\"M1167.5 5519h532\"></path>\n<rect x=\"1054\" y=\"5508\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1110.75\" y=\"5523\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1699.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5549h0\"></path>\n<path d=\"M1193 5549h506.5\"></path>\n<rect x=\"1054\" y=\"5538\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1123.5\" y=\"5553\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1699.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5579h0\"></path>\n<path d=\"M1133.5 5579h566\"></path>\n<rect x=\"1054\" y=\"5568\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1093.75\" y=\"5583\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1699.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5609h0\"></path>\n<path d=\"M1150.5 5609h549\"></path>\n<rect x=\"1054\" y=\"5598\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1102.25\" y=\"5613\">CDSString</text>\n</a>\n</g>\n<path d=\"M1699.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1054 5656h0\"></path>\n<path d=\"M1699.5 5656h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1054 5656h0\"></path>\n<path d=\"M1133.5 5656h0\"></path>\n<rect x=\"1054\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1093.75\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M1133.5 5656h10\"></path>\n<g>\n<path d=\"M1143.5 5656h0\"></path>\n<path d=\"M1314 5656h0\"></path>\n<path d=\"M1143.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1163.5 5636h130.5\"></path>\n</g>\n<path d=\"M1294 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1143.5 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1163.5 5656h0\"></path>\n<path d=\"M1294 5656h0\"></path>\n<rect x=\"1163.5\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1228.75\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1294 5656h20\"></path>\n</g>\n<g>\n<path d=\"M1314 5656h0\"></path>\n<path d=\"M1699.5 5656h0\"></path>\n<path d=\"M1314 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1334 5628h345.5\"></path>\n</g>\n<path d=\"M1679.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1314 5656h20\"></path>\n<g>\n<path d=\"M1334 5656h0\"></path>\n<path d=\"M1679.5 5656h0\"></path>\n<path d=\"M1334 5656h10\"></path>\n<g>\n<path d=\"M1344 5656h0\"></path>\n<path d=\"M1669.5 5656h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1344 5656h0\"></path>\n<path d=\"M1389.5 5656h0\"></path>\n<rect x=\"1344\" y=\"5645\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1366.75\" y=\"5660\">\".\"</text>\n</g>\n<path d=\"M1389.5 5656h10\"></path>\n<path d=\"M1399.5 5656h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1409.5 5656h0\"></path>\n<path d=\"M1489 5656h0\"></path>\n<rect x=\"1409.5\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1449.25\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M1489 5656h10\"></path>\n<g>\n<path d=\"M1499 5656h0\"></path>\n<path d=\"M1669.5 5656h0\"></path>\n<path d=\"M1499 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1519 5636h130.5\"></path>\n</g>\n<path d=\"M1649.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1499 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1519 5656h0\"></path>\n<path d=\"M1649.5 5656h0\"></path>\n<rect x=\"1519\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1584.25\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1649.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M1669.5 5656h10\"></path>\n<path d=\"M1344 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1344 5676h325.5\"></path>\n</g>\n<path d=\"M1669.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1679.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M1699.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1034 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1054 5695h0\"></path>\n<path d=\"M1116.5 5695h583\"></path>\n<rect x=\"1054\" y=\"5684\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1085.25\" y=\"5699\">^\\d+$</text>\n</g>\n<path d=\"M1699.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1719.5 5489h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1729.5 5489h0\"></path>\n<path d=\"M1775 5489h0\"></path>\n<rect x=\"1729.5\" y=\"5478\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1752.25\" y=\"5493\">\",\"</text>\n</g>\n<path d=\"M1775 5489h10\"></path>\n<g>\n<path d=\"M1785 5489h0\"></path>\n<path d=\"M2470.5 5489h0\"></path>\n<path d=\"M1785 5489h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5489h0\"></path>\n<path d=\"M1884.5 5489h566\"></path>\n<rect x=\"1805\" y=\"5478\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1844.75\" y=\"5493\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2450.5 5489h20\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5519h0\"></path>\n<path d=\"M1918.5 5519h532\"></path>\n<rect x=\"1805\" y=\"5508\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1861.75\" y=\"5523\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2450.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5549h0\"></path>\n<path d=\"M1944 5549h506.5\"></path>\n<rect x=\"1805\" y=\"5538\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1874.5\" y=\"5553\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2450.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5579h0\"></path>\n<path d=\"M1884.5 5579h566\"></path>\n<rect x=\"1805\" y=\"5568\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1844.75\" y=\"5583\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2450.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5609h0\"></path>\n<path d=\"M1901.5 5609h549\"></path>\n<rect x=\"1805\" y=\"5598\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1853.25\" y=\"5613\">CDSString</text>\n</a>\n</g>\n<path d=\"M2450.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1805 5656h0\"></path>\n<path d=\"M2450.5 5656h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1805 5656h0\"></path>\n<path d=\"M1884.5 5656h0\"></path>\n<rect x=\"1805\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1844.75\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M1884.5 5656h10\"></path>\n<g>\n<path d=\"M1894.5 5656h0\"></path>\n<path d=\"M2065 5656h0\"></path>\n<path d=\"M1894.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1914.5 5636h130.5\"></path>\n</g>\n<path d=\"M2045 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1894.5 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1914.5 5656h0\"></path>\n<path d=\"M2045 5656h0\"></path>\n<rect x=\"1914.5\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1979.75\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2045 5656h20\"></path>\n</g>\n<g>\n<path d=\"M2065 5656h0\"></path>\n<path d=\"M2450.5 5656h0\"></path>\n<path d=\"M2065 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2085 5628h345.5\"></path>\n</g>\n<path d=\"M2430.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2065 5656h20\"></path>\n<g>\n<path d=\"M2085 5656h0\"></path>\n<path d=\"M2430.5 5656h0\"></path>\n<path d=\"M2085 5656h10\"></path>\n<g>\n<path d=\"M2095 5656h0\"></path>\n<path d=\"M2420.5 5656h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2095 5656h0\"></path>\n<path d=\"M2140.5 5656h0\"></path>\n<rect x=\"2095\" y=\"5645\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2117.75\" y=\"5660\">\".\"</text>\n</g>\n<path d=\"M2140.5 5656h10\"></path>\n<path d=\"M2150.5 5656h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2160.5 5656h0\"></path>\n<path d=\"M2240 5656h0\"></path>\n<rect x=\"2160.5\" y=\"5645\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2200.25\" y=\"5660\">CDSName</text>\n</a>\n</g>\n<path d=\"M2240 5656h10\"></path>\n<g>\n<path d=\"M2250 5656h0\"></path>\n<path d=\"M2420.5 5656h0\"></path>\n<path d=\"M2250 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2270 5636h130.5\"></path>\n</g>\n<path d=\"M2400.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2250 5656h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2270 5656h0\"></path>\n<path d=\"M2400.5 5656h0\"></path>\n<rect x=\"2270\" y=\"5645\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2335.25\" y=\"5660\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2400.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M2420.5 5656h10\"></path>\n<path d=\"M2095 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2095 5676h325.5\"></path>\n</g>\n<path d=\"M2420.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2430.5 5656h20\"></path>\n</g>\n</g>\n<path d=\"M2450.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1785 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1805 5695h0\"></path>\n<path d=\"M1867.5 5695h583\"></path>\n<rect x=\"1805\" y=\"5684\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1836.25\" y=\"5699\">^\\d+$</text>\n</g>\n<path d=\"M2450.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2470.5 5489h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2480.5 5489h0\"></path>\n<path d=\"M2526 5489h0\"></path>\n<rect x=\"2480.5\" y=\"5478\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2503.25\" y=\"5493\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 5489a10 10 0 0 0 10 -10v-5438a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5674a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 5725h0\"></path>\n<path d=\"M2543 5725h1527.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5725h0\"></path>\n<path d=\"M224.5 5725h0\"></path>\n<rect x=\"60\" y=\"5714\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"142.25\" y=\"5729\">\"DATS&#95;ADD&#95;MONTHS\"</text>\n</g>\n<path d=\"M224.5 5725h10\"></path>\n<path d=\"M234.5 5725h10\"></path>\n<g class=\"terminal\">\n<path d=\"M244.5 5725h0\"></path>\n<path d=\"M290 5725h0\"></path>\n<rect x=\"244.5\" y=\"5714\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"267.25\" y=\"5729\">\"(\"</text>\n</g>\n<path d=\"M290 5725h10\"></path>\n<g>\n<path d=\"M300 5725h0\"></path>\n<path d=\"M985.5 5725h0\"></path>\n<path d=\"M300 5725h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5725h0\"></path>\n<path d=\"M399.5 5725h566\"></path>\n<rect x=\"320\" y=\"5714\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"359.75\" y=\"5729\">CDSCast</text>\n</a>\n</g>\n<path d=\"M965.5 5725h20\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5755h0\"></path>\n<path d=\"M433.5 5755h532\"></path>\n<rect x=\"320\" y=\"5744\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"376.75\" y=\"5759\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M965.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5785h0\"></path>\n<path d=\"M459 5785h506.5\"></path>\n<rect x=\"320\" y=\"5774\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"389.5\" y=\"5789\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M965.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5815h0\"></path>\n<path d=\"M399.5 5815h566\"></path>\n<rect x=\"320\" y=\"5804\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"359.75\" y=\"5819\">CDSCase</text>\n</a>\n</g>\n<path d=\"M965.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5845h0\"></path>\n<path d=\"M416.5 5845h549\"></path>\n<rect x=\"320\" y=\"5834\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"368.25\" y=\"5849\">CDSString</text>\n</a>\n</g>\n<path d=\"M965.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M320 5892h0\"></path>\n<path d=\"M965.5 5892h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M320 5892h0\"></path>\n<path d=\"M399.5 5892h0\"></path>\n<rect x=\"320\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"359.75\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M399.5 5892h10\"></path>\n<g>\n<path d=\"M409.5 5892h0\"></path>\n<path d=\"M580 5892h0\"></path>\n<path d=\"M409.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M429.5 5872h130.5\"></path>\n</g>\n<path d=\"M560 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M409.5 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M429.5 5892h0\"></path>\n<path d=\"M560 5892h0\"></path>\n<rect x=\"429.5\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"494.75\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M560 5892h20\"></path>\n</g>\n<g>\n<path d=\"M580 5892h0\"></path>\n<path d=\"M965.5 5892h0\"></path>\n<path d=\"M580 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M600 5864h345.5\"></path>\n</g>\n<path d=\"M945.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M580 5892h20\"></path>\n<g>\n<path d=\"M600 5892h0\"></path>\n<path d=\"M945.5 5892h0\"></path>\n<path d=\"M600 5892h10\"></path>\n<g>\n<path d=\"M610 5892h0\"></path>\n<path d=\"M935.5 5892h0\"></path>\n<g class=\"terminal\">\n<path d=\"M610 5892h0\"></path>\n<path d=\"M655.5 5892h0\"></path>\n<rect x=\"610\" y=\"5881\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"632.75\" y=\"5896\">\".\"</text>\n</g>\n<path d=\"M655.5 5892h10\"></path>\n<path d=\"M665.5 5892h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M675.5 5892h0\"></path>\n<path d=\"M755 5892h0\"></path>\n<rect x=\"675.5\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"715.25\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M755 5892h10\"></path>\n<g>\n<path d=\"M765 5892h0\"></path>\n<path d=\"M935.5 5892h0\"></path>\n<path d=\"M765 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M785 5872h130.5\"></path>\n</g>\n<path d=\"M915.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M765 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M785 5892h0\"></path>\n<path d=\"M915.5 5892h0\"></path>\n<rect x=\"785\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"850.25\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M915.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M935.5 5892h10\"></path>\n<path d=\"M610 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M610 5912h325.5\"></path>\n</g>\n<path d=\"M935.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M945.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M965.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M300 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M320 5931h0\"></path>\n<path d=\"M382.5 5931h583\"></path>\n<rect x=\"320\" y=\"5920\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"351.25\" y=\"5935\">^\\d+$</text>\n</g>\n<path d=\"M965.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M985.5 5725h10\"></path>\n<g class=\"terminal\">\n<path d=\"M995.5 5725h0\"></path>\n<path d=\"M1041 5725h0\"></path>\n<rect x=\"995.5\" y=\"5714\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1018.25\" y=\"5729\">\",\"</text>\n</g>\n<path d=\"M1041 5725h10\"></path>\n<g>\n<path d=\"M1051 5725h0\"></path>\n<path d=\"M1736.5 5725h0\"></path>\n<path d=\"M1051 5725h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5725h0\"></path>\n<path d=\"M1150.5 5725h566\"></path>\n<rect x=\"1071\" y=\"5714\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1110.75\" y=\"5729\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1716.5 5725h20\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5755h0\"></path>\n<path d=\"M1184.5 5755h532\"></path>\n<rect x=\"1071\" y=\"5744\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1127.75\" y=\"5759\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1716.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5785h0\"></path>\n<path d=\"M1210 5785h506.5\"></path>\n<rect x=\"1071\" y=\"5774\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1140.5\" y=\"5789\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1716.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5815h0\"></path>\n<path d=\"M1150.5 5815h566\"></path>\n<rect x=\"1071\" y=\"5804\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1110.75\" y=\"5819\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1716.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5845h0\"></path>\n<path d=\"M1167.5 5845h549\"></path>\n<rect x=\"1071\" y=\"5834\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1119.25\" y=\"5849\">CDSString</text>\n</a>\n</g>\n<path d=\"M1716.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1071 5892h0\"></path>\n<path d=\"M1716.5 5892h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1071 5892h0\"></path>\n<path d=\"M1150.5 5892h0\"></path>\n<rect x=\"1071\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1110.75\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M1150.5 5892h10\"></path>\n<g>\n<path d=\"M1160.5 5892h0\"></path>\n<path d=\"M1331 5892h0\"></path>\n<path d=\"M1160.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1180.5 5872h130.5\"></path>\n</g>\n<path d=\"M1311 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1160.5 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1180.5 5892h0\"></path>\n<path d=\"M1311 5892h0\"></path>\n<rect x=\"1180.5\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1245.75\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1311 5892h20\"></path>\n</g>\n<g>\n<path d=\"M1331 5892h0\"></path>\n<path d=\"M1716.5 5892h0\"></path>\n<path d=\"M1331 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1351 5864h345.5\"></path>\n</g>\n<path d=\"M1696.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1331 5892h20\"></path>\n<g>\n<path d=\"M1351 5892h0\"></path>\n<path d=\"M1696.5 5892h0\"></path>\n<path d=\"M1351 5892h10\"></path>\n<g>\n<path d=\"M1361 5892h0\"></path>\n<path d=\"M1686.5 5892h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1361 5892h0\"></path>\n<path d=\"M1406.5 5892h0\"></path>\n<rect x=\"1361\" y=\"5881\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1383.75\" y=\"5896\">\".\"</text>\n</g>\n<path d=\"M1406.5 5892h10\"></path>\n<path d=\"M1416.5 5892h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1426.5 5892h0\"></path>\n<path d=\"M1506 5892h0\"></path>\n<rect x=\"1426.5\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1466.25\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M1506 5892h10\"></path>\n<g>\n<path d=\"M1516 5892h0\"></path>\n<path d=\"M1686.5 5892h0\"></path>\n<path d=\"M1516 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1536 5872h130.5\"></path>\n</g>\n<path d=\"M1666.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1516 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1536 5892h0\"></path>\n<path d=\"M1666.5 5892h0\"></path>\n<rect x=\"1536\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1601.25\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1666.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M1686.5 5892h10\"></path>\n<path d=\"M1361 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1361 5912h325.5\"></path>\n</g>\n<path d=\"M1686.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1696.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M1716.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1051 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1071 5931h0\"></path>\n<path d=\"M1133.5 5931h583\"></path>\n<rect x=\"1071\" y=\"5920\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1102.25\" y=\"5935\">^\\d+$</text>\n</g>\n<path d=\"M1716.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1736.5 5725h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1746.5 5725h0\"></path>\n<path d=\"M1792 5725h0\"></path>\n<rect x=\"1746.5\" y=\"5714\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1769.25\" y=\"5729\">\",\"</text>\n</g>\n<path d=\"M1792 5725h10\"></path>\n<g>\n<path d=\"M1802 5725h0\"></path>\n<path d=\"M2487.5 5725h0\"></path>\n<path d=\"M1802 5725h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5725h0\"></path>\n<path d=\"M1901.5 5725h566\"></path>\n<rect x=\"1822\" y=\"5714\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1861.75\" y=\"5729\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2467.5 5725h20\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5755h0\"></path>\n<path d=\"M1935.5 5755h532\"></path>\n<rect x=\"1822\" y=\"5744\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1878.75\" y=\"5759\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2467.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5785h0\"></path>\n<path d=\"M1961 5785h506.5\"></path>\n<rect x=\"1822\" y=\"5774\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1891.5\" y=\"5789\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2467.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5815h0\"></path>\n<path d=\"M1901.5 5815h566\"></path>\n<rect x=\"1822\" y=\"5804\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1861.75\" y=\"5819\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2467.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5845h0\"></path>\n<path d=\"M1918.5 5845h549\"></path>\n<rect x=\"1822\" y=\"5834\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1870.25\" y=\"5849\">CDSString</text>\n</a>\n</g>\n<path d=\"M2467.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1822 5892h0\"></path>\n<path d=\"M2467.5 5892h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1822 5892h0\"></path>\n<path d=\"M1901.5 5892h0\"></path>\n<rect x=\"1822\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1861.75\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M1901.5 5892h10\"></path>\n<g>\n<path d=\"M1911.5 5892h0\"></path>\n<path d=\"M2082 5892h0\"></path>\n<path d=\"M1911.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1931.5 5872h130.5\"></path>\n</g>\n<path d=\"M2062 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1911.5 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1931.5 5892h0\"></path>\n<path d=\"M2062 5892h0\"></path>\n<rect x=\"1931.5\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1996.75\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2062 5892h20\"></path>\n</g>\n<g>\n<path d=\"M2082 5892h0\"></path>\n<path d=\"M2467.5 5892h0\"></path>\n<path d=\"M2082 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2102 5864h345.5\"></path>\n</g>\n<path d=\"M2447.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2082 5892h20\"></path>\n<g>\n<path d=\"M2102 5892h0\"></path>\n<path d=\"M2447.5 5892h0\"></path>\n<path d=\"M2102 5892h10\"></path>\n<g>\n<path d=\"M2112 5892h0\"></path>\n<path d=\"M2437.5 5892h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2112 5892h0\"></path>\n<path d=\"M2157.5 5892h0\"></path>\n<rect x=\"2112\" y=\"5881\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2134.75\" y=\"5896\">\".\"</text>\n</g>\n<path d=\"M2157.5 5892h10\"></path>\n<path d=\"M2167.5 5892h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2177.5 5892h0\"></path>\n<path d=\"M2257 5892h0\"></path>\n<rect x=\"2177.5\" y=\"5881\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2217.25\" y=\"5896\">CDSName</text>\n</a>\n</g>\n<path d=\"M2257 5892h10\"></path>\n<g>\n<path d=\"M2267 5892h0\"></path>\n<path d=\"M2437.5 5892h0\"></path>\n<path d=\"M2267 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2287 5872h130.5\"></path>\n</g>\n<path d=\"M2417.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2267 5892h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2287 5892h0\"></path>\n<path d=\"M2417.5 5892h0\"></path>\n<rect x=\"2287\" y=\"5881\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2352.25\" y=\"5896\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2417.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M2437.5 5892h10\"></path>\n<path d=\"M2112 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2112 5912h325.5\"></path>\n</g>\n<path d=\"M2437.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2447.5 5892h20\"></path>\n</g>\n</g>\n<path d=\"M2467.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1802 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1822 5931h0\"></path>\n<path d=\"M1884.5 5931h583\"></path>\n<rect x=\"1822\" y=\"5920\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1853.25\" y=\"5935\">^\\d+$</text>\n</g>\n<path d=\"M2467.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2487.5 5725h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2497.5 5725h0\"></path>\n<path d=\"M2543 5725h0\"></path>\n<rect x=\"2497.5\" y=\"5714\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2520.25\" y=\"5729\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 5725a10 10 0 0 0 10 -10v-5674a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v5910a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 5961h0\"></path>\n<path d=\"M3268.5 5961h802\"></path>\n<g class=\"terminal\">\n<path d=\"M60 5961h0\"></path>\n<path d=\"M199 5961h0\"></path>\n<rect x=\"60\" y=\"5950\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.5\" y=\"5965\">\"TSTMP&#95;TO&#95;DST\"</text>\n</g>\n<path d=\"M199 5961h10\"></path>\n<path d=\"M209 5961h10\"></path>\n<g class=\"terminal\">\n<path d=\"M219 5961h0\"></path>\n<path d=\"M264.5 5961h0\"></path>\n<rect x=\"219\" y=\"5950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"241.75\" y=\"5965\">\"(\"</text>\n</g>\n<path d=\"M264.5 5961h10\"></path>\n<g>\n<path d=\"M274.5 5961h0\"></path>\n<path d=\"M960 5961h0\"></path>\n<path d=\"M274.5 5961h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 5961h0\"></path>\n<path d=\"M374 5961h566\"></path>\n<rect x=\"294.5\" y=\"5950\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"334.25\" y=\"5965\">CDSCast</text>\n</a>\n</g>\n<path d=\"M940 5961h20\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 5991h0\"></path>\n<path d=\"M408 5991h532\"></path>\n<rect x=\"294.5\" y=\"5980\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"351.25\" y=\"5995\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M940 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 6021h0\"></path>\n<path d=\"M433.5 6021h506.5\"></path>\n<rect x=\"294.5\" y=\"6010\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"364\" y=\"6025\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M940 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 6051h0\"></path>\n<path d=\"M374 6051h566\"></path>\n<rect x=\"294.5\" y=\"6040\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"334.25\" y=\"6055\">CDSCase</text>\n</a>\n</g>\n<path d=\"M940 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 6081h0\"></path>\n<path d=\"M391 6081h549\"></path>\n<rect x=\"294.5\" y=\"6070\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"342.75\" y=\"6085\">CDSString</text>\n</a>\n</g>\n<path d=\"M940 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M294.5 6128h0\"></path>\n<path d=\"M940 6128h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M294.5 6128h0\"></path>\n<path d=\"M374 6128h0\"></path>\n<rect x=\"294.5\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"334.25\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M374 6128h10\"></path>\n<g>\n<path d=\"M384 6128h0\"></path>\n<path d=\"M554.5 6128h0\"></path>\n<path d=\"M384 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M404 6108h130.5\"></path>\n</g>\n<path d=\"M534.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M384 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 6128h0\"></path>\n<path d=\"M534.5 6128h0\"></path>\n<rect x=\"404\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"469.25\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M534.5 6128h20\"></path>\n</g>\n<g>\n<path d=\"M554.5 6128h0\"></path>\n<path d=\"M940 6128h0\"></path>\n<path d=\"M554.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M574.5 6100h345.5\"></path>\n</g>\n<path d=\"M920 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M554.5 6128h20\"></path>\n<g>\n<path d=\"M574.5 6128h0\"></path>\n<path d=\"M920 6128h0\"></path>\n<path d=\"M574.5 6128h10\"></path>\n<g>\n<path d=\"M584.5 6128h0\"></path>\n<path d=\"M910 6128h0\"></path>\n<g class=\"terminal\">\n<path d=\"M584.5 6128h0\"></path>\n<path d=\"M630 6128h0\"></path>\n<rect x=\"584.5\" y=\"6117\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"607.25\" y=\"6132\">\".\"</text>\n</g>\n<path d=\"M630 6128h10\"></path>\n<path d=\"M640 6128h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M650 6128h0\"></path>\n<path d=\"M729.5 6128h0\"></path>\n<rect x=\"650\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"689.75\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M729.5 6128h10\"></path>\n<g>\n<path d=\"M739.5 6128h0\"></path>\n<path d=\"M910 6128h0\"></path>\n<path d=\"M739.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M759.5 6108h130.5\"></path>\n</g>\n<path d=\"M890 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M739.5 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M759.5 6128h0\"></path>\n<path d=\"M890 6128h0\"></path>\n<rect x=\"759.5\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"824.75\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M890 6128h20\"></path>\n</g>\n</g>\n<path d=\"M910 6128h10\"></path>\n<path d=\"M584.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M584.5 6148h325.5\"></path>\n</g>\n<path d=\"M910 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M920 6128h20\"></path>\n</g>\n</g>\n<path d=\"M940 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M274.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M294.5 6167h0\"></path>\n<path d=\"M357 6167h583\"></path>\n<rect x=\"294.5\" y=\"6156\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"325.75\" y=\"6171\">^\\d+$</text>\n</g>\n<path d=\"M940 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M960 5961h10\"></path>\n<g class=\"terminal\">\n<path d=\"M970 5961h0\"></path>\n<path d=\"M1015.5 5961h0\"></path>\n<rect x=\"970\" y=\"5950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"992.75\" y=\"5965\">\",\"</text>\n</g>\n<path d=\"M1015.5 5961h10\"></path>\n<g>\n<path d=\"M1025.5 5961h0\"></path>\n<path d=\"M1711 5961h0\"></path>\n<path d=\"M1025.5 5961h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 5961h0\"></path>\n<path d=\"M1125 5961h566\"></path>\n<rect x=\"1045.5\" y=\"5950\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1085.25\" y=\"5965\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1691 5961h20\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 5991h0\"></path>\n<path d=\"M1159 5991h532\"></path>\n<rect x=\"1045.5\" y=\"5980\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1102.25\" y=\"5995\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1691 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 6021h0\"></path>\n<path d=\"M1184.5 6021h506.5\"></path>\n<rect x=\"1045.5\" y=\"6010\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1115\" y=\"6025\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1691 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 6051h0\"></path>\n<path d=\"M1125 6051h566\"></path>\n<rect x=\"1045.5\" y=\"6040\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1085.25\" y=\"6055\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1691 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 6081h0\"></path>\n<path d=\"M1142 6081h549\"></path>\n<rect x=\"1045.5\" y=\"6070\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1093.75\" y=\"6085\">CDSString</text>\n</a>\n</g>\n<path d=\"M1691 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1045.5 6128h0\"></path>\n<path d=\"M1691 6128h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1045.5 6128h0\"></path>\n<path d=\"M1125 6128h0\"></path>\n<rect x=\"1045.5\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1085.25\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M1125 6128h10\"></path>\n<g>\n<path d=\"M1135 6128h0\"></path>\n<path d=\"M1305.5 6128h0\"></path>\n<path d=\"M1135 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1155 6108h130.5\"></path>\n</g>\n<path d=\"M1285.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1135 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1155 6128h0\"></path>\n<path d=\"M1285.5 6128h0\"></path>\n<rect x=\"1155\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1220.25\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1285.5 6128h20\"></path>\n</g>\n<g>\n<path d=\"M1305.5 6128h0\"></path>\n<path d=\"M1691 6128h0\"></path>\n<path d=\"M1305.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1325.5 6100h345.5\"></path>\n</g>\n<path d=\"M1671 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1305.5 6128h20\"></path>\n<g>\n<path d=\"M1325.5 6128h0\"></path>\n<path d=\"M1671 6128h0\"></path>\n<path d=\"M1325.5 6128h10\"></path>\n<g>\n<path d=\"M1335.5 6128h0\"></path>\n<path d=\"M1661 6128h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1335.5 6128h0\"></path>\n<path d=\"M1381 6128h0\"></path>\n<rect x=\"1335.5\" y=\"6117\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1358.25\" y=\"6132\">\".\"</text>\n</g>\n<path d=\"M1381 6128h10\"></path>\n<path d=\"M1391 6128h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1401 6128h0\"></path>\n<path d=\"M1480.5 6128h0\"></path>\n<rect x=\"1401\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1440.75\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M1480.5 6128h10\"></path>\n<g>\n<path d=\"M1490.5 6128h0\"></path>\n<path d=\"M1661 6128h0\"></path>\n<path d=\"M1490.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1510.5 6108h130.5\"></path>\n</g>\n<path d=\"M1641 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1490.5 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1510.5 6128h0\"></path>\n<path d=\"M1641 6128h0\"></path>\n<rect x=\"1510.5\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1575.75\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1641 6128h20\"></path>\n</g>\n</g>\n<path d=\"M1661 6128h10\"></path>\n<path d=\"M1335.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1335.5 6148h325.5\"></path>\n</g>\n<path d=\"M1661 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1671 6128h20\"></path>\n</g>\n</g>\n<path d=\"M1691 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1025.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1045.5 6167h0\"></path>\n<path d=\"M1108 6167h583\"></path>\n<rect x=\"1045.5\" y=\"6156\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1076.75\" y=\"6171\">^\\d+$</text>\n</g>\n<path d=\"M1691 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1711 5961h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1721 5961h0\"></path>\n<path d=\"M1766.5 5961h0\"></path>\n<rect x=\"1721\" y=\"5950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1743.75\" y=\"5965\">\",\"</text>\n</g>\n<path d=\"M1766.5 5961h10\"></path>\n<g>\n<path d=\"M1776.5 5961h0\"></path>\n<path d=\"M2462 5961h0\"></path>\n<path d=\"M1776.5 5961h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 5961h0\"></path>\n<path d=\"M1876 5961h566\"></path>\n<rect x=\"1796.5\" y=\"5950\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1836.25\" y=\"5965\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2442 5961h20\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 5991h0\"></path>\n<path d=\"M1910 5991h532\"></path>\n<rect x=\"1796.5\" y=\"5980\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1853.25\" y=\"5995\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2442 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 6021h0\"></path>\n<path d=\"M1935.5 6021h506.5\"></path>\n<rect x=\"1796.5\" y=\"6010\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1866\" y=\"6025\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2442 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 6051h0\"></path>\n<path d=\"M1876 6051h566\"></path>\n<rect x=\"1796.5\" y=\"6040\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1836.25\" y=\"6055\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2442 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 6081h0\"></path>\n<path d=\"M1893 6081h549\"></path>\n<rect x=\"1796.5\" y=\"6070\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1844.75\" y=\"6085\">CDSString</text>\n</a>\n</g>\n<path d=\"M2442 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1796.5 6128h0\"></path>\n<path d=\"M2442 6128h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1796.5 6128h0\"></path>\n<path d=\"M1876 6128h0\"></path>\n<rect x=\"1796.5\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1836.25\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M1876 6128h10\"></path>\n<g>\n<path d=\"M1886 6128h0\"></path>\n<path d=\"M2056.5 6128h0\"></path>\n<path d=\"M1886 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1906 6108h130.5\"></path>\n</g>\n<path d=\"M2036.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1886 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1906 6128h0\"></path>\n<path d=\"M2036.5 6128h0\"></path>\n<rect x=\"1906\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1971.25\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2036.5 6128h20\"></path>\n</g>\n<g>\n<path d=\"M2056.5 6128h0\"></path>\n<path d=\"M2442 6128h0\"></path>\n<path d=\"M2056.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2076.5 6100h345.5\"></path>\n</g>\n<path d=\"M2422 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2056.5 6128h20\"></path>\n<g>\n<path d=\"M2076.5 6128h0\"></path>\n<path d=\"M2422 6128h0\"></path>\n<path d=\"M2076.5 6128h10\"></path>\n<g>\n<path d=\"M2086.5 6128h0\"></path>\n<path d=\"M2412 6128h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2086.5 6128h0\"></path>\n<path d=\"M2132 6128h0\"></path>\n<rect x=\"2086.5\" y=\"6117\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2109.25\" y=\"6132\">\".\"</text>\n</g>\n<path d=\"M2132 6128h10\"></path>\n<path d=\"M2142 6128h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2152 6128h0\"></path>\n<path d=\"M2231.5 6128h0\"></path>\n<rect x=\"2152\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2191.75\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M2231.5 6128h10\"></path>\n<g>\n<path d=\"M2241.5 6128h0\"></path>\n<path d=\"M2412 6128h0\"></path>\n<path d=\"M2241.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2261.5 6108h130.5\"></path>\n</g>\n<path d=\"M2392 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2241.5 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2261.5 6128h0\"></path>\n<path d=\"M2392 6128h0\"></path>\n<rect x=\"2261.5\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2326.75\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2392 6128h20\"></path>\n</g>\n</g>\n<path d=\"M2412 6128h10\"></path>\n<path d=\"M2086.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2086.5 6148h325.5\"></path>\n</g>\n<path d=\"M2412 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2422 6128h20\"></path>\n</g>\n</g>\n<path d=\"M2442 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1776.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1796.5 6167h0\"></path>\n<path d=\"M1859 6167h583\"></path>\n<rect x=\"1796.5\" y=\"6156\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1827.75\" y=\"6171\">^\\d+$</text>\n</g>\n<path d=\"M2442 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2462 5961h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2472 5961h0\"></path>\n<path d=\"M2517.5 5961h0\"></path>\n<rect x=\"2472\" y=\"5950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2494.75\" y=\"5965\">\",\"</text>\n</g>\n<path d=\"M2517.5 5961h10\"></path>\n<g>\n<path d=\"M2527.5 5961h0\"></path>\n<path d=\"M3213 5961h0\"></path>\n<path d=\"M2527.5 5961h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 5961h0\"></path>\n<path d=\"M2627 5961h566\"></path>\n<rect x=\"2547.5\" y=\"5950\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"2587.25\" y=\"5965\">CDSCast</text>\n</a>\n</g>\n<path d=\"M3193 5961h20\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 5991h0\"></path>\n<path d=\"M2661 5991h532\"></path>\n<rect x=\"2547.5\" y=\"5980\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2604.25\" y=\"5995\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M3193 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 6021h0\"></path>\n<path d=\"M2686.5 6021h506.5\"></path>\n<rect x=\"2547.5\" y=\"6010\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"2617\" y=\"6025\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M3193 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 6051h0\"></path>\n<path d=\"M2627 6051h566\"></path>\n<rect x=\"2547.5\" y=\"6040\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"2587.25\" y=\"6055\">CDSCase</text>\n</a>\n</g>\n<path d=\"M3193 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 6081h0\"></path>\n<path d=\"M2644 6081h549\"></path>\n<rect x=\"2547.5\" y=\"6070\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2595.75\" y=\"6085\">CDSString</text>\n</a>\n</g>\n<path d=\"M3193 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2547.5 6128h0\"></path>\n<path d=\"M3193 6128h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2547.5 6128h0\"></path>\n<path d=\"M2627 6128h0\"></path>\n<rect x=\"2547.5\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2587.25\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M2627 6128h10\"></path>\n<g>\n<path d=\"M2637 6128h0\"></path>\n<path d=\"M2807.5 6128h0\"></path>\n<path d=\"M2637 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2657 6108h130.5\"></path>\n</g>\n<path d=\"M2787.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2637 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2657 6128h0\"></path>\n<path d=\"M2787.5 6128h0\"></path>\n<rect x=\"2657\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2722.25\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2787.5 6128h20\"></path>\n</g>\n<g>\n<path d=\"M2807.5 6128h0\"></path>\n<path d=\"M3193 6128h0\"></path>\n<path d=\"M2807.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2827.5 6100h345.5\"></path>\n</g>\n<path d=\"M3173 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2807.5 6128h20\"></path>\n<g>\n<path d=\"M2827.5 6128h0\"></path>\n<path d=\"M3173 6128h0\"></path>\n<path d=\"M2827.5 6128h10\"></path>\n<g>\n<path d=\"M2837.5 6128h0\"></path>\n<path d=\"M3163 6128h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2837.5 6128h0\"></path>\n<path d=\"M2883 6128h0\"></path>\n<rect x=\"2837.5\" y=\"6117\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2860.25\" y=\"6132\">\".\"</text>\n</g>\n<path d=\"M2883 6128h10\"></path>\n<path d=\"M2893 6128h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2903 6128h0\"></path>\n<path d=\"M2982.5 6128h0\"></path>\n<rect x=\"2903\" y=\"6117\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2942.75\" y=\"6132\">CDSName</text>\n</a>\n</g>\n<path d=\"M2982.5 6128h10\"></path>\n<g>\n<path d=\"M2992.5 6128h0\"></path>\n<path d=\"M3163 6128h0\"></path>\n<path d=\"M2992.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3012.5 6108h130.5\"></path>\n</g>\n<path d=\"M3143 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2992.5 6128h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3012.5 6128h0\"></path>\n<path d=\"M3143 6128h0\"></path>\n<rect x=\"3012.5\" y=\"6117\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3077.75\" y=\"6132\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3143 6128h20\"></path>\n</g>\n</g>\n<path d=\"M3163 6128h10\"></path>\n<path d=\"M2837.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2837.5 6148h325.5\"></path>\n</g>\n<path d=\"M3163 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M3173 6128h20\"></path>\n</g>\n</g>\n<path d=\"M3193 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2527.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M2547.5 6167h0\"></path>\n<path d=\"M2610 6167h583\"></path>\n<rect x=\"2547.5\" y=\"6156\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2578.75\" y=\"6171\">^\\d+$</text>\n</g>\n<path d=\"M3193 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M3213 5961h10\"></path>\n<g class=\"terminal\">\n<path d=\"M3223 5961h0\"></path>\n<path d=\"M3268.5 5961h0\"></path>\n<rect x=\"3223\" y=\"5950\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3245.75\" y=\"5965\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 5961a10 10 0 0 0 10 -10v-5910a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6146a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 6197h0\"></path>\n<path d=\"M4070.5 6197h0\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6197h0\"></path>\n<path d=\"M250 6197h0\"></path>\n<rect x=\"60\" y=\"6186\" width=\"190\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"155\" y=\"6201\">\"DATS&#95;TIMS&#95;TO&#95;TSTMP\"</text>\n</g>\n<path d=\"M250 6197h10\"></path>\n<path d=\"M260 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M270 6197h0\"></path>\n<path d=\"M315.5 6197h0\"></path>\n<rect x=\"270\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"292.75\" y=\"6201\">\"(\"</text>\n</g>\n<path d=\"M315.5 6197h10\"></path>\n<g>\n<path d=\"M325.5 6197h0\"></path>\n<path d=\"M1011 6197h0\"></path>\n<path d=\"M325.5 6197h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6197h0\"></path>\n<path d=\"M425 6197h566\"></path>\n<rect x=\"345.5\" y=\"6186\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"385.25\" y=\"6201\">CDSCast</text>\n</a>\n</g>\n<path d=\"M991 6197h20\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6227h0\"></path>\n<path d=\"M459 6227h532\"></path>\n<rect x=\"345.5\" y=\"6216\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"402.25\" y=\"6231\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M991 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6257h0\"></path>\n<path d=\"M484.5 6257h506.5\"></path>\n<rect x=\"345.5\" y=\"6246\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"415\" y=\"6261\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M991 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6287h0\"></path>\n<path d=\"M425 6287h566\"></path>\n<rect x=\"345.5\" y=\"6276\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"385.25\" y=\"6291\">CDSCase</text>\n</a>\n</g>\n<path d=\"M991 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6317h0\"></path>\n<path d=\"M442 6317h549\"></path>\n<rect x=\"345.5\" y=\"6306\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"393.75\" y=\"6321\">CDSString</text>\n</a>\n</g>\n<path d=\"M991 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M345.5 6364h0\"></path>\n<path d=\"M991 6364h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M345.5 6364h0\"></path>\n<path d=\"M425 6364h0\"></path>\n<rect x=\"345.5\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"385.25\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M425 6364h10\"></path>\n<g>\n<path d=\"M435 6364h0\"></path>\n<path d=\"M605.5 6364h0\"></path>\n<path d=\"M435 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M455 6344h130.5\"></path>\n</g>\n<path d=\"M585.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M435 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M455 6364h0\"></path>\n<path d=\"M585.5 6364h0\"></path>\n<rect x=\"455\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"520.25\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M585.5 6364h20\"></path>\n</g>\n<g>\n<path d=\"M605.5 6364h0\"></path>\n<path d=\"M991 6364h0\"></path>\n<path d=\"M605.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M625.5 6336h345.5\"></path>\n</g>\n<path d=\"M971 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M605.5 6364h20\"></path>\n<g>\n<path d=\"M625.5 6364h0\"></path>\n<path d=\"M971 6364h0\"></path>\n<path d=\"M625.5 6364h10\"></path>\n<g>\n<path d=\"M635.5 6364h0\"></path>\n<path d=\"M961 6364h0\"></path>\n<g class=\"terminal\">\n<path d=\"M635.5 6364h0\"></path>\n<path d=\"M681 6364h0\"></path>\n<rect x=\"635.5\" y=\"6353\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"658.25\" y=\"6368\">\".\"</text>\n</g>\n<path d=\"M681 6364h10\"></path>\n<path d=\"M691 6364h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M701 6364h0\"></path>\n<path d=\"M780.5 6364h0\"></path>\n<rect x=\"701\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"740.75\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M780.5 6364h10\"></path>\n<g>\n<path d=\"M790.5 6364h0\"></path>\n<path d=\"M961 6364h0\"></path>\n<path d=\"M790.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M810.5 6344h130.5\"></path>\n</g>\n<path d=\"M941 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M790.5 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M810.5 6364h0\"></path>\n<path d=\"M941 6364h0\"></path>\n<rect x=\"810.5\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"875.75\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M941 6364h20\"></path>\n</g>\n</g>\n<path d=\"M961 6364h10\"></path>\n<path d=\"M635.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M635.5 6384h325.5\"></path>\n</g>\n<path d=\"M961 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M971 6364h20\"></path>\n</g>\n</g>\n<path d=\"M991 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M325.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M345.5 6403h0\"></path>\n<path d=\"M408 6403h583\"></path>\n<rect x=\"345.5\" y=\"6392\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"376.75\" y=\"6407\">^\\d+$</text>\n</g>\n<path d=\"M991 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1011 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1021 6197h0\"></path>\n<path d=\"M1066.5 6197h0\"></path>\n<rect x=\"1021\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1043.75\" y=\"6201\">\",\"</text>\n</g>\n<path d=\"M1066.5 6197h10\"></path>\n<g>\n<path d=\"M1076.5 6197h0\"></path>\n<path d=\"M1762 6197h0\"></path>\n<path d=\"M1076.5 6197h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6197h0\"></path>\n<path d=\"M1176 6197h566\"></path>\n<rect x=\"1096.5\" y=\"6186\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1136.25\" y=\"6201\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1742 6197h20\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6227h0\"></path>\n<path d=\"M1210 6227h532\"></path>\n<rect x=\"1096.5\" y=\"6216\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1153.25\" y=\"6231\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1742 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6257h0\"></path>\n<path d=\"M1235.5 6257h506.5\"></path>\n<rect x=\"1096.5\" y=\"6246\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1166\" y=\"6261\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1742 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6287h0\"></path>\n<path d=\"M1176 6287h566\"></path>\n<rect x=\"1096.5\" y=\"6276\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1136.25\" y=\"6291\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1742 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6317h0\"></path>\n<path d=\"M1193 6317h549\"></path>\n<rect x=\"1096.5\" y=\"6306\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1144.75\" y=\"6321\">CDSString</text>\n</a>\n</g>\n<path d=\"M1742 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1096.5 6364h0\"></path>\n<path d=\"M1742 6364h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1096.5 6364h0\"></path>\n<path d=\"M1176 6364h0\"></path>\n<rect x=\"1096.5\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1136.25\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M1176 6364h10\"></path>\n<g>\n<path d=\"M1186 6364h0\"></path>\n<path d=\"M1356.5 6364h0\"></path>\n<path d=\"M1186 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1206 6344h130.5\"></path>\n</g>\n<path d=\"M1336.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1186 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1206 6364h0\"></path>\n<path d=\"M1336.5 6364h0\"></path>\n<rect x=\"1206\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1271.25\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1336.5 6364h20\"></path>\n</g>\n<g>\n<path d=\"M1356.5 6364h0\"></path>\n<path d=\"M1742 6364h0\"></path>\n<path d=\"M1356.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1376.5 6336h345.5\"></path>\n</g>\n<path d=\"M1722 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1356.5 6364h20\"></path>\n<g>\n<path d=\"M1376.5 6364h0\"></path>\n<path d=\"M1722 6364h0\"></path>\n<path d=\"M1376.5 6364h10\"></path>\n<g>\n<path d=\"M1386.5 6364h0\"></path>\n<path d=\"M1712 6364h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1386.5 6364h0\"></path>\n<path d=\"M1432 6364h0\"></path>\n<rect x=\"1386.5\" y=\"6353\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1409.25\" y=\"6368\">\".\"</text>\n</g>\n<path d=\"M1432 6364h10\"></path>\n<path d=\"M1442 6364h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1452 6364h0\"></path>\n<path d=\"M1531.5 6364h0\"></path>\n<rect x=\"1452\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1491.75\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M1531.5 6364h10\"></path>\n<g>\n<path d=\"M1541.5 6364h0\"></path>\n<path d=\"M1712 6364h0\"></path>\n<path d=\"M1541.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1561.5 6344h130.5\"></path>\n</g>\n<path d=\"M1692 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1541.5 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1561.5 6364h0\"></path>\n<path d=\"M1692 6364h0\"></path>\n<rect x=\"1561.5\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1626.75\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1692 6364h20\"></path>\n</g>\n</g>\n<path d=\"M1712 6364h10\"></path>\n<path d=\"M1386.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1386.5 6384h325.5\"></path>\n</g>\n<path d=\"M1712 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1722 6364h20\"></path>\n</g>\n</g>\n<path d=\"M1742 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1076.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1096.5 6403h0\"></path>\n<path d=\"M1159 6403h583\"></path>\n<rect x=\"1096.5\" y=\"6392\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1127.75\" y=\"6407\">^\\d+$</text>\n</g>\n<path d=\"M1742 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1762 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1772 6197h0\"></path>\n<path d=\"M1817.5 6197h0\"></path>\n<rect x=\"1772\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1794.75\" y=\"6201\">\",\"</text>\n</g>\n<path d=\"M1817.5 6197h10\"></path>\n<g>\n<path d=\"M1827.5 6197h0\"></path>\n<path d=\"M2513 6197h0\"></path>\n<path d=\"M1827.5 6197h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6197h0\"></path>\n<path d=\"M1927 6197h566\"></path>\n<rect x=\"1847.5\" y=\"6186\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1887.25\" y=\"6201\">CDSCast</text>\n</a>\n</g>\n<path d=\"M2493 6197h20\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6227h0\"></path>\n<path d=\"M1961 6227h532\"></path>\n<rect x=\"1847.5\" y=\"6216\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1904.25\" y=\"6231\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M2493 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6257h0\"></path>\n<path d=\"M1986.5 6257h506.5\"></path>\n<rect x=\"1847.5\" y=\"6246\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1917\" y=\"6261\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M2493 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6287h0\"></path>\n<path d=\"M1927 6287h566\"></path>\n<rect x=\"1847.5\" y=\"6276\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1887.25\" y=\"6291\">CDSCase</text>\n</a>\n</g>\n<path d=\"M2493 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6317h0\"></path>\n<path d=\"M1944 6317h549\"></path>\n<rect x=\"1847.5\" y=\"6306\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1895.75\" y=\"6321\">CDSString</text>\n</a>\n</g>\n<path d=\"M2493 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1847.5 6364h0\"></path>\n<path d=\"M2493 6364h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1847.5 6364h0\"></path>\n<path d=\"M1927 6364h0\"></path>\n<rect x=\"1847.5\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1887.25\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M1927 6364h10\"></path>\n<g>\n<path d=\"M1937 6364h0\"></path>\n<path d=\"M2107.5 6364h0\"></path>\n<path d=\"M1937 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1957 6344h130.5\"></path>\n</g>\n<path d=\"M2087.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1937 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1957 6364h0\"></path>\n<path d=\"M2087.5 6364h0\"></path>\n<rect x=\"1957\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2022.25\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2087.5 6364h20\"></path>\n</g>\n<g>\n<path d=\"M2107.5 6364h0\"></path>\n<path d=\"M2493 6364h0\"></path>\n<path d=\"M2107.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2127.5 6336h345.5\"></path>\n</g>\n<path d=\"M2473 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2107.5 6364h20\"></path>\n<g>\n<path d=\"M2127.5 6364h0\"></path>\n<path d=\"M2473 6364h0\"></path>\n<path d=\"M2127.5 6364h10\"></path>\n<g>\n<path d=\"M2137.5 6364h0\"></path>\n<path d=\"M2463 6364h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2137.5 6364h0\"></path>\n<path d=\"M2183 6364h0\"></path>\n<rect x=\"2137.5\" y=\"6353\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2160.25\" y=\"6368\">\".\"</text>\n</g>\n<path d=\"M2183 6364h10\"></path>\n<path d=\"M2193 6364h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2203 6364h0\"></path>\n<path d=\"M2282.5 6364h0\"></path>\n<rect x=\"2203\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2242.75\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M2282.5 6364h10\"></path>\n<g>\n<path d=\"M2292.5 6364h0\"></path>\n<path d=\"M2463 6364h0\"></path>\n<path d=\"M2292.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2312.5 6344h130.5\"></path>\n</g>\n<path d=\"M2443 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2292.5 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2312.5 6364h0\"></path>\n<path d=\"M2443 6364h0\"></path>\n<rect x=\"2312.5\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2377.75\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2443 6364h20\"></path>\n</g>\n</g>\n<path d=\"M2463 6364h10\"></path>\n<path d=\"M2137.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2137.5 6384h325.5\"></path>\n</g>\n<path d=\"M2463 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2473 6364h20\"></path>\n</g>\n</g>\n<path d=\"M2493 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M1827.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M1847.5 6403h0\"></path>\n<path d=\"M1910 6403h583\"></path>\n<rect x=\"1847.5\" y=\"6392\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1878.75\" y=\"6407\">^\\d+$</text>\n</g>\n<path d=\"M2493 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M2513 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2523 6197h0\"></path>\n<path d=\"M2568.5 6197h0\"></path>\n<rect x=\"2523\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2545.75\" y=\"6201\">\",\"</text>\n</g>\n<path d=\"M2568.5 6197h10\"></path>\n<g>\n<path d=\"M2578.5 6197h0\"></path>\n<path d=\"M3264 6197h0\"></path>\n<path d=\"M2578.5 6197h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6197h0\"></path>\n<path d=\"M2678 6197h566\"></path>\n<rect x=\"2598.5\" y=\"6186\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"2638.25\" y=\"6201\">CDSCast</text>\n</a>\n</g>\n<path d=\"M3244 6197h20\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6227h0\"></path>\n<path d=\"M2712 6227h532\"></path>\n<rect x=\"2598.5\" y=\"6216\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"2655.25\" y=\"6231\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M3244 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6257h0\"></path>\n<path d=\"M2737.5 6257h506.5\"></path>\n<rect x=\"2598.5\" y=\"6246\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"2668\" y=\"6261\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M3244 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6287h0\"></path>\n<path d=\"M2678 6287h566\"></path>\n<rect x=\"2598.5\" y=\"6276\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"2638.25\" y=\"6291\">CDSCase</text>\n</a>\n</g>\n<path d=\"M3244 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6317h0\"></path>\n<path d=\"M2695 6317h549\"></path>\n<rect x=\"2598.5\" y=\"6306\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"2646.75\" y=\"6321\">CDSString</text>\n</a>\n</g>\n<path d=\"M3244 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2598.5 6364h0\"></path>\n<path d=\"M3244 6364h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2598.5 6364h0\"></path>\n<path d=\"M2678 6364h0\"></path>\n<rect x=\"2598.5\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2638.25\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M2678 6364h10\"></path>\n<g>\n<path d=\"M2688 6364h0\"></path>\n<path d=\"M2858.5 6364h0\"></path>\n<path d=\"M2688 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2708 6344h130.5\"></path>\n</g>\n<path d=\"M2838.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2688 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2708 6364h0\"></path>\n<path d=\"M2838.5 6364h0\"></path>\n<rect x=\"2708\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"2773.25\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M2838.5 6364h20\"></path>\n</g>\n<g>\n<path d=\"M2858.5 6364h0\"></path>\n<path d=\"M3244 6364h0\"></path>\n<path d=\"M2858.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2878.5 6336h345.5\"></path>\n</g>\n<path d=\"M3224 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2858.5 6364h20\"></path>\n<g>\n<path d=\"M2878.5 6364h0\"></path>\n<path d=\"M3224 6364h0\"></path>\n<path d=\"M2878.5 6364h10\"></path>\n<g>\n<path d=\"M2888.5 6364h0\"></path>\n<path d=\"M3214 6364h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2888.5 6364h0\"></path>\n<path d=\"M2934 6364h0\"></path>\n<rect x=\"2888.5\" y=\"6353\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2911.25\" y=\"6368\">\".\"</text>\n</g>\n<path d=\"M2934 6364h10\"></path>\n<path d=\"M2944 6364h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2954 6364h0\"></path>\n<path d=\"M3033.5 6364h0\"></path>\n<rect x=\"2954\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"2993.75\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M3033.5 6364h10\"></path>\n<g>\n<path d=\"M3043.5 6364h0\"></path>\n<path d=\"M3214 6364h0\"></path>\n<path d=\"M3043.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3063.5 6344h130.5\"></path>\n</g>\n<path d=\"M3194 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M3043.5 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3063.5 6364h0\"></path>\n<path d=\"M3194 6364h0\"></path>\n<rect x=\"3063.5\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3128.75\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3194 6364h20\"></path>\n</g>\n</g>\n<path d=\"M3214 6364h10\"></path>\n<path d=\"M2888.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M2888.5 6384h325.5\"></path>\n</g>\n<path d=\"M3214 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M3224 6364h20\"></path>\n</g>\n</g>\n<path d=\"M3244 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M2578.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M2598.5 6403h0\"></path>\n<path d=\"M2661 6403h583\"></path>\n<rect x=\"2598.5\" y=\"6392\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2629.75\" y=\"6407\">^\\d+$</text>\n</g>\n<path d=\"M3244 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M3264 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M3274 6197h0\"></path>\n<path d=\"M3319.5 6197h0\"></path>\n<rect x=\"3274\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3296.75\" y=\"6201\">\",\"</text>\n</g>\n<path d=\"M3319.5 6197h10\"></path>\n<g>\n<path d=\"M3329.5 6197h0\"></path>\n<path d=\"M4015 6197h0\"></path>\n<path d=\"M3329.5 6197h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6197h0\"></path>\n<path d=\"M3429 6197h566\"></path>\n<rect x=\"3349.5\" y=\"6186\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"3389.25\" y=\"6201\">CDSCast</text>\n</a>\n</g>\n<path d=\"M3995 6197h20\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6227h0\"></path>\n<path d=\"M3463 6227h532\"></path>\n<rect x=\"3349.5\" y=\"6216\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"3406.25\" y=\"6231\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M3995 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6257h0\"></path>\n<path d=\"M3488.5 6257h506.5\"></path>\n<rect x=\"3349.5\" y=\"6246\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"3419\" y=\"6261\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M3995 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6287h0\"></path>\n<path d=\"M3429 6287h566\"></path>\n<rect x=\"3349.5\" y=\"6276\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"3389.25\" y=\"6291\">CDSCase</text>\n</a>\n</g>\n<path d=\"M3995 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6317h0\"></path>\n<path d=\"M3446 6317h549\"></path>\n<rect x=\"3349.5\" y=\"6306\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"3397.75\" y=\"6321\">CDSString</text>\n</a>\n</g>\n<path d=\"M3995 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M3349.5 6364h0\"></path>\n<path d=\"M3995 6364h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3349.5 6364h0\"></path>\n<path d=\"M3429 6364h0\"></path>\n<rect x=\"3349.5\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"3389.25\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M3429 6364h10\"></path>\n<g>\n<path d=\"M3439 6364h0\"></path>\n<path d=\"M3609.5 6364h0\"></path>\n<path d=\"M3439 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3459 6344h130.5\"></path>\n</g>\n<path d=\"M3589.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M3439 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3459 6364h0\"></path>\n<path d=\"M3589.5 6364h0\"></path>\n<rect x=\"3459\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3524.25\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3589.5 6364h20\"></path>\n</g>\n<g>\n<path d=\"M3609.5 6364h0\"></path>\n<path d=\"M3995 6364h0\"></path>\n<path d=\"M3609.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3629.5 6336h345.5\"></path>\n</g>\n<path d=\"M3975 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M3609.5 6364h20\"></path>\n<g>\n<path d=\"M3629.5 6364h0\"></path>\n<path d=\"M3975 6364h0\"></path>\n<path d=\"M3629.5 6364h10\"></path>\n<g>\n<path d=\"M3639.5 6364h0\"></path>\n<path d=\"M3965 6364h0\"></path>\n<g class=\"terminal\">\n<path d=\"M3639.5 6364h0\"></path>\n<path d=\"M3685 6364h0\"></path>\n<rect x=\"3639.5\" y=\"6353\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3662.25\" y=\"6368\">\".\"</text>\n</g>\n<path d=\"M3685 6364h10\"></path>\n<path d=\"M3695 6364h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3705 6364h0\"></path>\n<path d=\"M3784.5 6364h0\"></path>\n<rect x=\"3705\" y=\"6353\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"3744.75\" y=\"6368\">CDSName</text>\n</a>\n</g>\n<path d=\"M3784.5 6364h10\"></path>\n<g>\n<path d=\"M3794.5 6364h0\"></path>\n<path d=\"M3965 6364h0\"></path>\n<path d=\"M3794.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M3814.5 6344h130.5\"></path>\n</g>\n<path d=\"M3945 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M3794.5 6364h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M3814.5 6364h0\"></path>\n<path d=\"M3945 6364h0\"></path>\n<rect x=\"3814.5\" y=\"6353\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"3879.75\" y=\"6368\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M3945 6364h20\"></path>\n</g>\n</g>\n<path d=\"M3965 6364h10\"></path>\n<path d=\"M3639.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M3639.5 6384h325.5\"></path>\n</g>\n<path d=\"M3965 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M3975 6364h20\"></path>\n</g>\n</g>\n<path d=\"M3995 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M3329.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M3349.5 6403h0\"></path>\n<path d=\"M3412 6403h583\"></path>\n<rect x=\"3349.5\" y=\"6392\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"3380.75\" y=\"6407\">^\\d+$</text>\n</g>\n<path d=\"M3995 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M4015 6197h10\"></path>\n<g class=\"terminal\">\n<path d=\"M4025 6197h0\"></path>\n<path d=\"M4070.5 6197h0\"></path>\n<rect x=\"4025\" y=\"6186\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"4047.75\" y=\"6201\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 6197a10 10 0 0 0 10 -10v-6146a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6382a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 6433h0\"></path>\n<path d=\"M1690 6433h2380.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6433h0\"></path>\n<path d=\"M122.5 6433h0\"></path>\n<rect x=\"60\" y=\"6422\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"91.25\" y=\"6437\">\"MOD\"</text>\n</g>\n<path d=\"M122.5 6433h10\"></path>\n<path d=\"M132.5 6433h10\"></path>\n<g class=\"terminal\">\n<path d=\"M142.5 6433h0\"></path>\n<path d=\"M188 6433h0\"></path>\n<rect x=\"142.5\" y=\"6422\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"165.25\" y=\"6437\">\"(\"</text>\n</g>\n<path d=\"M188 6433h10\"></path>\n<g>\n<path d=\"M198 6433h0\"></path>\n<path d=\"M883.5 6433h0\"></path>\n<path d=\"M198 6433h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6433h0\"></path>\n<path d=\"M297.5 6433h566\"></path>\n<rect x=\"218\" y=\"6422\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"257.75\" y=\"6437\">CDSCast</text>\n</a>\n</g>\n<path d=\"M863.5 6433h20\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6463h0\"></path>\n<path d=\"M331.5 6463h532\"></path>\n<rect x=\"218\" y=\"6452\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"274.75\" y=\"6467\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M863.5 6463a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6493h0\"></path>\n<path d=\"M357 6493h506.5\"></path>\n<rect x=\"218\" y=\"6482\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"287.5\" y=\"6497\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M863.5 6493a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6523h0\"></path>\n<path d=\"M297.5 6523h566\"></path>\n<rect x=\"218\" y=\"6512\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"257.75\" y=\"6527\">CDSCase</text>\n</a>\n</g>\n<path d=\"M863.5 6523a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6553h0\"></path>\n<path d=\"M314.5 6553h549\"></path>\n<rect x=\"218\" y=\"6542\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"266.25\" y=\"6557\">CDSString</text>\n</a>\n</g>\n<path d=\"M863.5 6553a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M218 6600h0\"></path>\n<path d=\"M863.5 6600h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M218 6600h0\"></path>\n<path d=\"M297.5 6600h0\"></path>\n<rect x=\"218\" y=\"6589\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"257.75\" y=\"6604\">CDSName</text>\n</a>\n</g>\n<path d=\"M297.5 6600h10\"></path>\n<g>\n<path d=\"M307.5 6600h0\"></path>\n<path d=\"M478 6600h0\"></path>\n<path d=\"M307.5 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M327.5 6580h130.5\"></path>\n</g>\n<path d=\"M458 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M307.5 6600h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 6600h0\"></path>\n<path d=\"M458 6600h0\"></path>\n<rect x=\"327.5\" y=\"6589\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"392.75\" y=\"6604\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M458 6600h20\"></path>\n</g>\n<g>\n<path d=\"M478 6600h0\"></path>\n<path d=\"M863.5 6600h0\"></path>\n<path d=\"M478 6600a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M498 6572h345.5\"></path>\n</g>\n<path d=\"M843.5 6572a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M478 6600h20\"></path>\n<g>\n<path d=\"M498 6600h0\"></path>\n<path d=\"M843.5 6600h0\"></path>\n<path d=\"M498 6600h10\"></path>\n<g>\n<path d=\"M508 6600h0\"></path>\n<path d=\"M833.5 6600h0\"></path>\n<g class=\"terminal\">\n<path d=\"M508 6600h0\"></path>\n<path d=\"M553.5 6600h0\"></path>\n<rect x=\"508\" y=\"6589\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"530.75\" y=\"6604\">\".\"</text>\n</g>\n<path d=\"M553.5 6600h10\"></path>\n<path d=\"M563.5 6600h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 6600h0\"></path>\n<path d=\"M653 6600h0\"></path>\n<rect x=\"573.5\" y=\"6589\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"613.25\" y=\"6604\">CDSName</text>\n</a>\n</g>\n<path d=\"M653 6600h10\"></path>\n<g>\n<path d=\"M663 6600h0\"></path>\n<path d=\"M833.5 6600h0\"></path>\n<path d=\"M663 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M683 6580h130.5\"></path>\n</g>\n<path d=\"M813.5 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M663 6600h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M683 6600h0\"></path>\n<path d=\"M813.5 6600h0\"></path>\n<rect x=\"683\" y=\"6589\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"748.25\" y=\"6604\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M813.5 6600h20\"></path>\n</g>\n</g>\n<path d=\"M833.5 6600h10\"></path>\n<path d=\"M508 6600a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M508 6620h325.5\"></path>\n</g>\n<path d=\"M833.5 6620a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M843.5 6600h20\"></path>\n</g>\n</g>\n<path d=\"M863.5 6600a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M198 6433a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M218 6639h0\"></path>\n<path d=\"M280.5 6639h583\"></path>\n<rect x=\"218\" y=\"6628\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"249.25\" y=\"6643\">^\\d+$</text>\n</g>\n<path d=\"M863.5 6639a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M883.5 6433h10\"></path>\n<g class=\"terminal\">\n<path d=\"M893.5 6433h0\"></path>\n<path d=\"M939 6433h0\"></path>\n<rect x=\"893.5\" y=\"6422\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"916.25\" y=\"6437\">\",\"</text>\n</g>\n<path d=\"M939 6433h10\"></path>\n<g>\n<path d=\"M949 6433h0\"></path>\n<path d=\"M1634.5 6433h0\"></path>\n<path d=\"M949 6433h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6433h0\"></path>\n<path d=\"M1048.5 6433h566\"></path>\n<rect x=\"969\" y=\"6422\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1008.75\" y=\"6437\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1614.5 6433h20\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6463h0\"></path>\n<path d=\"M1082.5 6463h532\"></path>\n<rect x=\"969\" y=\"6452\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1025.75\" y=\"6467\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1614.5 6463a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6493h0\"></path>\n<path d=\"M1108 6493h506.5\"></path>\n<rect x=\"969\" y=\"6482\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1038.5\" y=\"6497\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1614.5 6493a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6523h0\"></path>\n<path d=\"M1048.5 6523h566\"></path>\n<rect x=\"969\" y=\"6512\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1008.75\" y=\"6527\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1614.5 6523a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6553h0\"></path>\n<path d=\"M1065.5 6553h549\"></path>\n<rect x=\"969\" y=\"6542\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1017.25\" y=\"6557\">CDSString</text>\n</a>\n</g>\n<path d=\"M1614.5 6553a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M969 6600h0\"></path>\n<path d=\"M1614.5 6600h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M969 6600h0\"></path>\n<path d=\"M1048.5 6600h0\"></path>\n<rect x=\"969\" y=\"6589\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1008.75\" y=\"6604\">CDSName</text>\n</a>\n</g>\n<path d=\"M1048.5 6600h10\"></path>\n<g>\n<path d=\"M1058.5 6600h0\"></path>\n<path d=\"M1229 6600h0\"></path>\n<path d=\"M1058.5 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1078.5 6580h130.5\"></path>\n</g>\n<path d=\"M1209 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1058.5 6600h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1078.5 6600h0\"></path>\n<path d=\"M1209 6600h0\"></path>\n<rect x=\"1078.5\" y=\"6589\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1143.75\" y=\"6604\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1209 6600h20\"></path>\n</g>\n<g>\n<path d=\"M1229 6600h0\"></path>\n<path d=\"M1614.5 6600h0\"></path>\n<path d=\"M1229 6600a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1249 6572h345.5\"></path>\n</g>\n<path d=\"M1594.5 6572a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1229 6600h20\"></path>\n<g>\n<path d=\"M1249 6600h0\"></path>\n<path d=\"M1594.5 6600h0\"></path>\n<path d=\"M1249 6600h10\"></path>\n<g>\n<path d=\"M1259 6600h0\"></path>\n<path d=\"M1584.5 6600h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1259 6600h0\"></path>\n<path d=\"M1304.5 6600h0\"></path>\n<rect x=\"1259\" y=\"6589\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1281.75\" y=\"6604\">\".\"</text>\n</g>\n<path d=\"M1304.5 6600h10\"></path>\n<path d=\"M1314.5 6600h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1324.5 6600h0\"></path>\n<path d=\"M1404 6600h0\"></path>\n<rect x=\"1324.5\" y=\"6589\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1364.25\" y=\"6604\">CDSName</text>\n</a>\n</g>\n<path d=\"M1404 6600h10\"></path>\n<g>\n<path d=\"M1414 6600h0\"></path>\n<path d=\"M1584.5 6600h0\"></path>\n<path d=\"M1414 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1434 6580h130.5\"></path>\n</g>\n<path d=\"M1564.5 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1414 6600h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1434 6600h0\"></path>\n<path d=\"M1564.5 6600h0\"></path>\n<rect x=\"1434\" y=\"6589\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1499.25\" y=\"6604\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1564.5 6600h20\"></path>\n</g>\n</g>\n<path d=\"M1584.5 6600h10\"></path>\n<path d=\"M1259 6600a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1259 6620h325.5\"></path>\n</g>\n<path d=\"M1584.5 6620a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1594.5 6600h20\"></path>\n</g>\n</g>\n<path d=\"M1614.5 6600a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M949 6433a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M969 6639h0\"></path>\n<path d=\"M1031.5 6639h583\"></path>\n<rect x=\"969\" y=\"6628\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1000.25\" y=\"6643\">^\\d+$</text>\n</g>\n<path d=\"M1614.5 6639a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1634.5 6433h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1644.5 6433h0\"></path>\n<path d=\"M1690 6433h0\"></path>\n<rect x=\"1644.5\" y=\"6422\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1667.25\" y=\"6437\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 6433a10 10 0 0 0 10 -10v-6382a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6618a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 6669h0\"></path>\n<path d=\"M1698.5 6669h2372\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6669h0\"></path>\n<path d=\"M131 6669h0\"></path>\n<rect x=\"60\" y=\"6658\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"95.5\" y=\"6673\">\"LEFT\"</text>\n</g>\n<path d=\"M131 6669h10\"></path>\n<path d=\"M141 6669h10\"></path>\n<g class=\"terminal\">\n<path d=\"M151 6669h0\"></path>\n<path d=\"M196.5 6669h0\"></path>\n<rect x=\"151\" y=\"6658\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"173.75\" y=\"6673\">\"(\"</text>\n</g>\n<path d=\"M196.5 6669h10\"></path>\n<g>\n<path d=\"M206.5 6669h0\"></path>\n<path d=\"M892 6669h0\"></path>\n<path d=\"M206.5 6669h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6669h0\"></path>\n<path d=\"M306 6669h566\"></path>\n<rect x=\"226.5\" y=\"6658\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"266.25\" y=\"6673\">CDSCast</text>\n</a>\n</g>\n<path d=\"M872 6669h20\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6699h0\"></path>\n<path d=\"M340 6699h532\"></path>\n<rect x=\"226.5\" y=\"6688\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"283.25\" y=\"6703\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M872 6699a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6729h0\"></path>\n<path d=\"M365.5 6729h506.5\"></path>\n<rect x=\"226.5\" y=\"6718\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"296\" y=\"6733\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M872 6729a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6759h0\"></path>\n<path d=\"M306 6759h566\"></path>\n<rect x=\"226.5\" y=\"6748\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"266.25\" y=\"6763\">CDSCase</text>\n</a>\n</g>\n<path d=\"M872 6759a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6789h0\"></path>\n<path d=\"M323 6789h549\"></path>\n<rect x=\"226.5\" y=\"6778\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"274.75\" y=\"6793\">CDSString</text>\n</a>\n</g>\n<path d=\"M872 6789a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M226.5 6836h0\"></path>\n<path d=\"M872 6836h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M226.5 6836h0\"></path>\n<path d=\"M306 6836h0\"></path>\n<rect x=\"226.5\" y=\"6825\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"266.25\" y=\"6840\">CDSName</text>\n</a>\n</g>\n<path d=\"M306 6836h10\"></path>\n<g>\n<path d=\"M316 6836h0\"></path>\n<path d=\"M486.5 6836h0\"></path>\n<path d=\"M316 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M336 6816h130.5\"></path>\n</g>\n<path d=\"M466.5 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M316 6836h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M336 6836h0\"></path>\n<path d=\"M466.5 6836h0\"></path>\n<rect x=\"336\" y=\"6825\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"401.25\" y=\"6840\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M466.5 6836h20\"></path>\n</g>\n<g>\n<path d=\"M486.5 6836h0\"></path>\n<path d=\"M872 6836h0\"></path>\n<path d=\"M486.5 6836a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M506.5 6808h345.5\"></path>\n</g>\n<path d=\"M852 6808a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M486.5 6836h20\"></path>\n<g>\n<path d=\"M506.5 6836h0\"></path>\n<path d=\"M852 6836h0\"></path>\n<path d=\"M506.5 6836h10\"></path>\n<g>\n<path d=\"M516.5 6836h0\"></path>\n<path d=\"M842 6836h0\"></path>\n<g class=\"terminal\">\n<path d=\"M516.5 6836h0\"></path>\n<path d=\"M562 6836h0\"></path>\n<rect x=\"516.5\" y=\"6825\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"539.25\" y=\"6840\">\".\"</text>\n</g>\n<path d=\"M562 6836h10\"></path>\n<path d=\"M572 6836h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M582 6836h0\"></path>\n<path d=\"M661.5 6836h0\"></path>\n<rect x=\"582\" y=\"6825\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"621.75\" y=\"6840\">CDSName</text>\n</a>\n</g>\n<path d=\"M661.5 6836h10\"></path>\n<g>\n<path d=\"M671.5 6836h0\"></path>\n<path d=\"M842 6836h0\"></path>\n<path d=\"M671.5 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M691.5 6816h130.5\"></path>\n</g>\n<path d=\"M822 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M671.5 6836h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M691.5 6836h0\"></path>\n<path d=\"M822 6836h0\"></path>\n<rect x=\"691.5\" y=\"6825\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"756.75\" y=\"6840\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M822 6836h20\"></path>\n</g>\n</g>\n<path d=\"M842 6836h10\"></path>\n<path d=\"M516.5 6836a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M516.5 6856h325.5\"></path>\n</g>\n<path d=\"M842 6856a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M852 6836h20\"></path>\n</g>\n</g>\n<path d=\"M872 6836a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M206.5 6669a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M226.5 6875h0\"></path>\n<path d=\"M289 6875h583\"></path>\n<rect x=\"226.5\" y=\"6864\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"257.75\" y=\"6879\">^\\d+$</text>\n</g>\n<path d=\"M872 6875a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M892 6669h10\"></path>\n<g class=\"terminal\">\n<path d=\"M902 6669h0\"></path>\n<path d=\"M947.5 6669h0\"></path>\n<rect x=\"902\" y=\"6658\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"924.75\" y=\"6673\">\",\"</text>\n</g>\n<path d=\"M947.5 6669h10\"></path>\n<g>\n<path d=\"M957.5 6669h0\"></path>\n<path d=\"M1643 6669h0\"></path>\n<path d=\"M957.5 6669h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6669h0\"></path>\n<path d=\"M1057 6669h566\"></path>\n<rect x=\"977.5\" y=\"6658\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1017.25\" y=\"6673\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1623 6669h20\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6699h0\"></path>\n<path d=\"M1091 6699h532\"></path>\n<rect x=\"977.5\" y=\"6688\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1034.25\" y=\"6703\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1623 6699a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6729h0\"></path>\n<path d=\"M1116.5 6729h506.5\"></path>\n<rect x=\"977.5\" y=\"6718\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1047\" y=\"6733\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1623 6729a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6759h0\"></path>\n<path d=\"M1057 6759h566\"></path>\n<rect x=\"977.5\" y=\"6748\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1017.25\" y=\"6763\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1623 6759a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6789h0\"></path>\n<path d=\"M1074 6789h549\"></path>\n<rect x=\"977.5\" y=\"6778\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1025.75\" y=\"6793\">CDSString</text>\n</a>\n</g>\n<path d=\"M1623 6789a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M977.5 6836h0\"></path>\n<path d=\"M1623 6836h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M977.5 6836h0\"></path>\n<path d=\"M1057 6836h0\"></path>\n<rect x=\"977.5\" y=\"6825\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1017.25\" y=\"6840\">CDSName</text>\n</a>\n</g>\n<path d=\"M1057 6836h10\"></path>\n<g>\n<path d=\"M1067 6836h0\"></path>\n<path d=\"M1237.5 6836h0\"></path>\n<path d=\"M1067 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1087 6816h130.5\"></path>\n</g>\n<path d=\"M1217.5 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1067 6836h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1087 6836h0\"></path>\n<path d=\"M1217.5 6836h0\"></path>\n<rect x=\"1087\" y=\"6825\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1152.25\" y=\"6840\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1217.5 6836h20\"></path>\n</g>\n<g>\n<path d=\"M1237.5 6836h0\"></path>\n<path d=\"M1623 6836h0\"></path>\n<path d=\"M1237.5 6836a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1257.5 6808h345.5\"></path>\n</g>\n<path d=\"M1603 6808a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1237.5 6836h20\"></path>\n<g>\n<path d=\"M1257.5 6836h0\"></path>\n<path d=\"M1603 6836h0\"></path>\n<path d=\"M1257.5 6836h10\"></path>\n<g>\n<path d=\"M1267.5 6836h0\"></path>\n<path d=\"M1593 6836h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1267.5 6836h0\"></path>\n<path d=\"M1313 6836h0\"></path>\n<rect x=\"1267.5\" y=\"6825\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1290.25\" y=\"6840\">\".\"</text>\n</g>\n<path d=\"M1313 6836h10\"></path>\n<path d=\"M1323 6836h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1333 6836h0\"></path>\n<path d=\"M1412.5 6836h0\"></path>\n<rect x=\"1333\" y=\"6825\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1372.75\" y=\"6840\">CDSName</text>\n</a>\n</g>\n<path d=\"M1412.5 6836h10\"></path>\n<g>\n<path d=\"M1422.5 6836h0\"></path>\n<path d=\"M1593 6836h0\"></path>\n<path d=\"M1422.5 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1442.5 6816h130.5\"></path>\n</g>\n<path d=\"M1573 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1422.5 6836h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1442.5 6836h0\"></path>\n<path d=\"M1573 6836h0\"></path>\n<rect x=\"1442.5\" y=\"6825\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1507.75\" y=\"6840\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1573 6836h20\"></path>\n</g>\n</g>\n<path d=\"M1593 6836h10\"></path>\n<path d=\"M1267.5 6836a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1267.5 6856h325.5\"></path>\n</g>\n<path d=\"M1593 6856a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1603 6836h20\"></path>\n</g>\n</g>\n<path d=\"M1623 6836a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M957.5 6669a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M977.5 6875h0\"></path>\n<path d=\"M1040 6875h583\"></path>\n<rect x=\"977.5\" y=\"6864\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1008.75\" y=\"6879\">^\\d+$</text>\n</g>\n<path d=\"M1623 6875a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1643 6669h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1653 6669h0\"></path>\n<path d=\"M1698.5 6669h0\"></path>\n<rect x=\"1653\" y=\"6658\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1675.75\" y=\"6673\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 6669a10 10 0 0 0 10 -10v-6618a10 10 0 0 1 10 -10\"></path>\n<path d=\"M40 31a10 10 0 0 1 10 10v6854a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M60 6905h0\"></path>\n<path d=\"M1707 6905h2363.5\"></path>\n<g class=\"terminal\">\n<path d=\"M60 6905h0\"></path>\n<path d=\"M139.5 6905h0\"></path>\n<rect x=\"60\" y=\"6894\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"99.75\" y=\"6909\">\"RIGHT\"</text>\n</g>\n<path d=\"M139.5 6905h10\"></path>\n<path d=\"M149.5 6905h10\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 6905h0\"></path>\n<path d=\"M205 6905h0\"></path>\n<rect x=\"159.5\" y=\"6894\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"6909\">\"(\"</text>\n</g>\n<path d=\"M205 6905h10\"></path>\n<g>\n<path d=\"M215 6905h0\"></path>\n<path d=\"M900.5 6905h0\"></path>\n<path d=\"M215 6905h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 6905h0\"></path>\n<path d=\"M314.5 6905h566\"></path>\n<rect x=\"235\" y=\"6894\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"274.75\" y=\"6909\">CDSCast</text>\n</a>\n</g>\n<path d=\"M880.5 6905h20\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 6935h0\"></path>\n<path d=\"M348.5 6935h532\"></path>\n<rect x=\"235\" y=\"6924\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"291.75\" y=\"6939\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M880.5 6935a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 6965h0\"></path>\n<path d=\"M374 6965h506.5\"></path>\n<rect x=\"235\" y=\"6954\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"304.5\" y=\"6969\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M880.5 6965a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 6995h0\"></path>\n<path d=\"M314.5 6995h566\"></path>\n<rect x=\"235\" y=\"6984\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"274.75\" y=\"6999\">CDSCase</text>\n</a>\n</g>\n<path d=\"M880.5 6995a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 7025h0\"></path>\n<path d=\"M331.5 7025h549\"></path>\n<rect x=\"235\" y=\"7014\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"283.25\" y=\"7029\">CDSString</text>\n</a>\n</g>\n<path d=\"M880.5 7025a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M235 7072h0\"></path>\n<path d=\"M880.5 7072h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M235 7072h0\"></path>\n<path d=\"M314.5 7072h0\"></path>\n<rect x=\"235\" y=\"7061\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.75\" y=\"7076\">CDSName</text>\n</a>\n</g>\n<path d=\"M314.5 7072h10\"></path>\n<g>\n<path d=\"M324.5 7072h0\"></path>\n<path d=\"M495 7072h0\"></path>\n<path d=\"M324.5 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 7052h130.5\"></path>\n</g>\n<path d=\"M475 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 7072h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M344.5 7072h0\"></path>\n<path d=\"M475 7072h0\"></path>\n<rect x=\"344.5\" y=\"7061\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"409.75\" y=\"7076\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M475 7072h20\"></path>\n</g>\n<g>\n<path d=\"M495 7072h0\"></path>\n<path d=\"M880.5 7072h0\"></path>\n<path d=\"M495 7072a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 7044h345.5\"></path>\n</g>\n<path d=\"M860.5 7044a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 7072h20\"></path>\n<g>\n<path d=\"M515 7072h0\"></path>\n<path d=\"M860.5 7072h0\"></path>\n<path d=\"M515 7072h10\"></path>\n<g>\n<path d=\"M525 7072h0\"></path>\n<path d=\"M850.5 7072h0\"></path>\n<g class=\"terminal\">\n<path d=\"M525 7072h0\"></path>\n<path d=\"M570.5 7072h0\"></path>\n<rect x=\"525\" y=\"7061\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"547.75\" y=\"7076\">\".\"</text>\n</g>\n<path d=\"M570.5 7072h10\"></path>\n<path d=\"M580.5 7072h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M590.5 7072h0\"></path>\n<path d=\"M670 7072h0\"></path>\n<rect x=\"590.5\" y=\"7061\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"630.25\" y=\"7076\">CDSName</text>\n</a>\n</g>\n<path d=\"M670 7072h10\"></path>\n<g>\n<path d=\"M680 7072h0\"></path>\n<path d=\"M850.5 7072h0\"></path>\n<path d=\"M680 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M700 7052h130.5\"></path>\n</g>\n<path d=\"M830.5 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M680 7072h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M700 7072h0\"></path>\n<path d=\"M830.5 7072h0\"></path>\n<rect x=\"700\" y=\"7061\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"765.25\" y=\"7076\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M830.5 7072h20\"></path>\n</g>\n</g>\n<path d=\"M850.5 7072h10\"></path>\n<path d=\"M525 7072a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M525 7092h325.5\"></path>\n</g>\n<path d=\"M850.5 7092a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M860.5 7072h20\"></path>\n</g>\n</g>\n<path d=\"M880.5 7072a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M215 6905a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M235 7111h0\"></path>\n<path d=\"M297.5 7111h583\"></path>\n<rect x=\"235\" y=\"7100\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"7115\">^\\d+$</text>\n</g>\n<path d=\"M880.5 7111a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M900.5 6905h10\"></path>\n<g class=\"terminal\">\n<path d=\"M910.5 6905h0\"></path>\n<path d=\"M956 6905h0\"></path>\n<rect x=\"910.5\" y=\"6894\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"933.25\" y=\"6909\">\",\"</text>\n</g>\n<path d=\"M956 6905h10\"></path>\n<g>\n<path d=\"M966 6905h0\"></path>\n<path d=\"M1651.5 6905h0\"></path>\n<path d=\"M966 6905h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 6905h0\"></path>\n<path d=\"M1065.5 6905h566\"></path>\n<rect x=\"986\" y=\"6894\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCast\"><text x=\"1025.75\" y=\"6909\">CDSCast</text>\n</a>\n</g>\n<path d=\"M1631.5 6905h20\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 6935h0\"></path>\n<path d=\"M1099.5 6935h532\"></path>\n<rect x=\"986\" y=\"6924\" width=\"113.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSFunction\"><text x=\"1042.75\" y=\"6939\">CDSFunction</text>\n</a>\n</g>\n<path d=\"M1631.5 6935a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 6965h0\"></path>\n<path d=\"M1125 6965h506.5\"></path>\n<rect x=\"986\" y=\"6954\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSArithmetics\"><text x=\"1055.5\" y=\"6969\">CDSArithmetics</text>\n</a>\n</g>\n<path d=\"M1631.5 6965a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 6995h0\"></path>\n<path d=\"M1065.5 6995h566\"></path>\n<rect x=\"986\" y=\"6984\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCase\"><text x=\"1025.75\" y=\"6999\">CDSCase</text>\n</a>\n</g>\n<path d=\"M1631.5 6995a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 7025h0\"></path>\n<path d=\"M1082.5 7025h549\"></path>\n<rect x=\"986\" y=\"7014\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1034.25\" y=\"7029\">CDSString</text>\n</a>\n</g>\n<path d=\"M1631.5 7025a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M986 7072h0\"></path>\n<path d=\"M1631.5 7072h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M986 7072h0\"></path>\n<path d=\"M1065.5 7072h0\"></path>\n<rect x=\"986\" y=\"7061\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1025.75\" y=\"7076\">CDSName</text>\n</a>\n</g>\n<path d=\"M1065.5 7072h10\"></path>\n<g>\n<path d=\"M1075.5 7072h0\"></path>\n<path d=\"M1246 7072h0\"></path>\n<path d=\"M1075.5 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1095.5 7052h130.5\"></path>\n</g>\n<path d=\"M1226 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1075.5 7072h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1095.5 7072h0\"></path>\n<path d=\"M1226 7072h0\"></path>\n<rect x=\"1095.5\" y=\"7061\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1160.75\" y=\"7076\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1226 7072h20\"></path>\n</g>\n<g>\n<path d=\"M1246 7072h0\"></path>\n<path d=\"M1631.5 7072h0\"></path>\n<path d=\"M1246 7072a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1266 7044h345.5\"></path>\n</g>\n<path d=\"M1611.5 7044a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1246 7072h20\"></path>\n<g>\n<path d=\"M1266 7072h0\"></path>\n<path d=\"M1611.5 7072h0\"></path>\n<path d=\"M1266 7072h10\"></path>\n<g>\n<path d=\"M1276 7072h0\"></path>\n<path d=\"M1601.5 7072h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1276 7072h0\"></path>\n<path d=\"M1321.5 7072h0\"></path>\n<rect x=\"1276\" y=\"7061\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1298.75\" y=\"7076\">\".\"</text>\n</g>\n<path d=\"M1321.5 7072h10\"></path>\n<path d=\"M1331.5 7072h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1341.5 7072h0\"></path>\n<path d=\"M1421 7072h0\"></path>\n<rect x=\"1341.5\" y=\"7061\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1381.25\" y=\"7076\">CDSName</text>\n</a>\n</g>\n<path d=\"M1421 7072h10\"></path>\n<g>\n<path d=\"M1431 7072h0\"></path>\n<path d=\"M1601.5 7072h0\"></path>\n<path d=\"M1431 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1451 7052h130.5\"></path>\n</g>\n<path d=\"M1581.5 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1431 7072h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1451 7072h0\"></path>\n<path d=\"M1581.5 7072h0\"></path>\n<rect x=\"1451\" y=\"7061\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"1516.25\" y=\"7076\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M1581.5 7072h20\"></path>\n</g>\n</g>\n<path d=\"M1601.5 7072h10\"></path>\n<path d=\"M1276 7072a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1276 7092h325.5\"></path>\n</g>\n<path d=\"M1601.5 7092a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1611.5 7072h20\"></path>\n</g>\n</g>\n<path d=\"M1631.5 7072a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10\"></path>\n<path d=\"M966 6905a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M986 7111h0\"></path>\n<path d=\"M1048.5 7111h583\"></path>\n<rect x=\"986\" y=\"7100\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.25\" y=\"7115\">^\\d+$</text>\n</g>\n<path d=\"M1631.5 7111a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M1651.5 6905h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1661.5 6905h0\"></path>\n<path d=\"M1707 6905h0\"></path>\n<rect x=\"1661.5\" y=\"6894\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1684.25\" y=\"6909\">\")\"</text>\n</g>\n</g>\n<path d=\"M4070.5 6905a10 10 0 0 0 10 -10v-6854a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M 4090.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSCondition",
+        "expression/CDSElement",
+        "expression/CDSFunction"
+      ],
+      "filename": "c_ds_function.ts"
+    },
+    {
+      "name": "CDSGroupBy",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"GROUP BY\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))))))).toString();",
+      "using": [
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"949.5\" height=\"96\" viewBox=\"0 0 949.5 96\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M899.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M155 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"102.5\" y=\"52\">\"GROUP BY\"</text>\n</g>\n<path d=\"M155 48h10\"></path>\n<path d=\"M165 48h10\"></path>\n<g>\n<path d=\"M175 48h0\"></path>\n<path d=\"M469.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M175 48h0\"></path>\n<path d=\"M254.5 48h0\"></path>\n<rect x=\"175\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"214.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M254.5 48h10\"></path>\n<g>\n<path d=\"M264.5 48h0\"></path>\n<path d=\"M469.5 48h0\"></path>\n<path d=\"M264.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M284.5 28h165\"></path>\n</g>\n<path d=\"M449.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M264.5 48h20\"></path>\n<g>\n<path d=\"M284.5 48h0\"></path>\n<path d=\"M449.5 48h0\"></path>\n<path d=\"M284.5 48h10\"></path>\n<g>\n<path d=\"M294.5 48h0\"></path>\n<path d=\"M439.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M294.5 48h0\"></path>\n<path d=\"M340 48h0\"></path>\n<rect x=\"294.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"317.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M340 48h10\"></path>\n<path d=\"M350 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M360 48h0\"></path>\n<path d=\"M439.5 48h0\"></path>\n<rect x=\"360\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"399.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M439.5 48h10\"></path>\n<path d=\"M294.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M294.5 68h145\"></path>\n</g>\n<path d=\"M439.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M449.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M469.5 48h10\"></path>\n<g>\n<path d=\"M479.5 48h0\"></path>\n<path d=\"M899.5 48h0\"></path>\n<path d=\"M479.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M499.5 20h380\"></path>\n</g>\n<path d=\"M879.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M479.5 48h20\"></path>\n<g>\n<path d=\"M499.5 48h0\"></path>\n<path d=\"M879.5 48h0\"></path>\n<path d=\"M499.5 48h10\"></path>\n<g>\n<path d=\"M509.5 48h0\"></path>\n<path d=\"M869.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M509.5 48h0\"></path>\n<path d=\"M555 48h0\"></path>\n<rect x=\"509.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"532.25\" y=\"52\">\",\"</text>\n</g>\n<path d=\"M555 48h10\"></path>\n<path d=\"M565 48h10\"></path>\n<g>\n<path d=\"M575 48h0\"></path>\n<path d=\"M869.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M575 48h0\"></path>\n<path d=\"M654.5 48h0\"></path>\n<rect x=\"575\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"614.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M654.5 48h10\"></path>\n<g>\n<path d=\"M664.5 48h0\"></path>\n<path d=\"M869.5 48h0\"></path>\n<path d=\"M664.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M684.5 28h165\"></path>\n</g>\n<path d=\"M849.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M664.5 48h20\"></path>\n<g>\n<path d=\"M684.5 48h0\"></path>\n<path d=\"M849.5 48h0\"></path>\n<path d=\"M684.5 48h10\"></path>\n<g>\n<path d=\"M694.5 48h0\"></path>\n<path d=\"M839.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M694.5 48h0\"></path>\n<path d=\"M740 48h0\"></path>\n<rect x=\"694.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"717.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M740 48h10\"></path>\n<path d=\"M750 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M760 48h0\"></path>\n<path d=\"M839.5 48h0\"></path>\n<rect x=\"760\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"799.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M839.5 48h10\"></path>\n<path d=\"M694.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M694.5 68h145\"></path>\n</g>\n<path d=\"M839.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M849.5 48h20\"></path>\n</g>\n</g>\n</g>\n<path d=\"M869.5 48h10\"></path>\n<path d=\"M509.5 48a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M509.5 76h360\"></path>\n</g>\n<path d=\"M869.5 76a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M879.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M899.5 48h10\"></path>\n<path d=\"M 909.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_group_by.ts"
+    },
+    {
+      "name": "CDSHaving",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"HAVING\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}))).toString();",
+      "using": [
+        "expression/CDSCondition"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"330\" height=\"62\" viewBox=\"0 0 330 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M280 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M138 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"35\">\"HAVING\"</text>\n</g>\n<path d=\"M138 31h10\"></path>\n<path d=\"M148 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M158 31h0\"></path>\n<path d=\"M280 31h0\"></path>\n<rect x=\"158\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"219\" y=\"35\">CDSCondition</text>\n</a>\n</g>\n</g>\n<path d=\"M280 31h10\"></path>\n<path d=\"M 290 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_having.ts"
+    },
+    {
+      "name": "CDSInteger",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\d+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">^\\d+$</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSArithmetics",
+        "expression/CDSCondition"
+      ],
+      "filename": "c_ds_integer.ts"
+    },
+    {
+      "name": "CDSJoin",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Choice(0, Railroad.Terminal('\"INNER\"'),Railroad.Terminal('\"LEFT OUTER\"'),Railroad.Terminal('\"LEFT OUTER TO ONE\"'))),Railroad.Terminal('\"JOIN\"'),Railroad.NonTerminal('CDSSource', {href: '#/expression/CDSSource'}),Railroad.Terminal('\"ON\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}))).toString();",
+      "using": [
+        "expression/CDSCondition",
+        "expression/CDSSource"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"775\" height=\"131\" viewBox=\"0 0 775 131\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M725 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M311.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h221.5\"></path>\n</g>\n<path d=\"M291.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M291.5 40h0\"></path>\n<path d=\"M70 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M90 40h0\"></path>\n<path d=\"M169.5 40h102\"></path>\n<rect x=\"90\" y=\"29\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"129.75\" y=\"44\">\"INNER\"</text>\n</g>\n<path d=\"M271.5 40h20\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 70h0\"></path>\n<path d=\"M212 70h59.5\"></path>\n<rect x=\"90\" y=\"59\" width=\"122\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"151\" y=\"74\">\"LEFT OUTER\"</text>\n</g>\n<path d=\"M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M90 100h0\"></path>\n<path d=\"M271.5 100h0\"></path>\n<rect x=\"90\" y=\"89\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"180.75\" y=\"104\">\"LEFT OUTER TO ONE\"</text>\n</g>\n<path d=\"M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M291.5 40h20\"></path>\n</g>\n<path d=\"M311.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M321.5 40h0\"></path>\n<path d=\"M392.5 40h0\"></path>\n<rect x=\"321.5\" y=\"29\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"357\" y=\"44\">\"JOIN\"</text>\n</g>\n<path d=\"M392.5 40h10\"></path>\n<path d=\"M402.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M412.5 40h0\"></path>\n<path d=\"M509 40h0\"></path>\n<rect x=\"412.5\" y=\"29\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSSource\"><text x=\"460.75\" y=\"44\">CDSSource</text>\n</a>\n</g>\n<path d=\"M509 40h10\"></path>\n<path d=\"M519 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M529 40h0\"></path>\n<path d=\"M583 40h0\"></path>\n<rect x=\"529\" y=\"29\" width=\"54\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"556\" y=\"44\">\"ON\"</text>\n</g>\n<path d=\"M583 40h10\"></path>\n<path d=\"M593 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M603 40h0\"></path>\n<path d=\"M725 40h0\"></path>\n<rect x=\"603\" y=\"29\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"664\" y=\"44\">CDSCondition</text>\n</a>\n</g>\n</g>\n<path d=\"M725 40h10\"></path>\n<path d=\"M 735 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_join.ts"
+    },
+    {
+      "name": "CDSName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\":\"')),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"/\"'),Railroad.Terminal(\"^[\\\\w_]+$\"),Railroad.Terminal('\"/\"'))),Railroad.Terminal(\"^\\\\$?#?[\\\\w_]+$\"))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"585\" height=\"71\" viewBox=\"0 0 585 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M535 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h45.5\"></path>\n</g>\n<path d=\"M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"92.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M115.5 40h20\"></path>\n</g>\n<g>\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M394.5 40h0\"></path>\n<path d=\"M135.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M155.5 20h219\"></path>\n</g>\n<path d=\"M374.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M135.5 40h20\"></path>\n<g>\n<path d=\"M155.5 40h0\"></path>\n<path d=\"M374.5 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M155.5 40h0\"></path>\n<path d=\"M201 40h0\"></path>\n<rect x=\"155.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"178.25\" y=\"44\">\"/\"</text>\n</g>\n<path d=\"M201 40h10\"></path>\n<path d=\"M211 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M221 40h0\"></path>\n<path d=\"M309 40h0\"></path>\n<rect x=\"221\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"265\" y=\"44\">^&#91;\\w&#95;&#93;+$</text>\n</g>\n<path d=\"M309 40h10\"></path>\n<path d=\"M319 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M329 40h0\"></path>\n<path d=\"M374.5 40h0\"></path>\n<rect x=\"329\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"351.75\" y=\"44\">\"/\"</text>\n</g>\n</g>\n<path d=\"M374.5 40h20\"></path>\n</g>\n<path d=\"M394.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M404.5 40h0\"></path>\n<path d=\"M535 40h0\"></path>\n<rect x=\"404.5\" y=\"29\" width=\"130.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"469.75\" y=\"44\">^\\$?#?&#91;\\w&#95;&#93;+$</text>\n</g>\n</g>\n<path d=\"M535 40h10\"></path>\n<path d=\"M 545 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAggregate",
+        "expression/CDSAnnotate",
+        "expression/CDSAnnotationObject",
+        "expression/CDSArithmetics",
+        "expression/CDSAs",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSCondition",
+        "expression/CDSDefineAbstract",
+        "expression/CDSDefineCustom",
+        "expression/CDSDefineProjection",
+        "expression/CDSDefineView",
+        "expression/CDSElement",
+        "expression/CDSExtendView",
+        "expression/CDSFunction",
+        "expression/CDSGroupBy",
+        "expression/CDSParameters",
+        "expression/CDSParametersSelect",
+        "expression/CDSPrefixedName",
+        "expression/CDSSource",
+        "expression/CDSType",
+        "expression/CDSWithParameters"
+      ],
+      "filename": "c_ds_name.ts"
+    },
+    {
+      "name": "CDSParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"[\"'),Railroad.Terminal(\"\\\\d+\"),Railroad.Terminal('\":\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\"AND\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Terminal('\"=\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'})))),Railroad.Terminal('\"]\"'))).toString();",
+      "using": [
+        "expression/CDSName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1823.5\" height=\"117\" viewBox=\"0 0 1823.5 117\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1773.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M95.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"52\">\"&#91;\"</text>\n</g>\n<path d=\"M95.5 48h10\"></path>\n<path d=\"M105.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M161 48h0\"></path>\n<rect x=\"115.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"138.25\" y=\"52\">\\d+</text>\n</g>\n<path d=\"M161 48h10\"></path>\n<path d=\"M171 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M181 48h0\"></path>\n<path d=\"M226.5 48h0\"></path>\n<rect x=\"181\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"203.75\" y=\"52\">\":\"</text>\n</g>\n<path d=\"M226.5 48h10\"></path>\n<path d=\"M236.5 48h10\"></path>\n<g>\n<path d=\"M246.5 48h0\"></path>\n<path d=\"M521 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M246.5 48h0\"></path>\n<path d=\"M326 48h0\"></path>\n<rect x=\"246.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"286.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M326 48h10\"></path>\n<g>\n<path d=\"M336 48h0\"></path>\n<path d=\"M521 48h0\"></path>\n<path d=\"M336 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M356 28h145\"></path>\n</g>\n<path d=\"M501 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M336 48h20\"></path>\n<g>\n<path d=\"M356 48h0\"></path>\n<path d=\"M501 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M356 48h0\"></path>\n<path d=\"M401.5 48h0\"></path>\n<rect x=\"356\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"378.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M401.5 48h10\"></path>\n<path d=\"M411.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M421.5 48h0\"></path>\n<path d=\"M501 48h0\"></path>\n<rect x=\"421.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"461.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M501 48h20\"></path>\n</g>\n</g>\n<path d=\"M521 48h10\"></path>\n<path d=\"M531 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M541 48h0\"></path>\n<path d=\"M586.5 48h0\"></path>\n<rect x=\"541\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"563.75\" y=\"52\">\"=\"</text>\n</g>\n<path d=\"M586.5 48h10\"></path>\n<g>\n<path d=\"M596.5 48h0\"></path>\n<path d=\"M911 48h0\"></path>\n<path d=\"M596.5 48h20\"></path>\n<g>\n<path d=\"M616.5 48h0\"></path>\n<path d=\"M891 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616.5 48h0\"></path>\n<path d=\"M696 48h0\"></path>\n<rect x=\"616.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"656.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M696 48h10\"></path>\n<g>\n<path d=\"M706 48h0\"></path>\n<path d=\"M891 48h0\"></path>\n<path d=\"M706 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M726 28h145\"></path>\n</g>\n<path d=\"M871 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M706 48h20\"></path>\n<g>\n<path d=\"M726 48h0\"></path>\n<path d=\"M871 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M726 48h0\"></path>\n<path d=\"M771.5 48h0\"></path>\n<rect x=\"726\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"748.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M771.5 48h10\"></path>\n<path d=\"M781.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M791.5 48h0\"></path>\n<path d=\"M871 48h0\"></path>\n<rect x=\"791.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"831.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M871 48h20\"></path>\n</g>\n</g>\n<path d=\"M891 48h20\"></path>\n<path d=\"M596.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M616.5 78h0\"></path>\n<path d=\"M713 78h178\"></path>\n<rect x=\"616.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"664.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M891 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<g>\n<path d=\"M911 48h0\"></path>\n<path d=\"M1718 48h0\"></path>\n<path d=\"M911 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M931 20h767\"></path>\n</g>\n<path d=\"M1698 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M911 48h20\"></path>\n<g>\n<path d=\"M931 48h0\"></path>\n<path d=\"M1698 48h0\"></path>\n<path d=\"M931 48h10\"></path>\n<g>\n<path d=\"M941 48h0\"></path>\n<path d=\"M1688 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M941 48h0\"></path>\n<path d=\"M1003.5 48h0\"></path>\n<rect x=\"941\" y=\"37\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"972.25\" y=\"52\">\"AND\"</text>\n</g>\n<path d=\"M1003.5 48h10\"></path>\n<path d=\"M1013.5 48h10\"></path>\n<g>\n<path d=\"M1023.5 48h0\"></path>\n<path d=\"M1298 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1023.5 48h0\"></path>\n<path d=\"M1103 48h0\"></path>\n<rect x=\"1023.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1063.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1103 48h10\"></path>\n<g>\n<path d=\"M1113 48h0\"></path>\n<path d=\"M1298 48h0\"></path>\n<path d=\"M1113 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1133 28h145\"></path>\n</g>\n<path d=\"M1278 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1113 48h20\"></path>\n<g>\n<path d=\"M1133 48h0\"></path>\n<path d=\"M1278 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1133 48h0\"></path>\n<path d=\"M1178.5 48h0\"></path>\n<rect x=\"1133\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1155.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1178.5 48h10\"></path>\n<path d=\"M1188.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1198.5 48h0\"></path>\n<path d=\"M1278 48h0\"></path>\n<rect x=\"1198.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1238.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1278 48h20\"></path>\n</g>\n</g>\n<path d=\"M1298 48h10\"></path>\n<path d=\"M1308 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1318 48h0\"></path>\n<path d=\"M1363.5 48h0\"></path>\n<rect x=\"1318\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1340.75\" y=\"52\">\"=\"</text>\n</g>\n<path d=\"M1363.5 48h10\"></path>\n<g>\n<path d=\"M1373.5 48h0\"></path>\n<path d=\"M1688 48h0\"></path>\n<path d=\"M1373.5 48h20\"></path>\n<g>\n<path d=\"M1393.5 48h0\"></path>\n<path d=\"M1668 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1393.5 48h0\"></path>\n<path d=\"M1473 48h0\"></path>\n<rect x=\"1393.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1433.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1473 48h10\"></path>\n<g>\n<path d=\"M1483 48h0\"></path>\n<path d=\"M1668 48h0\"></path>\n<path d=\"M1483 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1503 28h145\"></path>\n</g>\n<path d=\"M1648 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1483 48h20\"></path>\n<g>\n<path d=\"M1503 48h0\"></path>\n<path d=\"M1648 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1503 48h0\"></path>\n<path d=\"M1548.5 48h0\"></path>\n<rect x=\"1503\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1525.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1548.5 48h10\"></path>\n<path d=\"M1558.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1568.5 48h0\"></path>\n<path d=\"M1648 48h0\"></path>\n<rect x=\"1568.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1608.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1648 48h20\"></path>\n</g>\n</g>\n<path d=\"M1668 48h20\"></path>\n<path d=\"M1373.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1393.5 78h0\"></path>\n<path d=\"M1490 78h178\"></path>\n<rect x=\"1393.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1441.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M1668 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M1688 48h10\"></path>\n<path d=\"M941 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M941 97h747\"></path>\n</g>\n<path d=\"M1688 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1698 48h20\"></path>\n</g>\n<path d=\"M1718 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1728 48h0\"></path>\n<path d=\"M1773.5 48h0\"></path>\n<rect x=\"1728\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1750.75\" y=\"52\">\"&#93;\"</text>\n</g>\n</g>\n<path d=\"M1773.5 48h10\"></path>\n<path d=\"M 1783.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSFunction",
+        "expression/CDSPrefixedName"
+      ],
+      "filename": "c_ds_parameters.ts"
+    },
+    {
+      "name": "CDSParametersSelect",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Terminal('\":\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.Terminal('\":\"'),Railroad.Choice(0, Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'})))),Railroad.NonTerminal('CDSString', {href: '#/expression/CDSString'}))))),Railroad.Terminal('\")\"'))).toString();",
+      "using": [
+        "expression/CDSName",
+        "expression/CDSString"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"1685.5\" height=\"117\" viewBox=\"0 0 1685.5 117\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M1635.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M95.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"72.75\" y=\"52\">\"(\"</text>\n</g>\n<path d=\"M95.5 48h10\"></path>\n<path d=\"M105.5 48h10\"></path>\n<g>\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M780 48h0\"></path>\n<g>\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M390 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M115.5 48h0\"></path>\n<path d=\"M195 48h0\"></path>\n<rect x=\"115.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"155.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M195 48h10\"></path>\n<g>\n<path d=\"M205 48h0\"></path>\n<path d=\"M390 48h0\"></path>\n<path d=\"M205 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M225 28h145\"></path>\n</g>\n<path d=\"M370 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M205 48h20\"></path>\n<g>\n<path d=\"M225 48h0\"></path>\n<path d=\"M370 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M225 48h0\"></path>\n<path d=\"M270.5 48h0\"></path>\n<rect x=\"225\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"247.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M270.5 48h10\"></path>\n<path d=\"M280.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M290.5 48h0\"></path>\n<path d=\"M370 48h0\"></path>\n<rect x=\"290.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"330.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M370 48h20\"></path>\n</g>\n</g>\n<path d=\"M390 48h10\"></path>\n<path d=\"M400 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M410 48h0\"></path>\n<path d=\"M455.5 48h0\"></path>\n<rect x=\"410\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"432.75\" y=\"52\">\":\"</text>\n</g>\n<path d=\"M455.5 48h10\"></path>\n<g>\n<path d=\"M465.5 48h0\"></path>\n<path d=\"M780 48h0\"></path>\n<path d=\"M465.5 48h20\"></path>\n<g>\n<path d=\"M485.5 48h0\"></path>\n<path d=\"M760 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M485.5 48h0\"></path>\n<path d=\"M565 48h0\"></path>\n<rect x=\"485.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"525.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M565 48h10\"></path>\n<g>\n<path d=\"M575 48h0\"></path>\n<path d=\"M760 48h0\"></path>\n<path d=\"M575 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M595 28h145\"></path>\n</g>\n<path d=\"M740 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M575 48h20\"></path>\n<g>\n<path d=\"M595 48h0\"></path>\n<path d=\"M740 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M595 48h0\"></path>\n<path d=\"M640.5 48h0\"></path>\n<rect x=\"595\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"617.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M640.5 48h10\"></path>\n<path d=\"M650.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M660.5 48h0\"></path>\n<path d=\"M740 48h0\"></path>\n<rect x=\"660.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"700.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M740 48h20\"></path>\n</g>\n</g>\n<path d=\"M760 48h20\"></path>\n<path d=\"M465.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M485.5 78h0\"></path>\n<path d=\"M582 78h178\"></path>\n<rect x=\"485.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"533.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M760 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M780 48h10\"></path>\n<g>\n<path d=\"M790 48h0\"></path>\n<path d=\"M1580 48h0\"></path>\n<path d=\"M790 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M810 20h750\"></path>\n</g>\n<path d=\"M1560 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M790 48h20\"></path>\n<g>\n<path d=\"M810 48h0\"></path>\n<path d=\"M1560 48h0\"></path>\n<path d=\"M810 48h10\"></path>\n<g>\n<path d=\"M820 48h0\"></path>\n<path d=\"M1550 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M820 48h0\"></path>\n<path d=\"M865.5 48h0\"></path>\n<rect x=\"820\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"842.75\" y=\"52\">\",\"</text>\n</g>\n<path d=\"M865.5 48h10\"></path>\n<path d=\"M875.5 48h10\"></path>\n<g>\n<path d=\"M885.5 48h0\"></path>\n<path d=\"M1550 48h0\"></path>\n<g>\n<path d=\"M885.5 48h0\"></path>\n<path d=\"M1160 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M885.5 48h0\"></path>\n<path d=\"M965 48h0\"></path>\n<rect x=\"885.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"925.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M965 48h10\"></path>\n<g>\n<path d=\"M975 48h0\"></path>\n<path d=\"M1160 48h0\"></path>\n<path d=\"M975 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M995 28h145\"></path>\n</g>\n<path d=\"M1140 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M975 48h20\"></path>\n<g>\n<path d=\"M995 48h0\"></path>\n<path d=\"M1140 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M995 48h0\"></path>\n<path d=\"M1040.5 48h0\"></path>\n<rect x=\"995\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1017.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1040.5 48h10\"></path>\n<path d=\"M1050.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1060.5 48h0\"></path>\n<path d=\"M1140 48h0\"></path>\n<rect x=\"1060.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1100.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1140 48h20\"></path>\n</g>\n</g>\n<path d=\"M1160 48h10\"></path>\n<path d=\"M1170 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1180 48h0\"></path>\n<path d=\"M1225.5 48h0\"></path>\n<rect x=\"1180\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1202.75\" y=\"52\">\":\"</text>\n</g>\n<path d=\"M1225.5 48h10\"></path>\n<g>\n<path d=\"M1235.5 48h0\"></path>\n<path d=\"M1550 48h0\"></path>\n<path d=\"M1235.5 48h20\"></path>\n<g>\n<path d=\"M1255.5 48h0\"></path>\n<path d=\"M1530 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1255.5 48h0\"></path>\n<path d=\"M1335 48h0\"></path>\n<rect x=\"1255.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1295.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M1335 48h10\"></path>\n<g>\n<path d=\"M1345 48h0\"></path>\n<path d=\"M1530 48h0\"></path>\n<path d=\"M1345 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1365 28h145\"></path>\n</g>\n<path d=\"M1510 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1345 48h20\"></path>\n<g>\n<path d=\"M1365 48h0\"></path>\n<path d=\"M1510 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1365 48h0\"></path>\n<path d=\"M1410.5 48h0\"></path>\n<rect x=\"1365\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1387.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M1410.5 48h10\"></path>\n<path d=\"M1420.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1430.5 48h0\"></path>\n<path d=\"M1510 48h0\"></path>\n<rect x=\"1430.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"1470.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M1510 48h20\"></path>\n</g>\n</g>\n<path d=\"M1530 48h20\"></path>\n<path d=\"M1235.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1255.5 78h0\"></path>\n<path d=\"M1352 78h178\"></path>\n<rect x=\"1255.5\" y=\"67\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSString\"><text x=\"1303.75\" y=\"82\">CDSString</text>\n</a>\n</g>\n<path d=\"M1530 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n</g>\n<path d=\"M1550 48h10\"></path>\n<path d=\"M820 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M820 97h730\"></path>\n</g>\n<path d=\"M1550 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1560 48h20\"></path>\n</g>\n<path d=\"M1580 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M1590 48h0\"></path>\n<path d=\"M1635.5 48h0\"></path>\n<rect x=\"1590\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1612.75\" y=\"52\">\")\"</text>\n</g>\n</g>\n<path d=\"M1635.5 48h10\"></path>\n<path d=\"M 1645.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSource"
+      ],
+      "filename": "c_ds_parameters_select.ts"
+    },
+    {
+      "name": "CDSPrefixedName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParameters', {href: '#/expression/CDSParameters'})))))).toString();",
+      "using": [
+        "expression/CDSName",
+        "expression/CDSParameters"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"745.5\" height=\"88\" viewBox=\"0 0 745.5 88\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M695.5 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M129.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"89.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M129.5 48h10\"></path>\n<g>\n<path d=\"M139.5 48h0\"></path>\n<path d=\"M310 48h0\"></path>\n<path d=\"M139.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 28h130.5\"></path>\n</g>\n<path d=\"M290 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 48h0\"></path>\n<path d=\"M290 48h0\"></path>\n<rect x=\"159.5\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"224.75\" y=\"52\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M290 48h20\"></path>\n</g>\n<g>\n<path d=\"M310 48h0\"></path>\n<path d=\"M695.5 48h0\"></path>\n<path d=\"M310 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M330 20h345.5\"></path>\n</g>\n<path d=\"M675.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M310 48h20\"></path>\n<g>\n<path d=\"M330 48h0\"></path>\n<path d=\"M675.5 48h0\"></path>\n<path d=\"M330 48h10\"></path>\n<g>\n<path d=\"M340 48h0\"></path>\n<path d=\"M665.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M340 48h0\"></path>\n<path d=\"M385.5 48h0\"></path>\n<rect x=\"340\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"362.75\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M385.5 48h10\"></path>\n<path d=\"M395.5 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M405.5 48h0\"></path>\n<path d=\"M485 48h0\"></path>\n<rect x=\"405.5\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"445.25\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M485 48h10\"></path>\n<g>\n<path d=\"M495 48h0\"></path>\n<path d=\"M665.5 48h0\"></path>\n<path d=\"M495 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M515 28h130.5\"></path>\n</g>\n<path d=\"M645.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M495 48h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M515 48h0\"></path>\n<path d=\"M645.5 48h0\"></path>\n<rect x=\"515\" y=\"37\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParameters\"><text x=\"580.25\" y=\"52\">CDSParameters</text>\n</a>\n</g>\n<path d=\"M645.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M665.5 48h10\"></path>\n<path d=\"M340 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M340 68h325.5\"></path>\n</g>\n<path d=\"M665.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M675.5 48h20\"></path>\n</g>\n</g>\n<path d=\"M695.5 48h10\"></path>\n<path d=\"M 705.5 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSElement"
+      ],
+      "filename": "c_ds_prefixed_name.ts"
+    },
+    {
+      "name": "CDSProviderContract",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"PROVIDER CONTRACT\"'),Railroad.Choice(0, Railroad.Terminal('\"TRANSACTIONAL_QUERY\"'),Railroad.Terminal('\"TRANSACTIONAL_INTERFACE\"'),Railroad.Terminal('\"ANALYTICAL_QUERY\"')))).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"564\" height=\"122\" viewBox=\"0 0 564 122\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M514 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M231.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"181.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"140.75\" y=\"35\">\"PROVIDER CONTRACT\"</text>\n</g>\n<path d=\"M231.5 31h10\"></path>\n<g>\n<path d=\"M241.5 31h0\"></path>\n<path d=\"M514 31h0\"></path>\n<path d=\"M241.5 31h20\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 31h0\"></path>\n<path d=\"M460 31h34\"></path>\n<rect x=\"261.5\" y=\"20\" width=\"198.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"360.75\" y=\"35\">\"TRANSACTIONAL&#95;QUERY\"</text>\n</g>\n<path d=\"M494 31h20\"></path>\n<path d=\"M241.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 61h0\"></path>\n<path d=\"M494 61h0\"></path>\n<rect x=\"261.5\" y=\"50\" width=\"232.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"377.75\" y=\"65\">\"TRANSACTIONAL&#95;INTERFACE\"</text>\n</g>\n<path d=\"M494 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n<path d=\"M241.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10\"></path>\n<g class=\"terminal\">\n<path d=\"M261.5 91h0\"></path>\n<path d=\"M434.5 91h59.5\"></path>\n<rect x=\"261.5\" y=\"80\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"348\" y=\"95\">\"ANALYTICAL&#95;QUERY\"</text>\n</g>\n<path d=\"M494 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10\"></path>\n</g>\n</g>\n<path d=\"M514 31h10\"></path>\n<path d=\"M 524 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSDefineProjection"
+      ],
+      "filename": "c_ds_provider_contract.ts"
+    },
+    {
+      "name": "CDSRelation",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"/\"'),Railroad.Terminal(\"^[\\\\w_]+$\"),Railroad.Terminal('\"/\"'))),Railroad.Terminal(\"^[\\\\w_]+$\"),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'})))).toString();",
+      "using": [
+        "expression/CDSAs"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"569.5\" height=\"71\" viewBox=\"0 0 569.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M309 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h219\"></path>\n</g>\n<path d=\"M289 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g>\n<path d=\"M70 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M115.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"92.75\" y=\"44\">\"/\"</text>\n</g>\n<path d=\"M115.5 40h10\"></path>\n<path d=\"M125.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M135.5 40h0\"></path>\n<path d=\"M223.5 40h0\"></path>\n<rect x=\"135.5\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"179.5\" y=\"44\">^&#91;\\w&#95;&#93;+$</text>\n</g>\n<path d=\"M223.5 40h10\"></path>\n<path d=\"M233.5 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M243.5 40h0\"></path>\n<path d=\"M289 40h0\"></path>\n<rect x=\"243.5\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"266.25\" y=\"44\">\"/\"</text>\n</g>\n</g>\n<path d=\"M289 40h20\"></path>\n</g>\n<path d=\"M309 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M319 40h0\"></path>\n<path d=\"M407 40h0\"></path>\n<rect x=\"319\" y=\"29\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"363\" y=\"44\">^&#91;\\w&#95;&#93;+$</text>\n</g>\n<path d=\"M407 40h10\"></path>\n<g>\n<path d=\"M417 40h0\"></path>\n<path d=\"M519.5 40h0\"></path>\n<path d=\"M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M437 20h62.5\"></path>\n</g>\n<path d=\"M499.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M417 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M437 40h0\"></path>\n<path d=\"M499.5 40h0\"></path>\n<rect x=\"437\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"468.25\" y=\"44\">CDSAs</text>\n</a>\n</g>\n<path d=\"M499.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M519.5 40h10\"></path>\n<path d=\"M 529.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAssociation",
+        "expression/CDSComposition"
+      ],
+      "filename": "c_ds_relation.ts"
+    },
+    {
+      "name": "CDSSelect",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"SELECT\"'),Railroad.Optional(Railroad.Terminal('\"DISTINCT\"')),Railroad.Optional(Railroad.Optional(Railroad.Sequence(Railroad.ZeroOrMore(Railroad.Sequence(Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'}),Railroad.Terminal('\",\"'))),Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'})))),Railroad.Terminal('\"FROM\"'),Railroad.NonTerminal('CDSSource', {href: '#/expression/CDSSource'}),Railroad.ZeroOrMore(Railroad.NonTerminal('CDSJoin', {href: '#/expression/CDSJoin'})),Railroad.ZeroOrMore(Railroad.NonTerminal('CDSComposition', {href: '#/expression/CDSComposition'})),Railroad.ZeroOrMore(Railroad.NonTerminal('CDSAssociation', {href: '#/expression/CDSAssociation'})),Railroad.ZeroOrMore(Railroad.NonTerminal('CDSComposition', {href: '#/expression/CDSComposition'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.NonTerminal('CDSElement', {href: '#/expression/CDSElement'}))),Railroad.Terminal('\"}\"'))),Railroad.Optional(Railroad.NonTerminal('CDSWhere', {href: '#/expression/CDSWhere'})),Railroad.Optional(Railroad.NonTerminal('CDSGroupBy', {href: '#/expression/CDSGroupBy'})),Railroad.Optional(Railroad.NonTerminal('CDSHaving', {href: '#/expression/CDSHaving'})),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"UNION\"'),Railroad.Optional(Railroad.Terminal('\"ALL\"')),Railroad.NonTerminal('CDSSelect', {href: '#/expression/CDSSelect'}))))).toString();",
+      "using": [
+        "expression/CDSAssociation",
+        "expression/CDSComposition",
+        "expression/CDSElement",
+        "expression/CDSGroupBy",
+        "expression/CDSHaving",
+        "expression/CDSJoin",
+        "expression/CDSSelect",
+        "expression/CDSSource",
+        "expression/CDSWhere"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"2987\" height=\"96\" viewBox=\"0 0 2987 96\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 46v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 56h10\"></path>\n<g>\n<path d=\"M50 56h0\"></path>\n<path d=\"M2937 56h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 56h0\"></path>\n<path d=\"M138 56h0\"></path>\n<rect x=\"50\" y=\"45\" width=\"88\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"94\" y=\"60\">\"SELECT\"</text>\n</g>\n<path d=\"M138 56h10\"></path>\n<g>\n<path d=\"M148 56h0\"></path>\n<path d=\"M293 56h0\"></path>\n<path d=\"M148 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M168 36h105\"></path>\n</g>\n<path d=\"M273 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M148 56h20\"></path>\n<g class=\"terminal\">\n<path d=\"M168 56h0\"></path>\n<path d=\"M273 56h0\"></path>\n<rect x=\"168\" y=\"45\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"220.5\" y=\"60\">\"DISTINCT\"</text>\n</g>\n<path d=\"M273 56h20\"></path>\n</g>\n<g>\n<path d=\"M293 56h0\"></path>\n<path d=\"M718.5 56h0\"></path>\n<path d=\"M293 56a10 10 0 0 0 10 -10v-16a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M313 20h385.5\"></path>\n</g>\n<path d=\"M698.5 20a10 10 0 0 1 10 10v16a10 10 0 0 0 10 10\"></path>\n<path d=\"M293 56h20\"></path>\n<g>\n<path d=\"M313 56h0\"></path>\n<path d=\"M698.5 56h0\"></path>\n<path d=\"M313 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M333 28h345.5\"></path>\n</g>\n<path d=\"M678.5 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M313 56h20\"></path>\n<g>\n<path d=\"M333 56h0\"></path>\n<path d=\"M678.5 56h0\"></path>\n<g>\n<path d=\"M333 56h0\"></path>\n<path d=\"M563.5 56h0\"></path>\n<path d=\"M333 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M353 36h190.5\"></path>\n</g>\n<path d=\"M543.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M333 56h20\"></path>\n<g>\n<path d=\"M353 56h0\"></path>\n<path d=\"M543.5 56h0\"></path>\n<path d=\"M353 56h10\"></path>\n<g>\n<path d=\"M363 56h0\"></path>\n<path d=\"M533.5 56h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M363 56h0\"></path>\n<path d=\"M468 56h0\"></path>\n<rect x=\"363\" y=\"45\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"415.5\" y=\"60\">CDSElement</text>\n</a>\n</g>\n<path d=\"M468 56h10\"></path>\n<path d=\"M478 56h10\"></path>\n<g class=\"terminal\">\n<path d=\"M488 56h0\"></path>\n<path d=\"M533.5 56h0\"></path>\n<rect x=\"488\" y=\"45\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"510.75\" y=\"60\">\",\"</text>\n</g>\n</g>\n<path d=\"M533.5 56h10\"></path>\n<path d=\"M363 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M363 76h170.5\"></path>\n</g>\n<path d=\"M533.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M543.5 56h20\"></path>\n</g>\n<path d=\"M563.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M573.5 56h0\"></path>\n<path d=\"M678.5 56h0\"></path>\n<rect x=\"573.5\" y=\"45\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"626\" y=\"60\">CDSElement</text>\n</a>\n</g>\n</g>\n<path d=\"M678.5 56h20\"></path>\n</g>\n<path d=\"M698.5 56h20\"></path>\n</g>\n<path d=\"M718.5 56h10\"></path>\n<g class=\"terminal\">\n<path d=\"M728.5 56h0\"></path>\n<path d=\"M799.5 56h0\"></path>\n<rect x=\"728.5\" y=\"45\" width=\"71\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"764\" y=\"60\">\"FROM\"</text>\n</g>\n<path d=\"M799.5 56h10\"></path>\n<path d=\"M809.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M819.5 56h0\"></path>\n<path d=\"M916 56h0\"></path>\n<rect x=\"819.5\" y=\"45\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSSource\"><text x=\"867.75\" y=\"60\">CDSSource</text>\n</a>\n</g>\n<path d=\"M916 56h10\"></path>\n<g>\n<path d=\"M926 56h0\"></path>\n<path d=\"M1065.5 56h0\"></path>\n<path d=\"M926 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M946 36h99.5\"></path>\n</g>\n<path d=\"M1045.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M926 56h20\"></path>\n<g>\n<path d=\"M946 56h0\"></path>\n<path d=\"M1045.5 56h0\"></path>\n<path d=\"M946 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M956 56h0\"></path>\n<path d=\"M1035.5 56h0\"></path>\n<rect x=\"956\" y=\"45\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSJoin\"><text x=\"995.75\" y=\"60\">CDSJoin</text>\n</a>\n</g>\n<path d=\"M1035.5 56h10\"></path>\n<path d=\"M956 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M956 76h79.5\"></path>\n</g>\n<path d=\"M1035.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1045.5 56h20\"></path>\n</g>\n<g>\n<path d=\"M1065.5 56h0\"></path>\n<path d=\"M1264.5 56h0\"></path>\n<path d=\"M1065.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1085.5 36h159\"></path>\n</g>\n<path d=\"M1244.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1065.5 56h20\"></path>\n<g>\n<path d=\"M1085.5 56h0\"></path>\n<path d=\"M1244.5 56h0\"></path>\n<path d=\"M1085.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1095.5 56h0\"></path>\n<path d=\"M1234.5 56h0\"></path>\n<rect x=\"1095.5\" y=\"45\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSComposition\"><text x=\"1165\" y=\"60\">CDSComposition</text>\n</a>\n</g>\n<path d=\"M1234.5 56h10\"></path>\n<path d=\"M1095.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1095.5 76h139\"></path>\n</g>\n<path d=\"M1234.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1244.5 56h20\"></path>\n</g>\n<g>\n<path d=\"M1264.5 56h0\"></path>\n<path d=\"M1463.5 56h0\"></path>\n<path d=\"M1264.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1284.5 36h159\"></path>\n</g>\n<path d=\"M1443.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1264.5 56h20\"></path>\n<g>\n<path d=\"M1284.5 56h0\"></path>\n<path d=\"M1443.5 56h0\"></path>\n<path d=\"M1284.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1294.5 56h0\"></path>\n<path d=\"M1433.5 56h0\"></path>\n<rect x=\"1294.5\" y=\"45\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAssociation\"><text x=\"1364\" y=\"60\">CDSAssociation</text>\n</a>\n</g>\n<path d=\"M1433.5 56h10\"></path>\n<path d=\"M1294.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1294.5 76h139\"></path>\n</g>\n<path d=\"M1433.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1443.5 56h20\"></path>\n</g>\n<g>\n<path d=\"M1463.5 56h0\"></path>\n<path d=\"M1662.5 56h0\"></path>\n<path d=\"M1463.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1483.5 36h159\"></path>\n</g>\n<path d=\"M1642.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1463.5 56h20\"></path>\n<g>\n<path d=\"M1483.5 56h0\"></path>\n<path d=\"M1642.5 56h0\"></path>\n<path d=\"M1483.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1493.5 56h0\"></path>\n<path d=\"M1632.5 56h0\"></path>\n<rect x=\"1493.5\" y=\"45\" width=\"139\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSComposition\"><text x=\"1563\" y=\"60\">CDSComposition</text>\n</a>\n</g>\n<path d=\"M1632.5 56h10\"></path>\n<path d=\"M1493.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1493.5 76h139\"></path>\n</g>\n<path d=\"M1632.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1642.5 56h20\"></path>\n</g>\n<g>\n<path d=\"M1662.5 56h0\"></path>\n<path d=\"M2189 56h0\"></path>\n<path d=\"M1662.5 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1682.5 28h486.5\"></path>\n</g>\n<path d=\"M2169 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M1662.5 56h20\"></path>\n<g>\n<path d=\"M1682.5 56h0\"></path>\n<path d=\"M2169 56h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1682.5 56h0\"></path>\n<path d=\"M1728 56h0\"></path>\n<rect x=\"1682.5\" y=\"45\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1705.25\" y=\"60\">\"{\"</text>\n</g>\n<path d=\"M1728 56h10\"></path>\n<path d=\"M1738 56h10\"></path>\n<g>\n<path d=\"M1748 56h0\"></path>\n<path d=\"M1873 56h0\"></path>\n<path d=\"M1748 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1758 56h0\"></path>\n<path d=\"M1863 56h0\"></path>\n<rect x=\"1758\" y=\"45\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"1810.5\" y=\"60\">CDSElement</text>\n</a>\n</g>\n<path d=\"M1863 56h10\"></path>\n<path d=\"M1758 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1758 76h105\"></path>\n</g>\n<path d=\"M1863 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M1873 56h10\"></path>\n<g>\n<path d=\"M1883 56h0\"></path>\n<path d=\"M2113.5 56h0\"></path>\n<path d=\"M1883 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M1903 36h190.5\"></path>\n</g>\n<path d=\"M2093.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M1883 56h20\"></path>\n<g>\n<path d=\"M1903 56h0\"></path>\n<path d=\"M2093.5 56h0\"></path>\n<path d=\"M1903 56h10\"></path>\n<g>\n<path d=\"M1913 56h0\"></path>\n<path d=\"M2083.5 56h0\"></path>\n<g class=\"terminal\">\n<path d=\"M1913 56h0\"></path>\n<path d=\"M1958.5 56h0\"></path>\n<rect x=\"1913\" y=\"45\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"1935.75\" y=\"60\">\",\"</text>\n</g>\n<path d=\"M1958.5 56h10\"></path>\n<path d=\"M1968.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M1978.5 56h0\"></path>\n<path d=\"M2083.5 56h0\"></path>\n<rect x=\"1978.5\" y=\"45\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSElement\"><text x=\"2031\" y=\"60\">CDSElement</text>\n</a>\n</g>\n</g>\n<path d=\"M2083.5 56h10\"></path>\n<path d=\"M1913 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M1913 76h170.5\"></path>\n</g>\n<path d=\"M2083.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M2093.5 56h20\"></path>\n</g>\n<path d=\"M2113.5 56h10\"></path>\n<g class=\"terminal\">\n<path d=\"M2123.5 56h0\"></path>\n<path d=\"M2169 56h0\"></path>\n<rect x=\"2123.5\" y=\"45\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2146.25\" y=\"60\">\"}\"</text>\n</g>\n</g>\n<path d=\"M2169 56h20\"></path>\n</g>\n<g>\n<path d=\"M2189 56h0\"></path>\n<path d=\"M2317 56h0\"></path>\n<path d=\"M2189 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2209 36h88\"></path>\n</g>\n<path d=\"M2297 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2189 56h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2209 56h0\"></path>\n<path d=\"M2297 56h0\"></path>\n<rect x=\"2209\" y=\"45\" width=\"88\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSWhere\"><text x=\"2253\" y=\"60\">CDSWhere</text>\n</a>\n</g>\n<path d=\"M2297 56h20\"></path>\n</g>\n<g>\n<path d=\"M2317 56h0\"></path>\n<path d=\"M2462 56h0\"></path>\n<path d=\"M2317 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2337 36h105\"></path>\n</g>\n<path d=\"M2442 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2317 56h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2337 56h0\"></path>\n<path d=\"M2442 56h0\"></path>\n<rect x=\"2337\" y=\"45\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSGroupBy\"><text x=\"2389.5\" y=\"60\">CDSGroupBy</text>\n</a>\n</g>\n<path d=\"M2442 56h20\"></path>\n</g>\n<g>\n<path d=\"M2462 56h0\"></path>\n<path d=\"M2598.5 56h0\"></path>\n<path d=\"M2462 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2482 36h96.5\"></path>\n</g>\n<path d=\"M2578.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2462 56h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2482 56h0\"></path>\n<path d=\"M2578.5 56h0\"></path>\n<rect x=\"2482\" y=\"45\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSHaving\"><text x=\"2530.25\" y=\"60\">CDSHaving</text>\n</a>\n</g>\n<path d=\"M2578.5 56h20\"></path>\n</g>\n<g>\n<path d=\"M2598.5 56h0\"></path>\n<path d=\"M2937 56h0\"></path>\n<path d=\"M2598.5 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2618.5 28h298.5\"></path>\n</g>\n<path d=\"M2917 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M2598.5 56h20\"></path>\n<g>\n<path d=\"M2618.5 56h0\"></path>\n<path d=\"M2917 56h0\"></path>\n<g class=\"terminal\">\n<path d=\"M2618.5 56h0\"></path>\n<path d=\"M2698 56h0\"></path>\n<rect x=\"2618.5\" y=\"45\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2658.25\" y=\"60\">\"UNION\"</text>\n</g>\n<path d=\"M2698 56h10\"></path>\n<g>\n<path d=\"M2708 56h0\"></path>\n<path d=\"M2810.5 56h0\"></path>\n<path d=\"M2708 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M2728 36h62.5\"></path>\n</g>\n<path d=\"M2790.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M2708 56h20\"></path>\n<g class=\"terminal\">\n<path d=\"M2728 56h0\"></path>\n<path d=\"M2790.5 56h0\"></path>\n<rect x=\"2728\" y=\"45\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"2759.25\" y=\"60\">\"ALL\"</text>\n</g>\n<path d=\"M2790.5 56h20\"></path>\n</g>\n<path d=\"M2810.5 56h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M2820.5 56h0\"></path>\n<path d=\"M2917 56h0\"></path>\n<rect x=\"2820.5\" y=\"45\" width=\"96.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSSelect\"><text x=\"2868.75\" y=\"60\">CDSSelect</text>\n</a>\n</g>\n</g>\n<path d=\"M2917 56h20\"></path>\n</g>\n</g>\n<path d=\"M2937 56h10\"></path>\n<path d=\"M 2947 56 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSDefineView",
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_select.ts"
+    },
+    {
+      "name": "CDSSource",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.NonTerminal('CDSParametersSelect', {href: '#/expression/CDSParametersSelect'})),Railroad.Optional(Railroad.NonTerminal('CDSAs', {href: '#/expression/CDSAs'})))).toString();",
+      "using": [
+        "expression/CDSAs",
+        "expression/CDSName",
+        "expression/CDSParametersSelect"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"513.5\" height=\"71\" viewBox=\"0 0 513.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M463.5 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M129.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"89.75\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M129.5 40h10\"></path>\n<g>\n<path d=\"M139.5 40h0\"></path>\n<path d=\"M361 40h0\"></path>\n<path d=\"M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 20h181.5\"></path>\n</g>\n<path d=\"M341 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M159.5 40h0\"></path>\n<path d=\"M341 40h0\"></path>\n<rect x=\"159.5\" y=\"29\" width=\"181.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSParametersSelect\"><text x=\"250.25\" y=\"44\">CDSParametersSelect</text>\n</a>\n</g>\n<path d=\"M341 40h20\"></path>\n</g>\n<g>\n<path d=\"M361 40h0\"></path>\n<path d=\"M463.5 40h0\"></path>\n<path d=\"M361 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M381 20h62.5\"></path>\n</g>\n<path d=\"M443.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M361 40h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M381 40h0\"></path>\n<path d=\"M443.5 40h0\"></path>\n<rect x=\"381\" y=\"29\" width=\"62.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSAs\"><text x=\"412.25\" y=\"44\">CDSAs</text>\n</a>\n</g>\n<path d=\"M443.5 40h20\"></path>\n</g>\n</g>\n<path d=\"M463.5 40h10\"></path>\n<path d=\"M 473.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSJoin",
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_source.ts"
+    },
+    {
+      "name": "CDSString",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^'[A-Za-zÀ-ž\\\\u0370-\\\\u03FF\\\\u0400-\\\\u04FF: -_]*'$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"511\" height=\"62\" viewBox=\"0 0 511 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M461 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"411\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"255.5\" y=\"35\">^'&#91;A-Za-zÀ-ž\\u0370-\\u03FF\\u0400-\\u04FF: -&#95;&#93;&#42;'$</text>\n</g>\n<path d=\"M461 31h10\"></path>\n<path d=\"M 471 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSAnnotationSimple",
+        "expression/CDSArithmetics",
+        "expression/CDSCase",
+        "expression/CDSCast",
+        "expression/CDSCondition",
+        "expression/CDSElement",
+        "expression/CDSFunction",
+        "expression/CDSParameters",
+        "expression/CDSParametersSelect"
+      ],
+      "filename": "c_ds_string.ts"
+    },
+    {
+      "name": "CDSType",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\".\"'),Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}))),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\"(\"'),Railroad.Terminal(\"\\\\d+\"),Railroad.Optional(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Terminal(\"\\\\d+\"))),Railroad.Terminal('\")\"'))))).toString();",
+      "using": [
+        "expression/CDSName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"742\" height=\"79\" viewBox=\"0 0 742 79\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 38v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 48h10\"></path>\n<g>\n<path d=\"M50 48h0\"></path>\n<path d=\"M692 48h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 48h0\"></path>\n<path d=\"M129.5 48h0\"></path>\n<rect x=\"50\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"89.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n<path d=\"M129.5 48h10\"></path>\n<g>\n<path d=\"M139.5 48h0\"></path>\n<path d=\"M324.5 48h0\"></path>\n<path d=\"M139.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M159.5 28h145\"></path>\n</g>\n<path d=\"M304.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M139.5 48h20\"></path>\n<g>\n<path d=\"M159.5 48h0\"></path>\n<path d=\"M304.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M159.5 48h0\"></path>\n<path d=\"M205 48h0\"></path>\n<rect x=\"159.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"182.25\" y=\"52\">\".\"</text>\n</g>\n<path d=\"M205 48h10\"></path>\n<path d=\"M215 48h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M225 48h0\"></path>\n<path d=\"M304.5 48h0\"></path>\n<rect x=\"225\" y=\"37\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"264.75\" y=\"52\">CDSName</text>\n</a>\n</g>\n</g>\n<path d=\"M304.5 48h20\"></path>\n</g>\n<g>\n<path d=\"M324.5 48h0\"></path>\n<path d=\"M692 48h0\"></path>\n<path d=\"M324.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M344.5 20h327.5\"></path>\n</g>\n<path d=\"M672 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10\"></path>\n<path d=\"M324.5 48h20\"></path>\n<g>\n<path d=\"M344.5 48h0\"></path>\n<path d=\"M672 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M344.5 48h0\"></path>\n<path d=\"M390 48h0\"></path>\n<rect x=\"344.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"367.25\" y=\"52\">\"(\"</text>\n</g>\n<path d=\"M390 48h10\"></path>\n<path d=\"M400 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M410 48h0\"></path>\n<path d=\"M455.5 48h0\"></path>\n<rect x=\"410\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"432.75\" y=\"52\">\\d+</text>\n</g>\n<path d=\"M455.5 48h10\"></path>\n<g>\n<path d=\"M465.5 48h0\"></path>\n<path d=\"M616.5 48h0\"></path>\n<path d=\"M465.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M485.5 28h111\"></path>\n</g>\n<path d=\"M596.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M465.5 48h20\"></path>\n<g>\n<path d=\"M485.5 48h0\"></path>\n<path d=\"M596.5 48h0\"></path>\n<g class=\"terminal\">\n<path d=\"M485.5 48h0\"></path>\n<path d=\"M531 48h0\"></path>\n<rect x=\"485.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"508.25\" y=\"52\">\",\"</text>\n</g>\n<path d=\"M531 48h10\"></path>\n<path d=\"M541 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M551 48h0\"></path>\n<path d=\"M596.5 48h0\"></path>\n<rect x=\"551\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"573.75\" y=\"52\">\\d+</text>\n</g>\n</g>\n<path d=\"M596.5 48h20\"></path>\n</g>\n<path d=\"M616.5 48h10\"></path>\n<g class=\"terminal\">\n<path d=\"M626.5 48h0\"></path>\n<path d=\"M672 48h0\"></path>\n<rect x=\"626.5\" y=\"37\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"649.25\" y=\"52\">\")\"</text>\n</g>\n</g>\n<path d=\"M672 48h20\"></path>\n</g>\n</g>\n<path d=\"M692 48h10\"></path>\n<path d=\"M 702 48 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSCast",
+        "expression/CDSDefineAbstract",
+        "expression/CDSDefineCustom",
+        "expression/CDSWithParameters"
+      ],
+      "filename": "c_ds_type.ts"
+    },
+    {
+      "name": "CDSWhere",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"WHERE\"'),Railroad.NonTerminal('CDSCondition', {href: '#/expression/CDSCondition'}))).toString();",
+      "using": [
+        "expression/CDSCondition"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"321.5\" height=\"62\" viewBox=\"0 0 321.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M271.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"89.75\" y=\"35\">\"WHERE\"</text>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M271.5 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"122\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSCondition\"><text x=\"210.5\" y=\"35\">CDSCondition</text>\n</a>\n</g>\n</g>\n<path d=\"M271.5 31h10\"></path>\n<path d=\"M 281.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSSelect"
+      ],
+      "filename": "c_ds_where.ts"
+    },
+    {
+      "name": "CDSWithParameters",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"WITH PARAMETERS\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('CDSType', {href: '#/expression/CDSType'})),Railroad.ZeroOrMore(Railroad.Sequence(Railroad.Terminal('\",\"'),Railroad.Sequence(Railroad.NonTerminal('CDSName', {href: '#/expression/CDSName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('CDSType', {href: '#/expression/CDSType'})))))).toString();",
+      "using": [
+        "expression/CDSName",
+        "expression/CDSType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"909\" height=\"80\" viewBox=\"0 0 909 80\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M859 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 40h0\"></path>\n<path d=\"M214.5 40h0\"></path>\n<rect x=\"50\" y=\"29\" width=\"164.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"132.25\" y=\"44\">\"WITH PARAMETERS\"</text>\n</g>\n<path d=\"M214.5 40h10\"></path>\n<path d=\"M224.5 40h10\"></path>\n<g>\n<path d=\"M234.5 40h0\"></path>\n<path d=\"M479 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M234.5 40h0\"></path>\n<path d=\"M314 40h0\"></path>\n<rect x=\"234.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"274.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M314 40h10\"></path>\n<path d=\"M324 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M334 40h0\"></path>\n<path d=\"M379.5 40h0\"></path>\n<rect x=\"334\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"356.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M379.5 40h10\"></path>\n<path d=\"M389.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M399.5 40h0\"></path>\n<path d=\"M479 40h0\"></path>\n<rect x=\"399.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSType\"><text x=\"439.25\" y=\"44\">CDSType</text>\n</a>\n</g>\n</g>\n<path d=\"M479 40h10\"></path>\n<g>\n<path d=\"M489 40h0\"></path>\n<path d=\"M859 40h0\"></path>\n<path d=\"M489 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M509 20h330\"></path>\n</g>\n<path d=\"M839 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M489 40h20\"></path>\n<g>\n<path d=\"M509 40h0\"></path>\n<path d=\"M839 40h0\"></path>\n<path d=\"M509 40h10\"></path>\n<g>\n<path d=\"M519 40h0\"></path>\n<path d=\"M829 40h0\"></path>\n<g class=\"terminal\">\n<path d=\"M519 40h0\"></path>\n<path d=\"M564.5 40h0\"></path>\n<rect x=\"519\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"541.75\" y=\"44\">\",\"</text>\n</g>\n<path d=\"M564.5 40h10\"></path>\n<path d=\"M574.5 40h10\"></path>\n<g>\n<path d=\"M584.5 40h0\"></path>\n<path d=\"M829 40h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M584.5 40h0\"></path>\n<path d=\"M664 40h0\"></path>\n<rect x=\"584.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSName\"><text x=\"624.25\" y=\"44\">CDSName</text>\n</a>\n</g>\n<path d=\"M664 40h10\"></path>\n<path d=\"M674 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M684 40h0\"></path>\n<path d=\"M729.5 40h0\"></path>\n<rect x=\"684\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"706.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M729.5 40h10\"></path>\n<path d=\"M739.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M749.5 40h0\"></path>\n<path d=\"M829 40h0\"></path>\n<rect x=\"749.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/cds/expression/CDSType\"><text x=\"789.25\" y=\"44\">CDSType</text>\n</a>\n</g>\n</g>\n</g>\n<path d=\"M829 40h10\"></path>\n<path d=\"M519 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M519 60h310\"></path>\n</g>\n<path d=\"M829 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M839 40h20\"></path>\n</g>\n</g>\n<path d=\"M859 40h10\"></path>\n<path d=\"M 869 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/CDSDefineView"
+      ],
+      "filename": "c_ds_with_parameters.ts"
+    }
+  ],
+  "statements": [],
+  "structures": []
+};
\ No newline at end of file
diff --git a/cds/expression_CDSAggregate.svg b/cds/expression_CDSAggregate.svg
new file mode 100644
index 00000000..b7101153
--- /dev/null
+++ b/cds/expression_CDSAggregate.svg
@@ -0,0 +1,195 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="800" height="191" viewBox="0 0 800 191">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M750 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M169.5 40h0"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h17"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"MAX"</text>
+</g>
+<path d="M149.5 40h20"></path>
+<path d="M50 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 70h0"></path>
+<path d="M132.5 70h17"></path>
+<rect x="70" y="59" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="74">"MIN"</text>
+</g>
+<path d="M149.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 100h0"></path>
+<path d="M132.5 100h17"></path>
+<rect x="70" y="89" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="104">"SUM"</text>
+</g>
+<path d="M149.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 130h0"></path>
+<path d="M132.5 130h17"></path>
+<rect x="70" y="119" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="134">"AVG"</text>
+</g>
+<path d="M149.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M50 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M70 160h0"></path>
+<path d="M149.5 160h0"></path>
+<rect x="70" y="149" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="109.75" y="164">"COUNT"</text>
+</g>
+<path d="M149.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M169.5 40h10"></path>
+<g class="terminal">
+<path d="M179.5 40h0"></path>
+<path d="M225 40h0"></path>
+<rect x="179.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="202.25" y="44">"("</text>
+</g>
+<path d="M225 40h10"></path>
+<g>
+<path d="M235 40h0"></path>
+<path d="M380 40h0"></path>
+<path d="M235 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M255 20h105"></path>
+</g>
+<path d="M360 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M235 40h20"></path>
+<g class="terminal">
+<path d="M255 40h0"></path>
+<path d="M360 40h0"></path>
+<rect x="255" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="307.5" y="44">"DISTINCT"</text>
+</g>
+<path d="M360 40h20"></path>
+</g>
+<g>
+<path d="M380 40h0"></path>
+<path d="M694.5 40h0"></path>
+<path d="M380 40h20"></path>
+<g>
+<path d="M400 40h0"></path>
+<path d="M674.5 40h0"></path>
+<g class="non-terminal">
+<path d="M400 40h0"></path>
+<path d="M479.5 40h0"></path>
+<rect x="400" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="439.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M479.5 40h10"></path>
+<g>
+<path d="M489.5 40h0"></path>
+<path d="M674.5 40h0"></path>
+<path d="M489.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M509.5 20h145"></path>
+</g>
+<path d="M654.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M489.5 40h20"></path>
+<g>
+<path d="M509.5 40h0"></path>
+<path d="M654.5 40h0"></path>
+<g class="terminal">
+<path d="M509.5 40h0"></path>
+<path d="M555 40h0"></path>
+<rect x="509.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="44">"."</text>
+</g>
+<path d="M555 40h10"></path>
+<path d="M565 40h10"></path>
+<g class="non-terminal">
+<path d="M575 40h0"></path>
+<path d="M654.5 40h0"></path>
+<rect x="575" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="614.75" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M654.5 40h20"></path>
+</g>
+</g>
+<path d="M674.5 40h20"></path>
+<path d="M380 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M400 70h0"></path>
+<path d="M479.5 70h195"></path>
+<rect x="400" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="439.75" y="74">CDSCast</text>
+</a>
+</g>
+<path d="M674.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M380 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M400 100h0"></path>
+<path d="M479.5 100h195"></path>
+<rect x="400" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="439.75" y="104">CDSCase</text>
+</a>
+</g>
+<path d="M674.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M694.5 40h10"></path>
+<g class="terminal">
+<path d="M704.5 40h0"></path>
+<path d="M750 40h0"></path>
+<rect x="704.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="727.25" y="44">")"</text>
+</g>
+</g>
+<path d="M750 40h10"></path>
+<path d="M 760 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAnnotate.svg b/cds/expression_CDSAnnotate.svg
new file mode 100644
index 00000000..059e53cb
--- /dev/null
+++ b/cds/expression_CDSAnnotate.svg
@@ -0,0 +1,192 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1161" height="101" viewBox="0 0 1161 101">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1111 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<path d="M240.5 40h10"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M355.5 40h0"></path>
+<rect x="250.5" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="303" y="44">"ANNOTATE"</text>
+</g>
+<path d="M355.5 40h10"></path>
+<g>
+<path d="M365.5 40h0"></path>
+<path d="M493.5 40h0"></path>
+<path d="M365.5 40h20"></path>
+<g class="terminal">
+<path d="M385.5 40h0"></path>
+<path d="M473.5 40h0"></path>
+<rect x="385.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="429.5" y="44">"ENTITY"</text>
+</g>
+<path d="M473.5 40h20"></path>
+<path d="M365.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M385.5 70h0"></path>
+<path d="M456.5 70h17"></path>
+<rect x="385.5" y="59" width="71" height="22" rx="10" ry="10"></rect>
+<text x="421" y="74">"VIEW"</text>
+</g>
+<path d="M473.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M493.5 40h10"></path>
+<g class="non-terminal">
+<path d="M503.5 40h0"></path>
+<path d="M583 40h0"></path>
+<rect x="503.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="543.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M583 40h10"></path>
+<path d="M593 40h10"></path>
+<g class="terminal">
+<path d="M603 40h0"></path>
+<path d="M674 40h0"></path>
+<rect x="603" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="638.5" y="44">"WITH"</text>
+</g>
+<path d="M674 40h10"></path>
+<path d="M684 40h10"></path>
+<g class="terminal">
+<path d="M694 40h0"></path>
+<path d="M739.5 40h0"></path>
+<rect x="694" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="716.75" y="44">"{"</text>
+</g>
+<path d="M739.5 40h10"></path>
+<path d="M749.5 40h10"></path>
+<g>
+<path d="M759.5 40h0"></path>
+<path d="M950 40h0"></path>
+<path d="M759.5 40h10"></path>
+<g>
+<path d="M769.5 40h0"></path>
+<path d="M940 40h0"></path>
+<g class="non-terminal">
+<path d="M769.5 40h0"></path>
+<path d="M874.5 40h0"></path>
+<rect x="769.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="822" y="44">CDSElement</text>
+</a>
+</g>
+<path d="M874.5 40h10"></path>
+<path d="M884.5 40h10"></path>
+<g class="terminal">
+<path d="M894.5 40h0"></path>
+<path d="M940 40h0"></path>
+<rect x="894.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="917.25" y="44">";"</text>
+</g>
+</g>
+<path d="M940 40h10"></path>
+<path d="M769.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M769.5 60h170.5"></path>
+</g>
+<path d="M940 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M950 40h10"></path>
+<path d="M960 40h10"></path>
+<g class="terminal">
+<path d="M970 40h0"></path>
+<path d="M1015.5 40h0"></path>
+<rect x="970" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="992.75" y="44">"}"</text>
+</g>
+<path d="M1015.5 40h10"></path>
+<g>
+<path d="M1025.5 40h0"></path>
+<path d="M1111 40h0"></path>
+<path d="M1025.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1045.5 20h45.5"></path>
+</g>
+<path d="M1091 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1025.5 40h20"></path>
+<g class="terminal">
+<path d="M1045.5 40h0"></path>
+<path d="M1091 40h0"></path>
+<rect x="1045.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1068.25" y="44">";"</text>
+</g>
+<path d="M1091 40h20"></path>
+</g>
+</g>
+<path d="M1111 40h10"></path>
+<path d="M 1121 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAnnotation.svg b/cds/expression_CDSAnnotation.svg
new file mode 100644
index 00000000..29d5e2b6
--- /dev/null
+++ b/cds/expression_CDSAnnotation.svg
@@ -0,0 +1,159 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="716" height="131" viewBox="0 0 716 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M666 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">^@\w+$</text>
+</g>
+<path d="M121 40h10"></path>
+<g>
+<path d="M131 40h0"></path>
+<path d="M319 40h0"></path>
+<path d="M131 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M151 20h148"></path>
+</g>
+<path d="M299 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M131 40h20"></path>
+<g>
+<path d="M151 40h0"></path>
+<path d="M299 40h0"></path>
+<path d="M151 40h10"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M289 40h0"></path>
+<g class="terminal">
+<path d="M161 40h0"></path>
+<path d="M206.5 40h0"></path>
+<rect x="161" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="183.75" y="44">"."</text>
+</g>
+<path d="M206.5 40h10"></path>
+<path d="M216.5 40h10"></path>
+<g class="terminal">
+<path d="M226.5 40h0"></path>
+<path d="M289 40h0"></path>
+<rect x="226.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="44">^\w+$</text>
+</g>
+</g>
+<path d="M289 40h10"></path>
+<path d="M161 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 60h128"></path>
+</g>
+<path d="M289 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M299 40h20"></path>
+</g>
+<g>
+<path d="M319 40h0"></path>
+<path d="M404.5 40h0"></path>
+<path d="M319 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M339 20h45.5"></path>
+</g>
+<path d="M384.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M319 40h20"></path>
+<g class="terminal">
+<path d="M339 40h0"></path>
+<path d="M384.5 40h0"></path>
+<rect x="339" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="361.75" y="44">":"</text>
+</g>
+<path d="M384.5 40h20"></path>
+</g>
+<g>
+<path d="M404.5 40h0"></path>
+<path d="M666 40h0"></path>
+<path d="M404.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M424.5 20h221.5"></path>
+</g>
+<path d="M646 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M404.5 40h20"></path>
+<g>
+<path d="M424.5 40h0"></path>
+<path d="M646 40h0"></path>
+<path d="M424.5 40h20"></path>
+<g class="non-terminal">
+<path d="M444.5 40h0"></path>
+<path d="M617.5 40h8.5"></path>
+<rect x="444.5" y="29" width="173" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationArray"><text x="531" y="44">CDSAnnotationArray</text>
+</a>
+</g>
+<path d="M626 40h20"></path>
+<path d="M424.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M444.5 70h0"></path>
+<path d="M626 70h0"></path>
+<rect x="444.5" y="59" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationObject"><text x="535.25" y="74">CDSAnnotationObject</text>
+</a>
+</g>
+<path d="M626 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M424.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M444.5 100h0"></path>
+<path d="M626 100h0"></path>
+<rect x="444.5" y="89" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationSimple"><text x="535.25" y="104">CDSAnnotationSimple</text>
+</a>
+</g>
+<path d="M626 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M646 40h20"></path>
+</g>
+</g>
+<path d="M666 40h10"></path>
+<path d="M 676 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAnnotationArray.svg b/cds/expression_CDSAnnotationArray.svg
new file mode 100644
index 00000000..e770f5ed
--- /dev/null
+++ b/cds/expression_CDSAnnotationArray.svg
@@ -0,0 +1,162 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="769.5" height="139" viewBox="0 0 769.5 139">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M719.5 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M95.5 40h0"></path>
+<rect x="50" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="44">"&#91;"</text>
+</g>
+<path d="M95.5 40h10"></path>
+<g>
+<path d="M105.5 40h0"></path>
+<path d="M327 40h0"></path>
+<path d="M105.5 40h20"></path>
+<g class="non-terminal">
+<path d="M125.5 40h0"></path>
+<path d="M307 40h0"></path>
+<rect x="125.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationSimple"><text x="216.25" y="44">CDSAnnotationSimple</text>
+</a>
+</g>
+<path d="M307 40h20"></path>
+<path d="M105.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M125.5 70h0"></path>
+<path d="M307 70h0"></path>
+<rect x="125.5" y="59" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationObject"><text x="216.25" y="74">CDSAnnotationObject</text>
+</a>
+</g>
+<path d="M307 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M105.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M125.5 100h0"></path>
+<path d="M298.5 100h8.5"></path>
+<rect x="125.5" y="89" width="173" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationArray"><text x="212" y="104">CDSAnnotationArray</text>
+</a>
+</g>
+<path d="M307 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M327 40h0"></path>
+<path d="M664 40h0"></path>
+<path d="M327 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M347 20h297"></path>
+</g>
+<path d="M644 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M327 40h20"></path>
+<g>
+<path d="M347 40h0"></path>
+<path d="M644 40h0"></path>
+<path d="M347 40h10"></path>
+<g>
+<path d="M357 40h0"></path>
+<path d="M634 40h0"></path>
+<g class="terminal">
+<path d="M357 40h0"></path>
+<path d="M402.5 40h0"></path>
+<rect x="357" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="379.75" y="44">","</text>
+</g>
+<path d="M402.5 40h10"></path>
+<g>
+<path d="M412.5 40h0"></path>
+<path d="M634 40h0"></path>
+<path d="M412.5 40h20"></path>
+<g class="non-terminal">
+<path d="M432.5 40h0"></path>
+<path d="M614 40h0"></path>
+<rect x="432.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationSimple"><text x="523.25" y="44">CDSAnnotationSimple</text>
+</a>
+</g>
+<path d="M614 40h20"></path>
+<path d="M412.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M432.5 70h0"></path>
+<path d="M614 70h0"></path>
+<rect x="432.5" y="59" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationObject"><text x="523.25" y="74">CDSAnnotationObject</text>
+</a>
+</g>
+<path d="M614 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M412.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M432.5 100h0"></path>
+<path d="M605.5 100h8.5"></path>
+<rect x="432.5" y="89" width="173" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationArray"><text x="519" y="104">CDSAnnotationArray</text>
+</a>
+</g>
+<path d="M614 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M634 40h10"></path>
+<path d="M357 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M357 119h277"></path>
+</g>
+<path d="M634 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M644 40h20"></path>
+</g>
+<path d="M664 40h10"></path>
+<g class="terminal">
+<path d="M674 40h0"></path>
+<path d="M719.5 40h0"></path>
+<rect x="674" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="696.75" y="44">"&#93;"</text>
+</g>
+</g>
+<path d="M719.5 40h10"></path>
+<path d="M 729.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAnnotationObject.svg b/cds/expression_CDSAnnotationObject.svg
new file mode 100644
index 00000000..b95947e9
--- /dev/null
+++ b/cds/expression_CDSAnnotationObject.svg
@@ -0,0 +1,316 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1589.5" height="147" viewBox="0 0 1589.5 147">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1539.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M95.5 48h0"></path>
+<rect x="50" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="52">"{"</text>
+</g>
+<path d="M95.5 48h10"></path>
+<path d="M105.5 48h10"></path>
+<g>
+<path d="M115.5 48h0"></path>
+<path d="M410 48h0"></path>
+<g class="non-terminal">
+<path d="M115.5 48h0"></path>
+<path d="M195 48h0"></path>
+<rect x="115.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="155.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M195 48h10"></path>
+<g>
+<path d="M205 48h0"></path>
+<path d="M410 48h0"></path>
+<path d="M205 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M225 28h165"></path>
+</g>
+<path d="M390 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M205 48h20"></path>
+<g>
+<path d="M225 48h0"></path>
+<path d="M390 48h0"></path>
+<path d="M225 48h10"></path>
+<g>
+<path d="M235 48h0"></path>
+<path d="M380 48h0"></path>
+<g class="terminal">
+<path d="M235 48h0"></path>
+<path d="M280.5 48h0"></path>
+<rect x="235" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="52">"."</text>
+</g>
+<path d="M280.5 48h10"></path>
+<path d="M290.5 48h10"></path>
+<g class="non-terminal">
+<path d="M300.5 48h0"></path>
+<path d="M380 48h0"></path>
+<rect x="300.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="340.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M380 48h10"></path>
+<path d="M235 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 68h145"></path>
+</g>
+<path d="M380 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M390 48h20"></path>
+</g>
+</g>
+<path d="M410 48h10"></path>
+<g>
+<path d="M420 48h0"></path>
+<path d="M737 48h0"></path>
+<path d="M420 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M440 28h277"></path>
+</g>
+<path d="M717 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M420 48h20"></path>
+<g>
+<path d="M440 48h0"></path>
+<path d="M717 48h0"></path>
+<g class="terminal">
+<path d="M440 48h0"></path>
+<path d="M485.5 48h0"></path>
+<rect x="440" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="462.75" y="52">":"</text>
+</g>
+<path d="M485.5 48h10"></path>
+<g>
+<path d="M495.5 48h0"></path>
+<path d="M717 48h0"></path>
+<path d="M495.5 48h20"></path>
+<g class="non-terminal">
+<path d="M515.5 48h0"></path>
+<path d="M697 48h0"></path>
+<rect x="515.5" y="37" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationObject"><text x="606.25" y="52">CDSAnnotationObject</text>
+</a>
+</g>
+<path d="M697 48h20"></path>
+<path d="M495.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M515.5 78h0"></path>
+<path d="M688.5 78h8.5"></path>
+<rect x="515.5" y="67" width="173" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationArray"><text x="602" y="82">CDSAnnotationArray</text>
+</a>
+</g>
+<path d="M697 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M495.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M515.5 108h0"></path>
+<path d="M697 108h0"></path>
+<rect x="515.5" y="97" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationSimple"><text x="606.25" y="112">CDSAnnotationSimple</text>
+</a>
+</g>
+<path d="M697 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M717 48h20"></path>
+</g>
+<g>
+<path d="M737 48h0"></path>
+<path d="M1484 48h0"></path>
+<path d="M737 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M757 20h707"></path>
+</g>
+<path d="M1464 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M737 48h20"></path>
+<g>
+<path d="M757 48h0"></path>
+<path d="M1464 48h0"></path>
+<path d="M757 48h10"></path>
+<g>
+<path d="M767 48h0"></path>
+<path d="M1454 48h0"></path>
+<g class="terminal">
+<path d="M767 48h0"></path>
+<path d="M812.5 48h0"></path>
+<rect x="767" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="789.75" y="52">","</text>
+</g>
+<path d="M812.5 48h10"></path>
+<path d="M822.5 48h10"></path>
+<g>
+<path d="M832.5 48h0"></path>
+<path d="M1127 48h0"></path>
+<g class="non-terminal">
+<path d="M832.5 48h0"></path>
+<path d="M912 48h0"></path>
+<rect x="832.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="872.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M912 48h10"></path>
+<g>
+<path d="M922 48h0"></path>
+<path d="M1127 48h0"></path>
+<path d="M922 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M942 28h165"></path>
+</g>
+<path d="M1107 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M922 48h20"></path>
+<g>
+<path d="M942 48h0"></path>
+<path d="M1107 48h0"></path>
+<path d="M942 48h10"></path>
+<g>
+<path d="M952 48h0"></path>
+<path d="M1097 48h0"></path>
+<g class="terminal">
+<path d="M952 48h0"></path>
+<path d="M997.5 48h0"></path>
+<rect x="952" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="974.75" y="52">"."</text>
+</g>
+<path d="M997.5 48h10"></path>
+<path d="M1007.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1017.5 48h0"></path>
+<path d="M1097 48h0"></path>
+<rect x="1017.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1057.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1097 48h10"></path>
+<path d="M952 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M952 68h145"></path>
+</g>
+<path d="M1097 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1107 48h20"></path>
+</g>
+</g>
+<path d="M1127 48h10"></path>
+<g>
+<path d="M1137 48h0"></path>
+<path d="M1454 48h0"></path>
+<path d="M1137 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1157 28h277"></path>
+</g>
+<path d="M1434 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1137 48h20"></path>
+<g>
+<path d="M1157 48h0"></path>
+<path d="M1434 48h0"></path>
+<g class="terminal">
+<path d="M1157 48h0"></path>
+<path d="M1202.5 48h0"></path>
+<rect x="1157" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1179.75" y="52">":"</text>
+</g>
+<path d="M1202.5 48h10"></path>
+<g>
+<path d="M1212.5 48h0"></path>
+<path d="M1434 48h0"></path>
+<path d="M1212.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1232.5 48h0"></path>
+<path d="M1414 48h0"></path>
+<rect x="1232.5" y="37" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationObject"><text x="1323.25" y="52">CDSAnnotationObject</text>
+</a>
+</g>
+<path d="M1414 48h20"></path>
+<path d="M1212.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1232.5 78h0"></path>
+<path d="M1405.5 78h8.5"></path>
+<rect x="1232.5" y="67" width="173" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationArray"><text x="1319" y="82">CDSAnnotationArray</text>
+</a>
+</g>
+<path d="M1414 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1212.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1232.5 108h0"></path>
+<path d="M1414 108h0"></path>
+<rect x="1232.5" y="97" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotationSimple"><text x="1323.25" y="112">CDSAnnotationSimple</text>
+</a>
+</g>
+<path d="M1414 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1434 48h20"></path>
+</g>
+</g>
+<path d="M1454 48h10"></path>
+<path d="M767 48a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M767 127h687"></path>
+</g>
+<path d="M1454 127a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1464 48h20"></path>
+</g>
+<path d="M1484 48h10"></path>
+<g class="terminal">
+<path d="M1494 48h0"></path>
+<path d="M1539.5 48h0"></path>
+<rect x="1494" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1516.75" y="52">"}"</text>
+</g>
+</g>
+<path d="M1539.5 48h10"></path>
+<path d="M 1549.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAnnotationSimple.svg b/cds/expression_CDSAnnotationSimple.svg
new file mode 100644
index 00000000..f1aae32a
--- /dev/null
+++ b/cds/expression_CDSAnnotationSimple.svg
@@ -0,0 +1,120 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="330.5" height="212" viewBox="0 0 330.5 212">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M290.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g class="non-terminal">
+<path d="M60 31h0"></path>
+<path d="M156.5 31h114"></path>
+<rect x="60" y="20" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="108.25" y="35">CDSString</text>
+</a>
+</g>
+<path d="M270.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 61h0"></path>
+<path d="M131 61h139.5"></path>
+<rect x="60" y="50" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="65">"TRUE"</text>
+</g>
+<path d="M270.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 91h0"></path>
+<path d="M139.5 91h131"></path>
+<rect x="60" y="80" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="95">"FALSE"</text>
+</g>
+<path d="M270.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 121h0"></path>
+<path d="M122.5 121h148"></path>
+<rect x="60" y="110" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="125">^\d+$</text>
+</g>
+<path d="M270.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 151h0"></path>
+<path d="M270.5 151h0"></path>
+<g class="terminal">
+<path d="M60 151h0"></path>
+<path d="M122.5 151h0"></path>
+<rect x="60" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="155">^\d+$</text>
+</g>
+<path d="M122.5 151h10"></path>
+<path d="M132.5 151h10"></path>
+<g class="terminal">
+<path d="M142.5 151h0"></path>
+<path d="M188 151h0"></path>
+<rect x="142.5" y="140" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="155">"."</text>
+</g>
+<path d="M188 151h10"></path>
+<path d="M198 151h10"></path>
+<g class="terminal">
+<path d="M208 151h0"></path>
+<path d="M270.5 151h0"></path>
+<rect x="208" y="140" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="239.25" y="155">^\d+$</text>
+</g>
+</g>
+<path d="M270.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M60 181h0"></path>
+<path d="M156.5 181h114"></path>
+<rect x="60" y="170" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="108.25" y="185">^#&#91;\w&#95;&#93;+$</text>
+</g>
+<path d="M270.5 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 290.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSArithmetics.svg b/cds/expression_CDSArithmetics.svg
new file mode 100644
index 00000000..97286fc6
--- /dev/null
+++ b/cds/expression_CDSArithmetics.svg
@@ -0,0 +1,275 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="814.5" height="221" viewBox="0 0 814.5 221">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M764.5 31h0"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M364.5 31h0"></path>
+<path d="M50 31h20"></path>
+<g class="non-terminal">
+<path d="M70 31h0"></path>
+<path d="M175 31h169.5"></path>
+<rect x="70" y="20" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSInteger"><text x="122.5" y="35">CDSInteger</text>
+</a>
+</g>
+<path d="M344.5 31h20"></path>
+<path d="M50 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 70h0"></path>
+<path d="M344.5 70h0"></path>
+<g class="non-terminal">
+<path d="M70 70h0"></path>
+<path d="M149.5 70h0"></path>
+<rect x="70" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="109.75" y="74">CDSName</text>
+</a>
+</g>
+<path d="M149.5 70h10"></path>
+<g>
+<path d="M159.5 70h0"></path>
+<path d="M344.5 70h0"></path>
+<path d="M159.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M179.5 50h145"></path>
+</g>
+<path d="M324.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M159.5 70h20"></path>
+<g>
+<path d="M179.5 70h0"></path>
+<path d="M324.5 70h0"></path>
+<g class="terminal">
+<path d="M179.5 70h0"></path>
+<path d="M225 70h0"></path>
+<rect x="179.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="202.25" y="74">"."</text>
+</g>
+<path d="M225 70h10"></path>
+<path d="M235 70h10"></path>
+<g class="non-terminal">
+<path d="M245 70h0"></path>
+<path d="M324.5 70h0"></path>
+<rect x="245" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="284.75" y="74">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M324.5 70h20"></path>
+</g>
+</g>
+<path d="M344.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M50 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 100h0"></path>
+<path d="M183.5 100h161"></path>
+<rect x="70" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="126.75" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M344.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M50 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 130h0"></path>
+<path d="M149.5 130h195"></path>
+<rect x="70" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="109.75" y="134">CDSCase</text>
+</a>
+</g>
+<path d="M344.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M50 31a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 160h0"></path>
+<path d="M149.5 160h195"></path>
+<rect x="70" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="109.75" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M344.5 160a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M50 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M70 190h0"></path>
+<path d="M166.5 190h178"></path>
+<rect x="70" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="118.25" y="194">CDSString</text>
+</a>
+</g>
+<path d="M344.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M364.5 31h0"></path>
+<path d="M450 31h0"></path>
+<path d="M364.5 31h20"></path>
+<g class="terminal">
+<path d="M384.5 31h0"></path>
+<path d="M430 31h0"></path>
+<rect x="384.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="407.25" y="35">"+"</text>
+</g>
+<path d="M430 31h20"></path>
+<path d="M364.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M384.5 61h0"></path>
+<path d="M430 61h0"></path>
+<rect x="384.5" y="50" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="407.25" y="65">"-"</text>
+</g>
+<path d="M430 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M364.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M384.5 91h0"></path>
+<path d="M430 91h0"></path>
+<rect x="384.5" y="80" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="407.25" y="95">"&#42;"</text>
+</g>
+<path d="M430 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M364.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M384.5 121h0"></path>
+<path d="M430 121h0"></path>
+<rect x="384.5" y="110" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="407.25" y="125">"/"</text>
+</g>
+<path d="M430 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M450 31h0"></path>
+<path d="M764.5 31h0"></path>
+<path d="M450 31h20"></path>
+<g class="non-terminal">
+<path d="M470 31h0"></path>
+<path d="M575 31h169.5"></path>
+<rect x="470" y="20" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSInteger"><text x="522.5" y="35">CDSInteger</text>
+</a>
+</g>
+<path d="M744.5 31h20"></path>
+<path d="M450 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M470 70h0"></path>
+<path d="M744.5 70h0"></path>
+<g class="non-terminal">
+<path d="M470 70h0"></path>
+<path d="M549.5 70h0"></path>
+<rect x="470" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="509.75" y="74">CDSName</text>
+</a>
+</g>
+<path d="M549.5 70h10"></path>
+<g>
+<path d="M559.5 70h0"></path>
+<path d="M744.5 70h0"></path>
+<path d="M559.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M579.5 50h145"></path>
+</g>
+<path d="M724.5 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M559.5 70h20"></path>
+<g>
+<path d="M579.5 70h0"></path>
+<path d="M724.5 70h0"></path>
+<g class="terminal">
+<path d="M579.5 70h0"></path>
+<path d="M625 70h0"></path>
+<rect x="579.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="602.25" y="74">"."</text>
+</g>
+<path d="M625 70h10"></path>
+<path d="M635 70h10"></path>
+<g class="non-terminal">
+<path d="M645 70h0"></path>
+<path d="M724.5 70h0"></path>
+<rect x="645" y="59" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="684.75" y="74">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M724.5 70h20"></path>
+</g>
+</g>
+<path d="M744.5 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path>
+<path d="M450 31a10 10 0 0 1 10 10v49a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M470 100h0"></path>
+<path d="M583.5 100h161"></path>
+<rect x="470" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="526.75" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M744.5 100a10 10 0 0 0 10 -10v-49a10 10 0 0 1 10 -10"></path>
+<path d="M450 31a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M470 130h0"></path>
+<path d="M549.5 130h195"></path>
+<rect x="470" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="509.75" y="134">CDSCase</text>
+</a>
+</g>
+<path d="M744.5 130a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10"></path>
+<path d="M450 31a10 10 0 0 1 10 10v109a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M470 160h0"></path>
+<path d="M549.5 160h195"></path>
+<rect x="470" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="509.75" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M744.5 160a10 10 0 0 0 10 -10v-109a10 10 0 0 1 10 -10"></path>
+<path d="M450 31a10 10 0 0 1 10 10v139a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M470 190h0"></path>
+<path d="M566.5 190h178"></path>
+<rect x="470" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="518.25" y="194">CDSString</text>
+</a>
+</g>
+<path d="M744.5 190a10 10 0 0 0 10 -10v-139a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M764.5 31h10"></path>
+<path d="M 774.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAs.svg b/cds/expression_CDSAs.svg
new file mode 100644
index 00000000..dc8f8584
--- /dev/null
+++ b/cds/expression_CDSAs.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="253.5" height="62" viewBox="0 0 253.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M203.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M104 31h0"></path>
+<rect x="50" y="20" width="54" height="22" rx="10" ry="10"></rect>
+<text x="77" y="35">"AS"</text>
+</g>
+<path d="M104 31h10"></path>
+<path d="M114 31h10"></path>
+<g class="non-terminal">
+<path d="M124 31h0"></path>
+<path d="M203.5 31h0"></path>
+<rect x="124" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="163.75" y="35">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M203.5 31h10"></path>
+<path d="M 213.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSAssociation.svg b/cds/expression_CDSAssociation.svg
new file mode 100644
index 00000000..197aa880
--- /dev/null
+++ b/cds/expression_CDSAssociation.svg
@@ -0,0 +1,128 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="961" height="71" viewBox="0 0 961 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M911 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"ASSOCIATION"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M369.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h139"></path>
+</g>
+<path d="M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g class="non-terminal">
+<path d="M210.5 40h0"></path>
+<path d="M349.5 40h0"></path>
+<rect x="210.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCardinality"><text x="280" y="44">CDSCardinality</text>
+</a>
+</g>
+<path d="M349.5 40h20"></path>
+</g>
+<path d="M369.5 40h10"></path>
+<g class="terminal">
+<path d="M379.5 40h0"></path>
+<path d="M433.5 40h0"></path>
+<rect x="379.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="406.5" y="44">"TO"</text>
+</g>
+<path d="M433.5 40h10"></path>
+<g>
+<path d="M443.5 40h0"></path>
+<path d="M571.5 40h0"></path>
+<path d="M443.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M463.5 20h88"></path>
+</g>
+<path d="M551.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M443.5 40h20"></path>
+<g class="terminal">
+<path d="M463.5 40h0"></path>
+<path d="M551.5 40h0"></path>
+<rect x="463.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="507.5" y="44">"PARENT"</text>
+</g>
+<path d="M551.5 40h20"></path>
+</g>
+<path d="M571.5 40h10"></path>
+<g class="non-terminal">
+<path d="M581.5 40h0"></path>
+<path d="M695 40h0"></path>
+<rect x="581.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSRelation"><text x="638.25" y="44">CDSRelation</text>
+</a>
+</g>
+<path d="M695 40h10"></path>
+<path d="M705 40h10"></path>
+<g class="terminal">
+<path d="M715 40h0"></path>
+<path d="M769 40h0"></path>
+<rect x="715" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="742" y="44">"ON"</text>
+</g>
+<path d="M769 40h10"></path>
+<path d="M779 40h10"></path>
+<g class="non-terminal">
+<path d="M789 40h0"></path>
+<path d="M911 40h0"></path>
+<rect x="789" y="29" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="850" y="44">CDSCondition</text>
+</a>
+</g>
+</g>
+<path d="M911 40h10"></path>
+<path d="M 921 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSCardinality.svg b/cds/expression_CDSCardinality.svg
new file mode 100644
index 00000000..201b59fa
--- /dev/null
+++ b/cds/expression_CDSCardinality.svg
@@ -0,0 +1,145 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="543" height="131" viewBox="0 0 543 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M493 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M95.5 40h0"></path>
+<rect x="50" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="44">"&#91;"</text>
+</g>
+<path d="M95.5 40h10"></path>
+<g>
+<path d="M105.5 40h0"></path>
+<path d="M191 40h0"></path>
+<path d="M105.5 40h20"></path>
+<g class="terminal">
+<path d="M125.5 40h0"></path>
+<path d="M171 40h0"></path>
+<rect x="125.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="148.25" y="44">"0"</text>
+</g>
+<path d="M171 40h20"></path>
+<path d="M105.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M125.5 70h0"></path>
+<path d="M171 70h0"></path>
+<rect x="125.5" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="148.25" y="74">"1"</text>
+</g>
+<path d="M171 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M191 40h0"></path>
+<path d="M437.5 40h0"></path>
+<path d="M191 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M211 20h206.5"></path>
+</g>
+<path d="M417.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M191 40h20"></path>
+<g>
+<path d="M211 40h0"></path>
+<path d="M417.5 40h0"></path>
+<g class="terminal">
+<path d="M211 40h0"></path>
+<path d="M256.5 40h0"></path>
+<rect x="211" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="233.75" y="44">"."</text>
+</g>
+<path d="M256.5 40h10"></path>
+<path d="M266.5 40h10"></path>
+<g class="terminal">
+<path d="M276.5 40h0"></path>
+<path d="M322 40h0"></path>
+<rect x="276.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="299.25" y="44">"."</text>
+</g>
+<path d="M322 40h10"></path>
+<g>
+<path d="M332 40h0"></path>
+<path d="M417.5 40h0"></path>
+<path d="M332 40h20"></path>
+<g class="terminal">
+<path d="M352 40h0"></path>
+<path d="M397.5 40h0"></path>
+<rect x="352" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="44">"0"</text>
+</g>
+<path d="M397.5 40h20"></path>
+<path d="M332 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M352 70h0"></path>
+<path d="M397.5 70h0"></path>
+<rect x="352" y="59" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="74">"1"</text>
+</g>
+<path d="M397.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M332 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M352 100h0"></path>
+<path d="M397.5 100h0"></path>
+<rect x="352" y="89" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="374.75" y="104">"&#42;"</text>
+</g>
+<path d="M397.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M417.5 40h20"></path>
+</g>
+<path d="M437.5 40h10"></path>
+<g class="terminal">
+<path d="M447.5 40h0"></path>
+<path d="M493 40h0"></path>
+<rect x="447.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="470.25" y="44">"&#93;"</text>
+</g>
+</g>
+<path d="M493 40h10"></path>
+<path d="M 503 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSCase.svg b/cds/expression_CDSCase.svg
new file mode 100644
index 00000000..7de2c8cb
--- /dev/null
+++ b/cds/expression_CDSCase.svg
@@ -0,0 +1,716 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1834.5" height="434" viewBox="0 0 1834.5 434">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 40h0"></path>
+<path d="M1794.5 40h0"></path>
+<path d="M40 40h20"></path>
+<g>
+<path d="M60 40h0"></path>
+<path d="M1774.5 40h0"></path>
+<g class="terminal">
+<path d="M60 40h0"></path>
+<path d="M131 40h0"></path>
+<rect x="60" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="44">"CASE"</text>
+</g>
+<path d="M131 40h10"></path>
+<g>
+<path d="M141 40h0"></path>
+<path d="M455.5 40h0"></path>
+<path d="M141 40h20"></path>
+<g>
+<path d="M161 40h0"></path>
+<path d="M435.5 40h0"></path>
+<g class="non-terminal">
+<path d="M161 40h0"></path>
+<path d="M240.5 40h0"></path>
+<rect x="161" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="200.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M240.5 40h10"></path>
+<g>
+<path d="M250.5 40h0"></path>
+<path d="M435.5 40h0"></path>
+<path d="M250.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M270.5 20h145"></path>
+</g>
+<path d="M415.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M250.5 40h20"></path>
+<g>
+<path d="M270.5 40h0"></path>
+<path d="M415.5 40h0"></path>
+<g class="terminal">
+<path d="M270.5 40h0"></path>
+<path d="M316 40h0"></path>
+<rect x="270.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="293.25" y="44">"."</text>
+</g>
+<path d="M316 40h10"></path>
+<path d="M326 40h10"></path>
+<g class="non-terminal">
+<path d="M336 40h0"></path>
+<path d="M415.5 40h0"></path>
+<rect x="336" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="375.75" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M415.5 40h20"></path>
+</g>
+</g>
+<path d="M435.5 40h20"></path>
+<path d="M141 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M161 70h0"></path>
+<path d="M274.5 70h161"></path>
+<rect x="161" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="217.75" y="74">CDSFunction</text>
+</a>
+</g>
+<path d="M435.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M455.5 40h10"></path>
+<g>
+<path d="M465.5 40h0"></path>
+<path d="M1286.5 40h0"></path>
+<path d="M465.5 40h10"></path>
+<g>
+<path d="M475.5 40h0"></path>
+<path d="M1276.5 40h0"></path>
+<g class="terminal">
+<path d="M475.5 40h0"></path>
+<path d="M546.5 40h0"></path>
+<rect x="475.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="511" y="44">"WHEN"</text>
+</g>
+<path d="M546.5 40h10"></path>
+<g>
+<path d="M556.5 40h0"></path>
+<path d="M871 40h0"></path>
+<path d="M556.5 40h20"></path>
+<g>
+<path d="M576.5 40h0"></path>
+<path d="M851 40h0"></path>
+<g class="non-terminal">
+<path d="M576.5 40h0"></path>
+<path d="M656 40h0"></path>
+<rect x="576.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="616.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M656 40h10"></path>
+<g>
+<path d="M666 40h0"></path>
+<path d="M851 40h0"></path>
+<path d="M666 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M686 20h145"></path>
+</g>
+<path d="M831 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M666 40h20"></path>
+<g>
+<path d="M686 40h0"></path>
+<path d="M831 40h0"></path>
+<g class="terminal">
+<path d="M686 40h0"></path>
+<path d="M731.5 40h0"></path>
+<rect x="686" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="708.75" y="44">"."</text>
+</g>
+<path d="M731.5 40h10"></path>
+<path d="M741.5 40h10"></path>
+<g class="non-terminal">
+<path d="M751.5 40h0"></path>
+<path d="M831 40h0"></path>
+<rect x="751.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="791.25" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M831 40h20"></path>
+</g>
+</g>
+<path d="M851 40h20"></path>
+<path d="M556.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M576.5 70h0"></path>
+<path d="M673 70h178"></path>
+<rect x="576.5" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="624.75" y="74">CDSString</text>
+</a>
+</g>
+<path d="M851 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M556.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M576.5 100h0"></path>
+<path d="M690 100h161"></path>
+<rect x="576.5" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="633.25" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M851 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M556.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M576.5 130h0"></path>
+<path d="M656 130h195"></path>
+<rect x="576.5" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="616.25" y="134">CDSCase</text>
+</a>
+</g>
+<path d="M851 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M556.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M576.5 160h0"></path>
+<path d="M656 160h195"></path>
+<rect x="576.5" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="616.25" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M851 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M556.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M576.5 190h0"></path>
+<path d="M715.5 190h135.5"></path>
+<rect x="576.5" y="179" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="646" y="194">CDSArithmetics</text>
+</a>
+</g>
+<path d="M851 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M871 40h10"></path>
+<g class="terminal">
+<path d="M881 40h0"></path>
+<path d="M952 40h0"></path>
+<rect x="881" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="916.5" y="44">"THEN"</text>
+</g>
+<path d="M952 40h10"></path>
+<g>
+<path d="M962 40h0"></path>
+<path d="M1276.5 40h0"></path>
+<path d="M962 40h20"></path>
+<g>
+<path d="M982 40h0"></path>
+<path d="M1256.5 40h0"></path>
+<g class="non-terminal">
+<path d="M982 40h0"></path>
+<path d="M1061.5 40h0"></path>
+<rect x="982" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1021.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M1061.5 40h10"></path>
+<g>
+<path d="M1071.5 40h0"></path>
+<path d="M1256.5 40h0"></path>
+<path d="M1071.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1091.5 20h145"></path>
+</g>
+<path d="M1236.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1071.5 40h20"></path>
+<g>
+<path d="M1091.5 40h0"></path>
+<path d="M1236.5 40h0"></path>
+<g class="terminal">
+<path d="M1091.5 40h0"></path>
+<path d="M1137 40h0"></path>
+<rect x="1091.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1114.25" y="44">"."</text>
+</g>
+<path d="M1137 40h10"></path>
+<path d="M1147 40h10"></path>
+<g class="non-terminal">
+<path d="M1157 40h0"></path>
+<path d="M1236.5 40h0"></path>
+<rect x="1157" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1196.75" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1236.5 40h20"></path>
+</g>
+</g>
+<path d="M1256.5 40h20"></path>
+<path d="M962 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M982 70h0"></path>
+<path d="M1078.5 70h178"></path>
+<rect x="982" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1030.25" y="74">CDSString</text>
+</a>
+</g>
+<path d="M1256.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M962 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M982 100h0"></path>
+<path d="M1095.5 100h161"></path>
+<rect x="982" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1038.75" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M1256.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M962 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M982 130h0"></path>
+<path d="M1061.5 130h195"></path>
+<rect x="982" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1021.75" y="134">CDSCase</text>
+</a>
+</g>
+<path d="M1256.5 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M962 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M982 160h0"></path>
+<path d="M1061.5 160h195"></path>
+<rect x="982" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1021.75" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M1256.5 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M962 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M982 190h0"></path>
+<path d="M1121 190h135.5"></path>
+<rect x="982" y="179" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1051.5" y="194">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1256.5 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1276.5 40h10"></path>
+<path d="M475.5 40a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M475.5 209h801"></path>
+</g>
+<path d="M1276.5 209a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1286.5 40h10"></path>
+<path d="M1296.5 40h10"></path>
+<g class="terminal">
+<path d="M1306.5 40h0"></path>
+<path d="M1377.5 40h0"></path>
+<rect x="1306.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1342" y="44">"ELSE"</text>
+</g>
+<path d="M1377.5 40h10"></path>
+<g>
+<path d="M1387.5 40h0"></path>
+<path d="M1702 40h0"></path>
+<path d="M1387.5 40h20"></path>
+<g>
+<path d="M1407.5 40h0"></path>
+<path d="M1682 40h0"></path>
+<g class="non-terminal">
+<path d="M1407.5 40h0"></path>
+<path d="M1487 40h0"></path>
+<rect x="1407.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1447.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M1487 40h10"></path>
+<g>
+<path d="M1497 40h0"></path>
+<path d="M1682 40h0"></path>
+<path d="M1497 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1517 20h145"></path>
+</g>
+<path d="M1662 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1497 40h20"></path>
+<g>
+<path d="M1517 40h0"></path>
+<path d="M1662 40h0"></path>
+<g class="terminal">
+<path d="M1517 40h0"></path>
+<path d="M1562.5 40h0"></path>
+<rect x="1517" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1539.75" y="44">"."</text>
+</g>
+<path d="M1562.5 40h10"></path>
+<path d="M1572.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1582.5 40h0"></path>
+<path d="M1662 40h0"></path>
+<rect x="1582.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1622.25" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1662 40h20"></path>
+</g>
+</g>
+<path d="M1682 40h20"></path>
+<path d="M1387.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1407.5 70h0"></path>
+<path d="M1504 70h178"></path>
+<rect x="1407.5" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1455.75" y="74">CDSString</text>
+</a>
+</g>
+<path d="M1682 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1387.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1407.5 100h0"></path>
+<path d="M1521 100h161"></path>
+<rect x="1407.5" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1464.25" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M1682 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1387.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1407.5 130h0"></path>
+<path d="M1487 130h195"></path>
+<rect x="1407.5" y="119" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1447.25" y="134">CDSCase</text>
+</a>
+</g>
+<path d="M1682 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1387.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1407.5 160h0"></path>
+<path d="M1487 160h195"></path>
+<rect x="1407.5" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1447.25" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M1682 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1387.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1407.5 190h0"></path>
+<path d="M1546.5 190h135.5"></path>
+<rect x="1407.5" y="179" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1477" y="194">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1682 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1702 40h10"></path>
+<g class="terminal">
+<path d="M1712 40h0"></path>
+<path d="M1774.5 40h0"></path>
+<rect x="1712" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1743.25" y="44">"END"</text>
+</g>
+</g>
+<path d="M1774.5 40h20"></path>
+<path d="M40 40a10 10 0 0 1 10 10v185a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 245h0"></path>
+<path d="M1317.5 245h457"></path>
+<g class="terminal">
+<path d="M60 245h0"></path>
+<path d="M131 245h0"></path>
+<rect x="60" y="234" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="249">"CASE"</text>
+</g>
+<path d="M131 245h10"></path>
+<path d="M141 245h10"></path>
+<g>
+<path d="M151 245h0"></path>
+<path d="M799.5 245h0"></path>
+<path d="M151 245h10"></path>
+<g>
+<path d="M161 245h0"></path>
+<path d="M789.5 245h0"></path>
+<g class="terminal">
+<path d="M161 245h0"></path>
+<path d="M232 245h0"></path>
+<rect x="161" y="234" width="71" height="22" rx="10" ry="10"></rect>
+<text x="196.5" y="249">"WHEN"</text>
+</g>
+<path d="M232 245h10"></path>
+<path d="M242 245h10"></path>
+<g class="non-terminal">
+<path d="M252 245h0"></path>
+<path d="M374 245h0"></path>
+<rect x="252" y="234" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="313" y="249">CDSCondition</text>
+</a>
+</g>
+<path d="M374 245h10"></path>
+<path d="M384 245h10"></path>
+<g class="terminal">
+<path d="M394 245h0"></path>
+<path d="M465 245h0"></path>
+<rect x="394" y="234" width="71" height="22" rx="10" ry="10"></rect>
+<text x="429.5" y="249">"THEN"</text>
+</g>
+<path d="M465 245h10"></path>
+<g>
+<path d="M475 245h0"></path>
+<path d="M789.5 245h0"></path>
+<path d="M475 245h20"></path>
+<g>
+<path d="M495 245h0"></path>
+<path d="M769.5 245h0"></path>
+<g class="non-terminal">
+<path d="M495 245h0"></path>
+<path d="M574.5 245h0"></path>
+<rect x="495" y="234" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="534.75" y="249">CDSName</text>
+</a>
+</g>
+<path d="M574.5 245h10"></path>
+<g>
+<path d="M584.5 245h0"></path>
+<path d="M769.5 245h0"></path>
+<path d="M584.5 245a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M604.5 225h145"></path>
+</g>
+<path d="M749.5 225a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M584.5 245h20"></path>
+<g>
+<path d="M604.5 245h0"></path>
+<path d="M749.5 245h0"></path>
+<g class="terminal">
+<path d="M604.5 245h0"></path>
+<path d="M650 245h0"></path>
+<rect x="604.5" y="234" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="627.25" y="249">"."</text>
+</g>
+<path d="M650 245h10"></path>
+<path d="M660 245h10"></path>
+<g class="non-terminal">
+<path d="M670 245h0"></path>
+<path d="M749.5 245h0"></path>
+<rect x="670" y="234" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="709.75" y="249">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M749.5 245h20"></path>
+</g>
+</g>
+<path d="M769.5 245h20"></path>
+<path d="M475 245a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M495 275h0"></path>
+<path d="M591.5 275h178"></path>
+<rect x="495" y="264" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="543.25" y="279">CDSString</text>
+</a>
+</g>
+<path d="M769.5 275a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M475 245a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M495 305h0"></path>
+<path d="M608.5 305h161"></path>
+<rect x="495" y="294" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="551.75" y="309">CDSFunction</text>
+</a>
+</g>
+<path d="M769.5 305a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M475 245a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M495 335h0"></path>
+<path d="M574.5 335h195"></path>
+<rect x="495" y="324" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="534.75" y="339">CDSCase</text>
+</a>
+</g>
+<path d="M769.5 335a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M475 245a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M495 365h0"></path>
+<path d="M574.5 365h195"></path>
+<rect x="495" y="354" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="534.75" y="369">CDSCast</text>
+</a>
+</g>
+<path d="M769.5 365a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M475 245a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M495 395h0"></path>
+<path d="M634 395h135.5"></path>
+<rect x="495" y="384" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="564.5" y="399">CDSArithmetics</text>
+</a>
+</g>
+<path d="M769.5 395a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M789.5 245h10"></path>
+<path d="M161 245a10 10 0 0 0 -10 10v149a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M161 414h628.5"></path>
+</g>
+<path d="M789.5 414a10 10 0 0 0 10 -10v-149a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M799.5 245h10"></path>
+<g>
+<path d="M809.5 245h0"></path>
+<path d="M1245 245h0"></path>
+<path d="M809.5 245a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M829.5 217h395.5"></path>
+</g>
+<path d="M1225 217a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M809.5 245h20"></path>
+<g>
+<path d="M829.5 245h0"></path>
+<path d="M1225 245h0"></path>
+<g class="terminal">
+<path d="M829.5 245h0"></path>
+<path d="M900.5 245h0"></path>
+<rect x="829.5" y="234" width="71" height="22" rx="10" ry="10"></rect>
+<text x="865" y="249">"ELSE"</text>
+</g>
+<path d="M900.5 245h10"></path>
+<g>
+<path d="M910.5 245h0"></path>
+<path d="M1225 245h0"></path>
+<path d="M910.5 245h20"></path>
+<g>
+<path d="M930.5 245h0"></path>
+<path d="M1205 245h0"></path>
+<g class="non-terminal">
+<path d="M930.5 245h0"></path>
+<path d="M1010 245h0"></path>
+<rect x="930.5" y="234" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="970.25" y="249">CDSName</text>
+</a>
+</g>
+<path d="M1010 245h10"></path>
+<g>
+<path d="M1020 245h0"></path>
+<path d="M1205 245h0"></path>
+<path d="M1020 245a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1040 225h145"></path>
+</g>
+<path d="M1185 225a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1020 245h20"></path>
+<g>
+<path d="M1040 245h0"></path>
+<path d="M1185 245h0"></path>
+<g class="terminal">
+<path d="M1040 245h0"></path>
+<path d="M1085.5 245h0"></path>
+<rect x="1040" y="234" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1062.75" y="249">"."</text>
+</g>
+<path d="M1085.5 245h10"></path>
+<path d="M1095.5 245h10"></path>
+<g class="non-terminal">
+<path d="M1105.5 245h0"></path>
+<path d="M1185 245h0"></path>
+<rect x="1105.5" y="234" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1145.25" y="249">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1185 245h20"></path>
+</g>
+</g>
+<path d="M1205 245h20"></path>
+<path d="M910.5 245a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930.5 275h0"></path>
+<path d="M1027 275h178"></path>
+<rect x="930.5" y="264" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="978.75" y="279">CDSString</text>
+</a>
+</g>
+<path d="M1205 275a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M910.5 245a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930.5 305h0"></path>
+<path d="M1044 305h161"></path>
+<rect x="930.5" y="294" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="987.25" y="309">CDSFunction</text>
+</a>
+</g>
+<path d="M1205 305a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M910.5 245a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930.5 335h0"></path>
+<path d="M1010 335h195"></path>
+<rect x="930.5" y="324" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="970.25" y="339">CDSCase</text>
+</a>
+</g>
+<path d="M1205 335a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M910.5 245a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930.5 365h0"></path>
+<path d="M1010 365h195"></path>
+<rect x="930.5" y="354" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="970.25" y="369">CDSCast</text>
+</a>
+</g>
+<path d="M1205 365a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M910.5 245a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930.5 395h0"></path>
+<path d="M1069.5 395h135.5"></path>
+<rect x="930.5" y="384" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1000" y="399">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1205 395a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1225 245h20"></path>
+</g>
+<path d="M1245 245h10"></path>
+<g class="terminal">
+<path d="M1255 245h0"></path>
+<path d="M1317.5 245h0"></path>
+<rect x="1255" y="234" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1286.25" y="249">"END"</text>
+</g>
+</g>
+<path d="M1774.5 245a10 10 0 0 0 10 -10v-185a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 1794.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSCast.svg b/cds/expression_CDSCast.svg
new file mode 100644
index 00000000..20ef9a58
--- /dev/null
+++ b/cds/expression_CDSCast.svg
@@ -0,0 +1,223 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1043" height="251" viewBox="0 0 1043 251">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M993 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M121 40h0"></path>
+<rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="85.5" y="44">"CAST"</text>
+</g>
+<path d="M121 40h10"></path>
+<path d="M131 40h10"></path>
+<g class="terminal">
+<path d="M141 40h0"></path>
+<path d="M186.5 40h0"></path>
+<rect x="141" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="163.75" y="44">"("</text>
+</g>
+<path d="M186.5 40h10"></path>
+<g>
+<path d="M196.5 40h0"></path>
+<path d="M511 40h0"></path>
+<path d="M196.5 40h20"></path>
+<g>
+<path d="M216.5 40h0"></path>
+<path d="M491 40h0"></path>
+<g class="non-terminal">
+<path d="M216.5 40h0"></path>
+<path d="M296 40h0"></path>
+<rect x="216.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="256.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M296 40h10"></path>
+<g>
+<path d="M306 40h0"></path>
+<path d="M491 40h0"></path>
+<path d="M306 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M326 20h145"></path>
+</g>
+<path d="M471 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M306 40h20"></path>
+<g>
+<path d="M326 40h0"></path>
+<path d="M471 40h0"></path>
+<g class="terminal">
+<path d="M326 40h0"></path>
+<path d="M371.5 40h0"></path>
+<rect x="326" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="348.75" y="44">"."</text>
+</g>
+<path d="M371.5 40h10"></path>
+<path d="M381.5 40h10"></path>
+<g class="non-terminal">
+<path d="M391.5 40h0"></path>
+<path d="M471 40h0"></path>
+<rect x="391.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="431.25" y="44">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M471 40h20"></path>
+</g>
+</g>
+<path d="M491 40h20"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 70h0"></path>
+<path d="M330 70h161"></path>
+<rect x="216.5" y="59" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="273.25" y="74">CDSFunction</text>
+</a>
+</g>
+<path d="M491 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 100h0"></path>
+<path d="M296 100h195"></path>
+<rect x="216.5" y="89" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="256.25" y="104">CDSCase</text>
+</a>
+</g>
+<path d="M491 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 130h0"></path>
+<path d="M338.5 130h152.5"></path>
+<rect x="216.5" y="119" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAggregate"><text x="277.5" y="134">CDSAggregate</text>
+</a>
+</g>
+<path d="M491 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 160h0"></path>
+<path d="M296 160h195"></path>
+<rect x="216.5" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="256.25" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M491 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 190h0"></path>
+<path d="M313 190h178"></path>
+<rect x="216.5" y="179" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="264.75" y="194">CDSString</text>
+</a>
+</g>
+<path d="M491 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M196.5 40a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M216.5 220h0"></path>
+<path d="M355.5 220h135.5"></path>
+<rect x="216.5" y="209" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="286" y="224">CDSArithmetics</text>
+</a>
+</g>
+<path d="M491 220a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M511 40h10"></path>
+<g class="terminal">
+<path d="M521 40h0"></path>
+<path d="M575 40h0"></path>
+<rect x="521" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="548" y="44">"AS"</text>
+</g>
+<path d="M575 40h10"></path>
+<path d="M585 40h10"></path>
+<g class="non-terminal">
+<path d="M595 40h0"></path>
+<path d="M674.5 40h0"></path>
+<rect x="595" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSType"><text x="634.75" y="44">CDSType</text>
+</a>
+</g>
+<path d="M674.5 40h10"></path>
+<g>
+<path d="M684.5 40h0"></path>
+<path d="M937.5 40h0"></path>
+<path d="M684.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M704.5 20h213"></path>
+</g>
+<path d="M917.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M684.5 40h20"></path>
+<g>
+<path d="M704.5 40h0"></path>
+<path d="M917.5 40h0"></path>
+<g class="terminal">
+<path d="M704.5 40h0"></path>
+<path d="M826.5 40h0"></path>
+<rect x="704.5" y="29" width="122" height="22" rx="10" ry="10"></rect>
+<text x="765.5" y="44">"PRESERVING"</text>
+</g>
+<path d="M826.5 40h10"></path>
+<path d="M836.5 40h10"></path>
+<g class="terminal">
+<path d="M846.5 40h0"></path>
+<path d="M917.5 40h0"></path>
+<rect x="846.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="882" y="44">"TYPE"</text>
+</g>
+</g>
+<path d="M917.5 40h20"></path>
+</g>
+<path d="M937.5 40h10"></path>
+<g class="terminal">
+<path d="M947.5 40h0"></path>
+<path d="M993 40h0"></path>
+<rect x="947.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="970.25" y="44">")"</text>
+</g>
+</g>
+<path d="M993 40h10"></path>
+<path d="M 1003 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSComposition.svg b/cds/expression_CDSComposition.svg
new file mode 100644
index 00000000..30f7bf51
--- /dev/null
+++ b/cds/expression_CDSComposition.svg
@@ -0,0 +1,94 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="617" height="71" viewBox="0 0 617 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M567 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M180.5 40h0"></path>
+<rect x="50" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="115.25" y="44">"COMPOSITION"</text>
+</g>
+<path d="M180.5 40h10"></path>
+<g>
+<path d="M190.5 40h0"></path>
+<path d="M369.5 40h0"></path>
+<path d="M190.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M210.5 20h139"></path>
+</g>
+<path d="M349.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M190.5 40h20"></path>
+<g class="non-terminal">
+<path d="M210.5 40h0"></path>
+<path d="M349.5 40h0"></path>
+<rect x="210.5" y="29" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCardinality"><text x="280" y="44">CDSCardinality</text>
+</a>
+</g>
+<path d="M349.5 40h20"></path>
+</g>
+<path d="M369.5 40h10"></path>
+<g class="terminal">
+<path d="M379.5 40h0"></path>
+<path d="M433.5 40h0"></path>
+<rect x="379.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="406.5" y="44">"OF"</text>
+</g>
+<path d="M433.5 40h10"></path>
+<path d="M443.5 40h10"></path>
+<g class="non-terminal">
+<path d="M453.5 40h0"></path>
+<path d="M567 40h0"></path>
+<rect x="453.5" y="29" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSRelation"><text x="510.25" y="44">CDSRelation</text>
+</a>
+</g>
+</g>
+<path d="M567 40h10"></path>
+<path d="M 577 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSCondition.svg b/cds/expression_CDSCondition.svg
new file mode 100644
index 00000000..c1ba597b
--- /dev/null
+++ b/cds/expression_CDSCondition.svg
@@ -0,0 +1,1127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2455.5" height="486" viewBox="0 0 2455.5 486">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M2405.5 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1146.5 48h0"></path>
+<path d="M50 48h20"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M1126.5 48h0"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M172.5 48h0"></path>
+<path d="M70 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M90 28h62.5"></path>
+</g>
+<path d="M152.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M70 48h20"></path>
+<g class="terminal">
+<path d="M90 48h0"></path>
+<path d="M152.5 48h0"></path>
+<rect x="90" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="121.25" y="52">"NOT"</text>
+</g>
+<path d="M152.5 48h20"></path>
+</g>
+<g>
+<path d="M172.5 48h0"></path>
+<path d="M1126.5 48h0"></path>
+<path d="M172.5 48h20"></path>
+<g>
+<path d="M192.5 48h0"></path>
+<path d="M1106.5 48h0"></path>
+<g>
+<path d="M192.5 48h0"></path>
+<path d="M554 48h0"></path>
+<path d="M192.5 48h20"></path>
+<g>
+<path d="M212.5 48h0"></path>
+<path d="M534 48h0"></path>
+<g class="non-terminal">
+<path d="M212.5 48h0"></path>
+<path d="M292 48h0"></path>
+<rect x="212.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="252.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M292 48h10"></path>
+<g>
+<path d="M302 48h0"></path>
+<path d="M534 48h0"></path>
+<path d="M302 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M322 28h192"></path>
+</g>
+<path d="M514 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M302 48h20"></path>
+<g>
+<path d="M322 48h0"></path>
+<path d="M514 48h0"></path>
+<g class="terminal">
+<path d="M322 48h0"></path>
+<path d="M367.5 48h0"></path>
+<rect x="322" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="344.75" y="52">"."</text>
+</g>
+<path d="M367.5 48h10"></path>
+<g>
+<path d="M377.5 48h0"></path>
+<path d="M514 48h0"></path>
+<path d="M377.5 48h20"></path>
+<g class="non-terminal">
+<path d="M397.5 48h0"></path>
+<path d="M477 48h17"></path>
+<rect x="397.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="437.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M494 48h20"></path>
+<path d="M377.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M397.5 78h0"></path>
+<path d="M494 78h0"></path>
+<rect x="397.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="445.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M494 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M514 48h20"></path>
+</g>
+</g>
+<path d="M534 48h20"></path>
+<path d="M192.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M212.5 108h0"></path>
+<path d="M326 108h208"></path>
+<rect x="212.5" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="269.25" y="112">CDSFunction</text>
+</a>
+</g>
+<path d="M534 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M192.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M212.5 138h0"></path>
+<path d="M309 138h225"></path>
+<rect x="212.5" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="260.75" y="142">CDSString</text>
+</a>
+</g>
+<path d="M534 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M554 48h0"></path>
+<path d="M705 48h0"></path>
+<path d="M554 48h20"></path>
+<g class="terminal">
+<path d="M574 48h0"></path>
+<path d="M619.5 48h65.5"></path>
+<rect x="574" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="52">"="</text>
+</g>
+<path d="M685 48h20"></path>
+<path d="M554 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M574 78h0"></path>
+<path d="M685 78h0"></path>
+<g class="terminal">
+<path d="M574 78h0"></path>
+<path d="M619.5 78h0"></path>
+<rect x="574" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="82">"!"</text>
+</g>
+<path d="M619.5 78h10"></path>
+<path d="M629.5 78h10"></path>
+<g class="terminal">
+<path d="M639.5 78h0"></path>
+<path d="M685 78h0"></path>
+<rect x="639.5" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="662.25" y="82">"="</text>
+</g>
+</g>
+<path d="M685 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M574 108h0"></path>
+<path d="M685 108h0"></path>
+<g class="terminal">
+<path d="M574 108h0"></path>
+<path d="M619.5 108h0"></path>
+<rect x="574" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="112">"&#60;"</text>
+</g>
+<path d="M619.5 108h10"></path>
+<path d="M629.5 108h10"></path>
+<g class="terminal">
+<path d="M639.5 108h0"></path>
+<path d="M685 108h0"></path>
+<rect x="639.5" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="662.25" y="112">">"</text>
+</g>
+</g>
+<path d="M685 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M574 138h0"></path>
+<path d="M619.5 138h65.5"></path>
+<rect x="574" y="127" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="142">"&#60;"</text>
+</g>
+<path d="M685 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M574 168h0"></path>
+<path d="M619.5 168h65.5"></path>
+<rect x="574" y="157" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="172">">"</text>
+</g>
+<path d="M685 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M574 198h0"></path>
+<path d="M685 198h0"></path>
+<g class="terminal">
+<path d="M574 198h0"></path>
+<path d="M619.5 198h0"></path>
+<rect x="574" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="202">">"</text>
+</g>
+<path d="M619.5 198h10"></path>
+<path d="M629.5 198h10"></path>
+<g class="terminal">
+<path d="M639.5 198h0"></path>
+<path d="M685 198h0"></path>
+<rect x="639.5" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="662.25" y="202">"="</text>
+</g>
+</g>
+<path d="M685 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M574 228h0"></path>
+<path d="M685 228h0"></path>
+<g class="terminal">
+<path d="M574 228h0"></path>
+<path d="M619.5 228h0"></path>
+<rect x="574" y="217" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="596.75" y="232">"&#60;"</text>
+</g>
+<path d="M619.5 228h10"></path>
+<path d="M629.5 228h10"></path>
+<g class="terminal">
+<path d="M639.5 228h0"></path>
+<path d="M685 228h0"></path>
+<rect x="639.5" y="217" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="662.25" y="232">"="</text>
+</g>
+</g>
+<path d="M685 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M574 258h0"></path>
+<path d="M645 258h40"></path>
+<rect x="574" y="247" width="71" height="22" rx="10" ry="10"></rect>
+<text x="609.5" y="262">"LIKE"</text>
+</g>
+<path d="M685 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M554 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M574 288h0"></path>
+<path d="M679 288h6"></path>
+<rect x="574" y="277" width="105" height="22" rx="10" ry="10"></rect>
+<text x="626.5" y="292">"NOT LIKE"</text>
+</g>
+<path d="M685 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M705 48h0"></path>
+<path d="M1106.5 48h0"></path>
+<path d="M705 48h20"></path>
+<g>
+<path d="M725 48h0"></path>
+<path d="M1086.5 48h0"></path>
+<path d="M725 48h20"></path>
+<g>
+<path d="M745 48h0"></path>
+<path d="M1066.5 48h0"></path>
+<g class="non-terminal">
+<path d="M745 48h0"></path>
+<path d="M824.5 48h0"></path>
+<rect x="745" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="784.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M824.5 48h10"></path>
+<g>
+<path d="M834.5 48h0"></path>
+<path d="M1066.5 48h0"></path>
+<path d="M834.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M854.5 28h192"></path>
+</g>
+<path d="M1046.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M834.5 48h20"></path>
+<g>
+<path d="M854.5 48h0"></path>
+<path d="M1046.5 48h0"></path>
+<g class="terminal">
+<path d="M854.5 48h0"></path>
+<path d="M900 48h0"></path>
+<rect x="854.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="877.25" y="52">"."</text>
+</g>
+<path d="M900 48h10"></path>
+<g>
+<path d="M910 48h0"></path>
+<path d="M1046.5 48h0"></path>
+<path d="M910 48h20"></path>
+<g class="non-terminal">
+<path d="M930 48h0"></path>
+<path d="M1009.5 48h17"></path>
+<rect x="930" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="969.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1026.5 48h20"></path>
+<path d="M910 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M930 78h0"></path>
+<path d="M1026.5 78h0"></path>
+<rect x="930" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="978.25" y="82">CDSString</text>
+</a>
+</g>
+<path d="M1026.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1046.5 48h20"></path>
+</g>
+</g>
+<path d="M1066.5 48h20"></path>
+<path d="M725 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M745 108h0"></path>
+<path d="M858.5 108h208"></path>
+<rect x="745" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="801.75" y="112">CDSFunction</text>
+</a>
+</g>
+<path d="M1066.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M725 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M745 138h0"></path>
+<path d="M841.5 138h225"></path>
+<rect x="745" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="793.25" y="142">CDSString</text>
+</a>
+</g>
+<path d="M1066.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1086.5 48h20"></path>
+<path d="M705 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M725 168h0"></path>
+<path d="M830 168h256.5"></path>
+<rect x="725" y="157" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSInteger"><text x="777.5" y="172">CDSInteger</text>
+</a>
+</g>
+<path d="M1086.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M705 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M725 198h0"></path>
+<path d="M838.5 198h248"></path>
+<rect x="725" y="187" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="781.75" y="202">CDSFunction</text>
+</a>
+</g>
+<path d="M1086.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M705 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M725 228h0"></path>
+<path d="M821.5 228h265"></path>
+<rect x="725" y="217" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="773.25" y="232">CDSString</text>
+</a>
+</g>
+<path d="M1086.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1106.5 48h20"></path>
+<path d="M172.5 48a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M192.5 327h0"></path>
+<path d="M867 327h239.5"></path>
+<g>
+<path d="M192.5 327h0"></path>
+<path d="M554 327h0"></path>
+<path d="M192.5 327h20"></path>
+<g>
+<path d="M212.5 327h0"></path>
+<path d="M534 327h0"></path>
+<g class="non-terminal">
+<path d="M212.5 327h0"></path>
+<path d="M292 327h0"></path>
+<rect x="212.5" y="316" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="252.25" y="331">CDSName</text>
+</a>
+</g>
+<path d="M292 327h10"></path>
+<g>
+<path d="M302 327h0"></path>
+<path d="M534 327h0"></path>
+<path d="M302 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M322 307h192"></path>
+</g>
+<path d="M514 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M302 327h20"></path>
+<g>
+<path d="M322 327h0"></path>
+<path d="M514 327h0"></path>
+<g class="terminal">
+<path d="M322 327h0"></path>
+<path d="M367.5 327h0"></path>
+<rect x="322" y="316" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="344.75" y="331">"."</text>
+</g>
+<path d="M367.5 327h10"></path>
+<g>
+<path d="M377.5 327h0"></path>
+<path d="M514 327h0"></path>
+<path d="M377.5 327h20"></path>
+<g class="non-terminal">
+<path d="M397.5 327h0"></path>
+<path d="M477 327h17"></path>
+<rect x="397.5" y="316" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="437.25" y="331">CDSName</text>
+</a>
+</g>
+<path d="M494 327h20"></path>
+<path d="M377.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M397.5 357h0"></path>
+<path d="M494 357h0"></path>
+<rect x="397.5" y="346" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="445.75" y="361">CDSString</text>
+</a>
+</g>
+<path d="M494 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M514 327h20"></path>
+</g>
+</g>
+<path d="M534 327h20"></path>
+<path d="M192.5 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M212.5 387h0"></path>
+<path d="M326 387h208"></path>
+<rect x="212.5" y="376" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="269.25" y="391">CDSFunction</text>
+</a>
+</g>
+<path d="M534 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M192.5 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M212.5 417h0"></path>
+<path d="M309 417h225"></path>
+<rect x="212.5" y="406" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="260.75" y="421">CDSString</text>
+</a>
+</g>
+<path d="M534 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M554 327h10"></path>
+<g class="terminal">
+<path d="M564 327h0"></path>
+<path d="M618 327h0"></path>
+<rect x="564" y="316" width="54" height="22" rx="10" ry="10"></rect>
+<text x="591" y="331">"IS"</text>
+</g>
+<path d="M618 327h10"></path>
+<g>
+<path d="M628 327h0"></path>
+<path d="M730.5 327h0"></path>
+<path d="M628 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M648 307h62.5"></path>
+</g>
+<path d="M710.5 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M628 327h20"></path>
+<g class="terminal">
+<path d="M648 327h0"></path>
+<path d="M710.5 327h0"></path>
+<rect x="648" y="316" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="679.25" y="331">"NOT"</text>
+</g>
+<path d="M710.5 327h20"></path>
+</g>
+<g>
+<path d="M730.5 327h0"></path>
+<path d="M867 327h0"></path>
+<path d="M730.5 327h20"></path>
+<g class="terminal">
+<path d="M750.5 327h0"></path>
+<path d="M847 327h0"></path>
+<rect x="750.5" y="316" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="798.75" y="331">"INITIAL"</text>
+</g>
+<path d="M847 327h20"></path>
+<path d="M730.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M750.5 357h0"></path>
+<path d="M821.5 357h25.5"></path>
+<rect x="750.5" y="346" width="71" height="22" rx="10" ry="10"></rect>
+<text x="786" y="361">"NULL"</text>
+</g>
+<path d="M847 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1106.5 327a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1126.5 48h20"></path>
+<path d="M50 48a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M70 447h0"></path>
+<path d="M323 447h803.5"></path>
+<g class="terminal">
+<path d="M70 447h0"></path>
+<path d="M115.5 447h0"></path>
+<rect x="70" y="436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="92.75" y="451">"("</text>
+</g>
+<path d="M115.5 447h10"></path>
+<path d="M125.5 447h10"></path>
+<g class="non-terminal">
+<path d="M135.5 447h0"></path>
+<path d="M257.5 447h0"></path>
+<rect x="135.5" y="436" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="196.5" y="451">CDSCondition</text>
+</a>
+</g>
+<path d="M257.5 447h10"></path>
+<path d="M267.5 447h10"></path>
+<g class="terminal">
+<path d="M277.5 447h0"></path>
+<path d="M323 447h0"></path>
+<rect x="277.5" y="436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="300.25" y="451">")"</text>
+</g>
+</g>
+<path d="M1126.5 447a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1146.5 48h0"></path>
+<path d="M2405.5 48h0"></path>
+<path d="M1146.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1166.5 20h1219"></path>
+</g>
+<path d="M2385.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1146.5 48h20"></path>
+<g>
+<path d="M1166.5 48h0"></path>
+<path d="M2385.5 48h0"></path>
+<path d="M1166.5 48h10"></path>
+<g>
+<path d="M1176.5 48h0"></path>
+<path d="M2375.5 48h0"></path>
+<g>
+<path d="M1176.5 48h0"></path>
+<path d="M1279 48h0"></path>
+<path d="M1176.5 48h20"></path>
+<g class="terminal">
+<path d="M1196.5 48h0"></path>
+<path d="M1259 48h0"></path>
+<rect x="1196.5" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1227.75" y="52">"AND"</text>
+</g>
+<path d="M1259 48h20"></path>
+<path d="M1176.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1196.5 78h0"></path>
+<path d="M1250.5 78h8.5"></path>
+<rect x="1196.5" y="67" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1223.5" y="82">"OR"</text>
+</g>
+<path d="M1259 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1279 48h0"></path>
+<path d="M2375.5 48h0"></path>
+<path d="M1279 48h20"></path>
+<g>
+<path d="M1299 48h0"></path>
+<path d="M2355.5 48h0"></path>
+<g>
+<path d="M1299 48h0"></path>
+<path d="M1401.5 48h0"></path>
+<path d="M1299 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1319 28h62.5"></path>
+</g>
+<path d="M1381.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1299 48h20"></path>
+<g class="terminal">
+<path d="M1319 48h0"></path>
+<path d="M1381.5 48h0"></path>
+<rect x="1319" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1350.25" y="52">"NOT"</text>
+</g>
+<path d="M1381.5 48h20"></path>
+</g>
+<g>
+<path d="M1401.5 48h0"></path>
+<path d="M2355.5 48h0"></path>
+<path d="M1401.5 48h20"></path>
+<g>
+<path d="M1421.5 48h0"></path>
+<path d="M2335.5 48h0"></path>
+<g>
+<path d="M1421.5 48h0"></path>
+<path d="M1783 48h0"></path>
+<path d="M1421.5 48h20"></path>
+<g>
+<path d="M1441.5 48h0"></path>
+<path d="M1763 48h0"></path>
+<g class="non-terminal">
+<path d="M1441.5 48h0"></path>
+<path d="M1521 48h0"></path>
+<rect x="1441.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1481.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1521 48h10"></path>
+<g>
+<path d="M1531 48h0"></path>
+<path d="M1763 48h0"></path>
+<path d="M1531 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1551 28h192"></path>
+</g>
+<path d="M1743 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1531 48h20"></path>
+<g>
+<path d="M1551 48h0"></path>
+<path d="M1743 48h0"></path>
+<g class="terminal">
+<path d="M1551 48h0"></path>
+<path d="M1596.5 48h0"></path>
+<rect x="1551" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1573.75" y="52">"."</text>
+</g>
+<path d="M1596.5 48h10"></path>
+<g>
+<path d="M1606.5 48h0"></path>
+<path d="M1743 48h0"></path>
+<path d="M1606.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1626.5 48h0"></path>
+<path d="M1706 48h17"></path>
+<rect x="1626.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1666.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1723 48h20"></path>
+<path d="M1606.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1626.5 78h0"></path>
+<path d="M1723 78h0"></path>
+<rect x="1626.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1674.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M1723 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1743 48h20"></path>
+</g>
+</g>
+<path d="M1763 48h20"></path>
+<path d="M1421.5 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1441.5 108h0"></path>
+<path d="M1555 108h208"></path>
+<rect x="1441.5" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1498.25" y="112">CDSFunction</text>
+</a>
+</g>
+<path d="M1763 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1421.5 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1441.5 138h0"></path>
+<path d="M1538 138h225"></path>
+<rect x="1441.5" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1489.75" y="142">CDSString</text>
+</a>
+</g>
+<path d="M1763 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1783 48h0"></path>
+<path d="M1934 48h0"></path>
+<path d="M1783 48h20"></path>
+<g class="terminal">
+<path d="M1803 48h0"></path>
+<path d="M1848.5 48h65.5"></path>
+<rect x="1803" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="52">"="</text>
+</g>
+<path d="M1914 48h20"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1803 78h0"></path>
+<path d="M1914 78h0"></path>
+<g class="terminal">
+<path d="M1803 78h0"></path>
+<path d="M1848.5 78h0"></path>
+<rect x="1803" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="82">"!"</text>
+</g>
+<path d="M1848.5 78h10"></path>
+<path d="M1858.5 78h10"></path>
+<g class="terminal">
+<path d="M1868.5 78h0"></path>
+<path d="M1914 78h0"></path>
+<rect x="1868.5" y="67" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1891.25" y="82">"="</text>
+</g>
+</g>
+<path d="M1914 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1803 108h0"></path>
+<path d="M1914 108h0"></path>
+<g class="terminal">
+<path d="M1803 108h0"></path>
+<path d="M1848.5 108h0"></path>
+<rect x="1803" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="112">"&#60;"</text>
+</g>
+<path d="M1848.5 108h10"></path>
+<path d="M1858.5 108h10"></path>
+<g class="terminal">
+<path d="M1868.5 108h0"></path>
+<path d="M1914 108h0"></path>
+<rect x="1868.5" y="97" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1891.25" y="112">">"</text>
+</g>
+</g>
+<path d="M1914 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1803 138h0"></path>
+<path d="M1848.5 138h65.5"></path>
+<rect x="1803" y="127" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="142">"&#60;"</text>
+</g>
+<path d="M1914 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1803 168h0"></path>
+<path d="M1848.5 168h65.5"></path>
+<rect x="1803" y="157" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="172">">"</text>
+</g>
+<path d="M1914 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1803 198h0"></path>
+<path d="M1914 198h0"></path>
+<g class="terminal">
+<path d="M1803 198h0"></path>
+<path d="M1848.5 198h0"></path>
+<rect x="1803" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="202">">"</text>
+</g>
+<path d="M1848.5 198h10"></path>
+<path d="M1858.5 198h10"></path>
+<g class="terminal">
+<path d="M1868.5 198h0"></path>
+<path d="M1914 198h0"></path>
+<rect x="1868.5" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1891.25" y="202">"="</text>
+</g>
+</g>
+<path d="M1914 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1803 228h0"></path>
+<path d="M1914 228h0"></path>
+<g class="terminal">
+<path d="M1803 228h0"></path>
+<path d="M1848.5 228h0"></path>
+<rect x="1803" y="217" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1825.75" y="232">"&#60;"</text>
+</g>
+<path d="M1848.5 228h10"></path>
+<path d="M1858.5 228h10"></path>
+<g class="terminal">
+<path d="M1868.5 228h0"></path>
+<path d="M1914 228h0"></path>
+<rect x="1868.5" y="217" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1891.25" y="232">"="</text>
+</g>
+</g>
+<path d="M1914 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1803 258h0"></path>
+<path d="M1874 258h40"></path>
+<rect x="1803" y="247" width="71" height="22" rx="10" ry="10"></rect>
+<text x="1838.5" y="262">"LIKE"</text>
+</g>
+<path d="M1914 258a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path>
+<path d="M1783 48a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1803 288h0"></path>
+<path d="M1908 288h6"></path>
+<rect x="1803" y="277" width="105" height="22" rx="10" ry="10"></rect>
+<text x="1855.5" y="292">"NOT LIKE"</text>
+</g>
+<path d="M1914 288a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1934 48h0"></path>
+<path d="M2335.5 48h0"></path>
+<path d="M1934 48h20"></path>
+<g>
+<path d="M1954 48h0"></path>
+<path d="M2315.5 48h0"></path>
+<path d="M1954 48h20"></path>
+<g>
+<path d="M1974 48h0"></path>
+<path d="M2295.5 48h0"></path>
+<g class="non-terminal">
+<path d="M1974 48h0"></path>
+<path d="M2053.5 48h0"></path>
+<rect x="1974" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2013.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M2053.5 48h10"></path>
+<g>
+<path d="M2063.5 48h0"></path>
+<path d="M2295.5 48h0"></path>
+<path d="M2063.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2083.5 28h192"></path>
+</g>
+<path d="M2275.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2063.5 48h20"></path>
+<g>
+<path d="M2083.5 48h0"></path>
+<path d="M2275.5 48h0"></path>
+<g class="terminal">
+<path d="M2083.5 48h0"></path>
+<path d="M2129 48h0"></path>
+<rect x="2083.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2106.25" y="52">"."</text>
+</g>
+<path d="M2129 48h10"></path>
+<g>
+<path d="M2139 48h0"></path>
+<path d="M2275.5 48h0"></path>
+<path d="M2139 48h20"></path>
+<g class="non-terminal">
+<path d="M2159 48h0"></path>
+<path d="M2238.5 48h17"></path>
+<rect x="2159" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2198.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M2255.5 48h20"></path>
+<path d="M2139 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2159 78h0"></path>
+<path d="M2255.5 78h0"></path>
+<rect x="2159" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2207.25" y="82">CDSString</text>
+</a>
+</g>
+<path d="M2255.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2275.5 48h20"></path>
+</g>
+</g>
+<path d="M2295.5 48h20"></path>
+<path d="M1954 48a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1974 108h0"></path>
+<path d="M2087.5 108h208"></path>
+<rect x="1974" y="97" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2030.75" y="112">CDSFunction</text>
+</a>
+</g>
+<path d="M2295.5 108a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1954 48a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1974 138h0"></path>
+<path d="M2070.5 138h225"></path>
+<rect x="1974" y="127" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2022.25" y="142">CDSString</text>
+</a>
+</g>
+<path d="M2295.5 138a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2315.5 48h20"></path>
+<path d="M1934 48a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1954 168h0"></path>
+<path d="M2059 168h256.5"></path>
+<rect x="1954" y="157" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSInteger"><text x="2006.5" y="172">CDSInteger</text>
+</a>
+</g>
+<path d="M2315.5 168a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1934 48a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1954 198h0"></path>
+<path d="M2067.5 198h248"></path>
+<rect x="1954" y="187" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2010.75" y="202">CDSFunction</text>
+</a>
+</g>
+<path d="M2315.5 198a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M1934 48a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1954 228h0"></path>
+<path d="M2050.5 228h265"></path>
+<rect x="1954" y="217" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2002.25" y="232">CDSString</text>
+</a>
+</g>
+<path d="M2315.5 228a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2335.5 48h20"></path>
+<path d="M1401.5 48a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1421.5 327h0"></path>
+<path d="M2096 327h239.5"></path>
+<g>
+<path d="M1421.5 327h0"></path>
+<path d="M1783 327h0"></path>
+<path d="M1421.5 327h20"></path>
+<g>
+<path d="M1441.5 327h0"></path>
+<path d="M1763 327h0"></path>
+<g class="non-terminal">
+<path d="M1441.5 327h0"></path>
+<path d="M1521 327h0"></path>
+<rect x="1441.5" y="316" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1481.25" y="331">CDSName</text>
+</a>
+</g>
+<path d="M1521 327h10"></path>
+<g>
+<path d="M1531 327h0"></path>
+<path d="M1763 327h0"></path>
+<path d="M1531 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1551 307h192"></path>
+</g>
+<path d="M1743 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1531 327h20"></path>
+<g>
+<path d="M1551 327h0"></path>
+<path d="M1743 327h0"></path>
+<g class="terminal">
+<path d="M1551 327h0"></path>
+<path d="M1596.5 327h0"></path>
+<rect x="1551" y="316" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1573.75" y="331">"."</text>
+</g>
+<path d="M1596.5 327h10"></path>
+<g>
+<path d="M1606.5 327h0"></path>
+<path d="M1743 327h0"></path>
+<path d="M1606.5 327h20"></path>
+<g class="non-terminal">
+<path d="M1626.5 327h0"></path>
+<path d="M1706 327h17"></path>
+<rect x="1626.5" y="316" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1666.25" y="331">CDSName</text>
+</a>
+</g>
+<path d="M1723 327h20"></path>
+<path d="M1606.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1626.5 357h0"></path>
+<path d="M1723 357h0"></path>
+<rect x="1626.5" y="346" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1674.75" y="361">CDSString</text>
+</a>
+</g>
+<path d="M1723 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1743 327h20"></path>
+</g>
+</g>
+<path d="M1763 327h20"></path>
+<path d="M1421.5 327a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1441.5 387h0"></path>
+<path d="M1555 387h208"></path>
+<rect x="1441.5" y="376" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1498.25" y="391">CDSFunction</text>
+</a>
+</g>
+<path d="M1763 387a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1421.5 327a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1441.5 417h0"></path>
+<path d="M1538 417h225"></path>
+<rect x="1441.5" y="406" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1489.75" y="421">CDSString</text>
+</a>
+</g>
+<path d="M1763 417a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1783 327h10"></path>
+<g class="terminal">
+<path d="M1793 327h0"></path>
+<path d="M1847 327h0"></path>
+<rect x="1793" y="316" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1820" y="331">"IS"</text>
+</g>
+<path d="M1847 327h10"></path>
+<g>
+<path d="M1857 327h0"></path>
+<path d="M1959.5 327h0"></path>
+<path d="M1857 327a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1877 307h62.5"></path>
+</g>
+<path d="M1939.5 307a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1857 327h20"></path>
+<g class="terminal">
+<path d="M1877 327h0"></path>
+<path d="M1939.5 327h0"></path>
+<rect x="1877" y="316" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1908.25" y="331">"NOT"</text>
+</g>
+<path d="M1939.5 327h20"></path>
+</g>
+<g>
+<path d="M1959.5 327h0"></path>
+<path d="M2096 327h0"></path>
+<path d="M1959.5 327h20"></path>
+<g class="terminal">
+<path d="M1979.5 327h0"></path>
+<path d="M2076 327h0"></path>
+<rect x="1979.5" y="316" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="2027.75" y="331">"INITIAL"</text>
+</g>
+<path d="M2076 327h20"></path>
+<path d="M1959.5 327a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1979.5 357h0"></path>
+<path d="M2050.5 357h25.5"></path>
+<rect x="1979.5" y="346" width="71" height="22" rx="10" ry="10"></rect>
+<text x="2015" y="361">"NULL"</text>
+</g>
+<path d="M2076 357a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2335.5 327a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2355.5 48h20"></path>
+<path d="M1279 48a10 10 0 0 1 10 10v379a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1299 447h0"></path>
+<path d="M1552 447h803.5"></path>
+<g class="terminal">
+<path d="M1299 447h0"></path>
+<path d="M1344.5 447h0"></path>
+<rect x="1299" y="436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1321.75" y="451">"("</text>
+</g>
+<path d="M1344.5 447h10"></path>
+<path d="M1354.5 447h10"></path>
+<g class="non-terminal">
+<path d="M1364.5 447h0"></path>
+<path d="M1486.5 447h0"></path>
+<rect x="1364.5" y="436" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="1425.5" y="451">CDSCondition</text>
+</a>
+</g>
+<path d="M1486.5 447h10"></path>
+<path d="M1496.5 447h10"></path>
+<g class="terminal">
+<path d="M1506.5 447h0"></path>
+<path d="M1552 447h0"></path>
+<rect x="1506.5" y="436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1529.25" y="451">")"</text>
+</g>
+</g>
+<path d="M2355.5 447a10 10 0 0 0 10 -10v-379a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M2375.5 48h10"></path>
+<path d="M1176.5 48a10 10 0 0 0 -10 10v398a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1176.5 466h1199"></path>
+</g>
+<path d="M2375.5 466a10 10 0 0 0 10 -10v-398a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2385.5 48h20"></path>
+</g>
+</g>
+<path d="M2405.5 48h10"></path>
+<path d="M 2415.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSDefineAbstract.svg b/cds/expression_CDSDefineAbstract.svg
new file mode 100644
index 00000000..817c8e2f
--- /dev/null
+++ b/cds/expression_CDSDefineAbstract.svg
@@ -0,0 +1,228 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1503.5" height="88" viewBox="0 0 1503.5 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1453.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<path d="M240.5 40h10"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M474.5 40h0"></path>
+<rect x="250.5" y="29" width="224" height="22" rx="10" ry="10"></rect>
+<text x="362.5" y="44">"DEFINE ABSTRACT ENTITY"</text>
+</g>
+<path d="M474.5 40h10"></path>
+<path d="M484.5 40h10"></path>
+<g class="non-terminal">
+<path d="M494.5 40h0"></path>
+<path d="M574 40h0"></path>
+<rect x="494.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="534.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M574 40h10"></path>
+<path d="M584 40h10"></path>
+<g class="terminal">
+<path d="M594 40h0"></path>
+<path d="M639.5 40h0"></path>
+<rect x="594" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="616.75" y="44">"{"</text>
+</g>
+<path d="M639.5 40h10"></path>
+<path d="M649.5 40h10"></path>
+<g>
+<path d="M659.5 40h0"></path>
+<path d="M1292.5 40h0"></path>
+<path d="M659.5 40h10"></path>
+<g>
+<path d="M669.5 40h0"></path>
+<path d="M1282.5 40h0"></path>
+<g>
+<path d="M669.5 40h0"></path>
+<path d="M860 40h0"></path>
+<path d="M669.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M689.5 20h150.5"></path>
+</g>
+<path d="M840 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M669.5 40h20"></path>
+<g>
+<path d="M689.5 40h0"></path>
+<path d="M840 40h0"></path>
+<path d="M689.5 40h10"></path>
+<g class="non-terminal">
+<path d="M699.5 40h0"></path>
+<path d="M830 40h0"></path>
+<rect x="699.5" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="764.75" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M830 40h10"></path>
+<path d="M699.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M699.5 60h130.5"></path>
+</g>
+<path d="M830 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M840 40h20"></path>
+</g>
+<g>
+<path d="M860 40h0"></path>
+<path d="M962.5 40h0"></path>
+<path d="M860 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M880 20h62.5"></path>
+</g>
+<path d="M942.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M860 40h20"></path>
+<g class="terminal">
+<path d="M880 40h0"></path>
+<path d="M942.5 40h0"></path>
+<rect x="880" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="911.25" y="44">"KEY"</text>
+</g>
+<path d="M942.5 40h20"></path>
+</g>
+<path d="M962.5 40h10"></path>
+<g class="non-terminal">
+<path d="M972.5 40h0"></path>
+<path d="M1052 40h0"></path>
+<rect x="972.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1012.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M1052 40h10"></path>
+<path d="M1062 40h10"></path>
+<g class="terminal">
+<path d="M1072 40h0"></path>
+<path d="M1117.5 40h0"></path>
+<rect x="1072" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1094.75" y="44">":"</text>
+</g>
+<path d="M1117.5 40h10"></path>
+<path d="M1127.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1137.5 40h0"></path>
+<path d="M1217 40h0"></path>
+<rect x="1137.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSType"><text x="1177.25" y="44">CDSType</text>
+</a>
+</g>
+<path d="M1217 40h10"></path>
+<path d="M1227 40h10"></path>
+<g class="terminal">
+<path d="M1237 40h0"></path>
+<path d="M1282.5 40h0"></path>
+<rect x="1237" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1259.75" y="44">";"</text>
+</g>
+</g>
+<path d="M1282.5 40h10"></path>
+<path d="M669.5 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M669.5 68h613"></path>
+</g>
+<path d="M1282.5 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1292.5 40h10"></path>
+<path d="M1302.5 40h10"></path>
+<g class="terminal">
+<path d="M1312.5 40h0"></path>
+<path d="M1358 40h0"></path>
+<rect x="1312.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1335.25" y="44">"}"</text>
+</g>
+<path d="M1358 40h10"></path>
+<g>
+<path d="M1368 40h0"></path>
+<path d="M1453.5 40h0"></path>
+<path d="M1368 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1388 20h45.5"></path>
+</g>
+<path d="M1433.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1368 40h20"></path>
+<g class="terminal">
+<path d="M1388 40h0"></path>
+<path d="M1433.5 40h0"></path>
+<rect x="1388" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1410.75" y="44">";"</text>
+</g>
+<path d="M1433.5 40h20"></path>
+</g>
+</g>
+<path d="M1453.5 40h10"></path>
+<path d="M 1463.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSDefineCustom.svg b/cds/expression_CDSDefineCustom.svg
new file mode 100644
index 00000000..06f7ebb1
--- /dev/null
+++ b/cds/expression_CDSDefineCustom.svg
@@ -0,0 +1,253 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1646" height="88" viewBox="0 0 1646 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1596 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<path d="M240.5 40h10"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<rect x="250.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="294.5" y="44">"DEFINE"</text>
+</g>
+<path d="M338.5 40h10"></path>
+<g>
+<path d="M348.5 40h0"></path>
+<path d="M459.5 40h0"></path>
+<path d="M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M368.5 20h71"></path>
+</g>
+<path d="M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M348.5 40h20"></path>
+<g class="terminal">
+<path d="M368.5 40h0"></path>
+<path d="M439.5 40h0"></path>
+<rect x="368.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="404" y="44">"ROOT"</text>
+</g>
+<path d="M439.5 40h20"></path>
+</g>
+<path d="M459.5 40h10"></path>
+<g class="terminal">
+<path d="M469.5 40h0"></path>
+<path d="M617 40h0"></path>
+<rect x="469.5" y="29" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="543.25" y="44">"CUSTOM ENTITY"</text>
+</g>
+<path d="M617 40h10"></path>
+<path d="M627 40h10"></path>
+<g class="non-terminal">
+<path d="M637 40h0"></path>
+<path d="M716.5 40h0"></path>
+<rect x="637" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="676.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M716.5 40h10"></path>
+<path d="M726.5 40h10"></path>
+<g class="terminal">
+<path d="M736.5 40h0"></path>
+<path d="M782 40h0"></path>
+<rect x="736.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="759.25" y="44">"{"</text>
+</g>
+<path d="M782 40h10"></path>
+<path d="M792 40h10"></path>
+<g>
+<path d="M802 40h0"></path>
+<path d="M1435 40h0"></path>
+<path d="M802 40h10"></path>
+<g>
+<path d="M812 40h0"></path>
+<path d="M1425 40h0"></path>
+<g>
+<path d="M812 40h0"></path>
+<path d="M1002.5 40h0"></path>
+<path d="M812 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M832 20h150.5"></path>
+</g>
+<path d="M982.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M812 40h20"></path>
+<g>
+<path d="M832 40h0"></path>
+<path d="M982.5 40h0"></path>
+<path d="M832 40h10"></path>
+<g class="non-terminal">
+<path d="M842 40h0"></path>
+<path d="M972.5 40h0"></path>
+<rect x="842" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="907.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M972.5 40h10"></path>
+<path d="M842 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M842 60h130.5"></path>
+</g>
+<path d="M972.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M982.5 40h20"></path>
+</g>
+<g>
+<path d="M1002.5 40h0"></path>
+<path d="M1105 40h0"></path>
+<path d="M1002.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1022.5 20h62.5"></path>
+</g>
+<path d="M1085 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1002.5 40h20"></path>
+<g class="terminal">
+<path d="M1022.5 40h0"></path>
+<path d="M1085 40h0"></path>
+<rect x="1022.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1053.75" y="44">"KEY"</text>
+</g>
+<path d="M1085 40h20"></path>
+</g>
+<path d="M1105 40h10"></path>
+<g class="non-terminal">
+<path d="M1115 40h0"></path>
+<path d="M1194.5 40h0"></path>
+<rect x="1115" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1154.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M1194.5 40h10"></path>
+<path d="M1204.5 40h10"></path>
+<g class="terminal">
+<path d="M1214.5 40h0"></path>
+<path d="M1260 40h0"></path>
+<rect x="1214.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1237.25" y="44">":"</text>
+</g>
+<path d="M1260 40h10"></path>
+<path d="M1270 40h10"></path>
+<g class="non-terminal">
+<path d="M1280 40h0"></path>
+<path d="M1359.5 40h0"></path>
+<rect x="1280" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSType"><text x="1319.75" y="44">CDSType</text>
+</a>
+</g>
+<path d="M1359.5 40h10"></path>
+<path d="M1369.5 40h10"></path>
+<g class="terminal">
+<path d="M1379.5 40h0"></path>
+<path d="M1425 40h0"></path>
+<rect x="1379.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1402.25" y="44">";"</text>
+</g>
+</g>
+<path d="M1425 40h10"></path>
+<path d="M812 40a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M812 68h613"></path>
+</g>
+<path d="M1425 68a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1435 40h10"></path>
+<path d="M1445 40h10"></path>
+<g class="terminal">
+<path d="M1455 40h0"></path>
+<path d="M1500.5 40h0"></path>
+<rect x="1455" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1477.75" y="44">"}"</text>
+</g>
+<path d="M1500.5 40h10"></path>
+<g>
+<path d="M1510.5 40h0"></path>
+<path d="M1596 40h0"></path>
+<path d="M1510.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1530.5 20h45.5"></path>
+</g>
+<path d="M1576 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1510.5 40h20"></path>
+<g class="terminal">
+<path d="M1530.5 40h0"></path>
+<path d="M1576 40h0"></path>
+<rect x="1530.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1553.25" y="44">";"</text>
+</g>
+<path d="M1576 40h20"></path>
+</g>
+</g>
+<path d="M1596 40h10"></path>
+<path d="M 1606 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSDefineProjection.svg b/cds/expression_CDSDefineProjection.svg
new file mode 100644
index 00000000..7889a8e5
--- /dev/null
+++ b/cds/expression_CDSDefineProjection.svg
@@ -0,0 +1,300 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2104.5" height="80" viewBox="0 0 2104.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M2054.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<path d="M240.5 40h10"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<rect x="250.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="294.5" y="44">"DEFINE"</text>
+</g>
+<path d="M338.5 40h10"></path>
+<g>
+<path d="M348.5 40h0"></path>
+<path d="M459.5 40h0"></path>
+<path d="M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M368.5 20h71"></path>
+</g>
+<path d="M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M348.5 40h20"></path>
+<g class="terminal">
+<path d="M368.5 40h0"></path>
+<path d="M439.5 40h0"></path>
+<rect x="368.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="404" y="44">"ROOT"</text>
+</g>
+<path d="M439.5 40h20"></path>
+</g>
+<path d="M459.5 40h10"></path>
+<g class="terminal">
+<path d="M469.5 40h0"></path>
+<path d="M540.5 40h0"></path>
+<rect x="469.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="505" y="44">"VIEW"</text>
+</g>
+<path d="M540.5 40h10"></path>
+<path d="M550.5 40h10"></path>
+<g>
+<path d="M560.5 40h0"></path>
+<path d="M736.5 40h0"></path>
+<g>
+<path d="M560.5 40h0"></path>
+<path d="M598.5 40h0"></path>
+<text x="579.5" y="45" class="comment">v755</text>
+</g>
+<path d="M598.5 40h10"></path>
+<g>
+<path d="M608.5 40h0"></path>
+<path d="M736.5 40h0"></path>
+<path d="M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M628.5 20h88"></path>
+</g>
+<path d="M716.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M608.5 40h20"></path>
+<g class="terminal">
+<path d="M628.5 40h0"></path>
+<path d="M716.5 40h0"></path>
+<rect x="628.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="672.5" y="44">"ENTITY"</text>
+</g>
+<path d="M716.5 40h20"></path>
+</g>
+</g>
+<path d="M736.5 40h10"></path>
+<path d="M746.5 40h10"></path>
+<g class="non-terminal">
+<path d="M756.5 40h0"></path>
+<path d="M836 40h0"></path>
+<rect x="756.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="796.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M836 40h10"></path>
+<g>
+<path d="M846 40h0"></path>
+<path d="M1067.5 40h0"></path>
+<path d="M846 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M866 20h181.5"></path>
+</g>
+<path d="M1047.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M846 40h20"></path>
+<g class="non-terminal">
+<path d="M866 40h0"></path>
+<path d="M1047.5 40h0"></path>
+<rect x="866" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSProviderContract"><text x="956.75" y="44">CDSProviderContract</text>
+</a>
+</g>
+<path d="M1047.5 40h20"></path>
+</g>
+<path d="M1067.5 40h10"></path>
+<g class="terminal">
+<path d="M1077.5 40h0"></path>
+<path d="M1250.5 40h0"></path>
+<rect x="1077.5" y="29" width="173" height="22" rx="10" ry="10"></rect>
+<text x="1164" y="44">"AS PROJECTION ON"</text>
+</g>
+<path d="M1250.5 40h10"></path>
+<path d="M1260.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1270.5 40h0"></path>
+<path d="M1350 40h0"></path>
+<rect x="1270.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1310.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M1350 40h10"></path>
+<g>
+<path d="M1360 40h0"></path>
+<path d="M1462.5 40h0"></path>
+<path d="M1360 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1380 20h62.5"></path>
+</g>
+<path d="M1442.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1360 40h20"></path>
+<g class="non-terminal">
+<path d="M1380 40h0"></path>
+<path d="M1442.5 40h0"></path>
+<rect x="1380" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="1411.25" y="44">CDSAs</text>
+</a>
+</g>
+<path d="M1442.5 40h20"></path>
+</g>
+<path d="M1462.5 40h10"></path>
+<g class="terminal">
+<path d="M1472.5 40h0"></path>
+<path d="M1518 40h0"></path>
+<rect x="1472.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1495.25" y="44">"{"</text>
+</g>
+<path d="M1518 40h10"></path>
+<path d="M1528 40h10"></path>
+<g>
+<path d="M1538 40h0"></path>
+<path d="M1663 40h0"></path>
+<path d="M1538 40h10"></path>
+<g class="non-terminal">
+<path d="M1548 40h0"></path>
+<path d="M1653 40h0"></path>
+<rect x="1548" y="29" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="1600.5" y="44">CDSElement</text>
+</a>
+</g>
+<path d="M1653 40h10"></path>
+<path d="M1548 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1548 60h105"></path>
+</g>
+<path d="M1653 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1663 40h10"></path>
+<g>
+<path d="M1673 40h0"></path>
+<path d="M1903.5 40h0"></path>
+<path d="M1673 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1693 20h190.5"></path>
+</g>
+<path d="M1883.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1673 40h20"></path>
+<g>
+<path d="M1693 40h0"></path>
+<path d="M1883.5 40h0"></path>
+<path d="M1693 40h10"></path>
+<g>
+<path d="M1703 40h0"></path>
+<path d="M1873.5 40h0"></path>
+<g class="terminal">
+<path d="M1703 40h0"></path>
+<path d="M1748.5 40h0"></path>
+<rect x="1703" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1725.75" y="44">","</text>
+</g>
+<path d="M1748.5 40h10"></path>
+<path d="M1758.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1768.5 40h0"></path>
+<path d="M1873.5 40h0"></path>
+<rect x="1768.5" y="29" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="1821" y="44">CDSElement</text>
+</a>
+</g>
+</g>
+<path d="M1873.5 40h10"></path>
+<path d="M1703 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1703 60h170.5"></path>
+</g>
+<path d="M1873.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1883.5 40h20"></path>
+</g>
+<path d="M1903.5 40h10"></path>
+<g class="terminal">
+<path d="M1913.5 40h0"></path>
+<path d="M1959 40h0"></path>
+<rect x="1913.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1936.25" y="44">"}"</text>
+</g>
+<path d="M1959 40h10"></path>
+<g>
+<path d="M1969 40h0"></path>
+<path d="M2054.5 40h0"></path>
+<path d="M1969 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1989 20h45.5"></path>
+</g>
+<path d="M2034.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1969 40h20"></path>
+<g class="terminal">
+<path d="M1989 40h0"></path>
+<path d="M2034.5 40h0"></path>
+<rect x="1989" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2011.75" y="44">";"</text>
+</g>
+<path d="M2034.5 40h20"></path>
+</g>
+</g>
+<path d="M2054.5 40h10"></path>
+<path d="M 2064.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSDefineView.svg b/cds/expression_CDSDefineView.svg
new file mode 100644
index 00000000..b936a7ea
--- /dev/null
+++ b/cds/expression_CDSDefineView.svg
@@ -0,0 +1,205 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1376.5" height="80" viewBox="0 0 1376.5 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1326.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<path d="M240.5 40h10"></path>
+<g class="terminal">
+<path d="M250.5 40h0"></path>
+<path d="M338.5 40h0"></path>
+<rect x="250.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="294.5" y="44">"DEFINE"</text>
+</g>
+<path d="M338.5 40h10"></path>
+<g>
+<path d="M348.5 40h0"></path>
+<path d="M459.5 40h0"></path>
+<path d="M348.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M368.5 20h71"></path>
+</g>
+<path d="M439.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M348.5 40h20"></path>
+<g class="terminal">
+<path d="M368.5 40h0"></path>
+<path d="M439.5 40h0"></path>
+<rect x="368.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="404" y="44">"ROOT"</text>
+</g>
+<path d="M439.5 40h20"></path>
+</g>
+<path d="M459.5 40h10"></path>
+<g class="terminal">
+<path d="M469.5 40h0"></path>
+<path d="M540.5 40h0"></path>
+<rect x="469.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="505" y="44">"VIEW"</text>
+</g>
+<path d="M540.5 40h10"></path>
+<path d="M550.5 40h10"></path>
+<g>
+<path d="M560.5 40h0"></path>
+<path d="M736.5 40h0"></path>
+<g>
+<path d="M560.5 40h0"></path>
+<path d="M598.5 40h0"></path>
+<text x="579.5" y="45" class="comment">v755</text>
+</g>
+<path d="M598.5 40h10"></path>
+<g>
+<path d="M608.5 40h0"></path>
+<path d="M736.5 40h0"></path>
+<path d="M608.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M628.5 20h88"></path>
+</g>
+<path d="M716.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M608.5 40h20"></path>
+<g class="terminal">
+<path d="M628.5 40h0"></path>
+<path d="M716.5 40h0"></path>
+<rect x="628.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="672.5" y="44">"ENTITY"</text>
+</g>
+<path d="M716.5 40h20"></path>
+</g>
+</g>
+<path d="M736.5 40h10"></path>
+<path d="M746.5 40h10"></path>
+<g class="non-terminal">
+<path d="M756.5 40h0"></path>
+<path d="M836 40h0"></path>
+<rect x="756.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="796.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M836 40h10"></path>
+<g>
+<path d="M846 40h0"></path>
+<path d="M1050.5 40h0"></path>
+<path d="M846 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M866 20h164.5"></path>
+</g>
+<path d="M1030.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M846 40h20"></path>
+<g class="non-terminal">
+<path d="M866 40h0"></path>
+<path d="M1030.5 40h0"></path>
+<rect x="866" y="29" width="164.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSWithParameters"><text x="948.25" y="44">CDSWithParameters</text>
+</a>
+</g>
+<path d="M1030.5 40h20"></path>
+</g>
+<path d="M1050.5 40h10"></path>
+<g class="terminal">
+<path d="M1060.5 40h0"></path>
+<path d="M1114.5 40h0"></path>
+<rect x="1060.5" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="1087.5" y="44">"AS"</text>
+</g>
+<path d="M1114.5 40h10"></path>
+<path d="M1124.5 40h10"></path>
+<g class="non-terminal">
+<path d="M1134.5 40h0"></path>
+<path d="M1231 40h0"></path>
+<rect x="1134.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSSelect"><text x="1182.75" y="44">CDSSelect</text>
+</a>
+</g>
+<path d="M1231 40h10"></path>
+<g>
+<path d="M1241 40h0"></path>
+<path d="M1326.5 40h0"></path>
+<path d="M1241 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1261 20h45.5"></path>
+</g>
+<path d="M1306.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1241 40h20"></path>
+<g class="terminal">
+<path d="M1261 40h0"></path>
+<path d="M1306.5 40h0"></path>
+<rect x="1261" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1283.75" y="44">";"</text>
+</g>
+<path d="M1306.5 40h20"></path>
+</g>
+</g>
+<path d="M1326.5 40h10"></path>
+<path d="M 1336.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSElement.svg b/cds/expression_CDSElement.svg
new file mode 100644
index 00000000..ebe3b90a
--- /dev/null
+++ b/cds/expression_CDSElement.svg
@@ -0,0 +1,253 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1160.5" height="350" viewBox="0 0 1160.5 350">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M1110.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M240.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h150.5"></path>
+</g>
+<path d="M220.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M220.5 40h0"></path>
+<path d="M70 40h10"></path>
+<g class="non-terminal">
+<path d="M80 40h0"></path>
+<path d="M210.5 40h0"></path>
+<rect x="80" y="29" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="44">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 40h10"></path>
+<path d="M80 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 60h130.5"></path>
+</g>
+<path d="M210.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 40h20"></path>
+</g>
+<g>
+<path d="M240.5 40h0"></path>
+<path d="M343 40h0"></path>
+<path d="M240.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M260.5 20h62.5"></path>
+</g>
+<path d="M323 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M240.5 40h20"></path>
+<g class="terminal">
+<path d="M260.5 40h0"></path>
+<path d="M323 40h0"></path>
+<rect x="260.5" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="44">"KEY"</text>
+</g>
+<path d="M323 40h20"></path>
+</g>
+<g>
+<path d="M343 40h0"></path>
+<path d="M1008 40h0"></path>
+<path d="M343 40h20"></path>
+<g class="non-terminal">
+<path d="M363 40h0"></path>
+<path d="M485 40h503"></path>
+<rect x="363" y="29" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAggregate"><text x="424" y="44">CDSAggregate</text>
+</a>
+</g>
+<path d="M988 40h20"></path>
+<path d="M343 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 70h0"></path>
+<path d="M459.5 70h528.5"></path>
+<rect x="363" y="59" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="411.25" y="74">CDSString</text>
+</a>
+</g>
+<path d="M988 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 100h0"></path>
+<path d="M476.5 100h511.5"></path>
+<rect x="363" y="89" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="419.75" y="104">CDSFunction</text>
+</a>
+</g>
+<path d="M988 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 130h0"></path>
+<path d="M502 130h486"></path>
+<rect x="363" y="119" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="432.5" y="134">CDSArithmetics</text>
+</a>
+</g>
+<path d="M988 130a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 160h0"></path>
+<path d="M442.5 160h545.5"></path>
+<rect x="363" y="149" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="402.75" y="164">CDSCast</text>
+</a>
+</g>
+<path d="M988 160a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 190h0"></path>
+<path d="M442.5 190h545.5"></path>
+<rect x="363" y="179" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="402.75" y="194">CDSCase</text>
+</a>
+</g>
+<path d="M988 190a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v169a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M363 229h0"></path>
+<path d="M988 229h0"></path>
+<g class="non-terminal">
+<path d="M363 229h0"></path>
+<path d="M442.5 229h0"></path>
+<rect x="363" y="218" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="402.75" y="233">CDSName</text>
+</a>
+</g>
+<path d="M442.5 229h10"></path>
+<path d="M452.5 229h10"></path>
+<g class="terminal">
+<path d="M462.5 229h0"></path>
+<path d="M627 229h0"></path>
+<rect x="462.5" y="218" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="544.75" y="233">": REDIRECTED TO"</text>
+</g>
+<path d="M627 229h10"></path>
+<g>
+<path d="M637 229h0"></path>
+<path d="M898.5 229h0"></path>
+<path d="M637 229a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M657 209h221.5"></path>
+</g>
+<path d="M878.5 209a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M637 229h20"></path>
+<g>
+<path d="M657 229h0"></path>
+<path d="M878.5 229h0"></path>
+<path d="M657 229h20"></path>
+<g class="terminal">
+<path d="M677 229h0"></path>
+<path d="M765 229h93.5"></path>
+<rect x="677" y="218" width="88" height="22" rx="10" ry="10"></rect>
+<text x="721" y="233">"PARENT"</text>
+</g>
+<path d="M858.5 229h20"></path>
+<path d="M657 229a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M677 259h0"></path>
+<path d="M858.5 259h0"></path>
+<rect x="677" y="248" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="767.75" y="263">"COMPOSITION CHILD"</text>
+</g>
+<path d="M858.5 259a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M878.5 229h20"></path>
+</g>
+<path d="M898.5 229h10"></path>
+<g class="non-terminal">
+<path d="M908.5 229h0"></path>
+<path d="M988 229h0"></path>
+<rect x="908.5" y="218" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="948.25" y="233">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M988 229a10 10 0 0 0 10 -10v-169a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v229a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M363 289h0"></path>
+<path d="M510.5 289h477.5"></path>
+<rect x="363" y="278" width="147.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSPrefixedName"><text x="436.75" y="293">CDSPrefixedName</text>
+</a>
+</g>
+<path d="M988 289a10 10 0 0 0 10 -10v-229a10 10 0 0 1 10 -10"></path>
+<path d="M343 40a10 10 0 0 1 10 10v259a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M363 319h0"></path>
+<path d="M425.5 319h562.5"></path>
+<rect x="363" y="308" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="394.25" y="323">^\d+$</text>
+</g>
+<path d="M988 319a10 10 0 0 0 10 -10v-259a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M1008 40h0"></path>
+<path d="M1110.5 40h0"></path>
+<path d="M1008 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1028 20h62.5"></path>
+</g>
+<path d="M1090.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1008 40h20"></path>
+<g class="non-terminal">
+<path d="M1028 40h0"></path>
+<path d="M1090.5 40h0"></path>
+<rect x="1028" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="1059.25" y="44">CDSAs</text>
+</a>
+</g>
+<path d="M1090.5 40h20"></path>
+</g>
+</g>
+<path d="M1110.5 40h10"></path>
+<path d="M 1120.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSExtendView.svg b/cds/expression_CDSExtendView.svg
new file mode 100644
index 00000000..23a0b4d1
--- /dev/null
+++ b/cds/expression_CDSExtendView.svg
@@ -0,0 +1,335 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1995" height="88" viewBox="0 0 1995 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1945 48h0"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M240.5 48h0"></path>
+<path d="M50 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 28h150.5"></path>
+</g>
+<path d="M220.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 48h20"></path>
+<g>
+<path d="M70 48h0"></path>
+<path d="M220.5 48h0"></path>
+<path d="M70 48h10"></path>
+<g class="non-terminal">
+<path d="M80 48h0"></path>
+<path d="M210.5 48h0"></path>
+<rect x="80" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAnnotation"><text x="145.25" y="52">CDSAnnotation</text>
+</a>
+</g>
+<path d="M210.5 48h10"></path>
+<path d="M80 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M80 68h130.5"></path>
+</g>
+<path d="M210.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M220.5 48h20"></path>
+</g>
+<path d="M240.5 48h10"></path>
+<g class="terminal">
+<path d="M250.5 48h0"></path>
+<path d="M381 48h0"></path>
+<rect x="250.5" y="37" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="315.75" y="52">"EXTEND VIEW"</text>
+</g>
+<path d="M381 48h10"></path>
+<g>
+<path d="M391 48h0"></path>
+<path d="M519 48h0"></path>
+<path d="M391 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M411 28h88"></path>
+</g>
+<path d="M499 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M391 48h20"></path>
+<g class="terminal">
+<path d="M411 48h0"></path>
+<path d="M499 48h0"></path>
+<rect x="411" y="37" width="88" height="22" rx="10" ry="10"></rect>
+<text x="455" y="52">"ENTITY"</text>
+</g>
+<path d="M499 48h20"></path>
+</g>
+<path d="M519 48h10"></path>
+<g class="non-terminal">
+<path d="M529 48h0"></path>
+<path d="M608.5 48h0"></path>
+<rect x="529" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="568.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M608.5 48h10"></path>
+<path d="M618.5 48h10"></path>
+<g class="terminal">
+<path d="M628.5 48h0"></path>
+<path d="M699.5 48h0"></path>
+<rect x="628.5" y="37" width="71" height="22" rx="10" ry="10"></rect>
+<text x="664" y="52">"WITH"</text>
+</g>
+<path d="M699.5 48h10"></path>
+<g>
+<path d="M709.5 48h0"></path>
+<path d="M829 48h0"></path>
+<path d="M709.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M729.5 28h79.5"></path>
+</g>
+<path d="M809 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M709.5 48h20"></path>
+<g class="non-terminal">
+<path d="M729.5 48h0"></path>
+<path d="M809 48h0"></path>
+<rect x="729.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="769.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M809 48h20"></path>
+</g>
+<path d="M829 48h10"></path>
+<g>
+<path d="M839 48h0"></path>
+<path d="M1849.5 48h0"></path>
+<g class="terminal">
+<path d="M839 48h0"></path>
+<path d="M884.5 48h0"></path>
+<rect x="839" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="861.75" y="52">"{"</text>
+</g>
+<path d="M884.5 48h10"></path>
+<path d="M894.5 48h10"></path>
+<g>
+<path d="M904.5 48h0"></path>
+<path d="M1281.5 48h0"></path>
+<g class="non-terminal">
+<path d="M904.5 48h0"></path>
+<path d="M984 48h0"></path>
+<rect x="904.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="944.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M984 48h10"></path>
+<g>
+<path d="M994 48h0"></path>
+<path d="M1179 48h0"></path>
+<path d="M994 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1014 28h145"></path>
+</g>
+<path d="M1159 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M994 48h20"></path>
+<g>
+<path d="M1014 48h0"></path>
+<path d="M1159 48h0"></path>
+<g class="terminal">
+<path d="M1014 48h0"></path>
+<path d="M1059.5 48h0"></path>
+<rect x="1014" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1036.75" y="52">"."</text>
+</g>
+<path d="M1059.5 48h10"></path>
+<path d="M1069.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1079.5 48h0"></path>
+<path d="M1159 48h0"></path>
+<rect x="1079.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1119.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1159 48h20"></path>
+</g>
+<g>
+<path d="M1179 48h0"></path>
+<path d="M1281.5 48h0"></path>
+<path d="M1179 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1199 28h62.5"></path>
+</g>
+<path d="M1261.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1179 48h20"></path>
+<g class="non-terminal">
+<path d="M1199 48h0"></path>
+<path d="M1261.5 48h0"></path>
+<rect x="1199" y="37" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="1230.25" y="52">CDSAs</text>
+</a>
+</g>
+<path d="M1261.5 48h20"></path>
+</g>
+</g>
+<path d="M1281.5 48h10"></path>
+<g>
+<path d="M1291.5 48h0"></path>
+<path d="M1794 48h0"></path>
+<path d="M1291.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1311.5 20h462.5"></path>
+</g>
+<path d="M1774 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1291.5 48h20"></path>
+<g>
+<path d="M1311.5 48h0"></path>
+<path d="M1774 48h0"></path>
+<path d="M1311.5 48h10"></path>
+<g>
+<path d="M1321.5 48h0"></path>
+<path d="M1764 48h0"></path>
+<g class="terminal">
+<path d="M1321.5 48h0"></path>
+<path d="M1367 48h0"></path>
+<rect x="1321.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1344.25" y="52">","</text>
+</g>
+<path d="M1367 48h10"></path>
+<path d="M1377 48h10"></path>
+<g>
+<path d="M1387 48h0"></path>
+<path d="M1764 48h0"></path>
+<g class="non-terminal">
+<path d="M1387 48h0"></path>
+<path d="M1466.5 48h0"></path>
+<rect x="1387" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1426.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1466.5 48h10"></path>
+<g>
+<path d="M1476.5 48h0"></path>
+<path d="M1661.5 48h0"></path>
+<path d="M1476.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1496.5 28h145"></path>
+</g>
+<path d="M1641.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1476.5 48h20"></path>
+<g>
+<path d="M1496.5 48h0"></path>
+<path d="M1641.5 48h0"></path>
+<g class="terminal">
+<path d="M1496.5 48h0"></path>
+<path d="M1542 48h0"></path>
+<rect x="1496.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1519.25" y="52">"."</text>
+</g>
+<path d="M1542 48h10"></path>
+<path d="M1552 48h10"></path>
+<g class="non-terminal">
+<path d="M1562 48h0"></path>
+<path d="M1641.5 48h0"></path>
+<rect x="1562" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1601.75" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1641.5 48h20"></path>
+</g>
+<g>
+<path d="M1661.5 48h0"></path>
+<path d="M1764 48h0"></path>
+<path d="M1661.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1681.5 28h62.5"></path>
+</g>
+<path d="M1744 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1661.5 48h20"></path>
+<g class="non-terminal">
+<path d="M1681.5 48h0"></path>
+<path d="M1744 48h0"></path>
+<rect x="1681.5" y="37" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="1712.75" y="52">CDSAs</text>
+</a>
+</g>
+<path d="M1744 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M1764 48h10"></path>
+<path d="M1321.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1321.5 68h442.5"></path>
+</g>
+<path d="M1764 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1774 48h20"></path>
+</g>
+<path d="M1794 48h10"></path>
+<g class="terminal">
+<path d="M1804 48h0"></path>
+<path d="M1849.5 48h0"></path>
+<rect x="1804" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1826.75" y="52">"}"</text>
+</g>
+</g>
+<path d="M1849.5 48h10"></path>
+<g>
+<path d="M1859.5 48h0"></path>
+<path d="M1945 48h0"></path>
+<path d="M1859.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1879.5 28h45.5"></path>
+</g>
+<path d="M1925 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1859.5 48h20"></path>
+<g class="terminal">
+<path d="M1879.5 48h0"></path>
+<path d="M1925 48h0"></path>
+<rect x="1879.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1902.25" y="52">";"</text>
+</g>
+<path d="M1925 48h20"></path>
+</g>
+</g>
+<path d="M1945 48h10"></path>
+<path d="M 1955 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSFunction.svg b/cds/expression_CDSFunction.svg
new file mode 100644
index 00000000..0c90041d
--- /dev/null
+++ b/cds/expression_CDSFunction.svg
@@ -0,0 +1,11198 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="4130.5" height="7142" viewBox="0 0 4130.5 7142">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<g>
+<path d="M40 31h0"></path>
+<path d="M4090.5 31h0"></path>
+<path d="M40 31h20"></path>
+<g>
+<path d="M60 31h0"></path>
+<path d="M2492 31h1578.5"></path>
+<g class="terminal">
+<path d="M60 31h0"></path>
+<path d="M173.5 31h0"></path>
+<rect x="60" y="20" width="113.5" height="22" rx="10" ry="10"></rect>
+<text x="116.75" y="35">"SUBSTRING"</text>
+</g>
+<path d="M173.5 31h10"></path>
+<path d="M183.5 31h10"></path>
+<g class="terminal">
+<path d="M193.5 31h0"></path>
+<path d="M239 31h0"></path>
+<rect x="193.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="216.25" y="35">"("</text>
+</g>
+<path d="M239 31h10"></path>
+<g>
+<path d="M249 31h0"></path>
+<path d="M934.5 31h0"></path>
+<path d="M249 31h20"></path>
+<g class="non-terminal">
+<path d="M269 31h0"></path>
+<path d="M348.5 31h566"></path>
+<rect x="269" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="308.75" y="35">CDSCast</text>
+</a>
+</g>
+<path d="M914.5 31h20"></path>
+<path d="M249 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M269 61h0"></path>
+<path d="M382.5 61h532"></path>
+<rect x="269" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="325.75" y="65">CDSFunction</text>
+</a>
+</g>
+<path d="M914.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M249 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M269 91h0"></path>
+<path d="M408 91h506.5"></path>
+<rect x="269" y="80" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="338.5" y="95">CDSArithmetics</text>
+</a>
+</g>
+<path d="M914.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M249 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M269 121h0"></path>
+<path d="M348.5 121h566"></path>
+<rect x="269" y="110" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="308.75" y="125">CDSCase</text>
+</a>
+</g>
+<path d="M914.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M249 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M269 151h0"></path>
+<path d="M365.5 151h549"></path>
+<rect x="269" y="140" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="317.25" y="155">CDSString</text>
+</a>
+</g>
+<path d="M914.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M249 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M269 198h0"></path>
+<path d="M914.5 198h0"></path>
+<g class="non-terminal">
+<path d="M269 198h0"></path>
+<path d="M348.5 198h0"></path>
+<rect x="269" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="308.75" y="202">CDSName</text>
+</a>
+</g>
+<path d="M348.5 198h10"></path>
+<g>
+<path d="M358.5 198h0"></path>
+<path d="M529 198h0"></path>
+<path d="M358.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M378.5 178h130.5"></path>
+</g>
+<path d="M509 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M358.5 198h20"></path>
+<g class="non-terminal">
+<path d="M378.5 198h0"></path>
+<path d="M509 198h0"></path>
+<rect x="378.5" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="443.75" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M509 198h20"></path>
+</g>
+<g>
+<path d="M529 198h0"></path>
+<path d="M914.5 198h0"></path>
+<path d="M529 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M549 170h345.5"></path>
+</g>
+<path d="M894.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M529 198h20"></path>
+<g>
+<path d="M549 198h0"></path>
+<path d="M894.5 198h0"></path>
+<path d="M549 198h10"></path>
+<g>
+<path d="M559 198h0"></path>
+<path d="M884.5 198h0"></path>
+<g class="terminal">
+<path d="M559 198h0"></path>
+<path d="M604.5 198h0"></path>
+<rect x="559" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="581.75" y="202">"."</text>
+</g>
+<path d="M604.5 198h10"></path>
+<path d="M614.5 198h10"></path>
+<g class="non-terminal">
+<path d="M624.5 198h0"></path>
+<path d="M704 198h0"></path>
+<rect x="624.5" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="664.25" y="202">CDSName</text>
+</a>
+</g>
+<path d="M704 198h10"></path>
+<g>
+<path d="M714 198h0"></path>
+<path d="M884.5 198h0"></path>
+<path d="M714 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M734 178h130.5"></path>
+</g>
+<path d="M864.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M714 198h20"></path>
+<g class="non-terminal">
+<path d="M734 198h0"></path>
+<path d="M864.5 198h0"></path>
+<rect x="734" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="799.25" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M864.5 198h20"></path>
+</g>
+</g>
+<path d="M884.5 198h10"></path>
+<path d="M559 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M559 218h325.5"></path>
+</g>
+<path d="M884.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M894.5 198h20"></path>
+</g>
+</g>
+<path d="M914.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M249 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M269 237h0"></path>
+<path d="M331.5 237h583"></path>
+<rect x="269" y="226" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="300.25" y="241">^\d+$</text>
+</g>
+<path d="M914.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M934.5 31h10"></path>
+<g class="terminal">
+<path d="M944.5 31h0"></path>
+<path d="M990 31h0"></path>
+<rect x="944.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="967.25" y="35">","</text>
+</g>
+<path d="M990 31h10"></path>
+<g>
+<path d="M1000 31h0"></path>
+<path d="M1685.5 31h0"></path>
+<path d="M1000 31h20"></path>
+<g class="non-terminal">
+<path d="M1020 31h0"></path>
+<path d="M1099.5 31h566"></path>
+<rect x="1020" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1059.75" y="35">CDSCast</text>
+</a>
+</g>
+<path d="M1665.5 31h20"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1020 61h0"></path>
+<path d="M1133.5 61h532"></path>
+<rect x="1020" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1076.75" y="65">CDSFunction</text>
+</a>
+</g>
+<path d="M1665.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1020 91h0"></path>
+<path d="M1159 91h506.5"></path>
+<rect x="1020" y="80" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1089.5" y="95">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1665.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1020 121h0"></path>
+<path d="M1099.5 121h566"></path>
+<rect x="1020" y="110" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1059.75" y="125">CDSCase</text>
+</a>
+</g>
+<path d="M1665.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1020 151h0"></path>
+<path d="M1116.5 151h549"></path>
+<rect x="1020" y="140" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1068.25" y="155">CDSString</text>
+</a>
+</g>
+<path d="M1665.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1020 198h0"></path>
+<path d="M1665.5 198h0"></path>
+<g class="non-terminal">
+<path d="M1020 198h0"></path>
+<path d="M1099.5 198h0"></path>
+<rect x="1020" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1059.75" y="202">CDSName</text>
+</a>
+</g>
+<path d="M1099.5 198h10"></path>
+<g>
+<path d="M1109.5 198h0"></path>
+<path d="M1280 198h0"></path>
+<path d="M1109.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1129.5 178h130.5"></path>
+</g>
+<path d="M1260 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1109.5 198h20"></path>
+<g class="non-terminal">
+<path d="M1129.5 198h0"></path>
+<path d="M1260 198h0"></path>
+<rect x="1129.5" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1194.75" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M1260 198h20"></path>
+</g>
+<g>
+<path d="M1280 198h0"></path>
+<path d="M1665.5 198h0"></path>
+<path d="M1280 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1300 170h345.5"></path>
+</g>
+<path d="M1645.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1280 198h20"></path>
+<g>
+<path d="M1300 198h0"></path>
+<path d="M1645.5 198h0"></path>
+<path d="M1300 198h10"></path>
+<g>
+<path d="M1310 198h0"></path>
+<path d="M1635.5 198h0"></path>
+<g class="terminal">
+<path d="M1310 198h0"></path>
+<path d="M1355.5 198h0"></path>
+<rect x="1310" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1332.75" y="202">"."</text>
+</g>
+<path d="M1355.5 198h10"></path>
+<path d="M1365.5 198h10"></path>
+<g class="non-terminal">
+<path d="M1375.5 198h0"></path>
+<path d="M1455 198h0"></path>
+<rect x="1375.5" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1415.25" y="202">CDSName</text>
+</a>
+</g>
+<path d="M1455 198h10"></path>
+<g>
+<path d="M1465 198h0"></path>
+<path d="M1635.5 198h0"></path>
+<path d="M1465 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1485 178h130.5"></path>
+</g>
+<path d="M1615.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1465 198h20"></path>
+<g class="non-terminal">
+<path d="M1485 198h0"></path>
+<path d="M1615.5 198h0"></path>
+<rect x="1485" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1550.25" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M1615.5 198h20"></path>
+</g>
+</g>
+<path d="M1635.5 198h10"></path>
+<path d="M1310 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1310 218h325.5"></path>
+</g>
+<path d="M1635.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1645.5 198h20"></path>
+</g>
+</g>
+<path d="M1665.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1000 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1020 237h0"></path>
+<path d="M1082.5 237h583"></path>
+<rect x="1020" y="226" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1051.25" y="241">^\d+$</text>
+</g>
+<path d="M1665.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1685.5 31h10"></path>
+<g class="terminal">
+<path d="M1695.5 31h0"></path>
+<path d="M1741 31h0"></path>
+<rect x="1695.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1718.25" y="35">","</text>
+</g>
+<path d="M1741 31h10"></path>
+<g>
+<path d="M1751 31h0"></path>
+<path d="M2436.5 31h0"></path>
+<path d="M1751 31h20"></path>
+<g class="non-terminal">
+<path d="M1771 31h0"></path>
+<path d="M1850.5 31h566"></path>
+<rect x="1771" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1810.75" y="35">CDSCast</text>
+</a>
+</g>
+<path d="M2416.5 31h20"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1771 61h0"></path>
+<path d="M1884.5 61h532"></path>
+<rect x="1771" y="50" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1827.75" y="65">CDSFunction</text>
+</a>
+</g>
+<path d="M2416.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1771 91h0"></path>
+<path d="M1910 91h506.5"></path>
+<rect x="1771" y="80" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1840.5" y="95">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2416.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1771 121h0"></path>
+<path d="M1850.5 121h566"></path>
+<rect x="1771" y="110" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1810.75" y="125">CDSCase</text>
+</a>
+</g>
+<path d="M2416.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1771 151h0"></path>
+<path d="M1867.5 151h549"></path>
+<rect x="1771" y="140" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1819.25" y="155">CDSString</text>
+</a>
+</g>
+<path d="M2416.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1771 198h0"></path>
+<path d="M2416.5 198h0"></path>
+<g class="non-terminal">
+<path d="M1771 198h0"></path>
+<path d="M1850.5 198h0"></path>
+<rect x="1771" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1810.75" y="202">CDSName</text>
+</a>
+</g>
+<path d="M1850.5 198h10"></path>
+<g>
+<path d="M1860.5 198h0"></path>
+<path d="M2031 198h0"></path>
+<path d="M1860.5 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1880.5 178h130.5"></path>
+</g>
+<path d="M2011 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1860.5 198h20"></path>
+<g class="non-terminal">
+<path d="M1880.5 198h0"></path>
+<path d="M2011 198h0"></path>
+<rect x="1880.5" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1945.75" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M2011 198h20"></path>
+</g>
+<g>
+<path d="M2031 198h0"></path>
+<path d="M2416.5 198h0"></path>
+<path d="M2031 198a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2051 170h345.5"></path>
+</g>
+<path d="M2396.5 170a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2031 198h20"></path>
+<g>
+<path d="M2051 198h0"></path>
+<path d="M2396.5 198h0"></path>
+<path d="M2051 198h10"></path>
+<g>
+<path d="M2061 198h0"></path>
+<path d="M2386.5 198h0"></path>
+<g class="terminal">
+<path d="M2061 198h0"></path>
+<path d="M2106.5 198h0"></path>
+<rect x="2061" y="187" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2083.75" y="202">"."</text>
+</g>
+<path d="M2106.5 198h10"></path>
+<path d="M2116.5 198h10"></path>
+<g class="non-terminal">
+<path d="M2126.5 198h0"></path>
+<path d="M2206 198h0"></path>
+<rect x="2126.5" y="187" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2166.25" y="202">CDSName</text>
+</a>
+</g>
+<path d="M2206 198h10"></path>
+<g>
+<path d="M2216 198h0"></path>
+<path d="M2386.5 198h0"></path>
+<path d="M2216 198a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2236 178h130.5"></path>
+</g>
+<path d="M2366.5 178a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2216 198h20"></path>
+<g class="non-terminal">
+<path d="M2236 198h0"></path>
+<path d="M2366.5 198h0"></path>
+<rect x="2236" y="187" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2301.25" y="202">CDSParameters</text>
+</a>
+</g>
+<path d="M2366.5 198h20"></path>
+</g>
+</g>
+<path d="M2386.5 198h10"></path>
+<path d="M2061 198a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2061 218h325.5"></path>
+</g>
+<path d="M2386.5 218a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2396.5 198h20"></path>
+</g>
+</g>
+<path d="M2416.5 198a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1751 31a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1771 237h0"></path>
+<path d="M1833.5 237h583"></path>
+<rect x="1771" y="226" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1802.25" y="241">^\d+$</text>
+</g>
+<path d="M2416.5 237a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2436.5 31h10"></path>
+<g class="terminal">
+<path d="M2446.5 31h0"></path>
+<path d="M2492 31h0"></path>
+<rect x="2446.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2469.25" y="35">")"</text>
+</g>
+</g>
+<path d="M4070.5 31h20"></path>
+<path d="M40 31a10 10 0 0 1 10 10v216a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 267h0"></path>
+<path d="M1732.5 267h2338"></path>
+<g class="terminal">
+<path d="M60 267h0"></path>
+<path d="M165 267h0"></path>
+<rect x="60" y="256" width="105" height="22" rx="10" ry="10"></rect>
+<text x="112.5" y="271">"COALESCE"</text>
+</g>
+<path d="M165 267h10"></path>
+<path d="M175 267h10"></path>
+<g class="terminal">
+<path d="M185 267h0"></path>
+<path d="M230.5 267h0"></path>
+<rect x="185" y="256" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="271">"("</text>
+</g>
+<path d="M230.5 267h10"></path>
+<g>
+<path d="M240.5 267h0"></path>
+<path d="M926 267h0"></path>
+<path d="M240.5 267h20"></path>
+<g class="non-terminal">
+<path d="M260.5 267h0"></path>
+<path d="M340 267h566"></path>
+<rect x="260.5" y="256" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="300.25" y="271">CDSCast</text>
+</a>
+</g>
+<path d="M906 267h20"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 297h0"></path>
+<path d="M374 297h532"></path>
+<rect x="260.5" y="286" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="317.25" y="301">CDSFunction</text>
+</a>
+</g>
+<path d="M906 297a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 327h0"></path>
+<path d="M399.5 327h506.5"></path>
+<rect x="260.5" y="316" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="330" y="331">CDSArithmetics</text>
+</a>
+</g>
+<path d="M906 327a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 357h0"></path>
+<path d="M340 357h566"></path>
+<rect x="260.5" y="346" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="300.25" y="361">CDSCase</text>
+</a>
+</g>
+<path d="M906 357a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 387h0"></path>
+<path d="M357 387h549"></path>
+<rect x="260.5" y="376" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="308.75" y="391">CDSString</text>
+</a>
+</g>
+<path d="M906 387a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M260.5 434h0"></path>
+<path d="M906 434h0"></path>
+<g class="non-terminal">
+<path d="M260.5 434h0"></path>
+<path d="M340 434h0"></path>
+<rect x="260.5" y="423" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="300.25" y="438">CDSName</text>
+</a>
+</g>
+<path d="M340 434h10"></path>
+<g>
+<path d="M350 434h0"></path>
+<path d="M520.5 434h0"></path>
+<path d="M350 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M370 414h130.5"></path>
+</g>
+<path d="M500.5 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M350 434h20"></path>
+<g class="non-terminal">
+<path d="M370 434h0"></path>
+<path d="M500.5 434h0"></path>
+<rect x="370" y="423" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="435.25" y="438">CDSParameters</text>
+</a>
+</g>
+<path d="M500.5 434h20"></path>
+</g>
+<g>
+<path d="M520.5 434h0"></path>
+<path d="M906 434h0"></path>
+<path d="M520.5 434a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M540.5 406h345.5"></path>
+</g>
+<path d="M886 406a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M520.5 434h20"></path>
+<g>
+<path d="M540.5 434h0"></path>
+<path d="M886 434h0"></path>
+<path d="M540.5 434h10"></path>
+<g>
+<path d="M550.5 434h0"></path>
+<path d="M876 434h0"></path>
+<g class="terminal">
+<path d="M550.5 434h0"></path>
+<path d="M596 434h0"></path>
+<rect x="550.5" y="423" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="438">"."</text>
+</g>
+<path d="M596 434h10"></path>
+<path d="M606 434h10"></path>
+<g class="non-terminal">
+<path d="M616 434h0"></path>
+<path d="M695.5 434h0"></path>
+<rect x="616" y="423" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="655.75" y="438">CDSName</text>
+</a>
+</g>
+<path d="M695.5 434h10"></path>
+<g>
+<path d="M705.5 434h0"></path>
+<path d="M876 434h0"></path>
+<path d="M705.5 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M725.5 414h130.5"></path>
+</g>
+<path d="M856 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M705.5 434h20"></path>
+<g class="non-terminal">
+<path d="M725.5 434h0"></path>
+<path d="M856 434h0"></path>
+<rect x="725.5" y="423" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="790.75" y="438">CDSParameters</text>
+</a>
+</g>
+<path d="M856 434h20"></path>
+</g>
+</g>
+<path d="M876 434h10"></path>
+<path d="M550.5 434a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M550.5 454h325.5"></path>
+</g>
+<path d="M876 454a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M886 434h20"></path>
+</g>
+</g>
+<path d="M906 434a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 267a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 473h0"></path>
+<path d="M323 473h583"></path>
+<rect x="260.5" y="462" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="477">^\d+$</text>
+</g>
+<path d="M906 473a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M926 267h10"></path>
+<g class="terminal">
+<path d="M936 267h0"></path>
+<path d="M981.5 267h0"></path>
+<rect x="936" y="256" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="958.75" y="271">","</text>
+</g>
+<path d="M981.5 267h10"></path>
+<g>
+<path d="M991.5 267h0"></path>
+<path d="M1677 267h0"></path>
+<path d="M991.5 267h20"></path>
+<g class="non-terminal">
+<path d="M1011.5 267h0"></path>
+<path d="M1091 267h566"></path>
+<rect x="1011.5" y="256" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1051.25" y="271">CDSCast</text>
+</a>
+</g>
+<path d="M1657 267h20"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 297h0"></path>
+<path d="M1125 297h532"></path>
+<rect x="1011.5" y="286" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1068.25" y="301">CDSFunction</text>
+</a>
+</g>
+<path d="M1657 297a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 327h0"></path>
+<path d="M1150.5 327h506.5"></path>
+<rect x="1011.5" y="316" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1081" y="331">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1657 327a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 357h0"></path>
+<path d="M1091 357h566"></path>
+<rect x="1011.5" y="346" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1051.25" y="361">CDSCase</text>
+</a>
+</g>
+<path d="M1657 357a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 387h0"></path>
+<path d="M1108 387h549"></path>
+<rect x="1011.5" y="376" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1059.75" y="391">CDSString</text>
+</a>
+</g>
+<path d="M1657 387a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1011.5 434h0"></path>
+<path d="M1657 434h0"></path>
+<g class="non-terminal">
+<path d="M1011.5 434h0"></path>
+<path d="M1091 434h0"></path>
+<rect x="1011.5" y="423" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1051.25" y="438">CDSName</text>
+</a>
+</g>
+<path d="M1091 434h10"></path>
+<g>
+<path d="M1101 434h0"></path>
+<path d="M1271.5 434h0"></path>
+<path d="M1101 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1121 414h130.5"></path>
+</g>
+<path d="M1251.5 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1101 434h20"></path>
+<g class="non-terminal">
+<path d="M1121 434h0"></path>
+<path d="M1251.5 434h0"></path>
+<rect x="1121" y="423" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1186.25" y="438">CDSParameters</text>
+</a>
+</g>
+<path d="M1251.5 434h20"></path>
+</g>
+<g>
+<path d="M1271.5 434h0"></path>
+<path d="M1657 434h0"></path>
+<path d="M1271.5 434a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1291.5 406h345.5"></path>
+</g>
+<path d="M1637 406a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1271.5 434h20"></path>
+<g>
+<path d="M1291.5 434h0"></path>
+<path d="M1637 434h0"></path>
+<path d="M1291.5 434h10"></path>
+<g>
+<path d="M1301.5 434h0"></path>
+<path d="M1627 434h0"></path>
+<g class="terminal">
+<path d="M1301.5 434h0"></path>
+<path d="M1347 434h0"></path>
+<rect x="1301.5" y="423" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1324.25" y="438">"."</text>
+</g>
+<path d="M1347 434h10"></path>
+<path d="M1357 434h10"></path>
+<g class="non-terminal">
+<path d="M1367 434h0"></path>
+<path d="M1446.5 434h0"></path>
+<rect x="1367" y="423" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1406.75" y="438">CDSName</text>
+</a>
+</g>
+<path d="M1446.5 434h10"></path>
+<g>
+<path d="M1456.5 434h0"></path>
+<path d="M1627 434h0"></path>
+<path d="M1456.5 434a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1476.5 414h130.5"></path>
+</g>
+<path d="M1607 414a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1456.5 434h20"></path>
+<g class="non-terminal">
+<path d="M1476.5 434h0"></path>
+<path d="M1607 434h0"></path>
+<rect x="1476.5" y="423" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1541.75" y="438">CDSParameters</text>
+</a>
+</g>
+<path d="M1607 434h20"></path>
+</g>
+</g>
+<path d="M1627 434h10"></path>
+<path d="M1301.5 434a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1301.5 454h325.5"></path>
+</g>
+<path d="M1627 454a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1637 434h20"></path>
+</g>
+</g>
+<path d="M1657 434a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 267a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1011.5 473h0"></path>
+<path d="M1074 473h583"></path>
+<rect x="1011.5" y="462" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1042.75" y="477">^\d+$</text>
+</g>
+<path d="M1657 473a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1677 267h10"></path>
+<g class="terminal">
+<path d="M1687 267h0"></path>
+<path d="M1732.5 267h0"></path>
+<rect x="1687" y="256" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1709.75" y="271">")"</text>
+</g>
+</g>
+<path d="M4070.5 267a10 10 0 0 0 10 -10v-216a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v452a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 503h0"></path>
+<path d="M3277 503h793.5"></path>
+<g class="terminal">
+<path d="M60 503h0"></path>
+<path d="M207.5 503h0"></path>
+<rect x="60" y="492" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="133.75" y="507">"TSTMP&#95;TO&#95;DATS"</text>
+</g>
+<path d="M207.5 503h10"></path>
+<path d="M217.5 503h10"></path>
+<g class="terminal">
+<path d="M227.5 503h0"></path>
+<path d="M273 503h0"></path>
+<rect x="227.5" y="492" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="507">"("</text>
+</g>
+<path d="M273 503h10"></path>
+<g>
+<path d="M283 503h0"></path>
+<path d="M968.5 503h0"></path>
+<path d="M283 503h20"></path>
+<g class="non-terminal">
+<path d="M303 503h0"></path>
+<path d="M382.5 503h566"></path>
+<rect x="303" y="492" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="342.75" y="507">CDSCast</text>
+</a>
+</g>
+<path d="M948.5 503h20"></path>
+<path d="M283 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 533h0"></path>
+<path d="M416.5 533h532"></path>
+<rect x="303" y="522" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="359.75" y="537">CDSFunction</text>
+</a>
+</g>
+<path d="M948.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M283 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 563h0"></path>
+<path d="M442 563h506.5"></path>
+<rect x="303" y="552" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="372.5" y="567">CDSArithmetics</text>
+</a>
+</g>
+<path d="M948.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M283 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 593h0"></path>
+<path d="M382.5 593h566"></path>
+<rect x="303" y="582" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="342.75" y="597">CDSCase</text>
+</a>
+</g>
+<path d="M948.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M283 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 623h0"></path>
+<path d="M399.5 623h549"></path>
+<rect x="303" y="612" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="351.25" y="627">CDSString</text>
+</a>
+</g>
+<path d="M948.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M283 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303 670h0"></path>
+<path d="M948.5 670h0"></path>
+<g class="non-terminal">
+<path d="M303 670h0"></path>
+<path d="M382.5 670h0"></path>
+<rect x="303" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="342.75" y="674">CDSName</text>
+</a>
+</g>
+<path d="M382.5 670h10"></path>
+<g>
+<path d="M392.5 670h0"></path>
+<path d="M563 670h0"></path>
+<path d="M392.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M412.5 650h130.5"></path>
+</g>
+<path d="M543 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M392.5 670h20"></path>
+<g class="non-terminal">
+<path d="M412.5 670h0"></path>
+<path d="M543 670h0"></path>
+<rect x="412.5" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="477.75" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M543 670h20"></path>
+</g>
+<g>
+<path d="M563 670h0"></path>
+<path d="M948.5 670h0"></path>
+<path d="M563 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M583 642h345.5"></path>
+</g>
+<path d="M928.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M563 670h20"></path>
+<g>
+<path d="M583 670h0"></path>
+<path d="M928.5 670h0"></path>
+<path d="M583 670h10"></path>
+<g>
+<path d="M593 670h0"></path>
+<path d="M918.5 670h0"></path>
+<g class="terminal">
+<path d="M593 670h0"></path>
+<path d="M638.5 670h0"></path>
+<rect x="593" y="659" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="615.75" y="674">"."</text>
+</g>
+<path d="M638.5 670h10"></path>
+<path d="M648.5 670h10"></path>
+<g class="non-terminal">
+<path d="M658.5 670h0"></path>
+<path d="M738 670h0"></path>
+<rect x="658.5" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="698.25" y="674">CDSName</text>
+</a>
+</g>
+<path d="M738 670h10"></path>
+<g>
+<path d="M748 670h0"></path>
+<path d="M918.5 670h0"></path>
+<path d="M748 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M768 650h130.5"></path>
+</g>
+<path d="M898.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M748 670h20"></path>
+<g class="non-terminal">
+<path d="M768 670h0"></path>
+<path d="M898.5 670h0"></path>
+<rect x="768" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="833.25" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M898.5 670h20"></path>
+</g>
+</g>
+<path d="M918.5 670h10"></path>
+<path d="M593 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M593 690h325.5"></path>
+</g>
+<path d="M918.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M928.5 670h20"></path>
+</g>
+</g>
+<path d="M948.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M283 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M303 709h0"></path>
+<path d="M365.5 709h583"></path>
+<rect x="303" y="698" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="713">^\d+$</text>
+</g>
+<path d="M948.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M968.5 503h10"></path>
+<g class="terminal">
+<path d="M978.5 503h0"></path>
+<path d="M1024 503h0"></path>
+<rect x="978.5" y="492" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1001.25" y="507">","</text>
+</g>
+<path d="M1024 503h10"></path>
+<g>
+<path d="M1034 503h0"></path>
+<path d="M1719.5 503h0"></path>
+<path d="M1034 503h20"></path>
+<g class="non-terminal">
+<path d="M1054 503h0"></path>
+<path d="M1133.5 503h566"></path>
+<rect x="1054" y="492" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1093.75" y="507">CDSCast</text>
+</a>
+</g>
+<path d="M1699.5 503h20"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 533h0"></path>
+<path d="M1167.5 533h532"></path>
+<rect x="1054" y="522" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1110.75" y="537">CDSFunction</text>
+</a>
+</g>
+<path d="M1699.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 563h0"></path>
+<path d="M1193 563h506.5"></path>
+<rect x="1054" y="552" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1123.5" y="567">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1699.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 593h0"></path>
+<path d="M1133.5 593h566"></path>
+<rect x="1054" y="582" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1093.75" y="597">CDSCase</text>
+</a>
+</g>
+<path d="M1699.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 623h0"></path>
+<path d="M1150.5 623h549"></path>
+<rect x="1054" y="612" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1102.25" y="627">CDSString</text>
+</a>
+</g>
+<path d="M1699.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1054 670h0"></path>
+<path d="M1699.5 670h0"></path>
+<g class="non-terminal">
+<path d="M1054 670h0"></path>
+<path d="M1133.5 670h0"></path>
+<rect x="1054" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1093.75" y="674">CDSName</text>
+</a>
+</g>
+<path d="M1133.5 670h10"></path>
+<g>
+<path d="M1143.5 670h0"></path>
+<path d="M1314 670h0"></path>
+<path d="M1143.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1163.5 650h130.5"></path>
+</g>
+<path d="M1294 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1143.5 670h20"></path>
+<g class="non-terminal">
+<path d="M1163.5 670h0"></path>
+<path d="M1294 670h0"></path>
+<rect x="1163.5" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1228.75" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M1294 670h20"></path>
+</g>
+<g>
+<path d="M1314 670h0"></path>
+<path d="M1699.5 670h0"></path>
+<path d="M1314 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1334 642h345.5"></path>
+</g>
+<path d="M1679.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1314 670h20"></path>
+<g>
+<path d="M1334 670h0"></path>
+<path d="M1679.5 670h0"></path>
+<path d="M1334 670h10"></path>
+<g>
+<path d="M1344 670h0"></path>
+<path d="M1669.5 670h0"></path>
+<g class="terminal">
+<path d="M1344 670h0"></path>
+<path d="M1389.5 670h0"></path>
+<rect x="1344" y="659" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1366.75" y="674">"."</text>
+</g>
+<path d="M1389.5 670h10"></path>
+<path d="M1399.5 670h10"></path>
+<g class="non-terminal">
+<path d="M1409.5 670h0"></path>
+<path d="M1489 670h0"></path>
+<rect x="1409.5" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1449.25" y="674">CDSName</text>
+</a>
+</g>
+<path d="M1489 670h10"></path>
+<g>
+<path d="M1499 670h0"></path>
+<path d="M1669.5 670h0"></path>
+<path d="M1499 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1519 650h130.5"></path>
+</g>
+<path d="M1649.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1499 670h20"></path>
+<g class="non-terminal">
+<path d="M1519 670h0"></path>
+<path d="M1649.5 670h0"></path>
+<rect x="1519" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1584.25" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M1649.5 670h20"></path>
+</g>
+</g>
+<path d="M1669.5 670h10"></path>
+<path d="M1344 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1344 690h325.5"></path>
+</g>
+<path d="M1669.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1679.5 670h20"></path>
+</g>
+</g>
+<path d="M1699.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1034 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1054 709h0"></path>
+<path d="M1116.5 709h583"></path>
+<rect x="1054" y="698" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1085.25" y="713">^\d+$</text>
+</g>
+<path d="M1699.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1719.5 503h10"></path>
+<g class="terminal">
+<path d="M1729.5 503h0"></path>
+<path d="M1775 503h0"></path>
+<rect x="1729.5" y="492" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1752.25" y="507">","</text>
+</g>
+<path d="M1775 503h10"></path>
+<g>
+<path d="M1785 503h0"></path>
+<path d="M2470.5 503h0"></path>
+<path d="M1785 503h20"></path>
+<g class="non-terminal">
+<path d="M1805 503h0"></path>
+<path d="M1884.5 503h566"></path>
+<rect x="1805" y="492" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1844.75" y="507">CDSCast</text>
+</a>
+</g>
+<path d="M2450.5 503h20"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 533h0"></path>
+<path d="M1918.5 533h532"></path>
+<rect x="1805" y="522" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1861.75" y="537">CDSFunction</text>
+</a>
+</g>
+<path d="M2450.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 563h0"></path>
+<path d="M1944 563h506.5"></path>
+<rect x="1805" y="552" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1874.5" y="567">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2450.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 593h0"></path>
+<path d="M1884.5 593h566"></path>
+<rect x="1805" y="582" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1844.75" y="597">CDSCase</text>
+</a>
+</g>
+<path d="M2450.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 623h0"></path>
+<path d="M1901.5 623h549"></path>
+<rect x="1805" y="612" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1853.25" y="627">CDSString</text>
+</a>
+</g>
+<path d="M2450.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1805 670h0"></path>
+<path d="M2450.5 670h0"></path>
+<g class="non-terminal">
+<path d="M1805 670h0"></path>
+<path d="M1884.5 670h0"></path>
+<rect x="1805" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1844.75" y="674">CDSName</text>
+</a>
+</g>
+<path d="M1884.5 670h10"></path>
+<g>
+<path d="M1894.5 670h0"></path>
+<path d="M2065 670h0"></path>
+<path d="M1894.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1914.5 650h130.5"></path>
+</g>
+<path d="M2045 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1894.5 670h20"></path>
+<g class="non-terminal">
+<path d="M1914.5 670h0"></path>
+<path d="M2045 670h0"></path>
+<rect x="1914.5" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1979.75" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M2045 670h20"></path>
+</g>
+<g>
+<path d="M2065 670h0"></path>
+<path d="M2450.5 670h0"></path>
+<path d="M2065 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2085 642h345.5"></path>
+</g>
+<path d="M2430.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2065 670h20"></path>
+<g>
+<path d="M2085 670h0"></path>
+<path d="M2430.5 670h0"></path>
+<path d="M2085 670h10"></path>
+<g>
+<path d="M2095 670h0"></path>
+<path d="M2420.5 670h0"></path>
+<g class="terminal">
+<path d="M2095 670h0"></path>
+<path d="M2140.5 670h0"></path>
+<rect x="2095" y="659" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2117.75" y="674">"."</text>
+</g>
+<path d="M2140.5 670h10"></path>
+<path d="M2150.5 670h10"></path>
+<g class="non-terminal">
+<path d="M2160.5 670h0"></path>
+<path d="M2240 670h0"></path>
+<rect x="2160.5" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2200.25" y="674">CDSName</text>
+</a>
+</g>
+<path d="M2240 670h10"></path>
+<g>
+<path d="M2250 670h0"></path>
+<path d="M2420.5 670h0"></path>
+<path d="M2250 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2270 650h130.5"></path>
+</g>
+<path d="M2400.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2250 670h20"></path>
+<g class="non-terminal">
+<path d="M2270 670h0"></path>
+<path d="M2400.5 670h0"></path>
+<rect x="2270" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2335.25" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M2400.5 670h20"></path>
+</g>
+</g>
+<path d="M2420.5 670h10"></path>
+<path d="M2095 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2095 690h325.5"></path>
+</g>
+<path d="M2420.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2430.5 670h20"></path>
+</g>
+</g>
+<path d="M2450.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1785 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1805 709h0"></path>
+<path d="M1867.5 709h583"></path>
+<rect x="1805" y="698" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1836.25" y="713">^\d+$</text>
+</g>
+<path d="M2450.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2470.5 503h10"></path>
+<g class="terminal">
+<path d="M2480.5 503h0"></path>
+<path d="M2526 503h0"></path>
+<rect x="2480.5" y="492" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2503.25" y="507">","</text>
+</g>
+<path d="M2526 503h10"></path>
+<g>
+<path d="M2536 503h0"></path>
+<path d="M3221.5 503h0"></path>
+<path d="M2536 503h20"></path>
+<g class="non-terminal">
+<path d="M2556 503h0"></path>
+<path d="M2635.5 503h566"></path>
+<rect x="2556" y="492" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="2595.75" y="507">CDSCast</text>
+</a>
+</g>
+<path d="M3201.5 503h20"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 533h0"></path>
+<path d="M2669.5 533h532"></path>
+<rect x="2556" y="522" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2612.75" y="537">CDSFunction</text>
+</a>
+</g>
+<path d="M3201.5 533a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 563h0"></path>
+<path d="M2695 563h506.5"></path>
+<rect x="2556" y="552" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="2625.5" y="567">CDSArithmetics</text>
+</a>
+</g>
+<path d="M3201.5 563a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 593h0"></path>
+<path d="M2635.5 593h566"></path>
+<rect x="2556" y="582" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="2595.75" y="597">CDSCase</text>
+</a>
+</g>
+<path d="M3201.5 593a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 623h0"></path>
+<path d="M2652.5 623h549"></path>
+<rect x="2556" y="612" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2604.25" y="627">CDSString</text>
+</a>
+</g>
+<path d="M3201.5 623a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2556 670h0"></path>
+<path d="M3201.5 670h0"></path>
+<g class="non-terminal">
+<path d="M2556 670h0"></path>
+<path d="M2635.5 670h0"></path>
+<rect x="2556" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2595.75" y="674">CDSName</text>
+</a>
+</g>
+<path d="M2635.5 670h10"></path>
+<g>
+<path d="M2645.5 670h0"></path>
+<path d="M2816 670h0"></path>
+<path d="M2645.5 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2665.5 650h130.5"></path>
+</g>
+<path d="M2796 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2645.5 670h20"></path>
+<g class="non-terminal">
+<path d="M2665.5 670h0"></path>
+<path d="M2796 670h0"></path>
+<rect x="2665.5" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2730.75" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M2796 670h20"></path>
+</g>
+<g>
+<path d="M2816 670h0"></path>
+<path d="M3201.5 670h0"></path>
+<path d="M2816 670a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2836 642h345.5"></path>
+</g>
+<path d="M3181.5 642a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2816 670h20"></path>
+<g>
+<path d="M2836 670h0"></path>
+<path d="M3181.5 670h0"></path>
+<path d="M2836 670h10"></path>
+<g>
+<path d="M2846 670h0"></path>
+<path d="M3171.5 670h0"></path>
+<g class="terminal">
+<path d="M2846 670h0"></path>
+<path d="M2891.5 670h0"></path>
+<rect x="2846" y="659" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2868.75" y="674">"."</text>
+</g>
+<path d="M2891.5 670h10"></path>
+<path d="M2901.5 670h10"></path>
+<g class="non-terminal">
+<path d="M2911.5 670h0"></path>
+<path d="M2991 670h0"></path>
+<rect x="2911.5" y="659" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2951.25" y="674">CDSName</text>
+</a>
+</g>
+<path d="M2991 670h10"></path>
+<g>
+<path d="M3001 670h0"></path>
+<path d="M3171.5 670h0"></path>
+<path d="M3001 670a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3021 650h130.5"></path>
+</g>
+<path d="M3151.5 650a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M3001 670h20"></path>
+<g class="non-terminal">
+<path d="M3021 670h0"></path>
+<path d="M3151.5 670h0"></path>
+<rect x="3021" y="659" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3086.25" y="674">CDSParameters</text>
+</a>
+</g>
+<path d="M3151.5 670h20"></path>
+</g>
+</g>
+<path d="M3171.5 670h10"></path>
+<path d="M2846 670a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2846 690h325.5"></path>
+</g>
+<path d="M3171.5 690a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M3181.5 670h20"></path>
+</g>
+</g>
+<path d="M3201.5 670a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M2536 503a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M2556 709h0"></path>
+<path d="M2618.5 709h583"></path>
+<rect x="2556" y="698" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="2587.25" y="713">^\d+$</text>
+</g>
+<path d="M3201.5 709a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M3221.5 503h10"></path>
+<g class="terminal">
+<path d="M3231.5 503h0"></path>
+<path d="M3277 503h0"></path>
+<rect x="3231.5" y="492" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="3254.25" y="507">")"</text>
+</g>
+</g>
+<path d="M4070.5 503a10 10 0 0 0 10 -10v-452a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v688a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 739h0"></path>
+<path d="M1715.5 739h2355"></path>
+<g class="terminal">
+<path d="M60 739h0"></path>
+<path d="M148 739h0"></path>
+<rect x="60" y="728" width="88" height="22" rx="10" ry="10"></rect>
+<text x="104" y="743">"CONCAT"</text>
+</g>
+<path d="M148 739h10"></path>
+<path d="M158 739h10"></path>
+<g class="terminal">
+<path d="M168 739h0"></path>
+<path d="M213.5 739h0"></path>
+<rect x="168" y="728" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="190.75" y="743">"("</text>
+</g>
+<path d="M213.5 739h10"></path>
+<g>
+<path d="M223.5 739h0"></path>
+<path d="M909 739h0"></path>
+<path d="M223.5 739h20"></path>
+<g class="non-terminal">
+<path d="M243.5 739h0"></path>
+<path d="M323 739h566"></path>
+<rect x="243.5" y="728" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="283.25" y="743">CDSCast</text>
+</a>
+</g>
+<path d="M889 739h20"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M243.5 769h0"></path>
+<path d="M357 769h532"></path>
+<rect x="243.5" y="758" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="300.25" y="773">CDSFunction</text>
+</a>
+</g>
+<path d="M889 769a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M243.5 799h0"></path>
+<path d="M382.5 799h506.5"></path>
+<rect x="243.5" y="788" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="313" y="803">CDSArithmetics</text>
+</a>
+</g>
+<path d="M889 799a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M243.5 829h0"></path>
+<path d="M323 829h566"></path>
+<rect x="243.5" y="818" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="283.25" y="833">CDSCase</text>
+</a>
+</g>
+<path d="M889 829a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M243.5 859h0"></path>
+<path d="M340 859h549"></path>
+<rect x="243.5" y="848" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="291.75" y="863">CDSString</text>
+</a>
+</g>
+<path d="M889 859a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M243.5 906h0"></path>
+<path d="M889 906h0"></path>
+<g class="non-terminal">
+<path d="M243.5 906h0"></path>
+<path d="M323 906h0"></path>
+<rect x="243.5" y="895" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="283.25" y="910">CDSName</text>
+</a>
+</g>
+<path d="M323 906h10"></path>
+<g>
+<path d="M333 906h0"></path>
+<path d="M503.5 906h0"></path>
+<path d="M333 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M353 886h130.5"></path>
+</g>
+<path d="M483.5 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M333 906h20"></path>
+<g class="non-terminal">
+<path d="M353 906h0"></path>
+<path d="M483.5 906h0"></path>
+<rect x="353" y="895" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="418.25" y="910">CDSParameters</text>
+</a>
+</g>
+<path d="M483.5 906h20"></path>
+</g>
+<g>
+<path d="M503.5 906h0"></path>
+<path d="M889 906h0"></path>
+<path d="M503.5 906a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M523.5 878h345.5"></path>
+</g>
+<path d="M869 878a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M503.5 906h20"></path>
+<g>
+<path d="M523.5 906h0"></path>
+<path d="M869 906h0"></path>
+<path d="M523.5 906h10"></path>
+<g>
+<path d="M533.5 906h0"></path>
+<path d="M859 906h0"></path>
+<g class="terminal">
+<path d="M533.5 906h0"></path>
+<path d="M579 906h0"></path>
+<rect x="533.5" y="895" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="556.25" y="910">"."</text>
+</g>
+<path d="M579 906h10"></path>
+<path d="M589 906h10"></path>
+<g class="non-terminal">
+<path d="M599 906h0"></path>
+<path d="M678.5 906h0"></path>
+<rect x="599" y="895" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="638.75" y="910">CDSName</text>
+</a>
+</g>
+<path d="M678.5 906h10"></path>
+<g>
+<path d="M688.5 906h0"></path>
+<path d="M859 906h0"></path>
+<path d="M688.5 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M708.5 886h130.5"></path>
+</g>
+<path d="M839 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M688.5 906h20"></path>
+<g class="non-terminal">
+<path d="M708.5 906h0"></path>
+<path d="M839 906h0"></path>
+<rect x="708.5" y="895" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="773.75" y="910">CDSParameters</text>
+</a>
+</g>
+<path d="M839 906h20"></path>
+</g>
+</g>
+<path d="M859 906h10"></path>
+<path d="M533.5 906a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M533.5 926h325.5"></path>
+</g>
+<path d="M859 926a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M869 906h20"></path>
+</g>
+</g>
+<path d="M889 906a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M223.5 739a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M243.5 945h0"></path>
+<path d="M306 945h583"></path>
+<rect x="243.5" y="934" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="274.75" y="949">^\d+$</text>
+</g>
+<path d="M889 945a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M909 739h10"></path>
+<g class="terminal">
+<path d="M919 739h0"></path>
+<path d="M964.5 739h0"></path>
+<rect x="919" y="728" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="941.75" y="743">","</text>
+</g>
+<path d="M964.5 739h10"></path>
+<g>
+<path d="M974.5 739h0"></path>
+<path d="M1660 739h0"></path>
+<path d="M974.5 739h20"></path>
+<g class="non-terminal">
+<path d="M994.5 739h0"></path>
+<path d="M1074 739h566"></path>
+<rect x="994.5" y="728" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1034.25" y="743">CDSCast</text>
+</a>
+</g>
+<path d="M1640 739h20"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M994.5 769h0"></path>
+<path d="M1108 769h532"></path>
+<rect x="994.5" y="758" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1051.25" y="773">CDSFunction</text>
+</a>
+</g>
+<path d="M1640 769a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M994.5 799h0"></path>
+<path d="M1133.5 799h506.5"></path>
+<rect x="994.5" y="788" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1064" y="803">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1640 799a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M994.5 829h0"></path>
+<path d="M1074 829h566"></path>
+<rect x="994.5" y="818" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1034.25" y="833">CDSCase</text>
+</a>
+</g>
+<path d="M1640 829a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M994.5 859h0"></path>
+<path d="M1091 859h549"></path>
+<rect x="994.5" y="848" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1042.75" y="863">CDSString</text>
+</a>
+</g>
+<path d="M1640 859a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M994.5 906h0"></path>
+<path d="M1640 906h0"></path>
+<g class="non-terminal">
+<path d="M994.5 906h0"></path>
+<path d="M1074 906h0"></path>
+<rect x="994.5" y="895" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1034.25" y="910">CDSName</text>
+</a>
+</g>
+<path d="M1074 906h10"></path>
+<g>
+<path d="M1084 906h0"></path>
+<path d="M1254.5 906h0"></path>
+<path d="M1084 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1104 886h130.5"></path>
+</g>
+<path d="M1234.5 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1084 906h20"></path>
+<g class="non-terminal">
+<path d="M1104 906h0"></path>
+<path d="M1234.5 906h0"></path>
+<rect x="1104" y="895" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1169.25" y="910">CDSParameters</text>
+</a>
+</g>
+<path d="M1234.5 906h20"></path>
+</g>
+<g>
+<path d="M1254.5 906h0"></path>
+<path d="M1640 906h0"></path>
+<path d="M1254.5 906a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1274.5 878h345.5"></path>
+</g>
+<path d="M1620 878a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1254.5 906h20"></path>
+<g>
+<path d="M1274.5 906h0"></path>
+<path d="M1620 906h0"></path>
+<path d="M1274.5 906h10"></path>
+<g>
+<path d="M1284.5 906h0"></path>
+<path d="M1610 906h0"></path>
+<g class="terminal">
+<path d="M1284.5 906h0"></path>
+<path d="M1330 906h0"></path>
+<rect x="1284.5" y="895" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1307.25" y="910">"."</text>
+</g>
+<path d="M1330 906h10"></path>
+<path d="M1340 906h10"></path>
+<g class="non-terminal">
+<path d="M1350 906h0"></path>
+<path d="M1429.5 906h0"></path>
+<rect x="1350" y="895" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1389.75" y="910">CDSName</text>
+</a>
+</g>
+<path d="M1429.5 906h10"></path>
+<g>
+<path d="M1439.5 906h0"></path>
+<path d="M1610 906h0"></path>
+<path d="M1439.5 906a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1459.5 886h130.5"></path>
+</g>
+<path d="M1590 886a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1439.5 906h20"></path>
+<g class="non-terminal">
+<path d="M1459.5 906h0"></path>
+<path d="M1590 906h0"></path>
+<rect x="1459.5" y="895" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1524.75" y="910">CDSParameters</text>
+</a>
+</g>
+<path d="M1590 906h20"></path>
+</g>
+</g>
+<path d="M1610 906h10"></path>
+<path d="M1284.5 906a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1284.5 926h325.5"></path>
+</g>
+<path d="M1610 926a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1620 906h20"></path>
+</g>
+</g>
+<path d="M1640 906a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M974.5 739a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M994.5 945h0"></path>
+<path d="M1057 945h583"></path>
+<rect x="994.5" y="934" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1025.75" y="949">^\d+$</text>
+</g>
+<path d="M1640 945a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1660 739h10"></path>
+<g class="terminal">
+<path d="M1670 739h0"></path>
+<path d="M1715.5 739h0"></path>
+<rect x="1670" y="728" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1692.75" y="743">")"</text>
+</g>
+</g>
+<path d="M4070.5 739a10 10 0 0 0 10 -10v-688a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v924a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 975h0"></path>
+<path d="M3277 975h793.5"></path>
+<g class="terminal">
+<path d="M60 975h0"></path>
+<path d="M207.5 975h0"></path>
+<rect x="60" y="964" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="133.75" y="979">"TSTMP&#95;TO&#95;TIMS"</text>
+</g>
+<path d="M207.5 975h10"></path>
+<path d="M217.5 975h10"></path>
+<g class="terminal">
+<path d="M227.5 975h0"></path>
+<path d="M273 975h0"></path>
+<rect x="227.5" y="964" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="979">"("</text>
+</g>
+<path d="M273 975h10"></path>
+<g>
+<path d="M283 975h0"></path>
+<path d="M968.5 975h0"></path>
+<path d="M283 975h20"></path>
+<g class="non-terminal">
+<path d="M303 975h0"></path>
+<path d="M382.5 975h566"></path>
+<rect x="303" y="964" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="342.75" y="979">CDSCast</text>
+</a>
+</g>
+<path d="M948.5 975h20"></path>
+<path d="M283 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 1005h0"></path>
+<path d="M416.5 1005h532"></path>
+<rect x="303" y="994" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="359.75" y="1009">CDSFunction</text>
+</a>
+</g>
+<path d="M948.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M283 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 1035h0"></path>
+<path d="M442 1035h506.5"></path>
+<rect x="303" y="1024" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="372.5" y="1039">CDSArithmetics</text>
+</a>
+</g>
+<path d="M948.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M283 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 1065h0"></path>
+<path d="M382.5 1065h566"></path>
+<rect x="303" y="1054" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="342.75" y="1069">CDSCase</text>
+</a>
+</g>
+<path d="M948.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M283 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 1095h0"></path>
+<path d="M399.5 1095h549"></path>
+<rect x="303" y="1084" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="351.25" y="1099">CDSString</text>
+</a>
+</g>
+<path d="M948.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M283 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303 1142h0"></path>
+<path d="M948.5 1142h0"></path>
+<g class="non-terminal">
+<path d="M303 1142h0"></path>
+<path d="M382.5 1142h0"></path>
+<rect x="303" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="342.75" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M382.5 1142h10"></path>
+<g>
+<path d="M392.5 1142h0"></path>
+<path d="M563 1142h0"></path>
+<path d="M392.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M412.5 1122h130.5"></path>
+</g>
+<path d="M543 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M392.5 1142h20"></path>
+<g class="non-terminal">
+<path d="M412.5 1142h0"></path>
+<path d="M543 1142h0"></path>
+<rect x="412.5" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="477.75" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M543 1142h20"></path>
+</g>
+<g>
+<path d="M563 1142h0"></path>
+<path d="M948.5 1142h0"></path>
+<path d="M563 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M583 1114h345.5"></path>
+</g>
+<path d="M928.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M563 1142h20"></path>
+<g>
+<path d="M583 1142h0"></path>
+<path d="M928.5 1142h0"></path>
+<path d="M583 1142h10"></path>
+<g>
+<path d="M593 1142h0"></path>
+<path d="M918.5 1142h0"></path>
+<g class="terminal">
+<path d="M593 1142h0"></path>
+<path d="M638.5 1142h0"></path>
+<rect x="593" y="1131" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="615.75" y="1146">"."</text>
+</g>
+<path d="M638.5 1142h10"></path>
+<path d="M648.5 1142h10"></path>
+<g class="non-terminal">
+<path d="M658.5 1142h0"></path>
+<path d="M738 1142h0"></path>
+<rect x="658.5" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="698.25" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M738 1142h10"></path>
+<g>
+<path d="M748 1142h0"></path>
+<path d="M918.5 1142h0"></path>
+<path d="M748 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M768 1122h130.5"></path>
+</g>
+<path d="M898.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M748 1142h20"></path>
+<g class="non-terminal">
+<path d="M768 1142h0"></path>
+<path d="M898.5 1142h0"></path>
+<rect x="768" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="833.25" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M898.5 1142h20"></path>
+</g>
+</g>
+<path d="M918.5 1142h10"></path>
+<path d="M593 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M593 1162h325.5"></path>
+</g>
+<path d="M918.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M928.5 1142h20"></path>
+</g>
+</g>
+<path d="M948.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M283 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M303 1181h0"></path>
+<path d="M365.5 1181h583"></path>
+<rect x="303" y="1170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="1185">^\d+$</text>
+</g>
+<path d="M948.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M968.5 975h10"></path>
+<g class="terminal">
+<path d="M978.5 975h0"></path>
+<path d="M1024 975h0"></path>
+<rect x="978.5" y="964" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1001.25" y="979">","</text>
+</g>
+<path d="M1024 975h10"></path>
+<g>
+<path d="M1034 975h0"></path>
+<path d="M1719.5 975h0"></path>
+<path d="M1034 975h20"></path>
+<g class="non-terminal">
+<path d="M1054 975h0"></path>
+<path d="M1133.5 975h566"></path>
+<rect x="1054" y="964" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1093.75" y="979">CDSCast</text>
+</a>
+</g>
+<path d="M1699.5 975h20"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 1005h0"></path>
+<path d="M1167.5 1005h532"></path>
+<rect x="1054" y="994" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1110.75" y="1009">CDSFunction</text>
+</a>
+</g>
+<path d="M1699.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 1035h0"></path>
+<path d="M1193 1035h506.5"></path>
+<rect x="1054" y="1024" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1123.5" y="1039">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1699.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 1065h0"></path>
+<path d="M1133.5 1065h566"></path>
+<rect x="1054" y="1054" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1093.75" y="1069">CDSCase</text>
+</a>
+</g>
+<path d="M1699.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 1095h0"></path>
+<path d="M1150.5 1095h549"></path>
+<rect x="1054" y="1084" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1102.25" y="1099">CDSString</text>
+</a>
+</g>
+<path d="M1699.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1054 1142h0"></path>
+<path d="M1699.5 1142h0"></path>
+<g class="non-terminal">
+<path d="M1054 1142h0"></path>
+<path d="M1133.5 1142h0"></path>
+<rect x="1054" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1093.75" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M1133.5 1142h10"></path>
+<g>
+<path d="M1143.5 1142h0"></path>
+<path d="M1314 1142h0"></path>
+<path d="M1143.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1163.5 1122h130.5"></path>
+</g>
+<path d="M1294 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1143.5 1142h20"></path>
+<g class="non-terminal">
+<path d="M1163.5 1142h0"></path>
+<path d="M1294 1142h0"></path>
+<rect x="1163.5" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1228.75" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M1294 1142h20"></path>
+</g>
+<g>
+<path d="M1314 1142h0"></path>
+<path d="M1699.5 1142h0"></path>
+<path d="M1314 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1334 1114h345.5"></path>
+</g>
+<path d="M1679.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1314 1142h20"></path>
+<g>
+<path d="M1334 1142h0"></path>
+<path d="M1679.5 1142h0"></path>
+<path d="M1334 1142h10"></path>
+<g>
+<path d="M1344 1142h0"></path>
+<path d="M1669.5 1142h0"></path>
+<g class="terminal">
+<path d="M1344 1142h0"></path>
+<path d="M1389.5 1142h0"></path>
+<rect x="1344" y="1131" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1366.75" y="1146">"."</text>
+</g>
+<path d="M1389.5 1142h10"></path>
+<path d="M1399.5 1142h10"></path>
+<g class="non-terminal">
+<path d="M1409.5 1142h0"></path>
+<path d="M1489 1142h0"></path>
+<rect x="1409.5" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1449.25" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M1489 1142h10"></path>
+<g>
+<path d="M1499 1142h0"></path>
+<path d="M1669.5 1142h0"></path>
+<path d="M1499 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1519 1122h130.5"></path>
+</g>
+<path d="M1649.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1499 1142h20"></path>
+<g class="non-terminal">
+<path d="M1519 1142h0"></path>
+<path d="M1649.5 1142h0"></path>
+<rect x="1519" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1584.25" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M1649.5 1142h20"></path>
+</g>
+</g>
+<path d="M1669.5 1142h10"></path>
+<path d="M1344 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1344 1162h325.5"></path>
+</g>
+<path d="M1669.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1679.5 1142h20"></path>
+</g>
+</g>
+<path d="M1699.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1034 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1054 1181h0"></path>
+<path d="M1116.5 1181h583"></path>
+<rect x="1054" y="1170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1085.25" y="1185">^\d+$</text>
+</g>
+<path d="M1699.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1719.5 975h10"></path>
+<g class="terminal">
+<path d="M1729.5 975h0"></path>
+<path d="M1775 975h0"></path>
+<rect x="1729.5" y="964" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1752.25" y="979">","</text>
+</g>
+<path d="M1775 975h10"></path>
+<g>
+<path d="M1785 975h0"></path>
+<path d="M2470.5 975h0"></path>
+<path d="M1785 975h20"></path>
+<g class="non-terminal">
+<path d="M1805 975h0"></path>
+<path d="M1884.5 975h566"></path>
+<rect x="1805" y="964" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1844.75" y="979">CDSCast</text>
+</a>
+</g>
+<path d="M2450.5 975h20"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 1005h0"></path>
+<path d="M1918.5 1005h532"></path>
+<rect x="1805" y="994" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1861.75" y="1009">CDSFunction</text>
+</a>
+</g>
+<path d="M2450.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 1035h0"></path>
+<path d="M1944 1035h506.5"></path>
+<rect x="1805" y="1024" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1874.5" y="1039">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2450.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 1065h0"></path>
+<path d="M1884.5 1065h566"></path>
+<rect x="1805" y="1054" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1844.75" y="1069">CDSCase</text>
+</a>
+</g>
+<path d="M2450.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 1095h0"></path>
+<path d="M1901.5 1095h549"></path>
+<rect x="1805" y="1084" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1853.25" y="1099">CDSString</text>
+</a>
+</g>
+<path d="M2450.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1805 1142h0"></path>
+<path d="M2450.5 1142h0"></path>
+<g class="non-terminal">
+<path d="M1805 1142h0"></path>
+<path d="M1884.5 1142h0"></path>
+<rect x="1805" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1844.75" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M1884.5 1142h10"></path>
+<g>
+<path d="M1894.5 1142h0"></path>
+<path d="M2065 1142h0"></path>
+<path d="M1894.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1914.5 1122h130.5"></path>
+</g>
+<path d="M2045 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1894.5 1142h20"></path>
+<g class="non-terminal">
+<path d="M1914.5 1142h0"></path>
+<path d="M2045 1142h0"></path>
+<rect x="1914.5" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1979.75" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M2045 1142h20"></path>
+</g>
+<g>
+<path d="M2065 1142h0"></path>
+<path d="M2450.5 1142h0"></path>
+<path d="M2065 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2085 1114h345.5"></path>
+</g>
+<path d="M2430.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2065 1142h20"></path>
+<g>
+<path d="M2085 1142h0"></path>
+<path d="M2430.5 1142h0"></path>
+<path d="M2085 1142h10"></path>
+<g>
+<path d="M2095 1142h0"></path>
+<path d="M2420.5 1142h0"></path>
+<g class="terminal">
+<path d="M2095 1142h0"></path>
+<path d="M2140.5 1142h0"></path>
+<rect x="2095" y="1131" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2117.75" y="1146">"."</text>
+</g>
+<path d="M2140.5 1142h10"></path>
+<path d="M2150.5 1142h10"></path>
+<g class="non-terminal">
+<path d="M2160.5 1142h0"></path>
+<path d="M2240 1142h0"></path>
+<rect x="2160.5" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2200.25" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M2240 1142h10"></path>
+<g>
+<path d="M2250 1142h0"></path>
+<path d="M2420.5 1142h0"></path>
+<path d="M2250 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2270 1122h130.5"></path>
+</g>
+<path d="M2400.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2250 1142h20"></path>
+<g class="non-terminal">
+<path d="M2270 1142h0"></path>
+<path d="M2400.5 1142h0"></path>
+<rect x="2270" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2335.25" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M2400.5 1142h20"></path>
+</g>
+</g>
+<path d="M2420.5 1142h10"></path>
+<path d="M2095 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2095 1162h325.5"></path>
+</g>
+<path d="M2420.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2430.5 1142h20"></path>
+</g>
+</g>
+<path d="M2450.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1785 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1805 1181h0"></path>
+<path d="M1867.5 1181h583"></path>
+<rect x="1805" y="1170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1836.25" y="1185">^\d+$</text>
+</g>
+<path d="M2450.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2470.5 975h10"></path>
+<g class="terminal">
+<path d="M2480.5 975h0"></path>
+<path d="M2526 975h0"></path>
+<rect x="2480.5" y="964" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2503.25" y="979">","</text>
+</g>
+<path d="M2526 975h10"></path>
+<g>
+<path d="M2536 975h0"></path>
+<path d="M3221.5 975h0"></path>
+<path d="M2536 975h20"></path>
+<g class="non-terminal">
+<path d="M2556 975h0"></path>
+<path d="M2635.5 975h566"></path>
+<rect x="2556" y="964" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="2595.75" y="979">CDSCast</text>
+</a>
+</g>
+<path d="M3201.5 975h20"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 1005h0"></path>
+<path d="M2669.5 1005h532"></path>
+<rect x="2556" y="994" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2612.75" y="1009">CDSFunction</text>
+</a>
+</g>
+<path d="M3201.5 1005a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 1035h0"></path>
+<path d="M2695 1035h506.5"></path>
+<rect x="2556" y="1024" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="2625.5" y="1039">CDSArithmetics</text>
+</a>
+</g>
+<path d="M3201.5 1035a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 1065h0"></path>
+<path d="M2635.5 1065h566"></path>
+<rect x="2556" y="1054" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="2595.75" y="1069">CDSCase</text>
+</a>
+</g>
+<path d="M3201.5 1065a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2556 1095h0"></path>
+<path d="M2652.5 1095h549"></path>
+<rect x="2556" y="1084" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2604.25" y="1099">CDSString</text>
+</a>
+</g>
+<path d="M3201.5 1095a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2556 1142h0"></path>
+<path d="M3201.5 1142h0"></path>
+<g class="non-terminal">
+<path d="M2556 1142h0"></path>
+<path d="M2635.5 1142h0"></path>
+<rect x="2556" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2595.75" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M2635.5 1142h10"></path>
+<g>
+<path d="M2645.5 1142h0"></path>
+<path d="M2816 1142h0"></path>
+<path d="M2645.5 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2665.5 1122h130.5"></path>
+</g>
+<path d="M2796 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2645.5 1142h20"></path>
+<g class="non-terminal">
+<path d="M2665.5 1142h0"></path>
+<path d="M2796 1142h0"></path>
+<rect x="2665.5" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2730.75" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M2796 1142h20"></path>
+</g>
+<g>
+<path d="M2816 1142h0"></path>
+<path d="M3201.5 1142h0"></path>
+<path d="M2816 1142a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2836 1114h345.5"></path>
+</g>
+<path d="M3181.5 1114a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2816 1142h20"></path>
+<g>
+<path d="M2836 1142h0"></path>
+<path d="M3181.5 1142h0"></path>
+<path d="M2836 1142h10"></path>
+<g>
+<path d="M2846 1142h0"></path>
+<path d="M3171.5 1142h0"></path>
+<g class="terminal">
+<path d="M2846 1142h0"></path>
+<path d="M2891.5 1142h0"></path>
+<rect x="2846" y="1131" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2868.75" y="1146">"."</text>
+</g>
+<path d="M2891.5 1142h10"></path>
+<path d="M2901.5 1142h10"></path>
+<g class="non-terminal">
+<path d="M2911.5 1142h0"></path>
+<path d="M2991 1142h0"></path>
+<rect x="2911.5" y="1131" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2951.25" y="1146">CDSName</text>
+</a>
+</g>
+<path d="M2991 1142h10"></path>
+<g>
+<path d="M3001 1142h0"></path>
+<path d="M3171.5 1142h0"></path>
+<path d="M3001 1142a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3021 1122h130.5"></path>
+</g>
+<path d="M3151.5 1122a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M3001 1142h20"></path>
+<g class="non-terminal">
+<path d="M3021 1142h0"></path>
+<path d="M3151.5 1142h0"></path>
+<rect x="3021" y="1131" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3086.25" y="1146">CDSParameters</text>
+</a>
+</g>
+<path d="M3151.5 1142h20"></path>
+</g>
+</g>
+<path d="M3171.5 1142h10"></path>
+<path d="M2846 1142a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2846 1162h325.5"></path>
+</g>
+<path d="M3171.5 1162a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M3181.5 1142h20"></path>
+</g>
+</g>
+<path d="M3201.5 1142a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M2536 975a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M2556 1181h0"></path>
+<path d="M2618.5 1181h583"></path>
+<rect x="2556" y="1170" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="2587.25" y="1185">^\d+$</text>
+</g>
+<path d="M3201.5 1181a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M3221.5 975h10"></path>
+<g class="terminal">
+<path d="M3231.5 975h0"></path>
+<path d="M3277 975h0"></path>
+<rect x="3231.5" y="964" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="3254.25" y="979">")"</text>
+</g>
+</g>
+<path d="M4070.5 975a10 10 0 0 0 10 -10v-924a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1160a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1211h0"></path>
+<path d="M956 1211h3114.5"></path>
+<g class="terminal">
+<path d="M60 1211h0"></path>
+<path d="M139.5 1211h0"></path>
+<rect x="60" y="1200" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="1215">"UPPER"</text>
+</g>
+<path d="M139.5 1211h10"></path>
+<path d="M149.5 1211h10"></path>
+<g class="terminal">
+<path d="M159.5 1211h0"></path>
+<path d="M205 1211h0"></path>
+<rect x="159.5" y="1200" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="1215">"("</text>
+</g>
+<path d="M205 1211h10"></path>
+<g>
+<path d="M215 1211h0"></path>
+<path d="M900.5 1211h0"></path>
+<path d="M215 1211h20"></path>
+<g class="non-terminal">
+<path d="M235 1211h0"></path>
+<path d="M314.5 1211h566"></path>
+<rect x="235" y="1200" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="274.75" y="1215">CDSCast</text>
+</a>
+</g>
+<path d="M880.5 1211h20"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1241h0"></path>
+<path d="M348.5 1241h532"></path>
+<rect x="235" y="1230" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="291.75" y="1245">CDSFunction</text>
+</a>
+</g>
+<path d="M880.5 1241a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1271h0"></path>
+<path d="M374 1271h506.5"></path>
+<rect x="235" y="1260" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="304.5" y="1275">CDSArithmetics</text>
+</a>
+</g>
+<path d="M880.5 1271a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1301h0"></path>
+<path d="M314.5 1301h566"></path>
+<rect x="235" y="1290" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="274.75" y="1305">CDSCase</text>
+</a>
+</g>
+<path d="M880.5 1301a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1331h0"></path>
+<path d="M331.5 1331h549"></path>
+<rect x="235" y="1320" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="283.25" y="1335">CDSString</text>
+</a>
+</g>
+<path d="M880.5 1331a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 1378h0"></path>
+<path d="M880.5 1378h0"></path>
+<g class="non-terminal">
+<path d="M235 1378h0"></path>
+<path d="M314.5 1378h0"></path>
+<rect x="235" y="1367" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.75" y="1382">CDSName</text>
+</a>
+</g>
+<path d="M314.5 1378h10"></path>
+<g>
+<path d="M324.5 1378h0"></path>
+<path d="M495 1378h0"></path>
+<path d="M324.5 1378a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 1358h130.5"></path>
+</g>
+<path d="M475 1358a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 1378h20"></path>
+<g class="non-terminal">
+<path d="M344.5 1378h0"></path>
+<path d="M475 1378h0"></path>
+<rect x="344.5" y="1367" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="409.75" y="1382">CDSParameters</text>
+</a>
+</g>
+<path d="M475 1378h20"></path>
+</g>
+<g>
+<path d="M495 1378h0"></path>
+<path d="M880.5 1378h0"></path>
+<path d="M495 1378a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 1350h345.5"></path>
+</g>
+<path d="M860.5 1350a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M495 1378h20"></path>
+<g>
+<path d="M515 1378h0"></path>
+<path d="M860.5 1378h0"></path>
+<path d="M515 1378h10"></path>
+<g>
+<path d="M525 1378h0"></path>
+<path d="M850.5 1378h0"></path>
+<g class="terminal">
+<path d="M525 1378h0"></path>
+<path d="M570.5 1378h0"></path>
+<rect x="525" y="1367" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="1382">"."</text>
+</g>
+<path d="M570.5 1378h10"></path>
+<path d="M580.5 1378h10"></path>
+<g class="non-terminal">
+<path d="M590.5 1378h0"></path>
+<path d="M670 1378h0"></path>
+<rect x="590.5" y="1367" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="630.25" y="1382">CDSName</text>
+</a>
+</g>
+<path d="M670 1378h10"></path>
+<g>
+<path d="M680 1378h0"></path>
+<path d="M850.5 1378h0"></path>
+<path d="M680 1378a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M700 1358h130.5"></path>
+</g>
+<path d="M830.5 1358a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M680 1378h20"></path>
+<g class="non-terminal">
+<path d="M700 1378h0"></path>
+<path d="M830.5 1378h0"></path>
+<rect x="700" y="1367" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="765.25" y="1382">CDSParameters</text>
+</a>
+</g>
+<path d="M830.5 1378h20"></path>
+</g>
+</g>
+<path d="M850.5 1378h10"></path>
+<path d="M525 1378a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M525 1398h325.5"></path>
+</g>
+<path d="M850.5 1398a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M860.5 1378h20"></path>
+</g>
+</g>
+<path d="M880.5 1378a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M215 1211a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 1417h0"></path>
+<path d="M297.5 1417h583"></path>
+<rect x="235" y="1406" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="1421">^\d+$</text>
+</g>
+<path d="M880.5 1417a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M900.5 1211h10"></path>
+<g class="terminal">
+<path d="M910.5 1211h0"></path>
+<path d="M956 1211h0"></path>
+<rect x="910.5" y="1200" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="933.25" y="1215">")"</text>
+</g>
+</g>
+<path d="M4070.5 1211a10 10 0 0 0 10 -10v-1160a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1396a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1447h0"></path>
+<path d="M956 1447h3114.5"></path>
+<g class="terminal">
+<path d="M60 1447h0"></path>
+<path d="M139.5 1447h0"></path>
+<rect x="60" y="1436" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="1451">"LOWER"</text>
+</g>
+<path d="M139.5 1447h10"></path>
+<path d="M149.5 1447h10"></path>
+<g class="terminal">
+<path d="M159.5 1447h0"></path>
+<path d="M205 1447h0"></path>
+<rect x="159.5" y="1436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="1451">"("</text>
+</g>
+<path d="M205 1447h10"></path>
+<g>
+<path d="M215 1447h0"></path>
+<path d="M900.5 1447h0"></path>
+<path d="M215 1447h20"></path>
+<g class="non-terminal">
+<path d="M235 1447h0"></path>
+<path d="M314.5 1447h566"></path>
+<rect x="235" y="1436" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="274.75" y="1451">CDSCast</text>
+</a>
+</g>
+<path d="M880.5 1447h20"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1477h0"></path>
+<path d="M348.5 1477h532"></path>
+<rect x="235" y="1466" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="291.75" y="1481">CDSFunction</text>
+</a>
+</g>
+<path d="M880.5 1477a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1507h0"></path>
+<path d="M374 1507h506.5"></path>
+<rect x="235" y="1496" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="304.5" y="1511">CDSArithmetics</text>
+</a>
+</g>
+<path d="M880.5 1507a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1537h0"></path>
+<path d="M314.5 1537h566"></path>
+<rect x="235" y="1526" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="274.75" y="1541">CDSCase</text>
+</a>
+</g>
+<path d="M880.5 1537a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 1567h0"></path>
+<path d="M331.5 1567h549"></path>
+<rect x="235" y="1556" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="283.25" y="1571">CDSString</text>
+</a>
+</g>
+<path d="M880.5 1567a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 1614h0"></path>
+<path d="M880.5 1614h0"></path>
+<g class="non-terminal">
+<path d="M235 1614h0"></path>
+<path d="M314.5 1614h0"></path>
+<rect x="235" y="1603" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.75" y="1618">CDSName</text>
+</a>
+</g>
+<path d="M314.5 1614h10"></path>
+<g>
+<path d="M324.5 1614h0"></path>
+<path d="M495 1614h0"></path>
+<path d="M324.5 1614a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 1594h130.5"></path>
+</g>
+<path d="M475 1594a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 1614h20"></path>
+<g class="non-terminal">
+<path d="M344.5 1614h0"></path>
+<path d="M475 1614h0"></path>
+<rect x="344.5" y="1603" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="409.75" y="1618">CDSParameters</text>
+</a>
+</g>
+<path d="M475 1614h20"></path>
+</g>
+<g>
+<path d="M495 1614h0"></path>
+<path d="M880.5 1614h0"></path>
+<path d="M495 1614a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 1586h345.5"></path>
+</g>
+<path d="M860.5 1586a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M495 1614h20"></path>
+<g>
+<path d="M515 1614h0"></path>
+<path d="M860.5 1614h0"></path>
+<path d="M515 1614h10"></path>
+<g>
+<path d="M525 1614h0"></path>
+<path d="M850.5 1614h0"></path>
+<g class="terminal">
+<path d="M525 1614h0"></path>
+<path d="M570.5 1614h0"></path>
+<rect x="525" y="1603" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="1618">"."</text>
+</g>
+<path d="M570.5 1614h10"></path>
+<path d="M580.5 1614h10"></path>
+<g class="non-terminal">
+<path d="M590.5 1614h0"></path>
+<path d="M670 1614h0"></path>
+<rect x="590.5" y="1603" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="630.25" y="1618">CDSName</text>
+</a>
+</g>
+<path d="M670 1614h10"></path>
+<g>
+<path d="M680 1614h0"></path>
+<path d="M850.5 1614h0"></path>
+<path d="M680 1614a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M700 1594h130.5"></path>
+</g>
+<path d="M830.5 1594a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M680 1614h20"></path>
+<g class="non-terminal">
+<path d="M700 1614h0"></path>
+<path d="M830.5 1614h0"></path>
+<rect x="700" y="1603" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="765.25" y="1618">CDSParameters</text>
+</a>
+</g>
+<path d="M830.5 1614h20"></path>
+</g>
+</g>
+<path d="M850.5 1614h10"></path>
+<path d="M525 1614a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M525 1634h325.5"></path>
+</g>
+<path d="M850.5 1634a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M860.5 1614h20"></path>
+</g>
+</g>
+<path d="M880.5 1614a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M215 1447a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 1653h0"></path>
+<path d="M297.5 1653h583"></path>
+<rect x="235" y="1642" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="1657">^\d+$</text>
+</g>
+<path d="M880.5 1653a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M900.5 1447h10"></path>
+<g class="terminal">
+<path d="M910.5 1447h0"></path>
+<path d="M956 1447h0"></path>
+<rect x="910.5" y="1436" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="933.25" y="1451">")"</text>
+</g>
+</g>
+<path d="M4070.5 1447a10 10 0 0 0 10 -10v-1396a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1632a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1683h0"></path>
+<path d="M939 1683h3131.5"></path>
+<g class="terminal">
+<path d="M60 1683h0"></path>
+<path d="M122.5 1683h0"></path>
+<rect x="60" y="1672" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="1687">"ABS"</text>
+</g>
+<path d="M122.5 1683h10"></path>
+<path d="M132.5 1683h10"></path>
+<g class="terminal">
+<path d="M142.5 1683h0"></path>
+<path d="M188 1683h0"></path>
+<rect x="142.5" y="1672" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="1687">"("</text>
+</g>
+<path d="M188 1683h10"></path>
+<g>
+<path d="M198 1683h0"></path>
+<path d="M883.5 1683h0"></path>
+<path d="M198 1683h20"></path>
+<g class="non-terminal">
+<path d="M218 1683h0"></path>
+<path d="M297.5 1683h566"></path>
+<rect x="218" y="1672" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="257.75" y="1687">CDSCast</text>
+</a>
+</g>
+<path d="M863.5 1683h20"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 1713h0"></path>
+<path d="M331.5 1713h532"></path>
+<rect x="218" y="1702" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="274.75" y="1717">CDSFunction</text>
+</a>
+</g>
+<path d="M863.5 1713a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 1743h0"></path>
+<path d="M357 1743h506.5"></path>
+<rect x="218" y="1732" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="287.5" y="1747">CDSArithmetics</text>
+</a>
+</g>
+<path d="M863.5 1743a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 1773h0"></path>
+<path d="M297.5 1773h566"></path>
+<rect x="218" y="1762" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="257.75" y="1777">CDSCase</text>
+</a>
+</g>
+<path d="M863.5 1773a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 1803h0"></path>
+<path d="M314.5 1803h549"></path>
+<rect x="218" y="1792" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="266.25" y="1807">CDSString</text>
+</a>
+</g>
+<path d="M863.5 1803a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M218 1850h0"></path>
+<path d="M863.5 1850h0"></path>
+<g class="non-terminal">
+<path d="M218 1850h0"></path>
+<path d="M297.5 1850h0"></path>
+<rect x="218" y="1839" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="257.75" y="1854">CDSName</text>
+</a>
+</g>
+<path d="M297.5 1850h10"></path>
+<g>
+<path d="M307.5 1850h0"></path>
+<path d="M478 1850h0"></path>
+<path d="M307.5 1850a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M327.5 1830h130.5"></path>
+</g>
+<path d="M458 1830a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M307.5 1850h20"></path>
+<g class="non-terminal">
+<path d="M327.5 1850h0"></path>
+<path d="M458 1850h0"></path>
+<rect x="327.5" y="1839" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="392.75" y="1854">CDSParameters</text>
+</a>
+</g>
+<path d="M458 1850h20"></path>
+</g>
+<g>
+<path d="M478 1850h0"></path>
+<path d="M863.5 1850h0"></path>
+<path d="M478 1850a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M498 1822h345.5"></path>
+</g>
+<path d="M843.5 1822a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M478 1850h20"></path>
+<g>
+<path d="M498 1850h0"></path>
+<path d="M843.5 1850h0"></path>
+<path d="M498 1850h10"></path>
+<g>
+<path d="M508 1850h0"></path>
+<path d="M833.5 1850h0"></path>
+<g class="terminal">
+<path d="M508 1850h0"></path>
+<path d="M553.5 1850h0"></path>
+<rect x="508" y="1839" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="530.75" y="1854">"."</text>
+</g>
+<path d="M553.5 1850h10"></path>
+<path d="M563.5 1850h10"></path>
+<g class="non-terminal">
+<path d="M573.5 1850h0"></path>
+<path d="M653 1850h0"></path>
+<rect x="573.5" y="1839" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="613.25" y="1854">CDSName</text>
+</a>
+</g>
+<path d="M653 1850h10"></path>
+<g>
+<path d="M663 1850h0"></path>
+<path d="M833.5 1850h0"></path>
+<path d="M663 1850a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M683 1830h130.5"></path>
+</g>
+<path d="M813.5 1830a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M663 1850h20"></path>
+<g class="non-terminal">
+<path d="M683 1850h0"></path>
+<path d="M813.5 1850h0"></path>
+<rect x="683" y="1839" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="748.25" y="1854">CDSParameters</text>
+</a>
+</g>
+<path d="M813.5 1850h20"></path>
+</g>
+</g>
+<path d="M833.5 1850h10"></path>
+<path d="M508 1850a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508 1870h325.5"></path>
+</g>
+<path d="M833.5 1870a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M843.5 1850h20"></path>
+</g>
+</g>
+<path d="M863.5 1850a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M198 1683a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 1889h0"></path>
+<path d="M280.5 1889h583"></path>
+<rect x="218" y="1878" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="249.25" y="1893">^\d+$</text>
+</g>
+<path d="M863.5 1889a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M883.5 1683h10"></path>
+<g class="terminal">
+<path d="M893.5 1683h0"></path>
+<path d="M939 1683h0"></path>
+<rect x="893.5" y="1672" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="916.25" y="1687">")"</text>
+</g>
+</g>
+<path d="M4070.5 1683a10 10 0 0 0 10 -10v-1632a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v1868a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 1919h0"></path>
+<path d="M947.5 1919h3123"></path>
+<g class="terminal">
+<path d="M60 1919h0"></path>
+<path d="M131 1919h0"></path>
+<rect x="60" y="1908" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="1923">"CEIL"</text>
+</g>
+<path d="M131 1919h10"></path>
+<path d="M141 1919h10"></path>
+<g class="terminal">
+<path d="M151 1919h0"></path>
+<path d="M196.5 1919h0"></path>
+<rect x="151" y="1908" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="173.75" y="1923">"("</text>
+</g>
+<path d="M196.5 1919h10"></path>
+<g>
+<path d="M206.5 1919h0"></path>
+<path d="M892 1919h0"></path>
+<path d="M206.5 1919h20"></path>
+<g class="non-terminal">
+<path d="M226.5 1919h0"></path>
+<path d="M306 1919h566"></path>
+<rect x="226.5" y="1908" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="266.25" y="1923">CDSCast</text>
+</a>
+</g>
+<path d="M872 1919h20"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 1949h0"></path>
+<path d="M340 1949h532"></path>
+<rect x="226.5" y="1938" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="283.25" y="1953">CDSFunction</text>
+</a>
+</g>
+<path d="M872 1949a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 1979h0"></path>
+<path d="M365.5 1979h506.5"></path>
+<rect x="226.5" y="1968" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="296" y="1983">CDSArithmetics</text>
+</a>
+</g>
+<path d="M872 1979a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 2009h0"></path>
+<path d="M306 2009h566"></path>
+<rect x="226.5" y="1998" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="266.25" y="2013">CDSCase</text>
+</a>
+</g>
+<path d="M872 2009a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 2039h0"></path>
+<path d="M323 2039h549"></path>
+<rect x="226.5" y="2028" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="274.75" y="2043">CDSString</text>
+</a>
+</g>
+<path d="M872 2039a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M226.5 2086h0"></path>
+<path d="M872 2086h0"></path>
+<g class="non-terminal">
+<path d="M226.5 2086h0"></path>
+<path d="M306 2086h0"></path>
+<rect x="226.5" y="2075" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="266.25" y="2090">CDSName</text>
+</a>
+</g>
+<path d="M306 2086h10"></path>
+<g>
+<path d="M316 2086h0"></path>
+<path d="M486.5 2086h0"></path>
+<path d="M316 2086a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M336 2066h130.5"></path>
+</g>
+<path d="M466.5 2066a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M316 2086h20"></path>
+<g class="non-terminal">
+<path d="M336 2086h0"></path>
+<path d="M466.5 2086h0"></path>
+<rect x="336" y="2075" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="401.25" y="2090">CDSParameters</text>
+</a>
+</g>
+<path d="M466.5 2086h20"></path>
+</g>
+<g>
+<path d="M486.5 2086h0"></path>
+<path d="M872 2086h0"></path>
+<path d="M486.5 2086a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M506.5 2058h345.5"></path>
+</g>
+<path d="M852 2058a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M486.5 2086h20"></path>
+<g>
+<path d="M506.5 2086h0"></path>
+<path d="M852 2086h0"></path>
+<path d="M506.5 2086h10"></path>
+<g>
+<path d="M516.5 2086h0"></path>
+<path d="M842 2086h0"></path>
+<g class="terminal">
+<path d="M516.5 2086h0"></path>
+<path d="M562 2086h0"></path>
+<rect x="516.5" y="2075" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="539.25" y="2090">"."</text>
+</g>
+<path d="M562 2086h10"></path>
+<path d="M572 2086h10"></path>
+<g class="non-terminal">
+<path d="M582 2086h0"></path>
+<path d="M661.5 2086h0"></path>
+<rect x="582" y="2075" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="621.75" y="2090">CDSName</text>
+</a>
+</g>
+<path d="M661.5 2086h10"></path>
+<g>
+<path d="M671.5 2086h0"></path>
+<path d="M842 2086h0"></path>
+<path d="M671.5 2086a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M691.5 2066h130.5"></path>
+</g>
+<path d="M822 2066a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M671.5 2086h20"></path>
+<g class="non-terminal">
+<path d="M691.5 2086h0"></path>
+<path d="M822 2086h0"></path>
+<rect x="691.5" y="2075" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="756.75" y="2090">CDSParameters</text>
+</a>
+</g>
+<path d="M822 2086h20"></path>
+</g>
+</g>
+<path d="M842 2086h10"></path>
+<path d="M516.5 2086a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M516.5 2106h325.5"></path>
+</g>
+<path d="M842 2106a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M852 2086h20"></path>
+</g>
+</g>
+<path d="M872 2086a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 1919a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M226.5 2125h0"></path>
+<path d="M289 2125h583"></path>
+<rect x="226.5" y="2114" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="2129">^\d+$</text>
+</g>
+<path d="M872 2125a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M892 1919h10"></path>
+<g class="terminal">
+<path d="M902 1919h0"></path>
+<path d="M947.5 1919h0"></path>
+<rect x="902" y="1908" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="924.75" y="1923">")"</text>
+</g>
+</g>
+<path d="M4070.5 1919a10 10 0 0 0 10 -10v-1868a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2104a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 2155h0"></path>
+<path d="M956 2155h3114.5"></path>
+<g class="terminal">
+<path d="M60 2155h0"></path>
+<path d="M139.5 2155h0"></path>
+<rect x="60" y="2144" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="2159">"FLOOR"</text>
+</g>
+<path d="M139.5 2155h10"></path>
+<path d="M149.5 2155h10"></path>
+<g class="terminal">
+<path d="M159.5 2155h0"></path>
+<path d="M205 2155h0"></path>
+<rect x="159.5" y="2144" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="2159">"("</text>
+</g>
+<path d="M205 2155h10"></path>
+<g>
+<path d="M215 2155h0"></path>
+<path d="M900.5 2155h0"></path>
+<path d="M215 2155h20"></path>
+<g class="non-terminal">
+<path d="M235 2155h0"></path>
+<path d="M314.5 2155h566"></path>
+<rect x="235" y="2144" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="274.75" y="2159">CDSCast</text>
+</a>
+</g>
+<path d="M880.5 2155h20"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2185h0"></path>
+<path d="M348.5 2185h532"></path>
+<rect x="235" y="2174" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="291.75" y="2189">CDSFunction</text>
+</a>
+</g>
+<path d="M880.5 2185a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2215h0"></path>
+<path d="M374 2215h506.5"></path>
+<rect x="235" y="2204" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="304.5" y="2219">CDSArithmetics</text>
+</a>
+</g>
+<path d="M880.5 2215a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2245h0"></path>
+<path d="M314.5 2245h566"></path>
+<rect x="235" y="2234" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="274.75" y="2249">CDSCase</text>
+</a>
+</g>
+<path d="M880.5 2245a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2275h0"></path>
+<path d="M331.5 2275h549"></path>
+<rect x="235" y="2264" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="283.25" y="2279">CDSString</text>
+</a>
+</g>
+<path d="M880.5 2275a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 2322h0"></path>
+<path d="M880.5 2322h0"></path>
+<g class="non-terminal">
+<path d="M235 2322h0"></path>
+<path d="M314.5 2322h0"></path>
+<rect x="235" y="2311" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.75" y="2326">CDSName</text>
+</a>
+</g>
+<path d="M314.5 2322h10"></path>
+<g>
+<path d="M324.5 2322h0"></path>
+<path d="M495 2322h0"></path>
+<path d="M324.5 2322a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 2302h130.5"></path>
+</g>
+<path d="M475 2302a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 2322h20"></path>
+<g class="non-terminal">
+<path d="M344.5 2322h0"></path>
+<path d="M475 2322h0"></path>
+<rect x="344.5" y="2311" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="409.75" y="2326">CDSParameters</text>
+</a>
+</g>
+<path d="M475 2322h20"></path>
+</g>
+<g>
+<path d="M495 2322h0"></path>
+<path d="M880.5 2322h0"></path>
+<path d="M495 2322a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 2294h345.5"></path>
+</g>
+<path d="M860.5 2294a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M495 2322h20"></path>
+<g>
+<path d="M515 2322h0"></path>
+<path d="M860.5 2322h0"></path>
+<path d="M515 2322h10"></path>
+<g>
+<path d="M525 2322h0"></path>
+<path d="M850.5 2322h0"></path>
+<g class="terminal">
+<path d="M525 2322h0"></path>
+<path d="M570.5 2322h0"></path>
+<rect x="525" y="2311" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="2326">"."</text>
+</g>
+<path d="M570.5 2322h10"></path>
+<path d="M580.5 2322h10"></path>
+<g class="non-terminal">
+<path d="M590.5 2322h0"></path>
+<path d="M670 2322h0"></path>
+<rect x="590.5" y="2311" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="630.25" y="2326">CDSName</text>
+</a>
+</g>
+<path d="M670 2322h10"></path>
+<g>
+<path d="M680 2322h0"></path>
+<path d="M850.5 2322h0"></path>
+<path d="M680 2322a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M700 2302h130.5"></path>
+</g>
+<path d="M830.5 2302a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M680 2322h20"></path>
+<g class="non-terminal">
+<path d="M700 2322h0"></path>
+<path d="M830.5 2322h0"></path>
+<rect x="700" y="2311" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="765.25" y="2326">CDSParameters</text>
+</a>
+</g>
+<path d="M830.5 2322h20"></path>
+</g>
+</g>
+<path d="M850.5 2322h10"></path>
+<path d="M525 2322a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M525 2342h325.5"></path>
+</g>
+<path d="M850.5 2342a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M860.5 2322h20"></path>
+</g>
+</g>
+<path d="M880.5 2322a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M215 2155a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 2361h0"></path>
+<path d="M297.5 2361h583"></path>
+<rect x="235" y="2350" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="2365">^\d+$</text>
+</g>
+<path d="M880.5 2361a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M900.5 2155h10"></path>
+<g class="terminal">
+<path d="M910.5 2155h0"></path>
+<path d="M956 2155h0"></path>
+<rect x="910.5" y="2144" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="933.25" y="2159">")"</text>
+</g>
+</g>
+<path d="M4070.5 2155a10 10 0 0 0 10 -10v-2104a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2340a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 2391h0"></path>
+<path d="M1707 2391h2363.5"></path>
+<g class="terminal">
+<path d="M60 2391h0"></path>
+<path d="M139.5 2391h0"></path>
+<rect x="60" y="2380" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="2395">"ROUND"</text>
+</g>
+<path d="M139.5 2391h10"></path>
+<path d="M149.5 2391h10"></path>
+<g class="terminal">
+<path d="M159.5 2391h0"></path>
+<path d="M205 2391h0"></path>
+<rect x="159.5" y="2380" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="2395">"("</text>
+</g>
+<path d="M205 2391h10"></path>
+<g>
+<path d="M215 2391h0"></path>
+<path d="M900.5 2391h0"></path>
+<path d="M215 2391h20"></path>
+<g class="non-terminal">
+<path d="M235 2391h0"></path>
+<path d="M314.5 2391h566"></path>
+<rect x="235" y="2380" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="274.75" y="2395">CDSCast</text>
+</a>
+</g>
+<path d="M880.5 2391h20"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2421h0"></path>
+<path d="M348.5 2421h532"></path>
+<rect x="235" y="2410" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="291.75" y="2425">CDSFunction</text>
+</a>
+</g>
+<path d="M880.5 2421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2451h0"></path>
+<path d="M374 2451h506.5"></path>
+<rect x="235" y="2440" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="304.5" y="2455">CDSArithmetics</text>
+</a>
+</g>
+<path d="M880.5 2451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2481h0"></path>
+<path d="M314.5 2481h566"></path>
+<rect x="235" y="2470" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="274.75" y="2485">CDSCase</text>
+</a>
+</g>
+<path d="M880.5 2481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 2511h0"></path>
+<path d="M331.5 2511h549"></path>
+<rect x="235" y="2500" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="283.25" y="2515">CDSString</text>
+</a>
+</g>
+<path d="M880.5 2511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 2558h0"></path>
+<path d="M880.5 2558h0"></path>
+<g class="non-terminal">
+<path d="M235 2558h0"></path>
+<path d="M314.5 2558h0"></path>
+<rect x="235" y="2547" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.75" y="2562">CDSName</text>
+</a>
+</g>
+<path d="M314.5 2558h10"></path>
+<g>
+<path d="M324.5 2558h0"></path>
+<path d="M495 2558h0"></path>
+<path d="M324.5 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 2538h130.5"></path>
+</g>
+<path d="M475 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 2558h20"></path>
+<g class="non-terminal">
+<path d="M344.5 2558h0"></path>
+<path d="M475 2558h0"></path>
+<rect x="344.5" y="2547" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="409.75" y="2562">CDSParameters</text>
+</a>
+</g>
+<path d="M475 2558h20"></path>
+</g>
+<g>
+<path d="M495 2558h0"></path>
+<path d="M880.5 2558h0"></path>
+<path d="M495 2558a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 2530h345.5"></path>
+</g>
+<path d="M860.5 2530a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M495 2558h20"></path>
+<g>
+<path d="M515 2558h0"></path>
+<path d="M860.5 2558h0"></path>
+<path d="M515 2558h10"></path>
+<g>
+<path d="M525 2558h0"></path>
+<path d="M850.5 2558h0"></path>
+<g class="terminal">
+<path d="M525 2558h0"></path>
+<path d="M570.5 2558h0"></path>
+<rect x="525" y="2547" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="2562">"."</text>
+</g>
+<path d="M570.5 2558h10"></path>
+<path d="M580.5 2558h10"></path>
+<g class="non-terminal">
+<path d="M590.5 2558h0"></path>
+<path d="M670 2558h0"></path>
+<rect x="590.5" y="2547" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="630.25" y="2562">CDSName</text>
+</a>
+</g>
+<path d="M670 2558h10"></path>
+<g>
+<path d="M680 2558h0"></path>
+<path d="M850.5 2558h0"></path>
+<path d="M680 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M700 2538h130.5"></path>
+</g>
+<path d="M830.5 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M680 2558h20"></path>
+<g class="non-terminal">
+<path d="M700 2558h0"></path>
+<path d="M830.5 2558h0"></path>
+<rect x="700" y="2547" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="765.25" y="2562">CDSParameters</text>
+</a>
+</g>
+<path d="M830.5 2558h20"></path>
+</g>
+</g>
+<path d="M850.5 2558h10"></path>
+<path d="M525 2558a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M525 2578h325.5"></path>
+</g>
+<path d="M850.5 2578a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M860.5 2558h20"></path>
+</g>
+</g>
+<path d="M880.5 2558a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M215 2391a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 2597h0"></path>
+<path d="M297.5 2597h583"></path>
+<rect x="235" y="2586" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="2601">^\d+$</text>
+</g>
+<path d="M880.5 2597a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M900.5 2391h10"></path>
+<g class="terminal">
+<path d="M910.5 2391h0"></path>
+<path d="M956 2391h0"></path>
+<rect x="910.5" y="2380" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="933.25" y="2395">","</text>
+</g>
+<path d="M956 2391h10"></path>
+<g>
+<path d="M966 2391h0"></path>
+<path d="M1651.5 2391h0"></path>
+<path d="M966 2391h20"></path>
+<g class="non-terminal">
+<path d="M986 2391h0"></path>
+<path d="M1065.5 2391h566"></path>
+<rect x="986" y="2380" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1025.75" y="2395">CDSCast</text>
+</a>
+</g>
+<path d="M1631.5 2391h20"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 2421h0"></path>
+<path d="M1099.5 2421h532"></path>
+<rect x="986" y="2410" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1042.75" y="2425">CDSFunction</text>
+</a>
+</g>
+<path d="M1631.5 2421a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 2451h0"></path>
+<path d="M1125 2451h506.5"></path>
+<rect x="986" y="2440" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1055.5" y="2455">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1631.5 2451a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 2481h0"></path>
+<path d="M1065.5 2481h566"></path>
+<rect x="986" y="2470" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1025.75" y="2485">CDSCase</text>
+</a>
+</g>
+<path d="M1631.5 2481a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 2511h0"></path>
+<path d="M1082.5 2511h549"></path>
+<rect x="986" y="2500" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1034.25" y="2515">CDSString</text>
+</a>
+</g>
+<path d="M1631.5 2511a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M986 2558h0"></path>
+<path d="M1631.5 2558h0"></path>
+<g class="non-terminal">
+<path d="M986 2558h0"></path>
+<path d="M1065.5 2558h0"></path>
+<rect x="986" y="2547" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1025.75" y="2562">CDSName</text>
+</a>
+</g>
+<path d="M1065.5 2558h10"></path>
+<g>
+<path d="M1075.5 2558h0"></path>
+<path d="M1246 2558h0"></path>
+<path d="M1075.5 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1095.5 2538h130.5"></path>
+</g>
+<path d="M1226 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1075.5 2558h20"></path>
+<g class="non-terminal">
+<path d="M1095.5 2558h0"></path>
+<path d="M1226 2558h0"></path>
+<rect x="1095.5" y="2547" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1160.75" y="2562">CDSParameters</text>
+</a>
+</g>
+<path d="M1226 2558h20"></path>
+</g>
+<g>
+<path d="M1246 2558h0"></path>
+<path d="M1631.5 2558h0"></path>
+<path d="M1246 2558a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1266 2530h345.5"></path>
+</g>
+<path d="M1611.5 2530a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1246 2558h20"></path>
+<g>
+<path d="M1266 2558h0"></path>
+<path d="M1611.5 2558h0"></path>
+<path d="M1266 2558h10"></path>
+<g>
+<path d="M1276 2558h0"></path>
+<path d="M1601.5 2558h0"></path>
+<g class="terminal">
+<path d="M1276 2558h0"></path>
+<path d="M1321.5 2558h0"></path>
+<rect x="1276" y="2547" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1298.75" y="2562">"."</text>
+</g>
+<path d="M1321.5 2558h10"></path>
+<path d="M1331.5 2558h10"></path>
+<g class="non-terminal">
+<path d="M1341.5 2558h0"></path>
+<path d="M1421 2558h0"></path>
+<rect x="1341.5" y="2547" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1381.25" y="2562">CDSName</text>
+</a>
+</g>
+<path d="M1421 2558h10"></path>
+<g>
+<path d="M1431 2558h0"></path>
+<path d="M1601.5 2558h0"></path>
+<path d="M1431 2558a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1451 2538h130.5"></path>
+</g>
+<path d="M1581.5 2538a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1431 2558h20"></path>
+<g class="non-terminal">
+<path d="M1451 2558h0"></path>
+<path d="M1581.5 2558h0"></path>
+<rect x="1451" y="2547" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1516.25" y="2562">CDSParameters</text>
+</a>
+</g>
+<path d="M1581.5 2558h20"></path>
+</g>
+</g>
+<path d="M1601.5 2558h10"></path>
+<path d="M1276 2558a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1276 2578h325.5"></path>
+</g>
+<path d="M1601.5 2578a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1611.5 2558h20"></path>
+</g>
+</g>
+<path d="M1631.5 2558a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M966 2391a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M986 2597h0"></path>
+<path d="M1048.5 2597h583"></path>
+<rect x="986" y="2586" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.25" y="2601">^\d+$</text>
+</g>
+<path d="M1631.5 2597a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1651.5 2391h10"></path>
+<g class="terminal">
+<path d="M1661.5 2391h0"></path>
+<path d="M1707 2391h0"></path>
+<rect x="1661.5" y="2380" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1684.25" y="2395">")"</text>
+</g>
+</g>
+<path d="M4070.5 2391a10 10 0 0 0 10 -10v-2340a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2576a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 2627h0"></path>
+<path d="M1690 2627h2380.5"></path>
+<g class="terminal">
+<path d="M60 2627h0"></path>
+<path d="M122.5 2627h0"></path>
+<rect x="60" y="2616" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="2631">"DIV"</text>
+</g>
+<path d="M122.5 2627h10"></path>
+<path d="M132.5 2627h10"></path>
+<g class="terminal">
+<path d="M142.5 2627h0"></path>
+<path d="M188 2627h0"></path>
+<rect x="142.5" y="2616" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="2631">"("</text>
+</g>
+<path d="M188 2627h10"></path>
+<g>
+<path d="M198 2627h0"></path>
+<path d="M883.5 2627h0"></path>
+<path d="M198 2627h20"></path>
+<g class="non-terminal">
+<path d="M218 2627h0"></path>
+<path d="M297.5 2627h566"></path>
+<rect x="218" y="2616" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="257.75" y="2631">CDSCast</text>
+</a>
+</g>
+<path d="M863.5 2627h20"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 2657h0"></path>
+<path d="M331.5 2657h532"></path>
+<rect x="218" y="2646" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="274.75" y="2661">CDSFunction</text>
+</a>
+</g>
+<path d="M863.5 2657a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 2687h0"></path>
+<path d="M357 2687h506.5"></path>
+<rect x="218" y="2676" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="287.5" y="2691">CDSArithmetics</text>
+</a>
+</g>
+<path d="M863.5 2687a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 2717h0"></path>
+<path d="M297.5 2717h566"></path>
+<rect x="218" y="2706" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="257.75" y="2721">CDSCase</text>
+</a>
+</g>
+<path d="M863.5 2717a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 2747h0"></path>
+<path d="M314.5 2747h549"></path>
+<rect x="218" y="2736" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="266.25" y="2751">CDSString</text>
+</a>
+</g>
+<path d="M863.5 2747a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M218 2794h0"></path>
+<path d="M863.5 2794h0"></path>
+<g class="non-terminal">
+<path d="M218 2794h0"></path>
+<path d="M297.5 2794h0"></path>
+<rect x="218" y="2783" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="257.75" y="2798">CDSName</text>
+</a>
+</g>
+<path d="M297.5 2794h10"></path>
+<g>
+<path d="M307.5 2794h0"></path>
+<path d="M478 2794h0"></path>
+<path d="M307.5 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M327.5 2774h130.5"></path>
+</g>
+<path d="M458 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M307.5 2794h20"></path>
+<g class="non-terminal">
+<path d="M327.5 2794h0"></path>
+<path d="M458 2794h0"></path>
+<rect x="327.5" y="2783" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="392.75" y="2798">CDSParameters</text>
+</a>
+</g>
+<path d="M458 2794h20"></path>
+</g>
+<g>
+<path d="M478 2794h0"></path>
+<path d="M863.5 2794h0"></path>
+<path d="M478 2794a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M498 2766h345.5"></path>
+</g>
+<path d="M843.5 2766a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M478 2794h20"></path>
+<g>
+<path d="M498 2794h0"></path>
+<path d="M843.5 2794h0"></path>
+<path d="M498 2794h10"></path>
+<g>
+<path d="M508 2794h0"></path>
+<path d="M833.5 2794h0"></path>
+<g class="terminal">
+<path d="M508 2794h0"></path>
+<path d="M553.5 2794h0"></path>
+<rect x="508" y="2783" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="530.75" y="2798">"."</text>
+</g>
+<path d="M553.5 2794h10"></path>
+<path d="M563.5 2794h10"></path>
+<g class="non-terminal">
+<path d="M573.5 2794h0"></path>
+<path d="M653 2794h0"></path>
+<rect x="573.5" y="2783" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="613.25" y="2798">CDSName</text>
+</a>
+</g>
+<path d="M653 2794h10"></path>
+<g>
+<path d="M663 2794h0"></path>
+<path d="M833.5 2794h0"></path>
+<path d="M663 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M683 2774h130.5"></path>
+</g>
+<path d="M813.5 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M663 2794h20"></path>
+<g class="non-terminal">
+<path d="M683 2794h0"></path>
+<path d="M813.5 2794h0"></path>
+<rect x="683" y="2783" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="748.25" y="2798">CDSParameters</text>
+</a>
+</g>
+<path d="M813.5 2794h20"></path>
+</g>
+</g>
+<path d="M833.5 2794h10"></path>
+<path d="M508 2794a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508 2814h325.5"></path>
+</g>
+<path d="M833.5 2814a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M843.5 2794h20"></path>
+</g>
+</g>
+<path d="M863.5 2794a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M198 2627a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 2833h0"></path>
+<path d="M280.5 2833h583"></path>
+<rect x="218" y="2822" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="249.25" y="2837">^\d+$</text>
+</g>
+<path d="M863.5 2833a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M883.5 2627h10"></path>
+<g class="terminal">
+<path d="M893.5 2627h0"></path>
+<path d="M939 2627h0"></path>
+<rect x="893.5" y="2616" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="916.25" y="2631">","</text>
+</g>
+<path d="M939 2627h10"></path>
+<g>
+<path d="M949 2627h0"></path>
+<path d="M1634.5 2627h0"></path>
+<path d="M949 2627h20"></path>
+<g class="non-terminal">
+<path d="M969 2627h0"></path>
+<path d="M1048.5 2627h566"></path>
+<rect x="969" y="2616" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1008.75" y="2631">CDSCast</text>
+</a>
+</g>
+<path d="M1614.5 2627h20"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 2657h0"></path>
+<path d="M1082.5 2657h532"></path>
+<rect x="969" y="2646" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1025.75" y="2661">CDSFunction</text>
+</a>
+</g>
+<path d="M1614.5 2657a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 2687h0"></path>
+<path d="M1108 2687h506.5"></path>
+<rect x="969" y="2676" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1038.5" y="2691">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1614.5 2687a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 2717h0"></path>
+<path d="M1048.5 2717h566"></path>
+<rect x="969" y="2706" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1008.75" y="2721">CDSCase</text>
+</a>
+</g>
+<path d="M1614.5 2717a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 2747h0"></path>
+<path d="M1065.5 2747h549"></path>
+<rect x="969" y="2736" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1017.25" y="2751">CDSString</text>
+</a>
+</g>
+<path d="M1614.5 2747a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M969 2794h0"></path>
+<path d="M1614.5 2794h0"></path>
+<g class="non-terminal">
+<path d="M969 2794h0"></path>
+<path d="M1048.5 2794h0"></path>
+<rect x="969" y="2783" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1008.75" y="2798">CDSName</text>
+</a>
+</g>
+<path d="M1048.5 2794h10"></path>
+<g>
+<path d="M1058.5 2794h0"></path>
+<path d="M1229 2794h0"></path>
+<path d="M1058.5 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1078.5 2774h130.5"></path>
+</g>
+<path d="M1209 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1058.5 2794h20"></path>
+<g class="non-terminal">
+<path d="M1078.5 2794h0"></path>
+<path d="M1209 2794h0"></path>
+<rect x="1078.5" y="2783" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1143.75" y="2798">CDSParameters</text>
+</a>
+</g>
+<path d="M1209 2794h20"></path>
+</g>
+<g>
+<path d="M1229 2794h0"></path>
+<path d="M1614.5 2794h0"></path>
+<path d="M1229 2794a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1249 2766h345.5"></path>
+</g>
+<path d="M1594.5 2766a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1229 2794h20"></path>
+<g>
+<path d="M1249 2794h0"></path>
+<path d="M1594.5 2794h0"></path>
+<path d="M1249 2794h10"></path>
+<g>
+<path d="M1259 2794h0"></path>
+<path d="M1584.5 2794h0"></path>
+<g class="terminal">
+<path d="M1259 2794h0"></path>
+<path d="M1304.5 2794h0"></path>
+<rect x="1259" y="2783" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1281.75" y="2798">"."</text>
+</g>
+<path d="M1304.5 2794h10"></path>
+<path d="M1314.5 2794h10"></path>
+<g class="non-terminal">
+<path d="M1324.5 2794h0"></path>
+<path d="M1404 2794h0"></path>
+<rect x="1324.5" y="2783" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1364.25" y="2798">CDSName</text>
+</a>
+</g>
+<path d="M1404 2794h10"></path>
+<g>
+<path d="M1414 2794h0"></path>
+<path d="M1584.5 2794h0"></path>
+<path d="M1414 2794a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1434 2774h130.5"></path>
+</g>
+<path d="M1564.5 2774a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1414 2794h20"></path>
+<g class="non-terminal">
+<path d="M1434 2794h0"></path>
+<path d="M1564.5 2794h0"></path>
+<rect x="1434" y="2783" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1499.25" y="2798">CDSParameters</text>
+</a>
+</g>
+<path d="M1564.5 2794h20"></path>
+</g>
+</g>
+<path d="M1584.5 2794h10"></path>
+<path d="M1259 2794a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1259 2814h325.5"></path>
+</g>
+<path d="M1584.5 2814a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1594.5 2794h20"></path>
+</g>
+</g>
+<path d="M1614.5 2794a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M949 2627a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M969 2833h0"></path>
+<path d="M1031.5 2833h583"></path>
+<rect x="969" y="2822" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1000.25" y="2837">^\d+$</text>
+</g>
+<path d="M1614.5 2833a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1634.5 2627h10"></path>
+<g class="terminal">
+<path d="M1644.5 2627h0"></path>
+<path d="M1690 2627h0"></path>
+<rect x="1644.5" y="2616" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1667.25" y="2631">")"</text>
+</g>
+</g>
+<path d="M4070.5 2627a10 10 0 0 0 10 -10v-2576a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v2812a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 2863h0"></path>
+<path d="M1732.5 2863h2338"></path>
+<g class="terminal">
+<path d="M60 2863h0"></path>
+<path d="M165 2863h0"></path>
+<rect x="60" y="2852" width="105" height="22" rx="10" ry="10"></rect>
+<text x="112.5" y="2867">"DIVISION"</text>
+</g>
+<path d="M165 2863h10"></path>
+<path d="M175 2863h10"></path>
+<g class="terminal">
+<path d="M185 2863h0"></path>
+<path d="M230.5 2863h0"></path>
+<rect x="185" y="2852" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="2867">"("</text>
+</g>
+<path d="M230.5 2863h10"></path>
+<g>
+<path d="M240.5 2863h0"></path>
+<path d="M926 2863h0"></path>
+<path d="M240.5 2863h20"></path>
+<g class="non-terminal">
+<path d="M260.5 2863h0"></path>
+<path d="M340 2863h566"></path>
+<rect x="260.5" y="2852" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="300.25" y="2867">CDSCast</text>
+</a>
+</g>
+<path d="M906 2863h20"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 2893h0"></path>
+<path d="M374 2893h532"></path>
+<rect x="260.5" y="2882" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="317.25" y="2897">CDSFunction</text>
+</a>
+</g>
+<path d="M906 2893a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 2923h0"></path>
+<path d="M399.5 2923h506.5"></path>
+<rect x="260.5" y="2912" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="330" y="2927">CDSArithmetics</text>
+</a>
+</g>
+<path d="M906 2923a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 2953h0"></path>
+<path d="M340 2953h566"></path>
+<rect x="260.5" y="2942" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="300.25" y="2957">CDSCase</text>
+</a>
+</g>
+<path d="M906 2953a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 2983h0"></path>
+<path d="M357 2983h549"></path>
+<rect x="260.5" y="2972" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="308.75" y="2987">CDSString</text>
+</a>
+</g>
+<path d="M906 2983a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M260.5 3030h0"></path>
+<path d="M906 3030h0"></path>
+<g class="non-terminal">
+<path d="M260.5 3030h0"></path>
+<path d="M340 3030h0"></path>
+<rect x="260.5" y="3019" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="300.25" y="3034">CDSName</text>
+</a>
+</g>
+<path d="M340 3030h10"></path>
+<g>
+<path d="M350 3030h0"></path>
+<path d="M520.5 3030h0"></path>
+<path d="M350 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M370 3010h130.5"></path>
+</g>
+<path d="M500.5 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M350 3030h20"></path>
+<g class="non-terminal">
+<path d="M370 3030h0"></path>
+<path d="M500.5 3030h0"></path>
+<rect x="370" y="3019" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="435.25" y="3034">CDSParameters</text>
+</a>
+</g>
+<path d="M500.5 3030h20"></path>
+</g>
+<g>
+<path d="M520.5 3030h0"></path>
+<path d="M906 3030h0"></path>
+<path d="M520.5 3030a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M540.5 3002h345.5"></path>
+</g>
+<path d="M886 3002a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M520.5 3030h20"></path>
+<g>
+<path d="M540.5 3030h0"></path>
+<path d="M886 3030h0"></path>
+<path d="M540.5 3030h10"></path>
+<g>
+<path d="M550.5 3030h0"></path>
+<path d="M876 3030h0"></path>
+<g class="terminal">
+<path d="M550.5 3030h0"></path>
+<path d="M596 3030h0"></path>
+<rect x="550.5" y="3019" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="3034">"."</text>
+</g>
+<path d="M596 3030h10"></path>
+<path d="M606 3030h10"></path>
+<g class="non-terminal">
+<path d="M616 3030h0"></path>
+<path d="M695.5 3030h0"></path>
+<rect x="616" y="3019" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="655.75" y="3034">CDSName</text>
+</a>
+</g>
+<path d="M695.5 3030h10"></path>
+<g>
+<path d="M705.5 3030h0"></path>
+<path d="M876 3030h0"></path>
+<path d="M705.5 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M725.5 3010h130.5"></path>
+</g>
+<path d="M856 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M705.5 3030h20"></path>
+<g class="non-terminal">
+<path d="M725.5 3030h0"></path>
+<path d="M856 3030h0"></path>
+<rect x="725.5" y="3019" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="790.75" y="3034">CDSParameters</text>
+</a>
+</g>
+<path d="M856 3030h20"></path>
+</g>
+</g>
+<path d="M876 3030h10"></path>
+<path d="M550.5 3030a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M550.5 3050h325.5"></path>
+</g>
+<path d="M876 3050a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M886 3030h20"></path>
+</g>
+</g>
+<path d="M906 3030a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 2863a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 3069h0"></path>
+<path d="M323 3069h583"></path>
+<rect x="260.5" y="3058" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="3073">^\d+$</text>
+</g>
+<path d="M906 3069a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M926 2863h10"></path>
+<g class="terminal">
+<path d="M936 2863h0"></path>
+<path d="M981.5 2863h0"></path>
+<rect x="936" y="2852" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="958.75" y="2867">","</text>
+</g>
+<path d="M981.5 2863h10"></path>
+<g>
+<path d="M991.5 2863h0"></path>
+<path d="M1677 2863h0"></path>
+<path d="M991.5 2863h20"></path>
+<g class="non-terminal">
+<path d="M1011.5 2863h0"></path>
+<path d="M1091 2863h566"></path>
+<rect x="1011.5" y="2852" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1051.25" y="2867">CDSCast</text>
+</a>
+</g>
+<path d="M1657 2863h20"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 2893h0"></path>
+<path d="M1125 2893h532"></path>
+<rect x="1011.5" y="2882" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1068.25" y="2897">CDSFunction</text>
+</a>
+</g>
+<path d="M1657 2893a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 2923h0"></path>
+<path d="M1150.5 2923h506.5"></path>
+<rect x="1011.5" y="2912" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1081" y="2927">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1657 2923a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 2953h0"></path>
+<path d="M1091 2953h566"></path>
+<rect x="1011.5" y="2942" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1051.25" y="2957">CDSCase</text>
+</a>
+</g>
+<path d="M1657 2953a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1011.5 2983h0"></path>
+<path d="M1108 2983h549"></path>
+<rect x="1011.5" y="2972" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1059.75" y="2987">CDSString</text>
+</a>
+</g>
+<path d="M1657 2983a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1011.5 3030h0"></path>
+<path d="M1657 3030h0"></path>
+<g class="non-terminal">
+<path d="M1011.5 3030h0"></path>
+<path d="M1091 3030h0"></path>
+<rect x="1011.5" y="3019" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1051.25" y="3034">CDSName</text>
+</a>
+</g>
+<path d="M1091 3030h10"></path>
+<g>
+<path d="M1101 3030h0"></path>
+<path d="M1271.5 3030h0"></path>
+<path d="M1101 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1121 3010h130.5"></path>
+</g>
+<path d="M1251.5 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1101 3030h20"></path>
+<g class="non-terminal">
+<path d="M1121 3030h0"></path>
+<path d="M1251.5 3030h0"></path>
+<rect x="1121" y="3019" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1186.25" y="3034">CDSParameters</text>
+</a>
+</g>
+<path d="M1251.5 3030h20"></path>
+</g>
+<g>
+<path d="M1271.5 3030h0"></path>
+<path d="M1657 3030h0"></path>
+<path d="M1271.5 3030a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1291.5 3002h345.5"></path>
+</g>
+<path d="M1637 3002a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1271.5 3030h20"></path>
+<g>
+<path d="M1291.5 3030h0"></path>
+<path d="M1637 3030h0"></path>
+<path d="M1291.5 3030h10"></path>
+<g>
+<path d="M1301.5 3030h0"></path>
+<path d="M1627 3030h0"></path>
+<g class="terminal">
+<path d="M1301.5 3030h0"></path>
+<path d="M1347 3030h0"></path>
+<rect x="1301.5" y="3019" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1324.25" y="3034">"."</text>
+</g>
+<path d="M1347 3030h10"></path>
+<path d="M1357 3030h10"></path>
+<g class="non-terminal">
+<path d="M1367 3030h0"></path>
+<path d="M1446.5 3030h0"></path>
+<rect x="1367" y="3019" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1406.75" y="3034">CDSName</text>
+</a>
+</g>
+<path d="M1446.5 3030h10"></path>
+<g>
+<path d="M1456.5 3030h0"></path>
+<path d="M1627 3030h0"></path>
+<path d="M1456.5 3030a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1476.5 3010h130.5"></path>
+</g>
+<path d="M1607 3010a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1456.5 3030h20"></path>
+<g class="non-terminal">
+<path d="M1476.5 3030h0"></path>
+<path d="M1607 3030h0"></path>
+<rect x="1476.5" y="3019" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1541.75" y="3034">CDSParameters</text>
+</a>
+</g>
+<path d="M1607 3030h20"></path>
+</g>
+</g>
+<path d="M1627 3030h10"></path>
+<path d="M1301.5 3030a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1301.5 3050h325.5"></path>
+</g>
+<path d="M1627 3050a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1637 3030h20"></path>
+</g>
+</g>
+<path d="M1657 3030a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M991.5 2863a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1011.5 3069h0"></path>
+<path d="M1074 3069h583"></path>
+<rect x="1011.5" y="3058" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1042.75" y="3073">^\d+$</text>
+</g>
+<path d="M1657 3069a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1677 2863h10"></path>
+<g class="terminal">
+<path d="M1687 2863h0"></path>
+<path d="M1732.5 2863h0"></path>
+<rect x="1687" y="2852" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1709.75" y="2867">")"</text>
+</g>
+</g>
+<path d="M4070.5 2863a10 10 0 0 0 10 -10v-2812a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3048a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 3099h0"></path>
+<path d="M2560 3099h1510.5"></path>
+<g class="terminal">
+<path d="M60 3099h0"></path>
+<path d="M241.5 3099h0"></path>
+<rect x="60" y="3088" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="150.75" y="3103">"CONCAT&#95;WITH&#95;SPACE"</text>
+</g>
+<path d="M241.5 3099h10"></path>
+<path d="M251.5 3099h10"></path>
+<g class="terminal">
+<path d="M261.5 3099h0"></path>
+<path d="M307 3099h0"></path>
+<rect x="261.5" y="3088" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="284.25" y="3103">"("</text>
+</g>
+<path d="M307 3099h10"></path>
+<g>
+<path d="M317 3099h0"></path>
+<path d="M1002.5 3099h0"></path>
+<path d="M317 3099h20"></path>
+<g class="non-terminal">
+<path d="M337 3099h0"></path>
+<path d="M416.5 3099h566"></path>
+<rect x="337" y="3088" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="376.75" y="3103">CDSCast</text>
+</a>
+</g>
+<path d="M982.5 3099h20"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3129h0"></path>
+<path d="M450.5 3129h532"></path>
+<rect x="337" y="3118" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="393.75" y="3133">CDSFunction</text>
+</a>
+</g>
+<path d="M982.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3159h0"></path>
+<path d="M476 3159h506.5"></path>
+<rect x="337" y="3148" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="406.5" y="3163">CDSArithmetics</text>
+</a>
+</g>
+<path d="M982.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3189h0"></path>
+<path d="M416.5 3189h566"></path>
+<rect x="337" y="3178" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="376.75" y="3193">CDSCase</text>
+</a>
+</g>
+<path d="M982.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3219h0"></path>
+<path d="M433.5 3219h549"></path>
+<rect x="337" y="3208" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="385.25" y="3223">CDSString</text>
+</a>
+</g>
+<path d="M982.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M337 3266h0"></path>
+<path d="M982.5 3266h0"></path>
+<g class="non-terminal">
+<path d="M337 3266h0"></path>
+<path d="M416.5 3266h0"></path>
+<rect x="337" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="376.75" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M416.5 3266h10"></path>
+<g>
+<path d="M426.5 3266h0"></path>
+<path d="M597 3266h0"></path>
+<path d="M426.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M446.5 3246h130.5"></path>
+</g>
+<path d="M577 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M426.5 3266h20"></path>
+<g class="non-terminal">
+<path d="M446.5 3266h0"></path>
+<path d="M577 3266h0"></path>
+<rect x="446.5" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="511.75" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M577 3266h20"></path>
+</g>
+<g>
+<path d="M597 3266h0"></path>
+<path d="M982.5 3266h0"></path>
+<path d="M597 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M617 3238h345.5"></path>
+</g>
+<path d="M962.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M597 3266h20"></path>
+<g>
+<path d="M617 3266h0"></path>
+<path d="M962.5 3266h0"></path>
+<path d="M617 3266h10"></path>
+<g>
+<path d="M627 3266h0"></path>
+<path d="M952.5 3266h0"></path>
+<g class="terminal">
+<path d="M627 3266h0"></path>
+<path d="M672.5 3266h0"></path>
+<rect x="627" y="3255" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="649.75" y="3270">"."</text>
+</g>
+<path d="M672.5 3266h10"></path>
+<path d="M682.5 3266h10"></path>
+<g class="non-terminal">
+<path d="M692.5 3266h0"></path>
+<path d="M772 3266h0"></path>
+<rect x="692.5" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="732.25" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M772 3266h10"></path>
+<g>
+<path d="M782 3266h0"></path>
+<path d="M952.5 3266h0"></path>
+<path d="M782 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M802 3246h130.5"></path>
+</g>
+<path d="M932.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M782 3266h20"></path>
+<g class="non-terminal">
+<path d="M802 3266h0"></path>
+<path d="M932.5 3266h0"></path>
+<rect x="802" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="867.25" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M932.5 3266h20"></path>
+</g>
+</g>
+<path d="M952.5 3266h10"></path>
+<path d="M627 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M627 3286h325.5"></path>
+</g>
+<path d="M952.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M962.5 3266h20"></path>
+</g>
+</g>
+<path d="M982.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M317 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M337 3305h0"></path>
+<path d="M399.5 3305h583"></path>
+<rect x="337" y="3294" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="368.25" y="3309">^\d+$</text>
+</g>
+<path d="M982.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1002.5 3099h10"></path>
+<g class="terminal">
+<path d="M1012.5 3099h0"></path>
+<path d="M1058 3099h0"></path>
+<rect x="1012.5" y="3088" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1035.25" y="3103">","</text>
+</g>
+<path d="M1058 3099h10"></path>
+<g>
+<path d="M1068 3099h0"></path>
+<path d="M1753.5 3099h0"></path>
+<path d="M1068 3099h20"></path>
+<g class="non-terminal">
+<path d="M1088 3099h0"></path>
+<path d="M1167.5 3099h566"></path>
+<rect x="1088" y="3088" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1127.75" y="3103">CDSCast</text>
+</a>
+</g>
+<path d="M1733.5 3099h20"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3129h0"></path>
+<path d="M1201.5 3129h532"></path>
+<rect x="1088" y="3118" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1144.75" y="3133">CDSFunction</text>
+</a>
+</g>
+<path d="M1733.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3159h0"></path>
+<path d="M1227 3159h506.5"></path>
+<rect x="1088" y="3148" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1157.5" y="3163">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1733.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3189h0"></path>
+<path d="M1167.5 3189h566"></path>
+<rect x="1088" y="3178" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1127.75" y="3193">CDSCase</text>
+</a>
+</g>
+<path d="M1733.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3219h0"></path>
+<path d="M1184.5 3219h549"></path>
+<rect x="1088" y="3208" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1136.25" y="3223">CDSString</text>
+</a>
+</g>
+<path d="M1733.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1088 3266h0"></path>
+<path d="M1733.5 3266h0"></path>
+<g class="non-terminal">
+<path d="M1088 3266h0"></path>
+<path d="M1167.5 3266h0"></path>
+<rect x="1088" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1127.75" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M1167.5 3266h10"></path>
+<g>
+<path d="M1177.5 3266h0"></path>
+<path d="M1348 3266h0"></path>
+<path d="M1177.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1197.5 3246h130.5"></path>
+</g>
+<path d="M1328 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1177.5 3266h20"></path>
+<g class="non-terminal">
+<path d="M1197.5 3266h0"></path>
+<path d="M1328 3266h0"></path>
+<rect x="1197.5" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1262.75" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M1328 3266h20"></path>
+</g>
+<g>
+<path d="M1348 3266h0"></path>
+<path d="M1733.5 3266h0"></path>
+<path d="M1348 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1368 3238h345.5"></path>
+</g>
+<path d="M1713.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1348 3266h20"></path>
+<g>
+<path d="M1368 3266h0"></path>
+<path d="M1713.5 3266h0"></path>
+<path d="M1368 3266h10"></path>
+<g>
+<path d="M1378 3266h0"></path>
+<path d="M1703.5 3266h0"></path>
+<g class="terminal">
+<path d="M1378 3266h0"></path>
+<path d="M1423.5 3266h0"></path>
+<rect x="1378" y="3255" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1400.75" y="3270">"."</text>
+</g>
+<path d="M1423.5 3266h10"></path>
+<path d="M1433.5 3266h10"></path>
+<g class="non-terminal">
+<path d="M1443.5 3266h0"></path>
+<path d="M1523 3266h0"></path>
+<rect x="1443.5" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1483.25" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M1523 3266h10"></path>
+<g>
+<path d="M1533 3266h0"></path>
+<path d="M1703.5 3266h0"></path>
+<path d="M1533 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1553 3246h130.5"></path>
+</g>
+<path d="M1683.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1533 3266h20"></path>
+<g class="non-terminal">
+<path d="M1553 3266h0"></path>
+<path d="M1683.5 3266h0"></path>
+<rect x="1553" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1618.25" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M1683.5 3266h20"></path>
+</g>
+</g>
+<path d="M1703.5 3266h10"></path>
+<path d="M1378 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1378 3286h325.5"></path>
+</g>
+<path d="M1703.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1713.5 3266h20"></path>
+</g>
+</g>
+<path d="M1733.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1088 3305h0"></path>
+<path d="M1150.5 3305h583"></path>
+<rect x="1088" y="3294" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1119.25" y="3309">^\d+$</text>
+</g>
+<path d="M1733.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1753.5 3099h10"></path>
+<g class="terminal">
+<path d="M1763.5 3099h0"></path>
+<path d="M1809 3099h0"></path>
+<rect x="1763.5" y="3088" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1786.25" y="3103">","</text>
+</g>
+<path d="M1809 3099h10"></path>
+<g>
+<path d="M1819 3099h0"></path>
+<path d="M2504.5 3099h0"></path>
+<path d="M1819 3099h20"></path>
+<g class="non-terminal">
+<path d="M1839 3099h0"></path>
+<path d="M1918.5 3099h566"></path>
+<rect x="1839" y="3088" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1878.75" y="3103">CDSCast</text>
+</a>
+</g>
+<path d="M2484.5 3099h20"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3129h0"></path>
+<path d="M1952.5 3129h532"></path>
+<rect x="1839" y="3118" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1895.75" y="3133">CDSFunction</text>
+</a>
+</g>
+<path d="M2484.5 3129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3159h0"></path>
+<path d="M1978 3159h506.5"></path>
+<rect x="1839" y="3148" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1908.5" y="3163">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2484.5 3159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3189h0"></path>
+<path d="M1918.5 3189h566"></path>
+<rect x="1839" y="3178" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1878.75" y="3193">CDSCase</text>
+</a>
+</g>
+<path d="M2484.5 3189a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3219h0"></path>
+<path d="M1935.5 3219h549"></path>
+<rect x="1839" y="3208" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1887.25" y="3223">CDSString</text>
+</a>
+</g>
+<path d="M2484.5 3219a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1839 3266h0"></path>
+<path d="M2484.5 3266h0"></path>
+<g class="non-terminal">
+<path d="M1839 3266h0"></path>
+<path d="M1918.5 3266h0"></path>
+<rect x="1839" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1878.75" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M1918.5 3266h10"></path>
+<g>
+<path d="M1928.5 3266h0"></path>
+<path d="M2099 3266h0"></path>
+<path d="M1928.5 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1948.5 3246h130.5"></path>
+</g>
+<path d="M2079 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1928.5 3266h20"></path>
+<g class="non-terminal">
+<path d="M1948.5 3266h0"></path>
+<path d="M2079 3266h0"></path>
+<rect x="1948.5" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2013.75" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M2079 3266h20"></path>
+</g>
+<g>
+<path d="M2099 3266h0"></path>
+<path d="M2484.5 3266h0"></path>
+<path d="M2099 3266a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2119 3238h345.5"></path>
+</g>
+<path d="M2464.5 3238a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2099 3266h20"></path>
+<g>
+<path d="M2119 3266h0"></path>
+<path d="M2464.5 3266h0"></path>
+<path d="M2119 3266h10"></path>
+<g>
+<path d="M2129 3266h0"></path>
+<path d="M2454.5 3266h0"></path>
+<g class="terminal">
+<path d="M2129 3266h0"></path>
+<path d="M2174.5 3266h0"></path>
+<rect x="2129" y="3255" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2151.75" y="3270">"."</text>
+</g>
+<path d="M2174.5 3266h10"></path>
+<path d="M2184.5 3266h10"></path>
+<g class="non-terminal">
+<path d="M2194.5 3266h0"></path>
+<path d="M2274 3266h0"></path>
+<rect x="2194.5" y="3255" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2234.25" y="3270">CDSName</text>
+</a>
+</g>
+<path d="M2274 3266h10"></path>
+<g>
+<path d="M2284 3266h0"></path>
+<path d="M2454.5 3266h0"></path>
+<path d="M2284 3266a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2304 3246h130.5"></path>
+</g>
+<path d="M2434.5 3246a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2284 3266h20"></path>
+<g class="non-terminal">
+<path d="M2304 3266h0"></path>
+<path d="M2434.5 3266h0"></path>
+<rect x="2304" y="3255" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2369.25" y="3270">CDSParameters</text>
+</a>
+</g>
+<path d="M2434.5 3266h20"></path>
+</g>
+</g>
+<path d="M2454.5 3266h10"></path>
+<path d="M2129 3266a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2129 3286h325.5"></path>
+</g>
+<path d="M2454.5 3286a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2464.5 3266h20"></path>
+</g>
+</g>
+<path d="M2484.5 3266a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3099a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1839 3305h0"></path>
+<path d="M1901.5 3305h583"></path>
+<rect x="1839" y="3294" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1870.25" y="3309">^\d+$</text>
+</g>
+<path d="M2484.5 3305a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2504.5 3099h10"></path>
+<g class="terminal">
+<path d="M2514.5 3099h0"></path>
+<path d="M2560 3099h0"></path>
+<rect x="2514.5" y="3088" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2537.25" y="3103">")"</text>
+</g>
+</g>
+<path d="M4070.5 3099a10 10 0 0 0 10 -10v-3048a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3284a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 3335h0"></path>
+<path d="M1024 3335h3046.5"></path>
+<g class="terminal">
+<path d="M60 3335h0"></path>
+<path d="M207.5 3335h0"></path>
+<rect x="60" y="3324" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="133.75" y="3339">"DATS&#95;IS&#95;VALID"</text>
+</g>
+<path d="M207.5 3335h10"></path>
+<path d="M217.5 3335h10"></path>
+<g class="terminal">
+<path d="M227.5 3335h0"></path>
+<path d="M273 3335h0"></path>
+<rect x="227.5" y="3324" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="3339">"("</text>
+</g>
+<path d="M273 3335h10"></path>
+<g>
+<path d="M283 3335h0"></path>
+<path d="M968.5 3335h0"></path>
+<path d="M283 3335h20"></path>
+<g class="non-terminal">
+<path d="M303 3335h0"></path>
+<path d="M382.5 3335h566"></path>
+<rect x="303" y="3324" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="342.75" y="3339">CDSCast</text>
+</a>
+</g>
+<path d="M948.5 3335h20"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 3365h0"></path>
+<path d="M416.5 3365h532"></path>
+<rect x="303" y="3354" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="359.75" y="3369">CDSFunction</text>
+</a>
+</g>
+<path d="M948.5 3365a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 3395h0"></path>
+<path d="M442 3395h506.5"></path>
+<rect x="303" y="3384" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="372.5" y="3399">CDSArithmetics</text>
+</a>
+</g>
+<path d="M948.5 3395a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 3425h0"></path>
+<path d="M382.5 3425h566"></path>
+<rect x="303" y="3414" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="342.75" y="3429">CDSCase</text>
+</a>
+</g>
+<path d="M948.5 3425a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 3455h0"></path>
+<path d="M399.5 3455h549"></path>
+<rect x="303" y="3444" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="351.25" y="3459">CDSString</text>
+</a>
+</g>
+<path d="M948.5 3455a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303 3502h0"></path>
+<path d="M948.5 3502h0"></path>
+<g class="non-terminal">
+<path d="M303 3502h0"></path>
+<path d="M382.5 3502h0"></path>
+<rect x="303" y="3491" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="342.75" y="3506">CDSName</text>
+</a>
+</g>
+<path d="M382.5 3502h10"></path>
+<g>
+<path d="M392.5 3502h0"></path>
+<path d="M563 3502h0"></path>
+<path d="M392.5 3502a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M412.5 3482h130.5"></path>
+</g>
+<path d="M543 3482a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M392.5 3502h20"></path>
+<g class="non-terminal">
+<path d="M412.5 3502h0"></path>
+<path d="M543 3502h0"></path>
+<rect x="412.5" y="3491" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="477.75" y="3506">CDSParameters</text>
+</a>
+</g>
+<path d="M543 3502h20"></path>
+</g>
+<g>
+<path d="M563 3502h0"></path>
+<path d="M948.5 3502h0"></path>
+<path d="M563 3502a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M583 3474h345.5"></path>
+</g>
+<path d="M928.5 3474a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M563 3502h20"></path>
+<g>
+<path d="M583 3502h0"></path>
+<path d="M928.5 3502h0"></path>
+<path d="M583 3502h10"></path>
+<g>
+<path d="M593 3502h0"></path>
+<path d="M918.5 3502h0"></path>
+<g class="terminal">
+<path d="M593 3502h0"></path>
+<path d="M638.5 3502h0"></path>
+<rect x="593" y="3491" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="615.75" y="3506">"."</text>
+</g>
+<path d="M638.5 3502h10"></path>
+<path d="M648.5 3502h10"></path>
+<g class="non-terminal">
+<path d="M658.5 3502h0"></path>
+<path d="M738 3502h0"></path>
+<rect x="658.5" y="3491" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="698.25" y="3506">CDSName</text>
+</a>
+</g>
+<path d="M738 3502h10"></path>
+<g>
+<path d="M748 3502h0"></path>
+<path d="M918.5 3502h0"></path>
+<path d="M748 3502a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M768 3482h130.5"></path>
+</g>
+<path d="M898.5 3482a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M748 3502h20"></path>
+<g class="non-terminal">
+<path d="M768 3502h0"></path>
+<path d="M898.5 3502h0"></path>
+<rect x="768" y="3491" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="833.25" y="3506">CDSParameters</text>
+</a>
+</g>
+<path d="M898.5 3502h20"></path>
+</g>
+</g>
+<path d="M918.5 3502h10"></path>
+<path d="M593 3502a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M593 3522h325.5"></path>
+</g>
+<path d="M918.5 3522a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M928.5 3502h20"></path>
+</g>
+</g>
+<path d="M948.5 3502a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M283 3335a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M303 3541h0"></path>
+<path d="M365.5 3541h583"></path>
+<rect x="303" y="3530" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="3545">^\d+$</text>
+</g>
+<path d="M948.5 3541a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M968.5 3335h10"></path>
+<g class="terminal">
+<path d="M978.5 3335h0"></path>
+<path d="M1024 3335h0"></path>
+<rect x="978.5" y="3324" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1001.25" y="3339">")"</text>
+</g>
+</g>
+<path d="M4070.5 3335a10 10 0 0 0 10 -10v-3284a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3520a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 3571h0"></path>
+<path d="M1809 3571h2261.5"></path>
+<g class="terminal">
+<path d="M60 3571h0"></path>
+<path d="M241.5 3571h0"></path>
+<rect x="60" y="3560" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="150.75" y="3575">"DATS&#95;DAYS&#95;BETWEEN"</text>
+</g>
+<path d="M241.5 3571h10"></path>
+<path d="M251.5 3571h10"></path>
+<g class="terminal">
+<path d="M261.5 3571h0"></path>
+<path d="M307 3571h0"></path>
+<rect x="261.5" y="3560" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="284.25" y="3575">"("</text>
+</g>
+<path d="M307 3571h10"></path>
+<g>
+<path d="M317 3571h0"></path>
+<path d="M1002.5 3571h0"></path>
+<path d="M317 3571h20"></path>
+<g class="non-terminal">
+<path d="M337 3571h0"></path>
+<path d="M416.5 3571h566"></path>
+<rect x="337" y="3560" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="376.75" y="3575">CDSCast</text>
+</a>
+</g>
+<path d="M982.5 3571h20"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3601h0"></path>
+<path d="M450.5 3601h532"></path>
+<rect x="337" y="3590" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="393.75" y="3605">CDSFunction</text>
+</a>
+</g>
+<path d="M982.5 3601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3631h0"></path>
+<path d="M476 3631h506.5"></path>
+<rect x="337" y="3620" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="406.5" y="3635">CDSArithmetics</text>
+</a>
+</g>
+<path d="M982.5 3631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3661h0"></path>
+<path d="M416.5 3661h566"></path>
+<rect x="337" y="3650" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="376.75" y="3665">CDSCase</text>
+</a>
+</g>
+<path d="M982.5 3661a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3691h0"></path>
+<path d="M433.5 3691h549"></path>
+<rect x="337" y="3680" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="385.25" y="3695">CDSString</text>
+</a>
+</g>
+<path d="M982.5 3691a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M337 3738h0"></path>
+<path d="M982.5 3738h0"></path>
+<g class="non-terminal">
+<path d="M337 3738h0"></path>
+<path d="M416.5 3738h0"></path>
+<rect x="337" y="3727" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="376.75" y="3742">CDSName</text>
+</a>
+</g>
+<path d="M416.5 3738h10"></path>
+<g>
+<path d="M426.5 3738h0"></path>
+<path d="M597 3738h0"></path>
+<path d="M426.5 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M446.5 3718h130.5"></path>
+</g>
+<path d="M577 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M426.5 3738h20"></path>
+<g class="non-terminal">
+<path d="M446.5 3738h0"></path>
+<path d="M577 3738h0"></path>
+<rect x="446.5" y="3727" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="511.75" y="3742">CDSParameters</text>
+</a>
+</g>
+<path d="M577 3738h20"></path>
+</g>
+<g>
+<path d="M597 3738h0"></path>
+<path d="M982.5 3738h0"></path>
+<path d="M597 3738a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M617 3710h345.5"></path>
+</g>
+<path d="M962.5 3710a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M597 3738h20"></path>
+<g>
+<path d="M617 3738h0"></path>
+<path d="M962.5 3738h0"></path>
+<path d="M617 3738h10"></path>
+<g>
+<path d="M627 3738h0"></path>
+<path d="M952.5 3738h0"></path>
+<g class="terminal">
+<path d="M627 3738h0"></path>
+<path d="M672.5 3738h0"></path>
+<rect x="627" y="3727" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="649.75" y="3742">"."</text>
+</g>
+<path d="M672.5 3738h10"></path>
+<path d="M682.5 3738h10"></path>
+<g class="non-terminal">
+<path d="M692.5 3738h0"></path>
+<path d="M772 3738h0"></path>
+<rect x="692.5" y="3727" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="732.25" y="3742">CDSName</text>
+</a>
+</g>
+<path d="M772 3738h10"></path>
+<g>
+<path d="M782 3738h0"></path>
+<path d="M952.5 3738h0"></path>
+<path d="M782 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M802 3718h130.5"></path>
+</g>
+<path d="M932.5 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M782 3738h20"></path>
+<g class="non-terminal">
+<path d="M802 3738h0"></path>
+<path d="M932.5 3738h0"></path>
+<rect x="802" y="3727" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="867.25" y="3742">CDSParameters</text>
+</a>
+</g>
+<path d="M932.5 3738h20"></path>
+</g>
+</g>
+<path d="M952.5 3738h10"></path>
+<path d="M627 3738a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M627 3758h325.5"></path>
+</g>
+<path d="M952.5 3758a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M962.5 3738h20"></path>
+</g>
+</g>
+<path d="M982.5 3738a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M317 3571a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M337 3777h0"></path>
+<path d="M399.5 3777h583"></path>
+<rect x="337" y="3766" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="368.25" y="3781">^\d+$</text>
+</g>
+<path d="M982.5 3777a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1002.5 3571h10"></path>
+<g class="terminal">
+<path d="M1012.5 3571h0"></path>
+<path d="M1058 3571h0"></path>
+<rect x="1012.5" y="3560" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1035.25" y="3575">","</text>
+</g>
+<path d="M1058 3571h10"></path>
+<g>
+<path d="M1068 3571h0"></path>
+<path d="M1753.5 3571h0"></path>
+<path d="M1068 3571h20"></path>
+<g class="non-terminal">
+<path d="M1088 3571h0"></path>
+<path d="M1167.5 3571h566"></path>
+<rect x="1088" y="3560" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1127.75" y="3575">CDSCast</text>
+</a>
+</g>
+<path d="M1733.5 3571h20"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3601h0"></path>
+<path d="M1201.5 3601h532"></path>
+<rect x="1088" y="3590" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1144.75" y="3605">CDSFunction</text>
+</a>
+</g>
+<path d="M1733.5 3601a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3631h0"></path>
+<path d="M1227 3631h506.5"></path>
+<rect x="1088" y="3620" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1157.5" y="3635">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1733.5 3631a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3661h0"></path>
+<path d="M1167.5 3661h566"></path>
+<rect x="1088" y="3650" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1127.75" y="3665">CDSCase</text>
+</a>
+</g>
+<path d="M1733.5 3661a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3691h0"></path>
+<path d="M1184.5 3691h549"></path>
+<rect x="1088" y="3680" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1136.25" y="3695">CDSString</text>
+</a>
+</g>
+<path d="M1733.5 3691a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1088 3738h0"></path>
+<path d="M1733.5 3738h0"></path>
+<g class="non-terminal">
+<path d="M1088 3738h0"></path>
+<path d="M1167.5 3738h0"></path>
+<rect x="1088" y="3727" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1127.75" y="3742">CDSName</text>
+</a>
+</g>
+<path d="M1167.5 3738h10"></path>
+<g>
+<path d="M1177.5 3738h0"></path>
+<path d="M1348 3738h0"></path>
+<path d="M1177.5 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1197.5 3718h130.5"></path>
+</g>
+<path d="M1328 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1177.5 3738h20"></path>
+<g class="non-terminal">
+<path d="M1197.5 3738h0"></path>
+<path d="M1328 3738h0"></path>
+<rect x="1197.5" y="3727" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1262.75" y="3742">CDSParameters</text>
+</a>
+</g>
+<path d="M1328 3738h20"></path>
+</g>
+<g>
+<path d="M1348 3738h0"></path>
+<path d="M1733.5 3738h0"></path>
+<path d="M1348 3738a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1368 3710h345.5"></path>
+</g>
+<path d="M1713.5 3710a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1348 3738h20"></path>
+<g>
+<path d="M1368 3738h0"></path>
+<path d="M1713.5 3738h0"></path>
+<path d="M1368 3738h10"></path>
+<g>
+<path d="M1378 3738h0"></path>
+<path d="M1703.5 3738h0"></path>
+<g class="terminal">
+<path d="M1378 3738h0"></path>
+<path d="M1423.5 3738h0"></path>
+<rect x="1378" y="3727" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1400.75" y="3742">"."</text>
+</g>
+<path d="M1423.5 3738h10"></path>
+<path d="M1433.5 3738h10"></path>
+<g class="non-terminal">
+<path d="M1443.5 3738h0"></path>
+<path d="M1523 3738h0"></path>
+<rect x="1443.5" y="3727" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1483.25" y="3742">CDSName</text>
+</a>
+</g>
+<path d="M1523 3738h10"></path>
+<g>
+<path d="M1533 3738h0"></path>
+<path d="M1703.5 3738h0"></path>
+<path d="M1533 3738a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1553 3718h130.5"></path>
+</g>
+<path d="M1683.5 3718a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1533 3738h20"></path>
+<g class="non-terminal">
+<path d="M1553 3738h0"></path>
+<path d="M1683.5 3738h0"></path>
+<rect x="1553" y="3727" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1618.25" y="3742">CDSParameters</text>
+</a>
+</g>
+<path d="M1683.5 3738h20"></path>
+</g>
+</g>
+<path d="M1703.5 3738h10"></path>
+<path d="M1378 3738a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1378 3758h325.5"></path>
+</g>
+<path d="M1703.5 3758a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1713.5 3738h20"></path>
+</g>
+</g>
+<path d="M1733.5 3738a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3571a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1088 3777h0"></path>
+<path d="M1150.5 3777h583"></path>
+<rect x="1088" y="3766" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1119.25" y="3781">^\d+$</text>
+</g>
+<path d="M1733.5 3777a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1753.5 3571h10"></path>
+<g class="terminal">
+<path d="M1763.5 3571h0"></path>
+<path d="M1809 3571h0"></path>
+<rect x="1763.5" y="3560" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1786.25" y="3575">")"</text>
+</g>
+</g>
+<path d="M4070.5 3571a10 10 0 0 0 10 -10v-3520a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3756a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 3807h0"></path>
+<path d="M2560 3807h1510.5"></path>
+<g class="terminal">
+<path d="M60 3807h0"></path>
+<path d="M241.5 3807h0"></path>
+<rect x="60" y="3796" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="150.75" y="3811">"TSTMP&#95;ADD&#95;SECONDS"</text>
+</g>
+<path d="M241.5 3807h10"></path>
+<path d="M251.5 3807h10"></path>
+<g class="terminal">
+<path d="M261.5 3807h0"></path>
+<path d="M307 3807h0"></path>
+<rect x="261.5" y="3796" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="284.25" y="3811">"("</text>
+</g>
+<path d="M307 3807h10"></path>
+<g>
+<path d="M317 3807h0"></path>
+<path d="M1002.5 3807h0"></path>
+<path d="M317 3807h20"></path>
+<g class="non-terminal">
+<path d="M337 3807h0"></path>
+<path d="M416.5 3807h566"></path>
+<rect x="337" y="3796" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="376.75" y="3811">CDSCast</text>
+</a>
+</g>
+<path d="M982.5 3807h20"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3837h0"></path>
+<path d="M450.5 3837h532"></path>
+<rect x="337" y="3826" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="393.75" y="3841">CDSFunction</text>
+</a>
+</g>
+<path d="M982.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3867h0"></path>
+<path d="M476 3867h506.5"></path>
+<rect x="337" y="3856" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="406.5" y="3871">CDSArithmetics</text>
+</a>
+</g>
+<path d="M982.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3897h0"></path>
+<path d="M416.5 3897h566"></path>
+<rect x="337" y="3886" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="376.75" y="3901">CDSCase</text>
+</a>
+</g>
+<path d="M982.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M337 3927h0"></path>
+<path d="M433.5 3927h549"></path>
+<rect x="337" y="3916" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="385.25" y="3931">CDSString</text>
+</a>
+</g>
+<path d="M982.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M337 3974h0"></path>
+<path d="M982.5 3974h0"></path>
+<g class="non-terminal">
+<path d="M337 3974h0"></path>
+<path d="M416.5 3974h0"></path>
+<rect x="337" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="376.75" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M416.5 3974h10"></path>
+<g>
+<path d="M426.5 3974h0"></path>
+<path d="M597 3974h0"></path>
+<path d="M426.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M446.5 3954h130.5"></path>
+</g>
+<path d="M577 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M426.5 3974h20"></path>
+<g class="non-terminal">
+<path d="M446.5 3974h0"></path>
+<path d="M577 3974h0"></path>
+<rect x="446.5" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="511.75" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M577 3974h20"></path>
+</g>
+<g>
+<path d="M597 3974h0"></path>
+<path d="M982.5 3974h0"></path>
+<path d="M597 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M617 3946h345.5"></path>
+</g>
+<path d="M962.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M597 3974h20"></path>
+<g>
+<path d="M617 3974h0"></path>
+<path d="M962.5 3974h0"></path>
+<path d="M617 3974h10"></path>
+<g>
+<path d="M627 3974h0"></path>
+<path d="M952.5 3974h0"></path>
+<g class="terminal">
+<path d="M627 3974h0"></path>
+<path d="M672.5 3974h0"></path>
+<rect x="627" y="3963" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="649.75" y="3978">"."</text>
+</g>
+<path d="M672.5 3974h10"></path>
+<path d="M682.5 3974h10"></path>
+<g class="non-terminal">
+<path d="M692.5 3974h0"></path>
+<path d="M772 3974h0"></path>
+<rect x="692.5" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="732.25" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M772 3974h10"></path>
+<g>
+<path d="M782 3974h0"></path>
+<path d="M952.5 3974h0"></path>
+<path d="M782 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M802 3954h130.5"></path>
+</g>
+<path d="M932.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M782 3974h20"></path>
+<g class="non-terminal">
+<path d="M802 3974h0"></path>
+<path d="M932.5 3974h0"></path>
+<rect x="802" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="867.25" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M932.5 3974h20"></path>
+</g>
+</g>
+<path d="M952.5 3974h10"></path>
+<path d="M627 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M627 3994h325.5"></path>
+</g>
+<path d="M952.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M962.5 3974h20"></path>
+</g>
+</g>
+<path d="M982.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M317 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M337 4013h0"></path>
+<path d="M399.5 4013h583"></path>
+<rect x="337" y="4002" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="368.25" y="4017">^\d+$</text>
+</g>
+<path d="M982.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1002.5 3807h10"></path>
+<g class="terminal">
+<path d="M1012.5 3807h0"></path>
+<path d="M1058 3807h0"></path>
+<rect x="1012.5" y="3796" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1035.25" y="3811">","</text>
+</g>
+<path d="M1058 3807h10"></path>
+<g>
+<path d="M1068 3807h0"></path>
+<path d="M1753.5 3807h0"></path>
+<path d="M1068 3807h20"></path>
+<g class="non-terminal">
+<path d="M1088 3807h0"></path>
+<path d="M1167.5 3807h566"></path>
+<rect x="1088" y="3796" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1127.75" y="3811">CDSCast</text>
+</a>
+</g>
+<path d="M1733.5 3807h20"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3837h0"></path>
+<path d="M1201.5 3837h532"></path>
+<rect x="1088" y="3826" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1144.75" y="3841">CDSFunction</text>
+</a>
+</g>
+<path d="M1733.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3867h0"></path>
+<path d="M1227 3867h506.5"></path>
+<rect x="1088" y="3856" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1157.5" y="3871">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1733.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3897h0"></path>
+<path d="M1167.5 3897h566"></path>
+<rect x="1088" y="3886" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1127.75" y="3901">CDSCase</text>
+</a>
+</g>
+<path d="M1733.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1088 3927h0"></path>
+<path d="M1184.5 3927h549"></path>
+<rect x="1088" y="3916" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1136.25" y="3931">CDSString</text>
+</a>
+</g>
+<path d="M1733.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1088 3974h0"></path>
+<path d="M1733.5 3974h0"></path>
+<g class="non-terminal">
+<path d="M1088 3974h0"></path>
+<path d="M1167.5 3974h0"></path>
+<rect x="1088" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1127.75" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M1167.5 3974h10"></path>
+<g>
+<path d="M1177.5 3974h0"></path>
+<path d="M1348 3974h0"></path>
+<path d="M1177.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1197.5 3954h130.5"></path>
+</g>
+<path d="M1328 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1177.5 3974h20"></path>
+<g class="non-terminal">
+<path d="M1197.5 3974h0"></path>
+<path d="M1328 3974h0"></path>
+<rect x="1197.5" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1262.75" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M1328 3974h20"></path>
+</g>
+<g>
+<path d="M1348 3974h0"></path>
+<path d="M1733.5 3974h0"></path>
+<path d="M1348 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1368 3946h345.5"></path>
+</g>
+<path d="M1713.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1348 3974h20"></path>
+<g>
+<path d="M1368 3974h0"></path>
+<path d="M1713.5 3974h0"></path>
+<path d="M1368 3974h10"></path>
+<g>
+<path d="M1378 3974h0"></path>
+<path d="M1703.5 3974h0"></path>
+<g class="terminal">
+<path d="M1378 3974h0"></path>
+<path d="M1423.5 3974h0"></path>
+<rect x="1378" y="3963" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1400.75" y="3978">"."</text>
+</g>
+<path d="M1423.5 3974h10"></path>
+<path d="M1433.5 3974h10"></path>
+<g class="non-terminal">
+<path d="M1443.5 3974h0"></path>
+<path d="M1523 3974h0"></path>
+<rect x="1443.5" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1483.25" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M1523 3974h10"></path>
+<g>
+<path d="M1533 3974h0"></path>
+<path d="M1703.5 3974h0"></path>
+<path d="M1533 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1553 3954h130.5"></path>
+</g>
+<path d="M1683.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1533 3974h20"></path>
+<g class="non-terminal">
+<path d="M1553 3974h0"></path>
+<path d="M1683.5 3974h0"></path>
+<rect x="1553" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1618.25" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M1683.5 3974h20"></path>
+</g>
+</g>
+<path d="M1703.5 3974h10"></path>
+<path d="M1378 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1378 3994h325.5"></path>
+</g>
+<path d="M1703.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1713.5 3974h20"></path>
+</g>
+</g>
+<path d="M1733.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1068 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1088 4013h0"></path>
+<path d="M1150.5 4013h583"></path>
+<rect x="1088" y="4002" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1119.25" y="4017">^\d+$</text>
+</g>
+<path d="M1733.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1753.5 3807h10"></path>
+<g class="terminal">
+<path d="M1763.5 3807h0"></path>
+<path d="M1809 3807h0"></path>
+<rect x="1763.5" y="3796" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1786.25" y="3811">","</text>
+</g>
+<path d="M1809 3807h10"></path>
+<g>
+<path d="M1819 3807h0"></path>
+<path d="M2504.5 3807h0"></path>
+<path d="M1819 3807h20"></path>
+<g class="non-terminal">
+<path d="M1839 3807h0"></path>
+<path d="M1918.5 3807h566"></path>
+<rect x="1839" y="3796" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1878.75" y="3811">CDSCast</text>
+</a>
+</g>
+<path d="M2484.5 3807h20"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3837h0"></path>
+<path d="M1952.5 3837h532"></path>
+<rect x="1839" y="3826" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1895.75" y="3841">CDSFunction</text>
+</a>
+</g>
+<path d="M2484.5 3837a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3867h0"></path>
+<path d="M1978 3867h506.5"></path>
+<rect x="1839" y="3856" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1908.5" y="3871">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2484.5 3867a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3897h0"></path>
+<path d="M1918.5 3897h566"></path>
+<rect x="1839" y="3886" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1878.75" y="3901">CDSCase</text>
+</a>
+</g>
+<path d="M2484.5 3897a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1839 3927h0"></path>
+<path d="M1935.5 3927h549"></path>
+<rect x="1839" y="3916" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1887.25" y="3931">CDSString</text>
+</a>
+</g>
+<path d="M2484.5 3927a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1839 3974h0"></path>
+<path d="M2484.5 3974h0"></path>
+<g class="non-terminal">
+<path d="M1839 3974h0"></path>
+<path d="M1918.5 3974h0"></path>
+<rect x="1839" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1878.75" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M1918.5 3974h10"></path>
+<g>
+<path d="M1928.5 3974h0"></path>
+<path d="M2099 3974h0"></path>
+<path d="M1928.5 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1948.5 3954h130.5"></path>
+</g>
+<path d="M2079 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1928.5 3974h20"></path>
+<g class="non-terminal">
+<path d="M1948.5 3974h0"></path>
+<path d="M2079 3974h0"></path>
+<rect x="1948.5" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2013.75" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M2079 3974h20"></path>
+</g>
+<g>
+<path d="M2099 3974h0"></path>
+<path d="M2484.5 3974h0"></path>
+<path d="M2099 3974a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2119 3946h345.5"></path>
+</g>
+<path d="M2464.5 3946a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2099 3974h20"></path>
+<g>
+<path d="M2119 3974h0"></path>
+<path d="M2464.5 3974h0"></path>
+<path d="M2119 3974h10"></path>
+<g>
+<path d="M2129 3974h0"></path>
+<path d="M2454.5 3974h0"></path>
+<g class="terminal">
+<path d="M2129 3974h0"></path>
+<path d="M2174.5 3974h0"></path>
+<rect x="2129" y="3963" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2151.75" y="3978">"."</text>
+</g>
+<path d="M2174.5 3974h10"></path>
+<path d="M2184.5 3974h10"></path>
+<g class="non-terminal">
+<path d="M2194.5 3974h0"></path>
+<path d="M2274 3974h0"></path>
+<rect x="2194.5" y="3963" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2234.25" y="3978">CDSName</text>
+</a>
+</g>
+<path d="M2274 3974h10"></path>
+<g>
+<path d="M2284 3974h0"></path>
+<path d="M2454.5 3974h0"></path>
+<path d="M2284 3974a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2304 3954h130.5"></path>
+</g>
+<path d="M2434.5 3954a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2284 3974h20"></path>
+<g class="non-terminal">
+<path d="M2304 3974h0"></path>
+<path d="M2434.5 3974h0"></path>
+<rect x="2304" y="3963" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2369.25" y="3978">CDSParameters</text>
+</a>
+</g>
+<path d="M2434.5 3974h20"></path>
+</g>
+</g>
+<path d="M2454.5 3974h10"></path>
+<path d="M2129 3974a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2129 3994h325.5"></path>
+</g>
+<path d="M2454.5 3994a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2464.5 3974h20"></path>
+</g>
+</g>
+<path d="M2484.5 3974a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1819 3807a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1839 4013h0"></path>
+<path d="M1901.5 4013h583"></path>
+<rect x="1839" y="4002" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1870.25" y="4017">^\d+$</text>
+</g>
+<path d="M2484.5 4013a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2504.5 3807h10"></path>
+<g class="terminal">
+<path d="M2514.5 3807h0"></path>
+<path d="M2560 3807h0"></path>
+<rect x="2514.5" y="3796" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2537.25" y="3811">")"</text>
+</g>
+</g>
+<path d="M4070.5 3807a10 10 0 0 0 10 -10v-3756a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v3992a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 4043h0"></path>
+<path d="M2594 4043h1476.5"></path>
+<g class="terminal">
+<path d="M60 4043h0"></path>
+<path d="M275.5 4043h0"></path>
+<rect x="60" y="4032" width="215.5" height="22" rx="10" ry="10"></rect>
+<text x="167.75" y="4047">"TSTMP&#95;SECONDS&#95;BETWEEN"</text>
+</g>
+<path d="M275.5 4043h10"></path>
+<path d="M285.5 4043h10"></path>
+<g class="terminal">
+<path d="M295.5 4043h0"></path>
+<path d="M341 4043h0"></path>
+<rect x="295.5" y="4032" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="318.25" y="4047">"("</text>
+</g>
+<path d="M341 4043h10"></path>
+<g>
+<path d="M351 4043h0"></path>
+<path d="M1036.5 4043h0"></path>
+<path d="M351 4043h20"></path>
+<g class="non-terminal">
+<path d="M371 4043h0"></path>
+<path d="M450.5 4043h566"></path>
+<rect x="371" y="4032" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="410.75" y="4047">CDSCast</text>
+</a>
+</g>
+<path d="M1016.5 4043h20"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M371 4073h0"></path>
+<path d="M484.5 4073h532"></path>
+<rect x="371" y="4062" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="427.75" y="4077">CDSFunction</text>
+</a>
+</g>
+<path d="M1016.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M371 4103h0"></path>
+<path d="M510 4103h506.5"></path>
+<rect x="371" y="4092" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="440.5" y="4107">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1016.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M371 4133h0"></path>
+<path d="M450.5 4133h566"></path>
+<rect x="371" y="4122" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="410.75" y="4137">CDSCase</text>
+</a>
+</g>
+<path d="M1016.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M371 4163h0"></path>
+<path d="M467.5 4163h549"></path>
+<rect x="371" y="4152" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="419.25" y="4167">CDSString</text>
+</a>
+</g>
+<path d="M1016.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M371 4210h0"></path>
+<path d="M1016.5 4210h0"></path>
+<g class="non-terminal">
+<path d="M371 4210h0"></path>
+<path d="M450.5 4210h0"></path>
+<rect x="371" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="410.75" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M450.5 4210h10"></path>
+<g>
+<path d="M460.5 4210h0"></path>
+<path d="M631 4210h0"></path>
+<path d="M460.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M480.5 4190h130.5"></path>
+</g>
+<path d="M611 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M460.5 4210h20"></path>
+<g class="non-terminal">
+<path d="M480.5 4210h0"></path>
+<path d="M611 4210h0"></path>
+<rect x="480.5" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="545.75" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M611 4210h20"></path>
+</g>
+<g>
+<path d="M631 4210h0"></path>
+<path d="M1016.5 4210h0"></path>
+<path d="M631 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M651 4182h345.5"></path>
+</g>
+<path d="M996.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M631 4210h20"></path>
+<g>
+<path d="M651 4210h0"></path>
+<path d="M996.5 4210h0"></path>
+<path d="M651 4210h10"></path>
+<g>
+<path d="M661 4210h0"></path>
+<path d="M986.5 4210h0"></path>
+<g class="terminal">
+<path d="M661 4210h0"></path>
+<path d="M706.5 4210h0"></path>
+<rect x="661" y="4199" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="683.75" y="4214">"."</text>
+</g>
+<path d="M706.5 4210h10"></path>
+<path d="M716.5 4210h10"></path>
+<g class="non-terminal">
+<path d="M726.5 4210h0"></path>
+<path d="M806 4210h0"></path>
+<rect x="726.5" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="766.25" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M806 4210h10"></path>
+<g>
+<path d="M816 4210h0"></path>
+<path d="M986.5 4210h0"></path>
+<path d="M816 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M836 4190h130.5"></path>
+</g>
+<path d="M966.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M816 4210h20"></path>
+<g class="non-terminal">
+<path d="M836 4210h0"></path>
+<path d="M966.5 4210h0"></path>
+<rect x="836" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="901.25" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M966.5 4210h20"></path>
+</g>
+</g>
+<path d="M986.5 4210h10"></path>
+<path d="M661 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M661 4230h325.5"></path>
+</g>
+<path d="M986.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M996.5 4210h20"></path>
+</g>
+</g>
+<path d="M1016.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M351 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M371 4249h0"></path>
+<path d="M433.5 4249h583"></path>
+<rect x="371" y="4238" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="402.25" y="4253">^\d+$</text>
+</g>
+<path d="M1016.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1036.5 4043h10"></path>
+<g class="terminal">
+<path d="M1046.5 4043h0"></path>
+<path d="M1092 4043h0"></path>
+<rect x="1046.5" y="4032" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1069.25" y="4047">","</text>
+</g>
+<path d="M1092 4043h10"></path>
+<g>
+<path d="M1102 4043h0"></path>
+<path d="M1787.5 4043h0"></path>
+<path d="M1102 4043h20"></path>
+<g class="non-terminal">
+<path d="M1122 4043h0"></path>
+<path d="M1201.5 4043h566"></path>
+<rect x="1122" y="4032" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1161.75" y="4047">CDSCast</text>
+</a>
+</g>
+<path d="M1767.5 4043h20"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1122 4073h0"></path>
+<path d="M1235.5 4073h532"></path>
+<rect x="1122" y="4062" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1178.75" y="4077">CDSFunction</text>
+</a>
+</g>
+<path d="M1767.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1122 4103h0"></path>
+<path d="M1261 4103h506.5"></path>
+<rect x="1122" y="4092" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1191.5" y="4107">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1767.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1122 4133h0"></path>
+<path d="M1201.5 4133h566"></path>
+<rect x="1122" y="4122" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1161.75" y="4137">CDSCase</text>
+</a>
+</g>
+<path d="M1767.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1122 4163h0"></path>
+<path d="M1218.5 4163h549"></path>
+<rect x="1122" y="4152" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1170.25" y="4167">CDSString</text>
+</a>
+</g>
+<path d="M1767.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1122 4210h0"></path>
+<path d="M1767.5 4210h0"></path>
+<g class="non-terminal">
+<path d="M1122 4210h0"></path>
+<path d="M1201.5 4210h0"></path>
+<rect x="1122" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1161.75" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M1201.5 4210h10"></path>
+<g>
+<path d="M1211.5 4210h0"></path>
+<path d="M1382 4210h0"></path>
+<path d="M1211.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1231.5 4190h130.5"></path>
+</g>
+<path d="M1362 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1211.5 4210h20"></path>
+<g class="non-terminal">
+<path d="M1231.5 4210h0"></path>
+<path d="M1362 4210h0"></path>
+<rect x="1231.5" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1296.75" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M1362 4210h20"></path>
+</g>
+<g>
+<path d="M1382 4210h0"></path>
+<path d="M1767.5 4210h0"></path>
+<path d="M1382 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1402 4182h345.5"></path>
+</g>
+<path d="M1747.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1382 4210h20"></path>
+<g>
+<path d="M1402 4210h0"></path>
+<path d="M1747.5 4210h0"></path>
+<path d="M1402 4210h10"></path>
+<g>
+<path d="M1412 4210h0"></path>
+<path d="M1737.5 4210h0"></path>
+<g class="terminal">
+<path d="M1412 4210h0"></path>
+<path d="M1457.5 4210h0"></path>
+<rect x="1412" y="4199" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1434.75" y="4214">"."</text>
+</g>
+<path d="M1457.5 4210h10"></path>
+<path d="M1467.5 4210h10"></path>
+<g class="non-terminal">
+<path d="M1477.5 4210h0"></path>
+<path d="M1557 4210h0"></path>
+<rect x="1477.5" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1517.25" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M1557 4210h10"></path>
+<g>
+<path d="M1567 4210h0"></path>
+<path d="M1737.5 4210h0"></path>
+<path d="M1567 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1587 4190h130.5"></path>
+</g>
+<path d="M1717.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1567 4210h20"></path>
+<g class="non-terminal">
+<path d="M1587 4210h0"></path>
+<path d="M1717.5 4210h0"></path>
+<rect x="1587" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1652.25" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M1717.5 4210h20"></path>
+</g>
+</g>
+<path d="M1737.5 4210h10"></path>
+<path d="M1412 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1412 4230h325.5"></path>
+</g>
+<path d="M1737.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1747.5 4210h20"></path>
+</g>
+</g>
+<path d="M1767.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1102 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1122 4249h0"></path>
+<path d="M1184.5 4249h583"></path>
+<rect x="1122" y="4238" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1153.25" y="4253">^\d+$</text>
+</g>
+<path d="M1767.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1787.5 4043h10"></path>
+<g class="terminal">
+<path d="M1797.5 4043h0"></path>
+<path d="M1843 4043h0"></path>
+<rect x="1797.5" y="4032" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1820.25" y="4047">","</text>
+</g>
+<path d="M1843 4043h10"></path>
+<g>
+<path d="M1853 4043h0"></path>
+<path d="M2538.5 4043h0"></path>
+<path d="M1853 4043h20"></path>
+<g class="non-terminal">
+<path d="M1873 4043h0"></path>
+<path d="M1952.5 4043h566"></path>
+<rect x="1873" y="4032" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1912.75" y="4047">CDSCast</text>
+</a>
+</g>
+<path d="M2518.5 4043h20"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1873 4073h0"></path>
+<path d="M1986.5 4073h532"></path>
+<rect x="1873" y="4062" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1929.75" y="4077">CDSFunction</text>
+</a>
+</g>
+<path d="M2518.5 4073a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1873 4103h0"></path>
+<path d="M2012 4103h506.5"></path>
+<rect x="1873" y="4092" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1942.5" y="4107">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2518.5 4103a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1873 4133h0"></path>
+<path d="M1952.5 4133h566"></path>
+<rect x="1873" y="4122" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1912.75" y="4137">CDSCase</text>
+</a>
+</g>
+<path d="M2518.5 4133a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1873 4163h0"></path>
+<path d="M1969.5 4163h549"></path>
+<rect x="1873" y="4152" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1921.25" y="4167">CDSString</text>
+</a>
+</g>
+<path d="M2518.5 4163a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1873 4210h0"></path>
+<path d="M2518.5 4210h0"></path>
+<g class="non-terminal">
+<path d="M1873 4210h0"></path>
+<path d="M1952.5 4210h0"></path>
+<rect x="1873" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1912.75" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M1952.5 4210h10"></path>
+<g>
+<path d="M1962.5 4210h0"></path>
+<path d="M2133 4210h0"></path>
+<path d="M1962.5 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1982.5 4190h130.5"></path>
+</g>
+<path d="M2113 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1962.5 4210h20"></path>
+<g class="non-terminal">
+<path d="M1982.5 4210h0"></path>
+<path d="M2113 4210h0"></path>
+<rect x="1982.5" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2047.75" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M2113 4210h20"></path>
+</g>
+<g>
+<path d="M2133 4210h0"></path>
+<path d="M2518.5 4210h0"></path>
+<path d="M2133 4210a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2153 4182h345.5"></path>
+</g>
+<path d="M2498.5 4182a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2133 4210h20"></path>
+<g>
+<path d="M2153 4210h0"></path>
+<path d="M2498.5 4210h0"></path>
+<path d="M2153 4210h10"></path>
+<g>
+<path d="M2163 4210h0"></path>
+<path d="M2488.5 4210h0"></path>
+<g class="terminal">
+<path d="M2163 4210h0"></path>
+<path d="M2208.5 4210h0"></path>
+<rect x="2163" y="4199" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2185.75" y="4214">"."</text>
+</g>
+<path d="M2208.5 4210h10"></path>
+<path d="M2218.5 4210h10"></path>
+<g class="non-terminal">
+<path d="M2228.5 4210h0"></path>
+<path d="M2308 4210h0"></path>
+<rect x="2228.5" y="4199" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2268.25" y="4214">CDSName</text>
+</a>
+</g>
+<path d="M2308 4210h10"></path>
+<g>
+<path d="M2318 4210h0"></path>
+<path d="M2488.5 4210h0"></path>
+<path d="M2318 4210a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2338 4190h130.5"></path>
+</g>
+<path d="M2468.5 4190a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2318 4210h20"></path>
+<g class="non-terminal">
+<path d="M2338 4210h0"></path>
+<path d="M2468.5 4210h0"></path>
+<rect x="2338" y="4199" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2403.25" y="4214">CDSParameters</text>
+</a>
+</g>
+<path d="M2468.5 4210h20"></path>
+</g>
+</g>
+<path d="M2488.5 4210h10"></path>
+<path d="M2163 4210a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2163 4230h325.5"></path>
+</g>
+<path d="M2488.5 4230a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2498.5 4210h20"></path>
+</g>
+</g>
+<path d="M2518.5 4210a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1853 4043a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1873 4249h0"></path>
+<path d="M1935.5 4249h583"></path>
+<rect x="1873" y="4238" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1904.25" y="4253">^\d+$</text>
+</g>
+<path d="M2518.5 4249a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2538.5 4043h10"></path>
+<g class="terminal">
+<path d="M2548.5 4043h0"></path>
+<path d="M2594 4043h0"></path>
+<rect x="2548.5" y="4032" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2571.25" y="4047">")"</text>
+</g>
+</g>
+<path d="M4070.5 4043a10 10 0 0 0 10 -10v-3992a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4228a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 4279h0"></path>
+<path d="M449 4279h3621.5"></path>
+<g class="terminal">
+<path d="M60 4279h0"></path>
+<path d="M318 4279h0"></path>
+<rect x="60" y="4268" width="258" height="22" rx="10" ry="10"></rect>
+<text x="189" y="4283">"TSTMP&#95;CURRENT&#95;UTCTIMESTAMP"</text>
+</g>
+<path d="M318 4279h10"></path>
+<path d="M328 4279h10"></path>
+<g class="terminal">
+<path d="M338 4279h0"></path>
+<path d="M383.5 4279h0"></path>
+<rect x="338" y="4268" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="360.75" y="4283">"("</text>
+</g>
+<path d="M383.5 4279h10"></path>
+<path d="M393.5 4279h10"></path>
+<g class="terminal">
+<path d="M403.5 4279h0"></path>
+<path d="M449 4279h0"></path>
+<rect x="403.5" y="4268" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="426.25" y="4283">")"</text>
+</g>
+</g>
+<path d="M4070.5 4279a10 10 0 0 0 10 -10v-4228a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4258a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 4309h0"></path>
+<path d="M1032.5 4309h3038"></path>
+<g class="terminal">
+<path d="M60 4309h0"></path>
+<path d="M216 4309h0"></path>
+<rect x="60" y="4298" width="156" height="22" rx="10" ry="10"></rect>
+<text x="138" y="4313">"TSTMP&#95;IS&#95;VALID"</text>
+</g>
+<path d="M216 4309h10"></path>
+<path d="M226 4309h10"></path>
+<g class="terminal">
+<path d="M236 4309h0"></path>
+<path d="M281.5 4309h0"></path>
+<rect x="236" y="4298" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="258.75" y="4313">"("</text>
+</g>
+<path d="M281.5 4309h10"></path>
+<g>
+<path d="M291.5 4309h0"></path>
+<path d="M977 4309h0"></path>
+<path d="M291.5 4309h20"></path>
+<g class="non-terminal">
+<path d="M311.5 4309h0"></path>
+<path d="M391 4309h566"></path>
+<rect x="311.5" y="4298" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="351.25" y="4313">CDSCast</text>
+</a>
+</g>
+<path d="M957 4309h20"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M311.5 4339h0"></path>
+<path d="M425 4339h532"></path>
+<rect x="311.5" y="4328" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="368.25" y="4343">CDSFunction</text>
+</a>
+</g>
+<path d="M957 4339a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M311.5 4369h0"></path>
+<path d="M450.5 4369h506.5"></path>
+<rect x="311.5" y="4358" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="381" y="4373">CDSArithmetics</text>
+</a>
+</g>
+<path d="M957 4369a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M311.5 4399h0"></path>
+<path d="M391 4399h566"></path>
+<rect x="311.5" y="4388" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="351.25" y="4403">CDSCase</text>
+</a>
+</g>
+<path d="M957 4399a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M311.5 4429h0"></path>
+<path d="M408 4429h549"></path>
+<rect x="311.5" y="4418" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="359.75" y="4433">CDSString</text>
+</a>
+</g>
+<path d="M957 4429a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M311.5 4476h0"></path>
+<path d="M957 4476h0"></path>
+<g class="non-terminal">
+<path d="M311.5 4476h0"></path>
+<path d="M391 4476h0"></path>
+<rect x="311.5" y="4465" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="351.25" y="4480">CDSName</text>
+</a>
+</g>
+<path d="M391 4476h10"></path>
+<g>
+<path d="M401 4476h0"></path>
+<path d="M571.5 4476h0"></path>
+<path d="M401 4476a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M421 4456h130.5"></path>
+</g>
+<path d="M551.5 4456a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M401 4476h20"></path>
+<g class="non-terminal">
+<path d="M421 4476h0"></path>
+<path d="M551.5 4476h0"></path>
+<rect x="421" y="4465" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="486.25" y="4480">CDSParameters</text>
+</a>
+</g>
+<path d="M551.5 4476h20"></path>
+</g>
+<g>
+<path d="M571.5 4476h0"></path>
+<path d="M957 4476h0"></path>
+<path d="M571.5 4476a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M591.5 4448h345.5"></path>
+</g>
+<path d="M937 4448a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M571.5 4476h20"></path>
+<g>
+<path d="M591.5 4476h0"></path>
+<path d="M937 4476h0"></path>
+<path d="M591.5 4476h10"></path>
+<g>
+<path d="M601.5 4476h0"></path>
+<path d="M927 4476h0"></path>
+<g class="terminal">
+<path d="M601.5 4476h0"></path>
+<path d="M647 4476h0"></path>
+<rect x="601.5" y="4465" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="624.25" y="4480">"."</text>
+</g>
+<path d="M647 4476h10"></path>
+<path d="M657 4476h10"></path>
+<g class="non-terminal">
+<path d="M667 4476h0"></path>
+<path d="M746.5 4476h0"></path>
+<rect x="667" y="4465" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="706.75" y="4480">CDSName</text>
+</a>
+</g>
+<path d="M746.5 4476h10"></path>
+<g>
+<path d="M756.5 4476h0"></path>
+<path d="M927 4476h0"></path>
+<path d="M756.5 4476a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M776.5 4456h130.5"></path>
+</g>
+<path d="M907 4456a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M756.5 4476h20"></path>
+<g class="non-terminal">
+<path d="M776.5 4476h0"></path>
+<path d="M907 4476h0"></path>
+<rect x="776.5" y="4465" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="841.75" y="4480">CDSParameters</text>
+</a>
+</g>
+<path d="M907 4476h20"></path>
+</g>
+</g>
+<path d="M927 4476h10"></path>
+<path d="M601.5 4476a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M601.5 4496h325.5"></path>
+</g>
+<path d="M927 4496a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M937 4476h20"></path>
+</g>
+</g>
+<path d="M957 4476a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M291.5 4309a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M311.5 4515h0"></path>
+<path d="M374 4515h583"></path>
+<rect x="311.5" y="4504" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="342.75" y="4519">^\d+$</text>
+</g>
+<path d="M957 4515a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M977 4309h10"></path>
+<g class="terminal">
+<path d="M987 4309h0"></path>
+<path d="M1032.5 4309h0"></path>
+<rect x="987" y="4298" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1009.75" y="4313">")"</text>
+</g>
+</g>
+<path d="M4070.5 4309a10 10 0 0 0 10 -10v-4258a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4494a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 4545h0"></path>
+<path d="M1834.5 4545h2236"></path>
+<g class="terminal">
+<path d="M60 4545h0"></path>
+<path d="M267 4545h0"></path>
+<rect x="60" y="4534" width="207" height="22" rx="10" ry="10"></rect>
+<text x="163.5" y="4549">"ABAP&#95;SYSTEM&#95;TIMEZONE"</text>
+</g>
+<path d="M267 4545h10"></path>
+<path d="M277 4545h10"></path>
+<g class="terminal">
+<path d="M287 4545h0"></path>
+<path d="M332.5 4545h0"></path>
+<rect x="287" y="4534" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="309.75" y="4549">"("</text>
+</g>
+<path d="M332.5 4545h10"></path>
+<g>
+<path d="M342.5 4545h0"></path>
+<path d="M1028 4545h0"></path>
+<path d="M342.5 4545h20"></path>
+<g class="non-terminal">
+<path d="M362.5 4545h0"></path>
+<path d="M442 4545h566"></path>
+<rect x="362.5" y="4534" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="402.25" y="4549">CDSCast</text>
+</a>
+</g>
+<path d="M1008 4545h20"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M362.5 4575h0"></path>
+<path d="M476 4575h532"></path>
+<rect x="362.5" y="4564" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="419.25" y="4579">CDSFunction</text>
+</a>
+</g>
+<path d="M1008 4575a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M362.5 4605h0"></path>
+<path d="M501.5 4605h506.5"></path>
+<rect x="362.5" y="4594" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="432" y="4609">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1008 4605a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M362.5 4635h0"></path>
+<path d="M442 4635h566"></path>
+<rect x="362.5" y="4624" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="402.25" y="4639">CDSCase</text>
+</a>
+</g>
+<path d="M1008 4635a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M362.5 4665h0"></path>
+<path d="M459 4665h549"></path>
+<rect x="362.5" y="4654" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="410.75" y="4669">CDSString</text>
+</a>
+</g>
+<path d="M1008 4665a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M362.5 4712h0"></path>
+<path d="M1008 4712h0"></path>
+<g class="non-terminal">
+<path d="M362.5 4712h0"></path>
+<path d="M442 4712h0"></path>
+<rect x="362.5" y="4701" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="402.25" y="4716">CDSName</text>
+</a>
+</g>
+<path d="M442 4712h10"></path>
+<g>
+<path d="M452 4712h0"></path>
+<path d="M622.5 4712h0"></path>
+<path d="M452 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M472 4692h130.5"></path>
+</g>
+<path d="M602.5 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M452 4712h20"></path>
+<g class="non-terminal">
+<path d="M472 4712h0"></path>
+<path d="M602.5 4712h0"></path>
+<rect x="472" y="4701" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="537.25" y="4716">CDSParameters</text>
+</a>
+</g>
+<path d="M602.5 4712h20"></path>
+</g>
+<g>
+<path d="M622.5 4712h0"></path>
+<path d="M1008 4712h0"></path>
+<path d="M622.5 4712a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M642.5 4684h345.5"></path>
+</g>
+<path d="M988 4684a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M622.5 4712h20"></path>
+<g>
+<path d="M642.5 4712h0"></path>
+<path d="M988 4712h0"></path>
+<path d="M642.5 4712h10"></path>
+<g>
+<path d="M652.5 4712h0"></path>
+<path d="M978 4712h0"></path>
+<g class="terminal">
+<path d="M652.5 4712h0"></path>
+<path d="M698 4712h0"></path>
+<rect x="652.5" y="4701" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="675.25" y="4716">"."</text>
+</g>
+<path d="M698 4712h10"></path>
+<path d="M708 4712h10"></path>
+<g class="non-terminal">
+<path d="M718 4712h0"></path>
+<path d="M797.5 4712h0"></path>
+<rect x="718" y="4701" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="757.75" y="4716">CDSName</text>
+</a>
+</g>
+<path d="M797.5 4712h10"></path>
+<g>
+<path d="M807.5 4712h0"></path>
+<path d="M978 4712h0"></path>
+<path d="M807.5 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M827.5 4692h130.5"></path>
+</g>
+<path d="M958 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M807.5 4712h20"></path>
+<g class="non-terminal">
+<path d="M827.5 4712h0"></path>
+<path d="M958 4712h0"></path>
+<rect x="827.5" y="4701" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="892.75" y="4716">CDSParameters</text>
+</a>
+</g>
+<path d="M958 4712h20"></path>
+</g>
+</g>
+<path d="M978 4712h10"></path>
+<path d="M652.5 4712a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M652.5 4732h325.5"></path>
+</g>
+<path d="M978 4732a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M988 4712h20"></path>
+</g>
+</g>
+<path d="M1008 4712a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M342.5 4545a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M362.5 4751h0"></path>
+<path d="M425 4751h583"></path>
+<rect x="362.5" y="4740" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="393.75" y="4755">^\d+$</text>
+</g>
+<path d="M1008 4751a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1028 4545h10"></path>
+<g class="terminal">
+<path d="M1038 4545h0"></path>
+<path d="M1083.5 4545h0"></path>
+<rect x="1038" y="4534" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1060.75" y="4549">","</text>
+</g>
+<path d="M1083.5 4545h10"></path>
+<g>
+<path d="M1093.5 4545h0"></path>
+<path d="M1779 4545h0"></path>
+<path d="M1093.5 4545h20"></path>
+<g class="non-terminal">
+<path d="M1113.5 4545h0"></path>
+<path d="M1193 4545h566"></path>
+<rect x="1113.5" y="4534" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1153.25" y="4549">CDSCast</text>
+</a>
+</g>
+<path d="M1759 4545h20"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1113.5 4575h0"></path>
+<path d="M1227 4575h532"></path>
+<rect x="1113.5" y="4564" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1170.25" y="4579">CDSFunction</text>
+</a>
+</g>
+<path d="M1759 4575a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1113.5 4605h0"></path>
+<path d="M1252.5 4605h506.5"></path>
+<rect x="1113.5" y="4594" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1183" y="4609">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1759 4605a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1113.5 4635h0"></path>
+<path d="M1193 4635h566"></path>
+<rect x="1113.5" y="4624" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1153.25" y="4639">CDSCase</text>
+</a>
+</g>
+<path d="M1759 4635a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1113.5 4665h0"></path>
+<path d="M1210 4665h549"></path>
+<rect x="1113.5" y="4654" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1161.75" y="4669">CDSString</text>
+</a>
+</g>
+<path d="M1759 4665a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1113.5 4712h0"></path>
+<path d="M1759 4712h0"></path>
+<g class="non-terminal">
+<path d="M1113.5 4712h0"></path>
+<path d="M1193 4712h0"></path>
+<rect x="1113.5" y="4701" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1153.25" y="4716">CDSName</text>
+</a>
+</g>
+<path d="M1193 4712h10"></path>
+<g>
+<path d="M1203 4712h0"></path>
+<path d="M1373.5 4712h0"></path>
+<path d="M1203 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1223 4692h130.5"></path>
+</g>
+<path d="M1353.5 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1203 4712h20"></path>
+<g class="non-terminal">
+<path d="M1223 4712h0"></path>
+<path d="M1353.5 4712h0"></path>
+<rect x="1223" y="4701" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1288.25" y="4716">CDSParameters</text>
+</a>
+</g>
+<path d="M1353.5 4712h20"></path>
+</g>
+<g>
+<path d="M1373.5 4712h0"></path>
+<path d="M1759 4712h0"></path>
+<path d="M1373.5 4712a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1393.5 4684h345.5"></path>
+</g>
+<path d="M1739 4684a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1373.5 4712h20"></path>
+<g>
+<path d="M1393.5 4712h0"></path>
+<path d="M1739 4712h0"></path>
+<path d="M1393.5 4712h10"></path>
+<g>
+<path d="M1403.5 4712h0"></path>
+<path d="M1729 4712h0"></path>
+<g class="terminal">
+<path d="M1403.5 4712h0"></path>
+<path d="M1449 4712h0"></path>
+<rect x="1403.5" y="4701" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1426.25" y="4716">"."</text>
+</g>
+<path d="M1449 4712h10"></path>
+<path d="M1459 4712h10"></path>
+<g class="non-terminal">
+<path d="M1469 4712h0"></path>
+<path d="M1548.5 4712h0"></path>
+<rect x="1469" y="4701" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1508.75" y="4716">CDSName</text>
+</a>
+</g>
+<path d="M1548.5 4712h10"></path>
+<g>
+<path d="M1558.5 4712h0"></path>
+<path d="M1729 4712h0"></path>
+<path d="M1558.5 4712a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1578.5 4692h130.5"></path>
+</g>
+<path d="M1709 4692a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1558.5 4712h20"></path>
+<g class="non-terminal">
+<path d="M1578.5 4712h0"></path>
+<path d="M1709 4712h0"></path>
+<rect x="1578.5" y="4701" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1643.75" y="4716">CDSParameters</text>
+</a>
+</g>
+<path d="M1709 4712h20"></path>
+</g>
+</g>
+<path d="M1729 4712h10"></path>
+<path d="M1403.5 4712a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1403.5 4732h325.5"></path>
+</g>
+<path d="M1729 4732a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1739 4712h20"></path>
+</g>
+</g>
+<path d="M1759 4712a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1093.5 4545a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1113.5 4751h0"></path>
+<path d="M1176 4751h583"></path>
+<rect x="1113.5" y="4740" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1144.75" y="4755">^\d+$</text>
+</g>
+<path d="M1759 4751a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1779 4545h10"></path>
+<g class="terminal">
+<path d="M1789 4545h0"></path>
+<path d="M1834.5 4545h0"></path>
+<rect x="1789" y="4534" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1811.75" y="4549">")"</text>
+</g>
+</g>
+<path d="M4070.5 4545a10 10 0 0 0 10 -10v-4494a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4730a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 4781h0"></path>
+<path d="M2568.5 4781h1502"></path>
+<g class="terminal">
+<path d="M60 4781h0"></path>
+<path d="M250 4781h0"></path>
+<rect x="60" y="4770" width="190" height="22" rx="10" ry="10"></rect>
+<text x="155" y="4785">"ABAP&#95;USER&#95;TIMEZONE"</text>
+</g>
+<path d="M250 4781h10"></path>
+<path d="M260 4781h10"></path>
+<g class="terminal">
+<path d="M270 4781h0"></path>
+<path d="M315.5 4781h0"></path>
+<rect x="270" y="4770" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="292.75" y="4785">"("</text>
+</g>
+<path d="M315.5 4781h10"></path>
+<g>
+<path d="M325.5 4781h0"></path>
+<path d="M1011 4781h0"></path>
+<path d="M325.5 4781h20"></path>
+<g class="non-terminal">
+<path d="M345.5 4781h0"></path>
+<path d="M425 4781h566"></path>
+<rect x="345.5" y="4770" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="385.25" y="4785">CDSCast</text>
+</a>
+</g>
+<path d="M991 4781h20"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 4811h0"></path>
+<path d="M459 4811h532"></path>
+<rect x="345.5" y="4800" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="402.25" y="4815">CDSFunction</text>
+</a>
+</g>
+<path d="M991 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 4841h0"></path>
+<path d="M484.5 4841h506.5"></path>
+<rect x="345.5" y="4830" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="415" y="4845">CDSArithmetics</text>
+</a>
+</g>
+<path d="M991 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 4871h0"></path>
+<path d="M425 4871h566"></path>
+<rect x="345.5" y="4860" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="385.25" y="4875">CDSCase</text>
+</a>
+</g>
+<path d="M991 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 4901h0"></path>
+<path d="M442 4901h549"></path>
+<rect x="345.5" y="4890" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="393.75" y="4905">CDSString</text>
+</a>
+</g>
+<path d="M991 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M345.5 4948h0"></path>
+<path d="M991 4948h0"></path>
+<g class="non-terminal">
+<path d="M345.5 4948h0"></path>
+<path d="M425 4948h0"></path>
+<rect x="345.5" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="385.25" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M425 4948h10"></path>
+<g>
+<path d="M435 4948h0"></path>
+<path d="M605.5 4948h0"></path>
+<path d="M435 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M455 4928h130.5"></path>
+</g>
+<path d="M585.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M435 4948h20"></path>
+<g class="non-terminal">
+<path d="M455 4948h0"></path>
+<path d="M585.5 4948h0"></path>
+<rect x="455" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="520.25" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M585.5 4948h20"></path>
+</g>
+<g>
+<path d="M605.5 4948h0"></path>
+<path d="M991 4948h0"></path>
+<path d="M605.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M625.5 4920h345.5"></path>
+</g>
+<path d="M971 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M605.5 4948h20"></path>
+<g>
+<path d="M625.5 4948h0"></path>
+<path d="M971 4948h0"></path>
+<path d="M625.5 4948h10"></path>
+<g>
+<path d="M635.5 4948h0"></path>
+<path d="M961 4948h0"></path>
+<g class="terminal">
+<path d="M635.5 4948h0"></path>
+<path d="M681 4948h0"></path>
+<rect x="635.5" y="4937" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="658.25" y="4952">"."</text>
+</g>
+<path d="M681 4948h10"></path>
+<path d="M691 4948h10"></path>
+<g class="non-terminal">
+<path d="M701 4948h0"></path>
+<path d="M780.5 4948h0"></path>
+<rect x="701" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="740.75" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M780.5 4948h10"></path>
+<g>
+<path d="M790.5 4948h0"></path>
+<path d="M961 4948h0"></path>
+<path d="M790.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M810.5 4928h130.5"></path>
+</g>
+<path d="M941 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M790.5 4948h20"></path>
+<g class="non-terminal">
+<path d="M810.5 4948h0"></path>
+<path d="M941 4948h0"></path>
+<rect x="810.5" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="875.75" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M941 4948h20"></path>
+</g>
+</g>
+<path d="M961 4948h10"></path>
+<path d="M635.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M635.5 4968h325.5"></path>
+</g>
+<path d="M961 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M971 4948h20"></path>
+</g>
+</g>
+<path d="M991 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M345.5 4987h0"></path>
+<path d="M408 4987h583"></path>
+<rect x="345.5" y="4976" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="376.75" y="4991">^\d+$</text>
+</g>
+<path d="M991 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1011 4781h10"></path>
+<g class="terminal">
+<path d="M1021 4781h0"></path>
+<path d="M1066.5 4781h0"></path>
+<rect x="1021" y="4770" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1043.75" y="4785">","</text>
+</g>
+<path d="M1066.5 4781h10"></path>
+<g>
+<path d="M1076.5 4781h0"></path>
+<path d="M1762 4781h0"></path>
+<path d="M1076.5 4781h20"></path>
+<g class="non-terminal">
+<path d="M1096.5 4781h0"></path>
+<path d="M1176 4781h566"></path>
+<rect x="1096.5" y="4770" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1136.25" y="4785">CDSCast</text>
+</a>
+</g>
+<path d="M1742 4781h20"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 4811h0"></path>
+<path d="M1210 4811h532"></path>
+<rect x="1096.5" y="4800" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1153.25" y="4815">CDSFunction</text>
+</a>
+</g>
+<path d="M1742 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 4841h0"></path>
+<path d="M1235.5 4841h506.5"></path>
+<rect x="1096.5" y="4830" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1166" y="4845">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1742 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 4871h0"></path>
+<path d="M1176 4871h566"></path>
+<rect x="1096.5" y="4860" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1136.25" y="4875">CDSCase</text>
+</a>
+</g>
+<path d="M1742 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 4901h0"></path>
+<path d="M1193 4901h549"></path>
+<rect x="1096.5" y="4890" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1144.75" y="4905">CDSString</text>
+</a>
+</g>
+<path d="M1742 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1096.5 4948h0"></path>
+<path d="M1742 4948h0"></path>
+<g class="non-terminal">
+<path d="M1096.5 4948h0"></path>
+<path d="M1176 4948h0"></path>
+<rect x="1096.5" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1136.25" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M1176 4948h10"></path>
+<g>
+<path d="M1186 4948h0"></path>
+<path d="M1356.5 4948h0"></path>
+<path d="M1186 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1206 4928h130.5"></path>
+</g>
+<path d="M1336.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1186 4948h20"></path>
+<g class="non-terminal">
+<path d="M1206 4948h0"></path>
+<path d="M1336.5 4948h0"></path>
+<rect x="1206" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1271.25" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M1336.5 4948h20"></path>
+</g>
+<g>
+<path d="M1356.5 4948h0"></path>
+<path d="M1742 4948h0"></path>
+<path d="M1356.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1376.5 4920h345.5"></path>
+</g>
+<path d="M1722 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1356.5 4948h20"></path>
+<g>
+<path d="M1376.5 4948h0"></path>
+<path d="M1722 4948h0"></path>
+<path d="M1376.5 4948h10"></path>
+<g>
+<path d="M1386.5 4948h0"></path>
+<path d="M1712 4948h0"></path>
+<g class="terminal">
+<path d="M1386.5 4948h0"></path>
+<path d="M1432 4948h0"></path>
+<rect x="1386.5" y="4937" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1409.25" y="4952">"."</text>
+</g>
+<path d="M1432 4948h10"></path>
+<path d="M1442 4948h10"></path>
+<g class="non-terminal">
+<path d="M1452 4948h0"></path>
+<path d="M1531.5 4948h0"></path>
+<rect x="1452" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1491.75" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M1531.5 4948h10"></path>
+<g>
+<path d="M1541.5 4948h0"></path>
+<path d="M1712 4948h0"></path>
+<path d="M1541.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1561.5 4928h130.5"></path>
+</g>
+<path d="M1692 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1541.5 4948h20"></path>
+<g class="non-terminal">
+<path d="M1561.5 4948h0"></path>
+<path d="M1692 4948h0"></path>
+<rect x="1561.5" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1626.75" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M1692 4948h20"></path>
+</g>
+</g>
+<path d="M1712 4948h10"></path>
+<path d="M1386.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1386.5 4968h325.5"></path>
+</g>
+<path d="M1712 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1722 4948h20"></path>
+</g>
+</g>
+<path d="M1742 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1096.5 4987h0"></path>
+<path d="M1159 4987h583"></path>
+<rect x="1096.5" y="4976" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1127.75" y="4991">^\d+$</text>
+</g>
+<path d="M1742 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1762 4781h10"></path>
+<g class="terminal">
+<path d="M1772 4781h0"></path>
+<path d="M1817.5 4781h0"></path>
+<rect x="1772" y="4770" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1794.75" y="4785">","</text>
+</g>
+<path d="M1817.5 4781h10"></path>
+<g>
+<path d="M1827.5 4781h0"></path>
+<path d="M2513 4781h0"></path>
+<path d="M1827.5 4781h20"></path>
+<g class="non-terminal">
+<path d="M1847.5 4781h0"></path>
+<path d="M1927 4781h566"></path>
+<rect x="1847.5" y="4770" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1887.25" y="4785">CDSCast</text>
+</a>
+</g>
+<path d="M2493 4781h20"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 4811h0"></path>
+<path d="M1961 4811h532"></path>
+<rect x="1847.5" y="4800" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1904.25" y="4815">CDSFunction</text>
+</a>
+</g>
+<path d="M2493 4811a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 4841h0"></path>
+<path d="M1986.5 4841h506.5"></path>
+<rect x="1847.5" y="4830" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1917" y="4845">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2493 4841a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 4871h0"></path>
+<path d="M1927 4871h566"></path>
+<rect x="1847.5" y="4860" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1887.25" y="4875">CDSCase</text>
+</a>
+</g>
+<path d="M2493 4871a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 4901h0"></path>
+<path d="M1944 4901h549"></path>
+<rect x="1847.5" y="4890" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1895.75" y="4905">CDSString</text>
+</a>
+</g>
+<path d="M2493 4901a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1847.5 4948h0"></path>
+<path d="M2493 4948h0"></path>
+<g class="non-terminal">
+<path d="M1847.5 4948h0"></path>
+<path d="M1927 4948h0"></path>
+<rect x="1847.5" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1887.25" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M1927 4948h10"></path>
+<g>
+<path d="M1937 4948h0"></path>
+<path d="M2107.5 4948h0"></path>
+<path d="M1937 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1957 4928h130.5"></path>
+</g>
+<path d="M2087.5 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1937 4948h20"></path>
+<g class="non-terminal">
+<path d="M1957 4948h0"></path>
+<path d="M2087.5 4948h0"></path>
+<rect x="1957" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2022.25" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M2087.5 4948h20"></path>
+</g>
+<g>
+<path d="M2107.5 4948h0"></path>
+<path d="M2493 4948h0"></path>
+<path d="M2107.5 4948a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2127.5 4920h345.5"></path>
+</g>
+<path d="M2473 4920a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2107.5 4948h20"></path>
+<g>
+<path d="M2127.5 4948h0"></path>
+<path d="M2473 4948h0"></path>
+<path d="M2127.5 4948h10"></path>
+<g>
+<path d="M2137.5 4948h0"></path>
+<path d="M2463 4948h0"></path>
+<g class="terminal">
+<path d="M2137.5 4948h0"></path>
+<path d="M2183 4948h0"></path>
+<rect x="2137.5" y="4937" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2160.25" y="4952">"."</text>
+</g>
+<path d="M2183 4948h10"></path>
+<path d="M2193 4948h10"></path>
+<g class="non-terminal">
+<path d="M2203 4948h0"></path>
+<path d="M2282.5 4948h0"></path>
+<rect x="2203" y="4937" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2242.75" y="4952">CDSName</text>
+</a>
+</g>
+<path d="M2282.5 4948h10"></path>
+<g>
+<path d="M2292.5 4948h0"></path>
+<path d="M2463 4948h0"></path>
+<path d="M2292.5 4948a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2312.5 4928h130.5"></path>
+</g>
+<path d="M2443 4928a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2292.5 4948h20"></path>
+<g class="non-terminal">
+<path d="M2312.5 4948h0"></path>
+<path d="M2443 4948h0"></path>
+<rect x="2312.5" y="4937" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2377.75" y="4952">CDSParameters</text>
+</a>
+</g>
+<path d="M2443 4948h20"></path>
+</g>
+</g>
+<path d="M2463 4948h10"></path>
+<path d="M2137.5 4948a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2137.5 4968h325.5"></path>
+</g>
+<path d="M2463 4968a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2473 4948h20"></path>
+</g>
+</g>
+<path d="M2493 4948a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 4781a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1847.5 4987h0"></path>
+<path d="M1910 4987h583"></path>
+<rect x="1847.5" y="4976" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1878.75" y="4991">^\d+$</text>
+</g>
+<path d="M2493 4987a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2513 4781h10"></path>
+<g class="terminal">
+<path d="M2523 4781h0"></path>
+<path d="M2568.5 4781h0"></path>
+<rect x="2523" y="4770" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2545.75" y="4785">")"</text>
+</g>
+</g>
+<path d="M4070.5 4781a10 10 0 0 0 10 -10v-4730a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v4966a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 5017h0"></path>
+<path d="M981.5 5017h3089"></path>
+<g class="terminal">
+<path d="M60 5017h0"></path>
+<path d="M165 5017h0"></path>
+<rect x="60" y="5006" width="105" height="22" rx="10" ry="10"></rect>
+<text x="112.5" y="5021">"BINTOHEX"</text>
+</g>
+<path d="M165 5017h10"></path>
+<path d="M175 5017h10"></path>
+<g class="terminal">
+<path d="M185 5017h0"></path>
+<path d="M230.5 5017h0"></path>
+<rect x="185" y="5006" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="5021">"("</text>
+</g>
+<path d="M230.5 5017h10"></path>
+<g>
+<path d="M240.5 5017h0"></path>
+<path d="M926 5017h0"></path>
+<path d="M240.5 5017h20"></path>
+<g class="non-terminal">
+<path d="M260.5 5017h0"></path>
+<path d="M340 5017h566"></path>
+<rect x="260.5" y="5006" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="300.25" y="5021">CDSCast</text>
+</a>
+</g>
+<path d="M906 5017h20"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5047h0"></path>
+<path d="M374 5047h532"></path>
+<rect x="260.5" y="5036" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="317.25" y="5051">CDSFunction</text>
+</a>
+</g>
+<path d="M906 5047a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5077h0"></path>
+<path d="M399.5 5077h506.5"></path>
+<rect x="260.5" y="5066" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="330" y="5081">CDSArithmetics</text>
+</a>
+</g>
+<path d="M906 5077a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5107h0"></path>
+<path d="M340 5107h566"></path>
+<rect x="260.5" y="5096" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="300.25" y="5111">CDSCase</text>
+</a>
+</g>
+<path d="M906 5107a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5137h0"></path>
+<path d="M357 5137h549"></path>
+<rect x="260.5" y="5126" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="308.75" y="5141">CDSString</text>
+</a>
+</g>
+<path d="M906 5137a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M260.5 5184h0"></path>
+<path d="M906 5184h0"></path>
+<g class="non-terminal">
+<path d="M260.5 5184h0"></path>
+<path d="M340 5184h0"></path>
+<rect x="260.5" y="5173" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="300.25" y="5188">CDSName</text>
+</a>
+</g>
+<path d="M340 5184h10"></path>
+<g>
+<path d="M350 5184h0"></path>
+<path d="M520.5 5184h0"></path>
+<path d="M350 5184a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M370 5164h130.5"></path>
+</g>
+<path d="M500.5 5164a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M350 5184h20"></path>
+<g class="non-terminal">
+<path d="M370 5184h0"></path>
+<path d="M500.5 5184h0"></path>
+<rect x="370" y="5173" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="435.25" y="5188">CDSParameters</text>
+</a>
+</g>
+<path d="M500.5 5184h20"></path>
+</g>
+<g>
+<path d="M520.5 5184h0"></path>
+<path d="M906 5184h0"></path>
+<path d="M520.5 5184a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M540.5 5156h345.5"></path>
+</g>
+<path d="M886 5156a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M520.5 5184h20"></path>
+<g>
+<path d="M540.5 5184h0"></path>
+<path d="M886 5184h0"></path>
+<path d="M540.5 5184h10"></path>
+<g>
+<path d="M550.5 5184h0"></path>
+<path d="M876 5184h0"></path>
+<g class="terminal">
+<path d="M550.5 5184h0"></path>
+<path d="M596 5184h0"></path>
+<rect x="550.5" y="5173" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="5188">"."</text>
+</g>
+<path d="M596 5184h10"></path>
+<path d="M606 5184h10"></path>
+<g class="non-terminal">
+<path d="M616 5184h0"></path>
+<path d="M695.5 5184h0"></path>
+<rect x="616" y="5173" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="655.75" y="5188">CDSName</text>
+</a>
+</g>
+<path d="M695.5 5184h10"></path>
+<g>
+<path d="M705.5 5184h0"></path>
+<path d="M876 5184h0"></path>
+<path d="M705.5 5184a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M725.5 5164h130.5"></path>
+</g>
+<path d="M856 5164a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M705.5 5184h20"></path>
+<g class="non-terminal">
+<path d="M725.5 5184h0"></path>
+<path d="M856 5184h0"></path>
+<rect x="725.5" y="5173" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="790.75" y="5188">CDSParameters</text>
+</a>
+</g>
+<path d="M856 5184h20"></path>
+</g>
+</g>
+<path d="M876 5184h10"></path>
+<path d="M550.5 5184a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M550.5 5204h325.5"></path>
+</g>
+<path d="M876 5204a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M886 5184h20"></path>
+</g>
+</g>
+<path d="M906 5184a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5017a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 5223h0"></path>
+<path d="M323 5223h583"></path>
+<rect x="260.5" y="5212" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="5227">^\d+$</text>
+</g>
+<path d="M906 5223a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M926 5017h10"></path>
+<g class="terminal">
+<path d="M936 5017h0"></path>
+<path d="M981.5 5017h0"></path>
+<rect x="936" y="5006" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="958.75" y="5021">")"</text>
+</g>
+</g>
+<path d="M4070.5 5017a10 10 0 0 0 10 -10v-4966a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5202a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 5253h0"></path>
+<path d="M981.5 5253h3089"></path>
+<g class="terminal">
+<path d="M60 5253h0"></path>
+<path d="M165 5253h0"></path>
+<rect x="60" y="5242" width="105" height="22" rx="10" ry="10"></rect>
+<text x="112.5" y="5257">"HEXTOBIN"</text>
+</g>
+<path d="M165 5253h10"></path>
+<path d="M175 5253h10"></path>
+<g class="terminal">
+<path d="M185 5253h0"></path>
+<path d="M230.5 5253h0"></path>
+<rect x="185" y="5242" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="207.75" y="5257">"("</text>
+</g>
+<path d="M230.5 5253h10"></path>
+<g>
+<path d="M240.5 5253h0"></path>
+<path d="M926 5253h0"></path>
+<path d="M240.5 5253h20"></path>
+<g class="non-terminal">
+<path d="M260.5 5253h0"></path>
+<path d="M340 5253h566"></path>
+<rect x="260.5" y="5242" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="300.25" y="5257">CDSCast</text>
+</a>
+</g>
+<path d="M906 5253h20"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5283h0"></path>
+<path d="M374 5283h532"></path>
+<rect x="260.5" y="5272" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="317.25" y="5287">CDSFunction</text>
+</a>
+</g>
+<path d="M906 5283a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5313h0"></path>
+<path d="M399.5 5313h506.5"></path>
+<rect x="260.5" y="5302" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="330" y="5317">CDSArithmetics</text>
+</a>
+</g>
+<path d="M906 5313a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5343h0"></path>
+<path d="M340 5343h566"></path>
+<rect x="260.5" y="5332" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="300.25" y="5347">CDSCase</text>
+</a>
+</g>
+<path d="M906 5343a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M260.5 5373h0"></path>
+<path d="M357 5373h549"></path>
+<rect x="260.5" y="5362" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="308.75" y="5377">CDSString</text>
+</a>
+</g>
+<path d="M906 5373a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M260.5 5420h0"></path>
+<path d="M906 5420h0"></path>
+<g class="non-terminal">
+<path d="M260.5 5420h0"></path>
+<path d="M340 5420h0"></path>
+<rect x="260.5" y="5409" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="300.25" y="5424">CDSName</text>
+</a>
+</g>
+<path d="M340 5420h10"></path>
+<g>
+<path d="M350 5420h0"></path>
+<path d="M520.5 5420h0"></path>
+<path d="M350 5420a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M370 5400h130.5"></path>
+</g>
+<path d="M500.5 5400a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M350 5420h20"></path>
+<g class="non-terminal">
+<path d="M370 5420h0"></path>
+<path d="M500.5 5420h0"></path>
+<rect x="370" y="5409" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="435.25" y="5424">CDSParameters</text>
+</a>
+</g>
+<path d="M500.5 5420h20"></path>
+</g>
+<g>
+<path d="M520.5 5420h0"></path>
+<path d="M906 5420h0"></path>
+<path d="M520.5 5420a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M540.5 5392h345.5"></path>
+</g>
+<path d="M886 5392a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M520.5 5420h20"></path>
+<g>
+<path d="M540.5 5420h0"></path>
+<path d="M886 5420h0"></path>
+<path d="M540.5 5420h10"></path>
+<g>
+<path d="M550.5 5420h0"></path>
+<path d="M876 5420h0"></path>
+<g class="terminal">
+<path d="M550.5 5420h0"></path>
+<path d="M596 5420h0"></path>
+<rect x="550.5" y="5409" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.25" y="5424">"."</text>
+</g>
+<path d="M596 5420h10"></path>
+<path d="M606 5420h10"></path>
+<g class="non-terminal">
+<path d="M616 5420h0"></path>
+<path d="M695.5 5420h0"></path>
+<rect x="616" y="5409" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="655.75" y="5424">CDSName</text>
+</a>
+</g>
+<path d="M695.5 5420h10"></path>
+<g>
+<path d="M705.5 5420h0"></path>
+<path d="M876 5420h0"></path>
+<path d="M705.5 5420a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M725.5 5400h130.5"></path>
+</g>
+<path d="M856 5400a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M705.5 5420h20"></path>
+<g class="non-terminal">
+<path d="M725.5 5420h0"></path>
+<path d="M856 5420h0"></path>
+<rect x="725.5" y="5409" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="790.75" y="5424">CDSParameters</text>
+</a>
+</g>
+<path d="M856 5420h20"></path>
+</g>
+</g>
+<path d="M876 5420h10"></path>
+<path d="M550.5 5420a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M550.5 5440h325.5"></path>
+</g>
+<path d="M876 5440a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M886 5420h20"></path>
+</g>
+</g>
+<path d="M906 5420a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M240.5 5253a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M260.5 5459h0"></path>
+<path d="M323 5459h583"></path>
+<rect x="260.5" y="5448" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="291.75" y="5463">^\d+$</text>
+</g>
+<path d="M906 5459a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M926 5253h10"></path>
+<g class="terminal">
+<path d="M936 5253h0"></path>
+<path d="M981.5 5253h0"></path>
+<rect x="936" y="5242" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="958.75" y="5257">")"</text>
+</g>
+</g>
+<path d="M4070.5 5253a10 10 0 0 0 10 -10v-5202a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5438a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 5489h0"></path>
+<path d="M2526 5489h1544.5"></path>
+<g class="terminal">
+<path d="M60 5489h0"></path>
+<path d="M207.5 5489h0"></path>
+<rect x="60" y="5478" width="147.5" height="22" rx="10" ry="10"></rect>
+<text x="133.75" y="5493">"DATS&#95;ADD&#95;DAYS"</text>
+</g>
+<path d="M207.5 5489h10"></path>
+<path d="M217.5 5489h10"></path>
+<g class="terminal">
+<path d="M227.5 5489h0"></path>
+<path d="M273 5489h0"></path>
+<rect x="227.5" y="5478" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="250.25" y="5493">"("</text>
+</g>
+<path d="M273 5489h10"></path>
+<g>
+<path d="M283 5489h0"></path>
+<path d="M968.5 5489h0"></path>
+<path d="M283 5489h20"></path>
+<g class="non-terminal">
+<path d="M303 5489h0"></path>
+<path d="M382.5 5489h566"></path>
+<rect x="303" y="5478" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="342.75" y="5493">CDSCast</text>
+</a>
+</g>
+<path d="M948.5 5489h20"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 5519h0"></path>
+<path d="M416.5 5519h532"></path>
+<rect x="303" y="5508" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="359.75" y="5523">CDSFunction</text>
+</a>
+</g>
+<path d="M948.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 5549h0"></path>
+<path d="M442 5549h506.5"></path>
+<rect x="303" y="5538" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="372.5" y="5553">CDSArithmetics</text>
+</a>
+</g>
+<path d="M948.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 5579h0"></path>
+<path d="M382.5 5579h566"></path>
+<rect x="303" y="5568" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="342.75" y="5583">CDSCase</text>
+</a>
+</g>
+<path d="M948.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M303 5609h0"></path>
+<path d="M399.5 5609h549"></path>
+<rect x="303" y="5598" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="351.25" y="5613">CDSString</text>
+</a>
+</g>
+<path d="M948.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M303 5656h0"></path>
+<path d="M948.5 5656h0"></path>
+<g class="non-terminal">
+<path d="M303 5656h0"></path>
+<path d="M382.5 5656h0"></path>
+<rect x="303" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="342.75" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M382.5 5656h10"></path>
+<g>
+<path d="M392.5 5656h0"></path>
+<path d="M563 5656h0"></path>
+<path d="M392.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M412.5 5636h130.5"></path>
+</g>
+<path d="M543 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M392.5 5656h20"></path>
+<g class="non-terminal">
+<path d="M412.5 5656h0"></path>
+<path d="M543 5656h0"></path>
+<rect x="412.5" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="477.75" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M543 5656h20"></path>
+</g>
+<g>
+<path d="M563 5656h0"></path>
+<path d="M948.5 5656h0"></path>
+<path d="M563 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M583 5628h345.5"></path>
+</g>
+<path d="M928.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M563 5656h20"></path>
+<g>
+<path d="M583 5656h0"></path>
+<path d="M928.5 5656h0"></path>
+<path d="M583 5656h10"></path>
+<g>
+<path d="M593 5656h0"></path>
+<path d="M918.5 5656h0"></path>
+<g class="terminal">
+<path d="M593 5656h0"></path>
+<path d="M638.5 5656h0"></path>
+<rect x="593" y="5645" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="615.75" y="5660">"."</text>
+</g>
+<path d="M638.5 5656h10"></path>
+<path d="M648.5 5656h10"></path>
+<g class="non-terminal">
+<path d="M658.5 5656h0"></path>
+<path d="M738 5656h0"></path>
+<rect x="658.5" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="698.25" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M738 5656h10"></path>
+<g>
+<path d="M748 5656h0"></path>
+<path d="M918.5 5656h0"></path>
+<path d="M748 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M768 5636h130.5"></path>
+</g>
+<path d="M898.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M748 5656h20"></path>
+<g class="non-terminal">
+<path d="M768 5656h0"></path>
+<path d="M898.5 5656h0"></path>
+<rect x="768" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="833.25" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M898.5 5656h20"></path>
+</g>
+</g>
+<path d="M918.5 5656h10"></path>
+<path d="M593 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M593 5676h325.5"></path>
+</g>
+<path d="M918.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M928.5 5656h20"></path>
+</g>
+</g>
+<path d="M948.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M283 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M303 5695h0"></path>
+<path d="M365.5 5695h583"></path>
+<rect x="303" y="5684" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="334.25" y="5699">^\d+$</text>
+</g>
+<path d="M948.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M968.5 5489h10"></path>
+<g class="terminal">
+<path d="M978.5 5489h0"></path>
+<path d="M1024 5489h0"></path>
+<rect x="978.5" y="5478" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1001.25" y="5493">","</text>
+</g>
+<path d="M1024 5489h10"></path>
+<g>
+<path d="M1034 5489h0"></path>
+<path d="M1719.5 5489h0"></path>
+<path d="M1034 5489h20"></path>
+<g class="non-terminal">
+<path d="M1054 5489h0"></path>
+<path d="M1133.5 5489h566"></path>
+<rect x="1054" y="5478" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1093.75" y="5493">CDSCast</text>
+</a>
+</g>
+<path d="M1699.5 5489h20"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 5519h0"></path>
+<path d="M1167.5 5519h532"></path>
+<rect x="1054" y="5508" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1110.75" y="5523">CDSFunction</text>
+</a>
+</g>
+<path d="M1699.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 5549h0"></path>
+<path d="M1193 5549h506.5"></path>
+<rect x="1054" y="5538" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1123.5" y="5553">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1699.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 5579h0"></path>
+<path d="M1133.5 5579h566"></path>
+<rect x="1054" y="5568" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1093.75" y="5583">CDSCase</text>
+</a>
+</g>
+<path d="M1699.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1054 5609h0"></path>
+<path d="M1150.5 5609h549"></path>
+<rect x="1054" y="5598" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1102.25" y="5613">CDSString</text>
+</a>
+</g>
+<path d="M1699.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1054 5656h0"></path>
+<path d="M1699.5 5656h0"></path>
+<g class="non-terminal">
+<path d="M1054 5656h0"></path>
+<path d="M1133.5 5656h0"></path>
+<rect x="1054" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1093.75" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M1133.5 5656h10"></path>
+<g>
+<path d="M1143.5 5656h0"></path>
+<path d="M1314 5656h0"></path>
+<path d="M1143.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1163.5 5636h130.5"></path>
+</g>
+<path d="M1294 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1143.5 5656h20"></path>
+<g class="non-terminal">
+<path d="M1163.5 5656h0"></path>
+<path d="M1294 5656h0"></path>
+<rect x="1163.5" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1228.75" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M1294 5656h20"></path>
+</g>
+<g>
+<path d="M1314 5656h0"></path>
+<path d="M1699.5 5656h0"></path>
+<path d="M1314 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1334 5628h345.5"></path>
+</g>
+<path d="M1679.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1314 5656h20"></path>
+<g>
+<path d="M1334 5656h0"></path>
+<path d="M1679.5 5656h0"></path>
+<path d="M1334 5656h10"></path>
+<g>
+<path d="M1344 5656h0"></path>
+<path d="M1669.5 5656h0"></path>
+<g class="terminal">
+<path d="M1344 5656h0"></path>
+<path d="M1389.5 5656h0"></path>
+<rect x="1344" y="5645" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1366.75" y="5660">"."</text>
+</g>
+<path d="M1389.5 5656h10"></path>
+<path d="M1399.5 5656h10"></path>
+<g class="non-terminal">
+<path d="M1409.5 5656h0"></path>
+<path d="M1489 5656h0"></path>
+<rect x="1409.5" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1449.25" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M1489 5656h10"></path>
+<g>
+<path d="M1499 5656h0"></path>
+<path d="M1669.5 5656h0"></path>
+<path d="M1499 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1519 5636h130.5"></path>
+</g>
+<path d="M1649.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1499 5656h20"></path>
+<g class="non-terminal">
+<path d="M1519 5656h0"></path>
+<path d="M1649.5 5656h0"></path>
+<rect x="1519" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1584.25" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M1649.5 5656h20"></path>
+</g>
+</g>
+<path d="M1669.5 5656h10"></path>
+<path d="M1344 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1344 5676h325.5"></path>
+</g>
+<path d="M1669.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1679.5 5656h20"></path>
+</g>
+</g>
+<path d="M1699.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1034 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1054 5695h0"></path>
+<path d="M1116.5 5695h583"></path>
+<rect x="1054" y="5684" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1085.25" y="5699">^\d+$</text>
+</g>
+<path d="M1699.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1719.5 5489h10"></path>
+<g class="terminal">
+<path d="M1729.5 5489h0"></path>
+<path d="M1775 5489h0"></path>
+<rect x="1729.5" y="5478" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1752.25" y="5493">","</text>
+</g>
+<path d="M1775 5489h10"></path>
+<g>
+<path d="M1785 5489h0"></path>
+<path d="M2470.5 5489h0"></path>
+<path d="M1785 5489h20"></path>
+<g class="non-terminal">
+<path d="M1805 5489h0"></path>
+<path d="M1884.5 5489h566"></path>
+<rect x="1805" y="5478" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1844.75" y="5493">CDSCast</text>
+</a>
+</g>
+<path d="M2450.5 5489h20"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 5519h0"></path>
+<path d="M1918.5 5519h532"></path>
+<rect x="1805" y="5508" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1861.75" y="5523">CDSFunction</text>
+</a>
+</g>
+<path d="M2450.5 5519a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 5549h0"></path>
+<path d="M1944 5549h506.5"></path>
+<rect x="1805" y="5538" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1874.5" y="5553">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2450.5 5549a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 5579h0"></path>
+<path d="M1884.5 5579h566"></path>
+<rect x="1805" y="5568" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1844.75" y="5583">CDSCase</text>
+</a>
+</g>
+<path d="M2450.5 5579a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1805 5609h0"></path>
+<path d="M1901.5 5609h549"></path>
+<rect x="1805" y="5598" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1853.25" y="5613">CDSString</text>
+</a>
+</g>
+<path d="M2450.5 5609a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1805 5656h0"></path>
+<path d="M2450.5 5656h0"></path>
+<g class="non-terminal">
+<path d="M1805 5656h0"></path>
+<path d="M1884.5 5656h0"></path>
+<rect x="1805" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1844.75" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M1884.5 5656h10"></path>
+<g>
+<path d="M1894.5 5656h0"></path>
+<path d="M2065 5656h0"></path>
+<path d="M1894.5 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1914.5 5636h130.5"></path>
+</g>
+<path d="M2045 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1894.5 5656h20"></path>
+<g class="non-terminal">
+<path d="M1914.5 5656h0"></path>
+<path d="M2045 5656h0"></path>
+<rect x="1914.5" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1979.75" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M2045 5656h20"></path>
+</g>
+<g>
+<path d="M2065 5656h0"></path>
+<path d="M2450.5 5656h0"></path>
+<path d="M2065 5656a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2085 5628h345.5"></path>
+</g>
+<path d="M2430.5 5628a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2065 5656h20"></path>
+<g>
+<path d="M2085 5656h0"></path>
+<path d="M2430.5 5656h0"></path>
+<path d="M2085 5656h10"></path>
+<g>
+<path d="M2095 5656h0"></path>
+<path d="M2420.5 5656h0"></path>
+<g class="terminal">
+<path d="M2095 5656h0"></path>
+<path d="M2140.5 5656h0"></path>
+<rect x="2095" y="5645" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2117.75" y="5660">"."</text>
+</g>
+<path d="M2140.5 5656h10"></path>
+<path d="M2150.5 5656h10"></path>
+<g class="non-terminal">
+<path d="M2160.5 5656h0"></path>
+<path d="M2240 5656h0"></path>
+<rect x="2160.5" y="5645" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2200.25" y="5660">CDSName</text>
+</a>
+</g>
+<path d="M2240 5656h10"></path>
+<g>
+<path d="M2250 5656h0"></path>
+<path d="M2420.5 5656h0"></path>
+<path d="M2250 5656a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2270 5636h130.5"></path>
+</g>
+<path d="M2400.5 5636a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2250 5656h20"></path>
+<g class="non-terminal">
+<path d="M2270 5656h0"></path>
+<path d="M2400.5 5656h0"></path>
+<rect x="2270" y="5645" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2335.25" y="5660">CDSParameters</text>
+</a>
+</g>
+<path d="M2400.5 5656h20"></path>
+</g>
+</g>
+<path d="M2420.5 5656h10"></path>
+<path d="M2095 5656a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2095 5676h325.5"></path>
+</g>
+<path d="M2420.5 5676a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2430.5 5656h20"></path>
+</g>
+</g>
+<path d="M2450.5 5656a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1785 5489a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1805 5695h0"></path>
+<path d="M1867.5 5695h583"></path>
+<rect x="1805" y="5684" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1836.25" y="5699">^\d+$</text>
+</g>
+<path d="M2450.5 5695a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2470.5 5489h10"></path>
+<g class="terminal">
+<path d="M2480.5 5489h0"></path>
+<path d="M2526 5489h0"></path>
+<rect x="2480.5" y="5478" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2503.25" y="5493">")"</text>
+</g>
+</g>
+<path d="M4070.5 5489a10 10 0 0 0 10 -10v-5438a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5674a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 5725h0"></path>
+<path d="M2543 5725h1527.5"></path>
+<g class="terminal">
+<path d="M60 5725h0"></path>
+<path d="M224.5 5725h0"></path>
+<rect x="60" y="5714" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="142.25" y="5729">"DATS&#95;ADD&#95;MONTHS"</text>
+</g>
+<path d="M224.5 5725h10"></path>
+<path d="M234.5 5725h10"></path>
+<g class="terminal">
+<path d="M244.5 5725h0"></path>
+<path d="M290 5725h0"></path>
+<rect x="244.5" y="5714" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="267.25" y="5729">"("</text>
+</g>
+<path d="M290 5725h10"></path>
+<g>
+<path d="M300 5725h0"></path>
+<path d="M985.5 5725h0"></path>
+<path d="M300 5725h20"></path>
+<g class="non-terminal">
+<path d="M320 5725h0"></path>
+<path d="M399.5 5725h566"></path>
+<rect x="320" y="5714" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="359.75" y="5729">CDSCast</text>
+</a>
+</g>
+<path d="M965.5 5725h20"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M320 5755h0"></path>
+<path d="M433.5 5755h532"></path>
+<rect x="320" y="5744" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="376.75" y="5759">CDSFunction</text>
+</a>
+</g>
+<path d="M965.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M320 5785h0"></path>
+<path d="M459 5785h506.5"></path>
+<rect x="320" y="5774" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="389.5" y="5789">CDSArithmetics</text>
+</a>
+</g>
+<path d="M965.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M320 5815h0"></path>
+<path d="M399.5 5815h566"></path>
+<rect x="320" y="5804" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="359.75" y="5819">CDSCase</text>
+</a>
+</g>
+<path d="M965.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M320 5845h0"></path>
+<path d="M416.5 5845h549"></path>
+<rect x="320" y="5834" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="368.25" y="5849">CDSString</text>
+</a>
+</g>
+<path d="M965.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M320 5892h0"></path>
+<path d="M965.5 5892h0"></path>
+<g class="non-terminal">
+<path d="M320 5892h0"></path>
+<path d="M399.5 5892h0"></path>
+<rect x="320" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="359.75" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M399.5 5892h10"></path>
+<g>
+<path d="M409.5 5892h0"></path>
+<path d="M580 5892h0"></path>
+<path d="M409.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M429.5 5872h130.5"></path>
+</g>
+<path d="M560 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M409.5 5892h20"></path>
+<g class="non-terminal">
+<path d="M429.5 5892h0"></path>
+<path d="M560 5892h0"></path>
+<rect x="429.5" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="494.75" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M560 5892h20"></path>
+</g>
+<g>
+<path d="M580 5892h0"></path>
+<path d="M965.5 5892h0"></path>
+<path d="M580 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M600 5864h345.5"></path>
+</g>
+<path d="M945.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M580 5892h20"></path>
+<g>
+<path d="M600 5892h0"></path>
+<path d="M945.5 5892h0"></path>
+<path d="M600 5892h10"></path>
+<g>
+<path d="M610 5892h0"></path>
+<path d="M935.5 5892h0"></path>
+<g class="terminal">
+<path d="M610 5892h0"></path>
+<path d="M655.5 5892h0"></path>
+<rect x="610" y="5881" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="632.75" y="5896">"."</text>
+</g>
+<path d="M655.5 5892h10"></path>
+<path d="M665.5 5892h10"></path>
+<g class="non-terminal">
+<path d="M675.5 5892h0"></path>
+<path d="M755 5892h0"></path>
+<rect x="675.5" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="715.25" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M755 5892h10"></path>
+<g>
+<path d="M765 5892h0"></path>
+<path d="M935.5 5892h0"></path>
+<path d="M765 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M785 5872h130.5"></path>
+</g>
+<path d="M915.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M765 5892h20"></path>
+<g class="non-terminal">
+<path d="M785 5892h0"></path>
+<path d="M915.5 5892h0"></path>
+<rect x="785" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="850.25" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M915.5 5892h20"></path>
+</g>
+</g>
+<path d="M935.5 5892h10"></path>
+<path d="M610 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M610 5912h325.5"></path>
+</g>
+<path d="M935.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M945.5 5892h20"></path>
+</g>
+</g>
+<path d="M965.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M300 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M320 5931h0"></path>
+<path d="M382.5 5931h583"></path>
+<rect x="320" y="5920" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="351.25" y="5935">^\d+$</text>
+</g>
+<path d="M965.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M985.5 5725h10"></path>
+<g class="terminal">
+<path d="M995.5 5725h0"></path>
+<path d="M1041 5725h0"></path>
+<rect x="995.5" y="5714" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1018.25" y="5729">","</text>
+</g>
+<path d="M1041 5725h10"></path>
+<g>
+<path d="M1051 5725h0"></path>
+<path d="M1736.5 5725h0"></path>
+<path d="M1051 5725h20"></path>
+<g class="non-terminal">
+<path d="M1071 5725h0"></path>
+<path d="M1150.5 5725h566"></path>
+<rect x="1071" y="5714" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1110.75" y="5729">CDSCast</text>
+</a>
+</g>
+<path d="M1716.5 5725h20"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1071 5755h0"></path>
+<path d="M1184.5 5755h532"></path>
+<rect x="1071" y="5744" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1127.75" y="5759">CDSFunction</text>
+</a>
+</g>
+<path d="M1716.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1071 5785h0"></path>
+<path d="M1210 5785h506.5"></path>
+<rect x="1071" y="5774" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1140.5" y="5789">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1716.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1071 5815h0"></path>
+<path d="M1150.5 5815h566"></path>
+<rect x="1071" y="5804" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1110.75" y="5819">CDSCase</text>
+</a>
+</g>
+<path d="M1716.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1071 5845h0"></path>
+<path d="M1167.5 5845h549"></path>
+<rect x="1071" y="5834" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1119.25" y="5849">CDSString</text>
+</a>
+</g>
+<path d="M1716.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1071 5892h0"></path>
+<path d="M1716.5 5892h0"></path>
+<g class="non-terminal">
+<path d="M1071 5892h0"></path>
+<path d="M1150.5 5892h0"></path>
+<rect x="1071" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1110.75" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M1150.5 5892h10"></path>
+<g>
+<path d="M1160.5 5892h0"></path>
+<path d="M1331 5892h0"></path>
+<path d="M1160.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1180.5 5872h130.5"></path>
+</g>
+<path d="M1311 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1160.5 5892h20"></path>
+<g class="non-terminal">
+<path d="M1180.5 5892h0"></path>
+<path d="M1311 5892h0"></path>
+<rect x="1180.5" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1245.75" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M1311 5892h20"></path>
+</g>
+<g>
+<path d="M1331 5892h0"></path>
+<path d="M1716.5 5892h0"></path>
+<path d="M1331 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1351 5864h345.5"></path>
+</g>
+<path d="M1696.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1331 5892h20"></path>
+<g>
+<path d="M1351 5892h0"></path>
+<path d="M1696.5 5892h0"></path>
+<path d="M1351 5892h10"></path>
+<g>
+<path d="M1361 5892h0"></path>
+<path d="M1686.5 5892h0"></path>
+<g class="terminal">
+<path d="M1361 5892h0"></path>
+<path d="M1406.5 5892h0"></path>
+<rect x="1361" y="5881" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1383.75" y="5896">"."</text>
+</g>
+<path d="M1406.5 5892h10"></path>
+<path d="M1416.5 5892h10"></path>
+<g class="non-terminal">
+<path d="M1426.5 5892h0"></path>
+<path d="M1506 5892h0"></path>
+<rect x="1426.5" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1466.25" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M1506 5892h10"></path>
+<g>
+<path d="M1516 5892h0"></path>
+<path d="M1686.5 5892h0"></path>
+<path d="M1516 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1536 5872h130.5"></path>
+</g>
+<path d="M1666.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1516 5892h20"></path>
+<g class="non-terminal">
+<path d="M1536 5892h0"></path>
+<path d="M1666.5 5892h0"></path>
+<rect x="1536" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1601.25" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M1666.5 5892h20"></path>
+</g>
+</g>
+<path d="M1686.5 5892h10"></path>
+<path d="M1361 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1361 5912h325.5"></path>
+</g>
+<path d="M1686.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1696.5 5892h20"></path>
+</g>
+</g>
+<path d="M1716.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1051 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1071 5931h0"></path>
+<path d="M1133.5 5931h583"></path>
+<rect x="1071" y="5920" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1102.25" y="5935">^\d+$</text>
+</g>
+<path d="M1716.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1736.5 5725h10"></path>
+<g class="terminal">
+<path d="M1746.5 5725h0"></path>
+<path d="M1792 5725h0"></path>
+<rect x="1746.5" y="5714" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1769.25" y="5729">","</text>
+</g>
+<path d="M1792 5725h10"></path>
+<g>
+<path d="M1802 5725h0"></path>
+<path d="M2487.5 5725h0"></path>
+<path d="M1802 5725h20"></path>
+<g class="non-terminal">
+<path d="M1822 5725h0"></path>
+<path d="M1901.5 5725h566"></path>
+<rect x="1822" y="5714" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1861.75" y="5729">CDSCast</text>
+</a>
+</g>
+<path d="M2467.5 5725h20"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1822 5755h0"></path>
+<path d="M1935.5 5755h532"></path>
+<rect x="1822" y="5744" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1878.75" y="5759">CDSFunction</text>
+</a>
+</g>
+<path d="M2467.5 5755a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1822 5785h0"></path>
+<path d="M1961 5785h506.5"></path>
+<rect x="1822" y="5774" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1891.5" y="5789">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2467.5 5785a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1822 5815h0"></path>
+<path d="M1901.5 5815h566"></path>
+<rect x="1822" y="5804" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1861.75" y="5819">CDSCase</text>
+</a>
+</g>
+<path d="M2467.5 5815a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1822 5845h0"></path>
+<path d="M1918.5 5845h549"></path>
+<rect x="1822" y="5834" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1870.25" y="5849">CDSString</text>
+</a>
+</g>
+<path d="M2467.5 5845a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1822 5892h0"></path>
+<path d="M2467.5 5892h0"></path>
+<g class="non-terminal">
+<path d="M1822 5892h0"></path>
+<path d="M1901.5 5892h0"></path>
+<rect x="1822" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1861.75" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M1901.5 5892h10"></path>
+<g>
+<path d="M1911.5 5892h0"></path>
+<path d="M2082 5892h0"></path>
+<path d="M1911.5 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1931.5 5872h130.5"></path>
+</g>
+<path d="M2062 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1911.5 5892h20"></path>
+<g class="non-terminal">
+<path d="M1931.5 5892h0"></path>
+<path d="M2062 5892h0"></path>
+<rect x="1931.5" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1996.75" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M2062 5892h20"></path>
+</g>
+<g>
+<path d="M2082 5892h0"></path>
+<path d="M2467.5 5892h0"></path>
+<path d="M2082 5892a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2102 5864h345.5"></path>
+</g>
+<path d="M2447.5 5864a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2082 5892h20"></path>
+<g>
+<path d="M2102 5892h0"></path>
+<path d="M2447.5 5892h0"></path>
+<path d="M2102 5892h10"></path>
+<g>
+<path d="M2112 5892h0"></path>
+<path d="M2437.5 5892h0"></path>
+<g class="terminal">
+<path d="M2112 5892h0"></path>
+<path d="M2157.5 5892h0"></path>
+<rect x="2112" y="5881" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2134.75" y="5896">"."</text>
+</g>
+<path d="M2157.5 5892h10"></path>
+<path d="M2167.5 5892h10"></path>
+<g class="non-terminal">
+<path d="M2177.5 5892h0"></path>
+<path d="M2257 5892h0"></path>
+<rect x="2177.5" y="5881" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2217.25" y="5896">CDSName</text>
+</a>
+</g>
+<path d="M2257 5892h10"></path>
+<g>
+<path d="M2267 5892h0"></path>
+<path d="M2437.5 5892h0"></path>
+<path d="M2267 5892a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2287 5872h130.5"></path>
+</g>
+<path d="M2417.5 5872a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2267 5892h20"></path>
+<g class="non-terminal">
+<path d="M2287 5892h0"></path>
+<path d="M2417.5 5892h0"></path>
+<rect x="2287" y="5881" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2352.25" y="5896">CDSParameters</text>
+</a>
+</g>
+<path d="M2417.5 5892h20"></path>
+</g>
+</g>
+<path d="M2437.5 5892h10"></path>
+<path d="M2112 5892a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2112 5912h325.5"></path>
+</g>
+<path d="M2437.5 5912a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2447.5 5892h20"></path>
+</g>
+</g>
+<path d="M2467.5 5892a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1802 5725a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1822 5931h0"></path>
+<path d="M1884.5 5931h583"></path>
+<rect x="1822" y="5920" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1853.25" y="5935">^\d+$</text>
+</g>
+<path d="M2467.5 5931a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2487.5 5725h10"></path>
+<g class="terminal">
+<path d="M2497.5 5725h0"></path>
+<path d="M2543 5725h0"></path>
+<rect x="2497.5" y="5714" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2520.25" y="5729">")"</text>
+</g>
+</g>
+<path d="M4070.5 5725a10 10 0 0 0 10 -10v-5674a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v5910a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 5961h0"></path>
+<path d="M3268.5 5961h802"></path>
+<g class="terminal">
+<path d="M60 5961h0"></path>
+<path d="M199 5961h0"></path>
+<rect x="60" y="5950" width="139" height="22" rx="10" ry="10"></rect>
+<text x="129.5" y="5965">"TSTMP&#95;TO&#95;DST"</text>
+</g>
+<path d="M199 5961h10"></path>
+<path d="M209 5961h10"></path>
+<g class="terminal">
+<path d="M219 5961h0"></path>
+<path d="M264.5 5961h0"></path>
+<rect x="219" y="5950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="241.75" y="5965">"("</text>
+</g>
+<path d="M264.5 5961h10"></path>
+<g>
+<path d="M274.5 5961h0"></path>
+<path d="M960 5961h0"></path>
+<path d="M274.5 5961h20"></path>
+<g class="non-terminal">
+<path d="M294.5 5961h0"></path>
+<path d="M374 5961h566"></path>
+<rect x="294.5" y="5950" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="334.25" y="5965">CDSCast</text>
+</a>
+</g>
+<path d="M940 5961h20"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M294.5 5991h0"></path>
+<path d="M408 5991h532"></path>
+<rect x="294.5" y="5980" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="351.25" y="5995">CDSFunction</text>
+</a>
+</g>
+<path d="M940 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M294.5 6021h0"></path>
+<path d="M433.5 6021h506.5"></path>
+<rect x="294.5" y="6010" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="364" y="6025">CDSArithmetics</text>
+</a>
+</g>
+<path d="M940 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M294.5 6051h0"></path>
+<path d="M374 6051h566"></path>
+<rect x="294.5" y="6040" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="334.25" y="6055">CDSCase</text>
+</a>
+</g>
+<path d="M940 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M294.5 6081h0"></path>
+<path d="M391 6081h549"></path>
+<rect x="294.5" y="6070" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="342.75" y="6085">CDSString</text>
+</a>
+</g>
+<path d="M940 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M294.5 6128h0"></path>
+<path d="M940 6128h0"></path>
+<g class="non-terminal">
+<path d="M294.5 6128h0"></path>
+<path d="M374 6128h0"></path>
+<rect x="294.5" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="334.25" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M374 6128h10"></path>
+<g>
+<path d="M384 6128h0"></path>
+<path d="M554.5 6128h0"></path>
+<path d="M384 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M404 6108h130.5"></path>
+</g>
+<path d="M534.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M384 6128h20"></path>
+<g class="non-terminal">
+<path d="M404 6128h0"></path>
+<path d="M534.5 6128h0"></path>
+<rect x="404" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="469.25" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M534.5 6128h20"></path>
+</g>
+<g>
+<path d="M554.5 6128h0"></path>
+<path d="M940 6128h0"></path>
+<path d="M554.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M574.5 6100h345.5"></path>
+</g>
+<path d="M920 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M554.5 6128h20"></path>
+<g>
+<path d="M574.5 6128h0"></path>
+<path d="M920 6128h0"></path>
+<path d="M574.5 6128h10"></path>
+<g>
+<path d="M584.5 6128h0"></path>
+<path d="M910 6128h0"></path>
+<g class="terminal">
+<path d="M584.5 6128h0"></path>
+<path d="M630 6128h0"></path>
+<rect x="584.5" y="6117" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="607.25" y="6132">"."</text>
+</g>
+<path d="M630 6128h10"></path>
+<path d="M640 6128h10"></path>
+<g class="non-terminal">
+<path d="M650 6128h0"></path>
+<path d="M729.5 6128h0"></path>
+<rect x="650" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="689.75" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M729.5 6128h10"></path>
+<g>
+<path d="M739.5 6128h0"></path>
+<path d="M910 6128h0"></path>
+<path d="M739.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M759.5 6108h130.5"></path>
+</g>
+<path d="M890 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M739.5 6128h20"></path>
+<g class="non-terminal">
+<path d="M759.5 6128h0"></path>
+<path d="M890 6128h0"></path>
+<rect x="759.5" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="824.75" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M890 6128h20"></path>
+</g>
+</g>
+<path d="M910 6128h10"></path>
+<path d="M584.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M584.5 6148h325.5"></path>
+</g>
+<path d="M910 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M920 6128h20"></path>
+</g>
+</g>
+<path d="M940 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M274.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M294.5 6167h0"></path>
+<path d="M357 6167h583"></path>
+<rect x="294.5" y="6156" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="325.75" y="6171">^\d+$</text>
+</g>
+<path d="M940 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M960 5961h10"></path>
+<g class="terminal">
+<path d="M970 5961h0"></path>
+<path d="M1015.5 5961h0"></path>
+<rect x="970" y="5950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="992.75" y="5965">","</text>
+</g>
+<path d="M1015.5 5961h10"></path>
+<g>
+<path d="M1025.5 5961h0"></path>
+<path d="M1711 5961h0"></path>
+<path d="M1025.5 5961h20"></path>
+<g class="non-terminal">
+<path d="M1045.5 5961h0"></path>
+<path d="M1125 5961h566"></path>
+<rect x="1045.5" y="5950" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1085.25" y="5965">CDSCast</text>
+</a>
+</g>
+<path d="M1691 5961h20"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1045.5 5991h0"></path>
+<path d="M1159 5991h532"></path>
+<rect x="1045.5" y="5980" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1102.25" y="5995">CDSFunction</text>
+</a>
+</g>
+<path d="M1691 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1045.5 6021h0"></path>
+<path d="M1184.5 6021h506.5"></path>
+<rect x="1045.5" y="6010" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1115" y="6025">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1691 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1045.5 6051h0"></path>
+<path d="M1125 6051h566"></path>
+<rect x="1045.5" y="6040" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1085.25" y="6055">CDSCase</text>
+</a>
+</g>
+<path d="M1691 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1045.5 6081h0"></path>
+<path d="M1142 6081h549"></path>
+<rect x="1045.5" y="6070" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1093.75" y="6085">CDSString</text>
+</a>
+</g>
+<path d="M1691 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1045.5 6128h0"></path>
+<path d="M1691 6128h0"></path>
+<g class="non-terminal">
+<path d="M1045.5 6128h0"></path>
+<path d="M1125 6128h0"></path>
+<rect x="1045.5" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1085.25" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M1125 6128h10"></path>
+<g>
+<path d="M1135 6128h0"></path>
+<path d="M1305.5 6128h0"></path>
+<path d="M1135 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1155 6108h130.5"></path>
+</g>
+<path d="M1285.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1135 6128h20"></path>
+<g class="non-terminal">
+<path d="M1155 6128h0"></path>
+<path d="M1285.5 6128h0"></path>
+<rect x="1155" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1220.25" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M1285.5 6128h20"></path>
+</g>
+<g>
+<path d="M1305.5 6128h0"></path>
+<path d="M1691 6128h0"></path>
+<path d="M1305.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1325.5 6100h345.5"></path>
+</g>
+<path d="M1671 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1305.5 6128h20"></path>
+<g>
+<path d="M1325.5 6128h0"></path>
+<path d="M1671 6128h0"></path>
+<path d="M1325.5 6128h10"></path>
+<g>
+<path d="M1335.5 6128h0"></path>
+<path d="M1661 6128h0"></path>
+<g class="terminal">
+<path d="M1335.5 6128h0"></path>
+<path d="M1381 6128h0"></path>
+<rect x="1335.5" y="6117" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1358.25" y="6132">"."</text>
+</g>
+<path d="M1381 6128h10"></path>
+<path d="M1391 6128h10"></path>
+<g class="non-terminal">
+<path d="M1401 6128h0"></path>
+<path d="M1480.5 6128h0"></path>
+<rect x="1401" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1440.75" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M1480.5 6128h10"></path>
+<g>
+<path d="M1490.5 6128h0"></path>
+<path d="M1661 6128h0"></path>
+<path d="M1490.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1510.5 6108h130.5"></path>
+</g>
+<path d="M1641 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1490.5 6128h20"></path>
+<g class="non-terminal">
+<path d="M1510.5 6128h0"></path>
+<path d="M1641 6128h0"></path>
+<rect x="1510.5" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1575.75" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M1641 6128h20"></path>
+</g>
+</g>
+<path d="M1661 6128h10"></path>
+<path d="M1335.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1335.5 6148h325.5"></path>
+</g>
+<path d="M1661 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1671 6128h20"></path>
+</g>
+</g>
+<path d="M1691 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1025.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1045.5 6167h0"></path>
+<path d="M1108 6167h583"></path>
+<rect x="1045.5" y="6156" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1076.75" y="6171">^\d+$</text>
+</g>
+<path d="M1691 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1711 5961h10"></path>
+<g class="terminal">
+<path d="M1721 5961h0"></path>
+<path d="M1766.5 5961h0"></path>
+<rect x="1721" y="5950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1743.75" y="5965">","</text>
+</g>
+<path d="M1766.5 5961h10"></path>
+<g>
+<path d="M1776.5 5961h0"></path>
+<path d="M2462 5961h0"></path>
+<path d="M1776.5 5961h20"></path>
+<g class="non-terminal">
+<path d="M1796.5 5961h0"></path>
+<path d="M1876 5961h566"></path>
+<rect x="1796.5" y="5950" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1836.25" y="5965">CDSCast</text>
+</a>
+</g>
+<path d="M2442 5961h20"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1796.5 5991h0"></path>
+<path d="M1910 5991h532"></path>
+<rect x="1796.5" y="5980" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1853.25" y="5995">CDSFunction</text>
+</a>
+</g>
+<path d="M2442 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1796.5 6021h0"></path>
+<path d="M1935.5 6021h506.5"></path>
+<rect x="1796.5" y="6010" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1866" y="6025">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2442 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1796.5 6051h0"></path>
+<path d="M1876 6051h566"></path>
+<rect x="1796.5" y="6040" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1836.25" y="6055">CDSCase</text>
+</a>
+</g>
+<path d="M2442 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1796.5 6081h0"></path>
+<path d="M1893 6081h549"></path>
+<rect x="1796.5" y="6070" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1844.75" y="6085">CDSString</text>
+</a>
+</g>
+<path d="M2442 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1796.5 6128h0"></path>
+<path d="M2442 6128h0"></path>
+<g class="non-terminal">
+<path d="M1796.5 6128h0"></path>
+<path d="M1876 6128h0"></path>
+<rect x="1796.5" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1836.25" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M1876 6128h10"></path>
+<g>
+<path d="M1886 6128h0"></path>
+<path d="M2056.5 6128h0"></path>
+<path d="M1886 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1906 6108h130.5"></path>
+</g>
+<path d="M2036.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1886 6128h20"></path>
+<g class="non-terminal">
+<path d="M1906 6128h0"></path>
+<path d="M2036.5 6128h0"></path>
+<rect x="1906" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1971.25" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M2036.5 6128h20"></path>
+</g>
+<g>
+<path d="M2056.5 6128h0"></path>
+<path d="M2442 6128h0"></path>
+<path d="M2056.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2076.5 6100h345.5"></path>
+</g>
+<path d="M2422 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2056.5 6128h20"></path>
+<g>
+<path d="M2076.5 6128h0"></path>
+<path d="M2422 6128h0"></path>
+<path d="M2076.5 6128h10"></path>
+<g>
+<path d="M2086.5 6128h0"></path>
+<path d="M2412 6128h0"></path>
+<g class="terminal">
+<path d="M2086.5 6128h0"></path>
+<path d="M2132 6128h0"></path>
+<rect x="2086.5" y="6117" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2109.25" y="6132">"."</text>
+</g>
+<path d="M2132 6128h10"></path>
+<path d="M2142 6128h10"></path>
+<g class="non-terminal">
+<path d="M2152 6128h0"></path>
+<path d="M2231.5 6128h0"></path>
+<rect x="2152" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2191.75" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M2231.5 6128h10"></path>
+<g>
+<path d="M2241.5 6128h0"></path>
+<path d="M2412 6128h0"></path>
+<path d="M2241.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2261.5 6108h130.5"></path>
+</g>
+<path d="M2392 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2241.5 6128h20"></path>
+<g class="non-terminal">
+<path d="M2261.5 6128h0"></path>
+<path d="M2392 6128h0"></path>
+<rect x="2261.5" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2326.75" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M2392 6128h20"></path>
+</g>
+</g>
+<path d="M2412 6128h10"></path>
+<path d="M2086.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2086.5 6148h325.5"></path>
+</g>
+<path d="M2412 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2422 6128h20"></path>
+</g>
+</g>
+<path d="M2442 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1776.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1796.5 6167h0"></path>
+<path d="M1859 6167h583"></path>
+<rect x="1796.5" y="6156" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1827.75" y="6171">^\d+$</text>
+</g>
+<path d="M2442 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2462 5961h10"></path>
+<g class="terminal">
+<path d="M2472 5961h0"></path>
+<path d="M2517.5 5961h0"></path>
+<rect x="2472" y="5950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2494.75" y="5965">","</text>
+</g>
+<path d="M2517.5 5961h10"></path>
+<g>
+<path d="M2527.5 5961h0"></path>
+<path d="M3213 5961h0"></path>
+<path d="M2527.5 5961h20"></path>
+<g class="non-terminal">
+<path d="M2547.5 5961h0"></path>
+<path d="M2627 5961h566"></path>
+<rect x="2547.5" y="5950" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="2587.25" y="5965">CDSCast</text>
+</a>
+</g>
+<path d="M3193 5961h20"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2547.5 5991h0"></path>
+<path d="M2661 5991h532"></path>
+<rect x="2547.5" y="5980" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2604.25" y="5995">CDSFunction</text>
+</a>
+</g>
+<path d="M3193 5991a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2547.5 6021h0"></path>
+<path d="M2686.5 6021h506.5"></path>
+<rect x="2547.5" y="6010" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="2617" y="6025">CDSArithmetics</text>
+</a>
+</g>
+<path d="M3193 6021a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2547.5 6051h0"></path>
+<path d="M2627 6051h566"></path>
+<rect x="2547.5" y="6040" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="2587.25" y="6055">CDSCase</text>
+</a>
+</g>
+<path d="M3193 6051a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2547.5 6081h0"></path>
+<path d="M2644 6081h549"></path>
+<rect x="2547.5" y="6070" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2595.75" y="6085">CDSString</text>
+</a>
+</g>
+<path d="M3193 6081a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2547.5 6128h0"></path>
+<path d="M3193 6128h0"></path>
+<g class="non-terminal">
+<path d="M2547.5 6128h0"></path>
+<path d="M2627 6128h0"></path>
+<rect x="2547.5" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2587.25" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M2627 6128h10"></path>
+<g>
+<path d="M2637 6128h0"></path>
+<path d="M2807.5 6128h0"></path>
+<path d="M2637 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2657 6108h130.5"></path>
+</g>
+<path d="M2787.5 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2637 6128h20"></path>
+<g class="non-terminal">
+<path d="M2657 6128h0"></path>
+<path d="M2787.5 6128h0"></path>
+<rect x="2657" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2722.25" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M2787.5 6128h20"></path>
+</g>
+<g>
+<path d="M2807.5 6128h0"></path>
+<path d="M3193 6128h0"></path>
+<path d="M2807.5 6128a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2827.5 6100h345.5"></path>
+</g>
+<path d="M3173 6100a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2807.5 6128h20"></path>
+<g>
+<path d="M2827.5 6128h0"></path>
+<path d="M3173 6128h0"></path>
+<path d="M2827.5 6128h10"></path>
+<g>
+<path d="M2837.5 6128h0"></path>
+<path d="M3163 6128h0"></path>
+<g class="terminal">
+<path d="M2837.5 6128h0"></path>
+<path d="M2883 6128h0"></path>
+<rect x="2837.5" y="6117" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2860.25" y="6132">"."</text>
+</g>
+<path d="M2883 6128h10"></path>
+<path d="M2893 6128h10"></path>
+<g class="non-terminal">
+<path d="M2903 6128h0"></path>
+<path d="M2982.5 6128h0"></path>
+<rect x="2903" y="6117" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2942.75" y="6132">CDSName</text>
+</a>
+</g>
+<path d="M2982.5 6128h10"></path>
+<g>
+<path d="M2992.5 6128h0"></path>
+<path d="M3163 6128h0"></path>
+<path d="M2992.5 6128a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3012.5 6108h130.5"></path>
+</g>
+<path d="M3143 6108a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2992.5 6128h20"></path>
+<g class="non-terminal">
+<path d="M3012.5 6128h0"></path>
+<path d="M3143 6128h0"></path>
+<rect x="3012.5" y="6117" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3077.75" y="6132">CDSParameters</text>
+</a>
+</g>
+<path d="M3143 6128h20"></path>
+</g>
+</g>
+<path d="M3163 6128h10"></path>
+<path d="M2837.5 6128a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2837.5 6148h325.5"></path>
+</g>
+<path d="M3163 6148a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M3173 6128h20"></path>
+</g>
+</g>
+<path d="M3193 6128a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M2527.5 5961a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M2547.5 6167h0"></path>
+<path d="M2610 6167h583"></path>
+<rect x="2547.5" y="6156" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="2578.75" y="6171">^\d+$</text>
+</g>
+<path d="M3193 6167a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M3213 5961h10"></path>
+<g class="terminal">
+<path d="M3223 5961h0"></path>
+<path d="M3268.5 5961h0"></path>
+<rect x="3223" y="5950" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="3245.75" y="5965">")"</text>
+</g>
+</g>
+<path d="M4070.5 5961a10 10 0 0 0 10 -10v-5910a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6146a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 6197h0"></path>
+<path d="M4070.5 6197h0"></path>
+<g class="terminal">
+<path d="M60 6197h0"></path>
+<path d="M250 6197h0"></path>
+<rect x="60" y="6186" width="190" height="22" rx="10" ry="10"></rect>
+<text x="155" y="6201">"DATS&#95;TIMS&#95;TO&#95;TSTMP"</text>
+</g>
+<path d="M250 6197h10"></path>
+<path d="M260 6197h10"></path>
+<g class="terminal">
+<path d="M270 6197h0"></path>
+<path d="M315.5 6197h0"></path>
+<rect x="270" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="292.75" y="6201">"("</text>
+</g>
+<path d="M315.5 6197h10"></path>
+<g>
+<path d="M325.5 6197h0"></path>
+<path d="M1011 6197h0"></path>
+<path d="M325.5 6197h20"></path>
+<g class="non-terminal">
+<path d="M345.5 6197h0"></path>
+<path d="M425 6197h566"></path>
+<rect x="345.5" y="6186" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="385.25" y="6201">CDSCast</text>
+</a>
+</g>
+<path d="M991 6197h20"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 6227h0"></path>
+<path d="M459 6227h532"></path>
+<rect x="345.5" y="6216" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="402.25" y="6231">CDSFunction</text>
+</a>
+</g>
+<path d="M991 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 6257h0"></path>
+<path d="M484.5 6257h506.5"></path>
+<rect x="345.5" y="6246" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="415" y="6261">CDSArithmetics</text>
+</a>
+</g>
+<path d="M991 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 6287h0"></path>
+<path d="M425 6287h566"></path>
+<rect x="345.5" y="6276" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="385.25" y="6291">CDSCase</text>
+</a>
+</g>
+<path d="M991 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M345.5 6317h0"></path>
+<path d="M442 6317h549"></path>
+<rect x="345.5" y="6306" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="393.75" y="6321">CDSString</text>
+</a>
+</g>
+<path d="M991 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M345.5 6364h0"></path>
+<path d="M991 6364h0"></path>
+<g class="non-terminal">
+<path d="M345.5 6364h0"></path>
+<path d="M425 6364h0"></path>
+<rect x="345.5" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="385.25" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M425 6364h10"></path>
+<g>
+<path d="M435 6364h0"></path>
+<path d="M605.5 6364h0"></path>
+<path d="M435 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M455 6344h130.5"></path>
+</g>
+<path d="M585.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M435 6364h20"></path>
+<g class="non-terminal">
+<path d="M455 6364h0"></path>
+<path d="M585.5 6364h0"></path>
+<rect x="455" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="520.25" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M585.5 6364h20"></path>
+</g>
+<g>
+<path d="M605.5 6364h0"></path>
+<path d="M991 6364h0"></path>
+<path d="M605.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M625.5 6336h345.5"></path>
+</g>
+<path d="M971 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M605.5 6364h20"></path>
+<g>
+<path d="M625.5 6364h0"></path>
+<path d="M971 6364h0"></path>
+<path d="M625.5 6364h10"></path>
+<g>
+<path d="M635.5 6364h0"></path>
+<path d="M961 6364h0"></path>
+<g class="terminal">
+<path d="M635.5 6364h0"></path>
+<path d="M681 6364h0"></path>
+<rect x="635.5" y="6353" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="658.25" y="6368">"."</text>
+</g>
+<path d="M681 6364h10"></path>
+<path d="M691 6364h10"></path>
+<g class="non-terminal">
+<path d="M701 6364h0"></path>
+<path d="M780.5 6364h0"></path>
+<rect x="701" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="740.75" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M780.5 6364h10"></path>
+<g>
+<path d="M790.5 6364h0"></path>
+<path d="M961 6364h0"></path>
+<path d="M790.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M810.5 6344h130.5"></path>
+</g>
+<path d="M941 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M790.5 6364h20"></path>
+<g class="non-terminal">
+<path d="M810.5 6364h0"></path>
+<path d="M941 6364h0"></path>
+<rect x="810.5" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="875.75" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M941 6364h20"></path>
+</g>
+</g>
+<path d="M961 6364h10"></path>
+<path d="M635.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M635.5 6384h325.5"></path>
+</g>
+<path d="M961 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M971 6364h20"></path>
+</g>
+</g>
+<path d="M991 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M325.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M345.5 6403h0"></path>
+<path d="M408 6403h583"></path>
+<rect x="345.5" y="6392" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="376.75" y="6407">^\d+$</text>
+</g>
+<path d="M991 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1011 6197h10"></path>
+<g class="terminal">
+<path d="M1021 6197h0"></path>
+<path d="M1066.5 6197h0"></path>
+<rect x="1021" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1043.75" y="6201">","</text>
+</g>
+<path d="M1066.5 6197h10"></path>
+<g>
+<path d="M1076.5 6197h0"></path>
+<path d="M1762 6197h0"></path>
+<path d="M1076.5 6197h20"></path>
+<g class="non-terminal">
+<path d="M1096.5 6197h0"></path>
+<path d="M1176 6197h566"></path>
+<rect x="1096.5" y="6186" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1136.25" y="6201">CDSCast</text>
+</a>
+</g>
+<path d="M1742 6197h20"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 6227h0"></path>
+<path d="M1210 6227h532"></path>
+<rect x="1096.5" y="6216" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1153.25" y="6231">CDSFunction</text>
+</a>
+</g>
+<path d="M1742 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 6257h0"></path>
+<path d="M1235.5 6257h506.5"></path>
+<rect x="1096.5" y="6246" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1166" y="6261">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1742 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 6287h0"></path>
+<path d="M1176 6287h566"></path>
+<rect x="1096.5" y="6276" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1136.25" y="6291">CDSCase</text>
+</a>
+</g>
+<path d="M1742 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1096.5 6317h0"></path>
+<path d="M1193 6317h549"></path>
+<rect x="1096.5" y="6306" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1144.75" y="6321">CDSString</text>
+</a>
+</g>
+<path d="M1742 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1096.5 6364h0"></path>
+<path d="M1742 6364h0"></path>
+<g class="non-terminal">
+<path d="M1096.5 6364h0"></path>
+<path d="M1176 6364h0"></path>
+<rect x="1096.5" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1136.25" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M1176 6364h10"></path>
+<g>
+<path d="M1186 6364h0"></path>
+<path d="M1356.5 6364h0"></path>
+<path d="M1186 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1206 6344h130.5"></path>
+</g>
+<path d="M1336.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1186 6364h20"></path>
+<g class="non-terminal">
+<path d="M1206 6364h0"></path>
+<path d="M1336.5 6364h0"></path>
+<rect x="1206" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1271.25" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M1336.5 6364h20"></path>
+</g>
+<g>
+<path d="M1356.5 6364h0"></path>
+<path d="M1742 6364h0"></path>
+<path d="M1356.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1376.5 6336h345.5"></path>
+</g>
+<path d="M1722 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1356.5 6364h20"></path>
+<g>
+<path d="M1376.5 6364h0"></path>
+<path d="M1722 6364h0"></path>
+<path d="M1376.5 6364h10"></path>
+<g>
+<path d="M1386.5 6364h0"></path>
+<path d="M1712 6364h0"></path>
+<g class="terminal">
+<path d="M1386.5 6364h0"></path>
+<path d="M1432 6364h0"></path>
+<rect x="1386.5" y="6353" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1409.25" y="6368">"."</text>
+</g>
+<path d="M1432 6364h10"></path>
+<path d="M1442 6364h10"></path>
+<g class="non-terminal">
+<path d="M1452 6364h0"></path>
+<path d="M1531.5 6364h0"></path>
+<rect x="1452" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1491.75" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M1531.5 6364h10"></path>
+<g>
+<path d="M1541.5 6364h0"></path>
+<path d="M1712 6364h0"></path>
+<path d="M1541.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1561.5 6344h130.5"></path>
+</g>
+<path d="M1692 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1541.5 6364h20"></path>
+<g class="non-terminal">
+<path d="M1561.5 6364h0"></path>
+<path d="M1692 6364h0"></path>
+<rect x="1561.5" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1626.75" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M1692 6364h20"></path>
+</g>
+</g>
+<path d="M1712 6364h10"></path>
+<path d="M1386.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1386.5 6384h325.5"></path>
+</g>
+<path d="M1712 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1722 6364h20"></path>
+</g>
+</g>
+<path d="M1742 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1076.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1096.5 6403h0"></path>
+<path d="M1159 6403h583"></path>
+<rect x="1096.5" y="6392" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1127.75" y="6407">^\d+$</text>
+</g>
+<path d="M1742 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1762 6197h10"></path>
+<g class="terminal">
+<path d="M1772 6197h0"></path>
+<path d="M1817.5 6197h0"></path>
+<rect x="1772" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1794.75" y="6201">","</text>
+</g>
+<path d="M1817.5 6197h10"></path>
+<g>
+<path d="M1827.5 6197h0"></path>
+<path d="M2513 6197h0"></path>
+<path d="M1827.5 6197h20"></path>
+<g class="non-terminal">
+<path d="M1847.5 6197h0"></path>
+<path d="M1927 6197h566"></path>
+<rect x="1847.5" y="6186" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1887.25" y="6201">CDSCast</text>
+</a>
+</g>
+<path d="M2493 6197h20"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 6227h0"></path>
+<path d="M1961 6227h532"></path>
+<rect x="1847.5" y="6216" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1904.25" y="6231">CDSFunction</text>
+</a>
+</g>
+<path d="M2493 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 6257h0"></path>
+<path d="M1986.5 6257h506.5"></path>
+<rect x="1847.5" y="6246" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1917" y="6261">CDSArithmetics</text>
+</a>
+</g>
+<path d="M2493 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 6287h0"></path>
+<path d="M1927 6287h566"></path>
+<rect x="1847.5" y="6276" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1887.25" y="6291">CDSCase</text>
+</a>
+</g>
+<path d="M2493 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1847.5 6317h0"></path>
+<path d="M1944 6317h549"></path>
+<rect x="1847.5" y="6306" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1895.75" y="6321">CDSString</text>
+</a>
+</g>
+<path d="M2493 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1847.5 6364h0"></path>
+<path d="M2493 6364h0"></path>
+<g class="non-terminal">
+<path d="M1847.5 6364h0"></path>
+<path d="M1927 6364h0"></path>
+<rect x="1847.5" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1887.25" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M1927 6364h10"></path>
+<g>
+<path d="M1937 6364h0"></path>
+<path d="M2107.5 6364h0"></path>
+<path d="M1937 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1957 6344h130.5"></path>
+</g>
+<path d="M2087.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1937 6364h20"></path>
+<g class="non-terminal">
+<path d="M1957 6364h0"></path>
+<path d="M2087.5 6364h0"></path>
+<rect x="1957" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2022.25" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M2087.5 6364h20"></path>
+</g>
+<g>
+<path d="M2107.5 6364h0"></path>
+<path d="M2493 6364h0"></path>
+<path d="M2107.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2127.5 6336h345.5"></path>
+</g>
+<path d="M2473 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2107.5 6364h20"></path>
+<g>
+<path d="M2127.5 6364h0"></path>
+<path d="M2473 6364h0"></path>
+<path d="M2127.5 6364h10"></path>
+<g>
+<path d="M2137.5 6364h0"></path>
+<path d="M2463 6364h0"></path>
+<g class="terminal">
+<path d="M2137.5 6364h0"></path>
+<path d="M2183 6364h0"></path>
+<rect x="2137.5" y="6353" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2160.25" y="6368">"."</text>
+</g>
+<path d="M2183 6364h10"></path>
+<path d="M2193 6364h10"></path>
+<g class="non-terminal">
+<path d="M2203 6364h0"></path>
+<path d="M2282.5 6364h0"></path>
+<rect x="2203" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2242.75" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M2282.5 6364h10"></path>
+<g>
+<path d="M2292.5 6364h0"></path>
+<path d="M2463 6364h0"></path>
+<path d="M2292.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2312.5 6344h130.5"></path>
+</g>
+<path d="M2443 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2292.5 6364h20"></path>
+<g class="non-terminal">
+<path d="M2312.5 6364h0"></path>
+<path d="M2443 6364h0"></path>
+<rect x="2312.5" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2377.75" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M2443 6364h20"></path>
+</g>
+</g>
+<path d="M2463 6364h10"></path>
+<path d="M2137.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2137.5 6384h325.5"></path>
+</g>
+<path d="M2463 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2473 6364h20"></path>
+</g>
+</g>
+<path d="M2493 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M1827.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M1847.5 6403h0"></path>
+<path d="M1910 6403h583"></path>
+<rect x="1847.5" y="6392" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1878.75" y="6407">^\d+$</text>
+</g>
+<path d="M2493 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M2513 6197h10"></path>
+<g class="terminal">
+<path d="M2523 6197h0"></path>
+<path d="M2568.5 6197h0"></path>
+<rect x="2523" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2545.75" y="6201">","</text>
+</g>
+<path d="M2568.5 6197h10"></path>
+<g>
+<path d="M2578.5 6197h0"></path>
+<path d="M3264 6197h0"></path>
+<path d="M2578.5 6197h20"></path>
+<g class="non-terminal">
+<path d="M2598.5 6197h0"></path>
+<path d="M2678 6197h566"></path>
+<rect x="2598.5" y="6186" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="2638.25" y="6201">CDSCast</text>
+</a>
+</g>
+<path d="M3244 6197h20"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2598.5 6227h0"></path>
+<path d="M2712 6227h532"></path>
+<rect x="2598.5" y="6216" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="2655.25" y="6231">CDSFunction</text>
+</a>
+</g>
+<path d="M3244 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2598.5 6257h0"></path>
+<path d="M2737.5 6257h506.5"></path>
+<rect x="2598.5" y="6246" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="2668" y="6261">CDSArithmetics</text>
+</a>
+</g>
+<path d="M3244 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2598.5 6287h0"></path>
+<path d="M2678 6287h566"></path>
+<rect x="2598.5" y="6276" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="2638.25" y="6291">CDSCase</text>
+</a>
+</g>
+<path d="M3244 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M2598.5 6317h0"></path>
+<path d="M2695 6317h549"></path>
+<rect x="2598.5" y="6306" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="2646.75" y="6321">CDSString</text>
+</a>
+</g>
+<path d="M3244 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2598.5 6364h0"></path>
+<path d="M3244 6364h0"></path>
+<g class="non-terminal">
+<path d="M2598.5 6364h0"></path>
+<path d="M2678 6364h0"></path>
+<rect x="2598.5" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2638.25" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M2678 6364h10"></path>
+<g>
+<path d="M2688 6364h0"></path>
+<path d="M2858.5 6364h0"></path>
+<path d="M2688 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2708 6344h130.5"></path>
+</g>
+<path d="M2838.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2688 6364h20"></path>
+<g class="non-terminal">
+<path d="M2708 6364h0"></path>
+<path d="M2838.5 6364h0"></path>
+<rect x="2708" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="2773.25" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M2838.5 6364h20"></path>
+</g>
+<g>
+<path d="M2858.5 6364h0"></path>
+<path d="M3244 6364h0"></path>
+<path d="M2858.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2878.5 6336h345.5"></path>
+</g>
+<path d="M3224 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2858.5 6364h20"></path>
+<g>
+<path d="M2878.5 6364h0"></path>
+<path d="M3224 6364h0"></path>
+<path d="M2878.5 6364h10"></path>
+<g>
+<path d="M2888.5 6364h0"></path>
+<path d="M3214 6364h0"></path>
+<g class="terminal">
+<path d="M2888.5 6364h0"></path>
+<path d="M2934 6364h0"></path>
+<rect x="2888.5" y="6353" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2911.25" y="6368">"."</text>
+</g>
+<path d="M2934 6364h10"></path>
+<path d="M2944 6364h10"></path>
+<g class="non-terminal">
+<path d="M2954 6364h0"></path>
+<path d="M3033.5 6364h0"></path>
+<rect x="2954" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="2993.75" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M3033.5 6364h10"></path>
+<g>
+<path d="M3043.5 6364h0"></path>
+<path d="M3214 6364h0"></path>
+<path d="M3043.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3063.5 6344h130.5"></path>
+</g>
+<path d="M3194 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M3043.5 6364h20"></path>
+<g class="non-terminal">
+<path d="M3063.5 6364h0"></path>
+<path d="M3194 6364h0"></path>
+<rect x="3063.5" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3128.75" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M3194 6364h20"></path>
+</g>
+</g>
+<path d="M3214 6364h10"></path>
+<path d="M2888.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M2888.5 6384h325.5"></path>
+</g>
+<path d="M3214 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M3224 6364h20"></path>
+</g>
+</g>
+<path d="M3244 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M2578.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M2598.5 6403h0"></path>
+<path d="M2661 6403h583"></path>
+<rect x="2598.5" y="6392" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="2629.75" y="6407">^\d+$</text>
+</g>
+<path d="M3244 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M3264 6197h10"></path>
+<g class="terminal">
+<path d="M3274 6197h0"></path>
+<path d="M3319.5 6197h0"></path>
+<rect x="3274" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="3296.75" y="6201">","</text>
+</g>
+<path d="M3319.5 6197h10"></path>
+<g>
+<path d="M3329.5 6197h0"></path>
+<path d="M4015 6197h0"></path>
+<path d="M3329.5 6197h20"></path>
+<g class="non-terminal">
+<path d="M3349.5 6197h0"></path>
+<path d="M3429 6197h566"></path>
+<rect x="3349.5" y="6186" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="3389.25" y="6201">CDSCast</text>
+</a>
+</g>
+<path d="M3995 6197h20"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M3349.5 6227h0"></path>
+<path d="M3463 6227h532"></path>
+<rect x="3349.5" y="6216" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="3406.25" y="6231">CDSFunction</text>
+</a>
+</g>
+<path d="M3995 6227a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M3349.5 6257h0"></path>
+<path d="M3488.5 6257h506.5"></path>
+<rect x="3349.5" y="6246" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="3419" y="6261">CDSArithmetics</text>
+</a>
+</g>
+<path d="M3995 6257a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M3349.5 6287h0"></path>
+<path d="M3429 6287h566"></path>
+<rect x="3349.5" y="6276" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="3389.25" y="6291">CDSCase</text>
+</a>
+</g>
+<path d="M3995 6287a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M3349.5 6317h0"></path>
+<path d="M3446 6317h549"></path>
+<rect x="3349.5" y="6306" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="3397.75" y="6321">CDSString</text>
+</a>
+</g>
+<path d="M3995 6317a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M3349.5 6364h0"></path>
+<path d="M3995 6364h0"></path>
+<g class="non-terminal">
+<path d="M3349.5 6364h0"></path>
+<path d="M3429 6364h0"></path>
+<rect x="3349.5" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="3389.25" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M3429 6364h10"></path>
+<g>
+<path d="M3439 6364h0"></path>
+<path d="M3609.5 6364h0"></path>
+<path d="M3439 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3459 6344h130.5"></path>
+</g>
+<path d="M3589.5 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M3439 6364h20"></path>
+<g class="non-terminal">
+<path d="M3459 6364h0"></path>
+<path d="M3589.5 6364h0"></path>
+<rect x="3459" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3524.25" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M3589.5 6364h20"></path>
+</g>
+<g>
+<path d="M3609.5 6364h0"></path>
+<path d="M3995 6364h0"></path>
+<path d="M3609.5 6364a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3629.5 6336h345.5"></path>
+</g>
+<path d="M3975 6336a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M3609.5 6364h20"></path>
+<g>
+<path d="M3629.5 6364h0"></path>
+<path d="M3975 6364h0"></path>
+<path d="M3629.5 6364h10"></path>
+<g>
+<path d="M3639.5 6364h0"></path>
+<path d="M3965 6364h0"></path>
+<g class="terminal">
+<path d="M3639.5 6364h0"></path>
+<path d="M3685 6364h0"></path>
+<rect x="3639.5" y="6353" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="3662.25" y="6368">"."</text>
+</g>
+<path d="M3685 6364h10"></path>
+<path d="M3695 6364h10"></path>
+<g class="non-terminal">
+<path d="M3705 6364h0"></path>
+<path d="M3784.5 6364h0"></path>
+<rect x="3705" y="6353" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="3744.75" y="6368">CDSName</text>
+</a>
+</g>
+<path d="M3784.5 6364h10"></path>
+<g>
+<path d="M3794.5 6364h0"></path>
+<path d="M3965 6364h0"></path>
+<path d="M3794.5 6364a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M3814.5 6344h130.5"></path>
+</g>
+<path d="M3945 6344a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M3794.5 6364h20"></path>
+<g class="non-terminal">
+<path d="M3814.5 6364h0"></path>
+<path d="M3945 6364h0"></path>
+<rect x="3814.5" y="6353" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="3879.75" y="6368">CDSParameters</text>
+</a>
+</g>
+<path d="M3945 6364h20"></path>
+</g>
+</g>
+<path d="M3965 6364h10"></path>
+<path d="M3639.5 6364a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M3639.5 6384h325.5"></path>
+</g>
+<path d="M3965 6384a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M3975 6364h20"></path>
+</g>
+</g>
+<path d="M3995 6364a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M3329.5 6197a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M3349.5 6403h0"></path>
+<path d="M3412 6403h583"></path>
+<rect x="3349.5" y="6392" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="3380.75" y="6407">^\d+$</text>
+</g>
+<path d="M3995 6403a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M4015 6197h10"></path>
+<g class="terminal">
+<path d="M4025 6197h0"></path>
+<path d="M4070.5 6197h0"></path>
+<rect x="4025" y="6186" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="4047.75" y="6201">")"</text>
+</g>
+</g>
+<path d="M4070.5 6197a10 10 0 0 0 10 -10v-6146a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6382a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 6433h0"></path>
+<path d="M1690 6433h2380.5"></path>
+<g class="terminal">
+<path d="M60 6433h0"></path>
+<path d="M122.5 6433h0"></path>
+<rect x="60" y="6422" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="91.25" y="6437">"MOD"</text>
+</g>
+<path d="M122.5 6433h10"></path>
+<path d="M132.5 6433h10"></path>
+<g class="terminal">
+<path d="M142.5 6433h0"></path>
+<path d="M188 6433h0"></path>
+<rect x="142.5" y="6422" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="165.25" y="6437">"("</text>
+</g>
+<path d="M188 6433h10"></path>
+<g>
+<path d="M198 6433h0"></path>
+<path d="M883.5 6433h0"></path>
+<path d="M198 6433h20"></path>
+<g class="non-terminal">
+<path d="M218 6433h0"></path>
+<path d="M297.5 6433h566"></path>
+<rect x="218" y="6422" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="257.75" y="6437">CDSCast</text>
+</a>
+</g>
+<path d="M863.5 6433h20"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 6463h0"></path>
+<path d="M331.5 6463h532"></path>
+<rect x="218" y="6452" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="274.75" y="6467">CDSFunction</text>
+</a>
+</g>
+<path d="M863.5 6463a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 6493h0"></path>
+<path d="M357 6493h506.5"></path>
+<rect x="218" y="6482" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="287.5" y="6497">CDSArithmetics</text>
+</a>
+</g>
+<path d="M863.5 6493a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 6523h0"></path>
+<path d="M297.5 6523h566"></path>
+<rect x="218" y="6512" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="257.75" y="6527">CDSCase</text>
+</a>
+</g>
+<path d="M863.5 6523a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M218 6553h0"></path>
+<path d="M314.5 6553h549"></path>
+<rect x="218" y="6542" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="266.25" y="6557">CDSString</text>
+</a>
+</g>
+<path d="M863.5 6553a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M218 6600h0"></path>
+<path d="M863.5 6600h0"></path>
+<g class="non-terminal">
+<path d="M218 6600h0"></path>
+<path d="M297.5 6600h0"></path>
+<rect x="218" y="6589" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="257.75" y="6604">CDSName</text>
+</a>
+</g>
+<path d="M297.5 6600h10"></path>
+<g>
+<path d="M307.5 6600h0"></path>
+<path d="M478 6600h0"></path>
+<path d="M307.5 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M327.5 6580h130.5"></path>
+</g>
+<path d="M458 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M307.5 6600h20"></path>
+<g class="non-terminal">
+<path d="M327.5 6600h0"></path>
+<path d="M458 6600h0"></path>
+<rect x="327.5" y="6589" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="392.75" y="6604">CDSParameters</text>
+</a>
+</g>
+<path d="M458 6600h20"></path>
+</g>
+<g>
+<path d="M478 6600h0"></path>
+<path d="M863.5 6600h0"></path>
+<path d="M478 6600a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M498 6572h345.5"></path>
+</g>
+<path d="M843.5 6572a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M478 6600h20"></path>
+<g>
+<path d="M498 6600h0"></path>
+<path d="M843.5 6600h0"></path>
+<path d="M498 6600h10"></path>
+<g>
+<path d="M508 6600h0"></path>
+<path d="M833.5 6600h0"></path>
+<g class="terminal">
+<path d="M508 6600h0"></path>
+<path d="M553.5 6600h0"></path>
+<rect x="508" y="6589" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="530.75" y="6604">"."</text>
+</g>
+<path d="M553.5 6600h10"></path>
+<path d="M563.5 6600h10"></path>
+<g class="non-terminal">
+<path d="M573.5 6600h0"></path>
+<path d="M653 6600h0"></path>
+<rect x="573.5" y="6589" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="613.25" y="6604">CDSName</text>
+</a>
+</g>
+<path d="M653 6600h10"></path>
+<g>
+<path d="M663 6600h0"></path>
+<path d="M833.5 6600h0"></path>
+<path d="M663 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M683 6580h130.5"></path>
+</g>
+<path d="M813.5 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M663 6600h20"></path>
+<g class="non-terminal">
+<path d="M683 6600h0"></path>
+<path d="M813.5 6600h0"></path>
+<rect x="683" y="6589" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="748.25" y="6604">CDSParameters</text>
+</a>
+</g>
+<path d="M813.5 6600h20"></path>
+</g>
+</g>
+<path d="M833.5 6600h10"></path>
+<path d="M508 6600a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M508 6620h325.5"></path>
+</g>
+<path d="M833.5 6620a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M843.5 6600h20"></path>
+</g>
+</g>
+<path d="M863.5 6600a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M198 6433a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M218 6639h0"></path>
+<path d="M280.5 6639h583"></path>
+<rect x="218" y="6628" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="249.25" y="6643">^\d+$</text>
+</g>
+<path d="M863.5 6639a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M883.5 6433h10"></path>
+<g class="terminal">
+<path d="M893.5 6433h0"></path>
+<path d="M939 6433h0"></path>
+<rect x="893.5" y="6422" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="916.25" y="6437">","</text>
+</g>
+<path d="M939 6433h10"></path>
+<g>
+<path d="M949 6433h0"></path>
+<path d="M1634.5 6433h0"></path>
+<path d="M949 6433h20"></path>
+<g class="non-terminal">
+<path d="M969 6433h0"></path>
+<path d="M1048.5 6433h566"></path>
+<rect x="969" y="6422" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1008.75" y="6437">CDSCast</text>
+</a>
+</g>
+<path d="M1614.5 6433h20"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 6463h0"></path>
+<path d="M1082.5 6463h532"></path>
+<rect x="969" y="6452" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1025.75" y="6467">CDSFunction</text>
+</a>
+</g>
+<path d="M1614.5 6463a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 6493h0"></path>
+<path d="M1108 6493h506.5"></path>
+<rect x="969" y="6482" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1038.5" y="6497">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1614.5 6493a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 6523h0"></path>
+<path d="M1048.5 6523h566"></path>
+<rect x="969" y="6512" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1008.75" y="6527">CDSCase</text>
+</a>
+</g>
+<path d="M1614.5 6523a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M969 6553h0"></path>
+<path d="M1065.5 6553h549"></path>
+<rect x="969" y="6542" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1017.25" y="6557">CDSString</text>
+</a>
+</g>
+<path d="M1614.5 6553a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M969 6600h0"></path>
+<path d="M1614.5 6600h0"></path>
+<g class="non-terminal">
+<path d="M969 6600h0"></path>
+<path d="M1048.5 6600h0"></path>
+<rect x="969" y="6589" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1008.75" y="6604">CDSName</text>
+</a>
+</g>
+<path d="M1048.5 6600h10"></path>
+<g>
+<path d="M1058.5 6600h0"></path>
+<path d="M1229 6600h0"></path>
+<path d="M1058.5 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1078.5 6580h130.5"></path>
+</g>
+<path d="M1209 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1058.5 6600h20"></path>
+<g class="non-terminal">
+<path d="M1078.5 6600h0"></path>
+<path d="M1209 6600h0"></path>
+<rect x="1078.5" y="6589" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1143.75" y="6604">CDSParameters</text>
+</a>
+</g>
+<path d="M1209 6600h20"></path>
+</g>
+<g>
+<path d="M1229 6600h0"></path>
+<path d="M1614.5 6600h0"></path>
+<path d="M1229 6600a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1249 6572h345.5"></path>
+</g>
+<path d="M1594.5 6572a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1229 6600h20"></path>
+<g>
+<path d="M1249 6600h0"></path>
+<path d="M1594.5 6600h0"></path>
+<path d="M1249 6600h10"></path>
+<g>
+<path d="M1259 6600h0"></path>
+<path d="M1584.5 6600h0"></path>
+<g class="terminal">
+<path d="M1259 6600h0"></path>
+<path d="M1304.5 6600h0"></path>
+<rect x="1259" y="6589" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1281.75" y="6604">"."</text>
+</g>
+<path d="M1304.5 6600h10"></path>
+<path d="M1314.5 6600h10"></path>
+<g class="non-terminal">
+<path d="M1324.5 6600h0"></path>
+<path d="M1404 6600h0"></path>
+<rect x="1324.5" y="6589" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1364.25" y="6604">CDSName</text>
+</a>
+</g>
+<path d="M1404 6600h10"></path>
+<g>
+<path d="M1414 6600h0"></path>
+<path d="M1584.5 6600h0"></path>
+<path d="M1414 6600a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1434 6580h130.5"></path>
+</g>
+<path d="M1564.5 6580a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1414 6600h20"></path>
+<g class="non-terminal">
+<path d="M1434 6600h0"></path>
+<path d="M1564.5 6600h0"></path>
+<rect x="1434" y="6589" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1499.25" y="6604">CDSParameters</text>
+</a>
+</g>
+<path d="M1564.5 6600h20"></path>
+</g>
+</g>
+<path d="M1584.5 6600h10"></path>
+<path d="M1259 6600a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1259 6620h325.5"></path>
+</g>
+<path d="M1584.5 6620a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1594.5 6600h20"></path>
+</g>
+</g>
+<path d="M1614.5 6600a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M949 6433a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M969 6639h0"></path>
+<path d="M1031.5 6639h583"></path>
+<rect x="969" y="6628" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1000.25" y="6643">^\d+$</text>
+</g>
+<path d="M1614.5 6639a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1634.5 6433h10"></path>
+<g class="terminal">
+<path d="M1644.5 6433h0"></path>
+<path d="M1690 6433h0"></path>
+<rect x="1644.5" y="6422" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1667.25" y="6437">")"</text>
+</g>
+</g>
+<path d="M4070.5 6433a10 10 0 0 0 10 -10v-6382a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6618a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 6669h0"></path>
+<path d="M1698.5 6669h2372"></path>
+<g class="terminal">
+<path d="M60 6669h0"></path>
+<path d="M131 6669h0"></path>
+<rect x="60" y="6658" width="71" height="22" rx="10" ry="10"></rect>
+<text x="95.5" y="6673">"LEFT"</text>
+</g>
+<path d="M131 6669h10"></path>
+<path d="M141 6669h10"></path>
+<g class="terminal">
+<path d="M151 6669h0"></path>
+<path d="M196.5 6669h0"></path>
+<rect x="151" y="6658" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="173.75" y="6673">"("</text>
+</g>
+<path d="M196.5 6669h10"></path>
+<g>
+<path d="M206.5 6669h0"></path>
+<path d="M892 6669h0"></path>
+<path d="M206.5 6669h20"></path>
+<g class="non-terminal">
+<path d="M226.5 6669h0"></path>
+<path d="M306 6669h566"></path>
+<rect x="226.5" y="6658" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="266.25" y="6673">CDSCast</text>
+</a>
+</g>
+<path d="M872 6669h20"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 6699h0"></path>
+<path d="M340 6699h532"></path>
+<rect x="226.5" y="6688" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="283.25" y="6703">CDSFunction</text>
+</a>
+</g>
+<path d="M872 6699a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 6729h0"></path>
+<path d="M365.5 6729h506.5"></path>
+<rect x="226.5" y="6718" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="296" y="6733">CDSArithmetics</text>
+</a>
+</g>
+<path d="M872 6729a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 6759h0"></path>
+<path d="M306 6759h566"></path>
+<rect x="226.5" y="6748" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="266.25" y="6763">CDSCase</text>
+</a>
+</g>
+<path d="M872 6759a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M226.5 6789h0"></path>
+<path d="M323 6789h549"></path>
+<rect x="226.5" y="6778" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="274.75" y="6793">CDSString</text>
+</a>
+</g>
+<path d="M872 6789a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M226.5 6836h0"></path>
+<path d="M872 6836h0"></path>
+<g class="non-terminal">
+<path d="M226.5 6836h0"></path>
+<path d="M306 6836h0"></path>
+<rect x="226.5" y="6825" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="266.25" y="6840">CDSName</text>
+</a>
+</g>
+<path d="M306 6836h10"></path>
+<g>
+<path d="M316 6836h0"></path>
+<path d="M486.5 6836h0"></path>
+<path d="M316 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M336 6816h130.5"></path>
+</g>
+<path d="M466.5 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M316 6836h20"></path>
+<g class="non-terminal">
+<path d="M336 6836h0"></path>
+<path d="M466.5 6836h0"></path>
+<rect x="336" y="6825" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="401.25" y="6840">CDSParameters</text>
+</a>
+</g>
+<path d="M466.5 6836h20"></path>
+</g>
+<g>
+<path d="M486.5 6836h0"></path>
+<path d="M872 6836h0"></path>
+<path d="M486.5 6836a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M506.5 6808h345.5"></path>
+</g>
+<path d="M852 6808a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M486.5 6836h20"></path>
+<g>
+<path d="M506.5 6836h0"></path>
+<path d="M852 6836h0"></path>
+<path d="M506.5 6836h10"></path>
+<g>
+<path d="M516.5 6836h0"></path>
+<path d="M842 6836h0"></path>
+<g class="terminal">
+<path d="M516.5 6836h0"></path>
+<path d="M562 6836h0"></path>
+<rect x="516.5" y="6825" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="539.25" y="6840">"."</text>
+</g>
+<path d="M562 6836h10"></path>
+<path d="M572 6836h10"></path>
+<g class="non-terminal">
+<path d="M582 6836h0"></path>
+<path d="M661.5 6836h0"></path>
+<rect x="582" y="6825" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="621.75" y="6840">CDSName</text>
+</a>
+</g>
+<path d="M661.5 6836h10"></path>
+<g>
+<path d="M671.5 6836h0"></path>
+<path d="M842 6836h0"></path>
+<path d="M671.5 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M691.5 6816h130.5"></path>
+</g>
+<path d="M822 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M671.5 6836h20"></path>
+<g class="non-terminal">
+<path d="M691.5 6836h0"></path>
+<path d="M822 6836h0"></path>
+<rect x="691.5" y="6825" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="756.75" y="6840">CDSParameters</text>
+</a>
+</g>
+<path d="M822 6836h20"></path>
+</g>
+</g>
+<path d="M842 6836h10"></path>
+<path d="M516.5 6836a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M516.5 6856h325.5"></path>
+</g>
+<path d="M842 6856a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M852 6836h20"></path>
+</g>
+</g>
+<path d="M872 6836a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M206.5 6669a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M226.5 6875h0"></path>
+<path d="M289 6875h583"></path>
+<rect x="226.5" y="6864" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="257.75" y="6879">^\d+$</text>
+</g>
+<path d="M872 6875a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M892 6669h10"></path>
+<g class="terminal">
+<path d="M902 6669h0"></path>
+<path d="M947.5 6669h0"></path>
+<rect x="902" y="6658" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="924.75" y="6673">","</text>
+</g>
+<path d="M947.5 6669h10"></path>
+<g>
+<path d="M957.5 6669h0"></path>
+<path d="M1643 6669h0"></path>
+<path d="M957.5 6669h20"></path>
+<g class="non-terminal">
+<path d="M977.5 6669h0"></path>
+<path d="M1057 6669h566"></path>
+<rect x="977.5" y="6658" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1017.25" y="6673">CDSCast</text>
+</a>
+</g>
+<path d="M1623 6669h20"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M977.5 6699h0"></path>
+<path d="M1091 6699h532"></path>
+<rect x="977.5" y="6688" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1034.25" y="6703">CDSFunction</text>
+</a>
+</g>
+<path d="M1623 6699a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M977.5 6729h0"></path>
+<path d="M1116.5 6729h506.5"></path>
+<rect x="977.5" y="6718" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1047" y="6733">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1623 6729a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M977.5 6759h0"></path>
+<path d="M1057 6759h566"></path>
+<rect x="977.5" y="6748" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1017.25" y="6763">CDSCase</text>
+</a>
+</g>
+<path d="M1623 6759a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M977.5 6789h0"></path>
+<path d="M1074 6789h549"></path>
+<rect x="977.5" y="6778" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1025.75" y="6793">CDSString</text>
+</a>
+</g>
+<path d="M1623 6789a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M977.5 6836h0"></path>
+<path d="M1623 6836h0"></path>
+<g class="non-terminal">
+<path d="M977.5 6836h0"></path>
+<path d="M1057 6836h0"></path>
+<rect x="977.5" y="6825" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1017.25" y="6840">CDSName</text>
+</a>
+</g>
+<path d="M1057 6836h10"></path>
+<g>
+<path d="M1067 6836h0"></path>
+<path d="M1237.5 6836h0"></path>
+<path d="M1067 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1087 6816h130.5"></path>
+</g>
+<path d="M1217.5 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1067 6836h20"></path>
+<g class="non-terminal">
+<path d="M1087 6836h0"></path>
+<path d="M1217.5 6836h0"></path>
+<rect x="1087" y="6825" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1152.25" y="6840">CDSParameters</text>
+</a>
+</g>
+<path d="M1217.5 6836h20"></path>
+</g>
+<g>
+<path d="M1237.5 6836h0"></path>
+<path d="M1623 6836h0"></path>
+<path d="M1237.5 6836a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1257.5 6808h345.5"></path>
+</g>
+<path d="M1603 6808a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1237.5 6836h20"></path>
+<g>
+<path d="M1257.5 6836h0"></path>
+<path d="M1603 6836h0"></path>
+<path d="M1257.5 6836h10"></path>
+<g>
+<path d="M1267.5 6836h0"></path>
+<path d="M1593 6836h0"></path>
+<g class="terminal">
+<path d="M1267.5 6836h0"></path>
+<path d="M1313 6836h0"></path>
+<rect x="1267.5" y="6825" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1290.25" y="6840">"."</text>
+</g>
+<path d="M1313 6836h10"></path>
+<path d="M1323 6836h10"></path>
+<g class="non-terminal">
+<path d="M1333 6836h0"></path>
+<path d="M1412.5 6836h0"></path>
+<rect x="1333" y="6825" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1372.75" y="6840">CDSName</text>
+</a>
+</g>
+<path d="M1412.5 6836h10"></path>
+<g>
+<path d="M1422.5 6836h0"></path>
+<path d="M1593 6836h0"></path>
+<path d="M1422.5 6836a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1442.5 6816h130.5"></path>
+</g>
+<path d="M1573 6816a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1422.5 6836h20"></path>
+<g class="non-terminal">
+<path d="M1442.5 6836h0"></path>
+<path d="M1573 6836h0"></path>
+<rect x="1442.5" y="6825" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1507.75" y="6840">CDSParameters</text>
+</a>
+</g>
+<path d="M1573 6836h20"></path>
+</g>
+</g>
+<path d="M1593 6836h10"></path>
+<path d="M1267.5 6836a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1267.5 6856h325.5"></path>
+</g>
+<path d="M1593 6856a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1603 6836h20"></path>
+</g>
+</g>
+<path d="M1623 6836a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M957.5 6669a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M977.5 6875h0"></path>
+<path d="M1040 6875h583"></path>
+<rect x="977.5" y="6864" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1008.75" y="6879">^\d+$</text>
+</g>
+<path d="M1623 6875a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1643 6669h10"></path>
+<g class="terminal">
+<path d="M1653 6669h0"></path>
+<path d="M1698.5 6669h0"></path>
+<rect x="1653" y="6658" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1675.75" y="6673">")"</text>
+</g>
+</g>
+<path d="M4070.5 6669a10 10 0 0 0 10 -10v-6618a10 10 0 0 1 10 -10"></path>
+<path d="M40 31a10 10 0 0 1 10 10v6854a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M60 6905h0"></path>
+<path d="M1707 6905h2363.5"></path>
+<g class="terminal">
+<path d="M60 6905h0"></path>
+<path d="M139.5 6905h0"></path>
+<rect x="60" y="6894" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="99.75" y="6909">"RIGHT"</text>
+</g>
+<path d="M139.5 6905h10"></path>
+<path d="M149.5 6905h10"></path>
+<g class="terminal">
+<path d="M159.5 6905h0"></path>
+<path d="M205 6905h0"></path>
+<rect x="159.5" y="6894" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="6909">"("</text>
+</g>
+<path d="M205 6905h10"></path>
+<g>
+<path d="M215 6905h0"></path>
+<path d="M900.5 6905h0"></path>
+<path d="M215 6905h20"></path>
+<g class="non-terminal">
+<path d="M235 6905h0"></path>
+<path d="M314.5 6905h566"></path>
+<rect x="235" y="6894" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="274.75" y="6909">CDSCast</text>
+</a>
+</g>
+<path d="M880.5 6905h20"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 6935h0"></path>
+<path d="M348.5 6935h532"></path>
+<rect x="235" y="6924" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="291.75" y="6939">CDSFunction</text>
+</a>
+</g>
+<path d="M880.5 6935a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 6965h0"></path>
+<path d="M374 6965h506.5"></path>
+<rect x="235" y="6954" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="304.5" y="6969">CDSArithmetics</text>
+</a>
+</g>
+<path d="M880.5 6965a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 6995h0"></path>
+<path d="M314.5 6995h566"></path>
+<rect x="235" y="6984" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="274.75" y="6999">CDSCase</text>
+</a>
+</g>
+<path d="M880.5 6995a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M235 7025h0"></path>
+<path d="M331.5 7025h549"></path>
+<rect x="235" y="7014" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="283.25" y="7029">CDSString</text>
+</a>
+</g>
+<path d="M880.5 7025a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M235 7072h0"></path>
+<path d="M880.5 7072h0"></path>
+<g class="non-terminal">
+<path d="M235 7072h0"></path>
+<path d="M314.5 7072h0"></path>
+<rect x="235" y="7061" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.75" y="7076">CDSName</text>
+</a>
+</g>
+<path d="M314.5 7072h10"></path>
+<g>
+<path d="M324.5 7072h0"></path>
+<path d="M495 7072h0"></path>
+<path d="M324.5 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 7052h130.5"></path>
+</g>
+<path d="M475 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M324.5 7072h20"></path>
+<g class="non-terminal">
+<path d="M344.5 7072h0"></path>
+<path d="M475 7072h0"></path>
+<rect x="344.5" y="7061" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="409.75" y="7076">CDSParameters</text>
+</a>
+</g>
+<path d="M475 7072h20"></path>
+</g>
+<g>
+<path d="M495 7072h0"></path>
+<path d="M880.5 7072h0"></path>
+<path d="M495 7072a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 7044h345.5"></path>
+</g>
+<path d="M860.5 7044a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M495 7072h20"></path>
+<g>
+<path d="M515 7072h0"></path>
+<path d="M860.5 7072h0"></path>
+<path d="M515 7072h10"></path>
+<g>
+<path d="M525 7072h0"></path>
+<path d="M850.5 7072h0"></path>
+<g class="terminal">
+<path d="M525 7072h0"></path>
+<path d="M570.5 7072h0"></path>
+<rect x="525" y="7061" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="547.75" y="7076">"."</text>
+</g>
+<path d="M570.5 7072h10"></path>
+<path d="M580.5 7072h10"></path>
+<g class="non-terminal">
+<path d="M590.5 7072h0"></path>
+<path d="M670 7072h0"></path>
+<rect x="590.5" y="7061" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="630.25" y="7076">CDSName</text>
+</a>
+</g>
+<path d="M670 7072h10"></path>
+<g>
+<path d="M680 7072h0"></path>
+<path d="M850.5 7072h0"></path>
+<path d="M680 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M700 7052h130.5"></path>
+</g>
+<path d="M830.5 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M680 7072h20"></path>
+<g class="non-terminal">
+<path d="M700 7072h0"></path>
+<path d="M830.5 7072h0"></path>
+<rect x="700" y="7061" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="765.25" y="7076">CDSParameters</text>
+</a>
+</g>
+<path d="M830.5 7072h20"></path>
+</g>
+</g>
+<path d="M850.5 7072h10"></path>
+<path d="M525 7072a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M525 7092h325.5"></path>
+</g>
+<path d="M850.5 7092a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M860.5 7072h20"></path>
+</g>
+</g>
+<path d="M880.5 7072a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M215 6905a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M235 7111h0"></path>
+<path d="M297.5 7111h583"></path>
+<rect x="235" y="7100" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="7115">^\d+$</text>
+</g>
+<path d="M880.5 7111a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M900.5 6905h10"></path>
+<g class="terminal">
+<path d="M910.5 6905h0"></path>
+<path d="M956 6905h0"></path>
+<rect x="910.5" y="6894" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="933.25" y="6909">","</text>
+</g>
+<path d="M956 6905h10"></path>
+<g>
+<path d="M966 6905h0"></path>
+<path d="M1651.5 6905h0"></path>
+<path d="M966 6905h20"></path>
+<g class="non-terminal">
+<path d="M986 6905h0"></path>
+<path d="M1065.5 6905h566"></path>
+<rect x="986" y="6894" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCast"><text x="1025.75" y="6909">CDSCast</text>
+</a>
+</g>
+<path d="M1631.5 6905h20"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 6935h0"></path>
+<path d="M1099.5 6935h532"></path>
+<rect x="986" y="6924" width="113.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSFunction"><text x="1042.75" y="6939">CDSFunction</text>
+</a>
+</g>
+<path d="M1631.5 6935a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 6965h0"></path>
+<path d="M1125 6965h506.5"></path>
+<rect x="986" y="6954" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSArithmetics"><text x="1055.5" y="6969">CDSArithmetics</text>
+</a>
+</g>
+<path d="M1631.5 6965a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 6995h0"></path>
+<path d="M1065.5 6995h566"></path>
+<rect x="986" y="6984" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCase"><text x="1025.75" y="6999">CDSCase</text>
+</a>
+</g>
+<path d="M1631.5 6995a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M986 7025h0"></path>
+<path d="M1082.5 7025h549"></path>
+<rect x="986" y="7014" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1034.25" y="7029">CDSString</text>
+</a>
+</g>
+<path d="M1631.5 7025a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v147a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M986 7072h0"></path>
+<path d="M1631.5 7072h0"></path>
+<g class="non-terminal">
+<path d="M986 7072h0"></path>
+<path d="M1065.5 7072h0"></path>
+<rect x="986" y="7061" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1025.75" y="7076">CDSName</text>
+</a>
+</g>
+<path d="M1065.5 7072h10"></path>
+<g>
+<path d="M1075.5 7072h0"></path>
+<path d="M1246 7072h0"></path>
+<path d="M1075.5 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1095.5 7052h130.5"></path>
+</g>
+<path d="M1226 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1075.5 7072h20"></path>
+<g class="non-terminal">
+<path d="M1095.5 7072h0"></path>
+<path d="M1226 7072h0"></path>
+<rect x="1095.5" y="7061" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1160.75" y="7076">CDSParameters</text>
+</a>
+</g>
+<path d="M1226 7072h20"></path>
+</g>
+<g>
+<path d="M1246 7072h0"></path>
+<path d="M1631.5 7072h0"></path>
+<path d="M1246 7072a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1266 7044h345.5"></path>
+</g>
+<path d="M1611.5 7044a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1246 7072h20"></path>
+<g>
+<path d="M1266 7072h0"></path>
+<path d="M1611.5 7072h0"></path>
+<path d="M1266 7072h10"></path>
+<g>
+<path d="M1276 7072h0"></path>
+<path d="M1601.5 7072h0"></path>
+<g class="terminal">
+<path d="M1276 7072h0"></path>
+<path d="M1321.5 7072h0"></path>
+<rect x="1276" y="7061" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1298.75" y="7076">"."</text>
+</g>
+<path d="M1321.5 7072h10"></path>
+<path d="M1331.5 7072h10"></path>
+<g class="non-terminal">
+<path d="M1341.5 7072h0"></path>
+<path d="M1421 7072h0"></path>
+<rect x="1341.5" y="7061" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1381.25" y="7076">CDSName</text>
+</a>
+</g>
+<path d="M1421 7072h10"></path>
+<g>
+<path d="M1431 7072h0"></path>
+<path d="M1601.5 7072h0"></path>
+<path d="M1431 7072a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1451 7052h130.5"></path>
+</g>
+<path d="M1581.5 7052a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1431 7072h20"></path>
+<g class="non-terminal">
+<path d="M1451 7072h0"></path>
+<path d="M1581.5 7072h0"></path>
+<rect x="1451" y="7061" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="1516.25" y="7076">CDSParameters</text>
+</a>
+</g>
+<path d="M1581.5 7072h20"></path>
+</g>
+</g>
+<path d="M1601.5 7072h10"></path>
+<path d="M1276 7072a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1276 7092h325.5"></path>
+</g>
+<path d="M1601.5 7092a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1611.5 7072h20"></path>
+</g>
+</g>
+<path d="M1631.5 7072a10 10 0 0 0 10 -10v-147a10 10 0 0 1 10 -10"></path>
+<path d="M966 6905a10 10 0 0 1 10 10v186a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M986 7111h0"></path>
+<path d="M1048.5 7111h583"></path>
+<rect x="986" y="7100" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.25" y="7115">^\d+$</text>
+</g>
+<path d="M1631.5 7111a10 10 0 0 0 10 -10v-186a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M1651.5 6905h10"></path>
+<g class="terminal">
+<path d="M1661.5 6905h0"></path>
+<path d="M1707 6905h0"></path>
+<rect x="1661.5" y="6894" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1684.25" y="6909">")"</text>
+</g>
+</g>
+<path d="M4070.5 6905a10 10 0 0 0 10 -10v-6854a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M 4090.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSGroupBy.svg b/cds/expression_CDSGroupBy.svg
new file mode 100644
index 00000000..8e1b64a7
--- /dev/null
+++ b/cds/expression_CDSGroupBy.svg
@@ -0,0 +1,202 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="949.5" height="96" viewBox="0 0 949.5 96">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M899.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M155 48h0"></path>
+<rect x="50" y="37" width="105" height="22" rx="10" ry="10"></rect>
+<text x="102.5" y="52">"GROUP BY"</text>
+</g>
+<path d="M155 48h10"></path>
+<path d="M165 48h10"></path>
+<g>
+<path d="M175 48h0"></path>
+<path d="M469.5 48h0"></path>
+<g class="non-terminal">
+<path d="M175 48h0"></path>
+<path d="M254.5 48h0"></path>
+<rect x="175" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="214.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M254.5 48h10"></path>
+<g>
+<path d="M264.5 48h0"></path>
+<path d="M469.5 48h0"></path>
+<path d="M264.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M284.5 28h165"></path>
+</g>
+<path d="M449.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M264.5 48h20"></path>
+<g>
+<path d="M284.5 48h0"></path>
+<path d="M449.5 48h0"></path>
+<path d="M284.5 48h10"></path>
+<g>
+<path d="M294.5 48h0"></path>
+<path d="M439.5 48h0"></path>
+<g class="terminal">
+<path d="M294.5 48h0"></path>
+<path d="M340 48h0"></path>
+<rect x="294.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="317.25" y="52">"."</text>
+</g>
+<path d="M340 48h10"></path>
+<path d="M350 48h10"></path>
+<g class="non-terminal">
+<path d="M360 48h0"></path>
+<path d="M439.5 48h0"></path>
+<rect x="360" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="399.75" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M439.5 48h10"></path>
+<path d="M294.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M294.5 68h145"></path>
+</g>
+<path d="M439.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M449.5 48h20"></path>
+</g>
+</g>
+<path d="M469.5 48h10"></path>
+<g>
+<path d="M479.5 48h0"></path>
+<path d="M899.5 48h0"></path>
+<path d="M479.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M499.5 20h380"></path>
+</g>
+<path d="M879.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M479.5 48h20"></path>
+<g>
+<path d="M499.5 48h0"></path>
+<path d="M879.5 48h0"></path>
+<path d="M499.5 48h10"></path>
+<g>
+<path d="M509.5 48h0"></path>
+<path d="M869.5 48h0"></path>
+<g class="terminal">
+<path d="M509.5 48h0"></path>
+<path d="M555 48h0"></path>
+<rect x="509.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="532.25" y="52">","</text>
+</g>
+<path d="M555 48h10"></path>
+<path d="M565 48h10"></path>
+<g>
+<path d="M575 48h0"></path>
+<path d="M869.5 48h0"></path>
+<g class="non-terminal">
+<path d="M575 48h0"></path>
+<path d="M654.5 48h0"></path>
+<rect x="575" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="614.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M654.5 48h10"></path>
+<g>
+<path d="M664.5 48h0"></path>
+<path d="M869.5 48h0"></path>
+<path d="M664.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M684.5 28h165"></path>
+</g>
+<path d="M849.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M664.5 48h20"></path>
+<g>
+<path d="M684.5 48h0"></path>
+<path d="M849.5 48h0"></path>
+<path d="M684.5 48h10"></path>
+<g>
+<path d="M694.5 48h0"></path>
+<path d="M839.5 48h0"></path>
+<g class="terminal">
+<path d="M694.5 48h0"></path>
+<path d="M740 48h0"></path>
+<rect x="694.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="717.25" y="52">"."</text>
+</g>
+<path d="M740 48h10"></path>
+<path d="M750 48h10"></path>
+<g class="non-terminal">
+<path d="M760 48h0"></path>
+<path d="M839.5 48h0"></path>
+<rect x="760" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="799.75" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M839.5 48h10"></path>
+<path d="M694.5 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M694.5 68h145"></path>
+</g>
+<path d="M839.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M849.5 48h20"></path>
+</g>
+</g>
+</g>
+<path d="M869.5 48h10"></path>
+<path d="M509.5 48a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M509.5 76h360"></path>
+</g>
+<path d="M869.5 76a10 10 0 0 0 10 -10v-8a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M879.5 48h20"></path>
+</g>
+</g>
+<path d="M899.5 48h10"></path>
+<path d="M 909.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSHaving.svg b/cds/expression_CDSHaving.svg
new file mode 100644
index 00000000..764d8183
--- /dev/null
+++ b/cds/expression_CDSHaving.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="330" height="62" viewBox="0 0 330 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M280 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M138 31h0"></path>
+<rect x="50" y="20" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="35">"HAVING"</text>
+</g>
+<path d="M138 31h10"></path>
+<path d="M148 31h10"></path>
+<g class="non-terminal">
+<path d="M158 31h0"></path>
+<path d="M280 31h0"></path>
+<rect x="158" y="20" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="219" y="35">CDSCondition</text>
+</a>
+</g>
+</g>
+<path d="M280 31h10"></path>
+<path d="M 290 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSInteger.svg b/cds/expression_CDSInteger.svg
new file mode 100644
index 00000000..90921e07
--- /dev/null
+++ b/cds/expression_CDSInteger.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">^\d+$</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSJoin.svg b/cds/expression_CDSJoin.svg
new file mode 100644
index 00000000..d7ad9ba9
--- /dev/null
+++ b/cds/expression_CDSJoin.svg
@@ -0,0 +1,125 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="775" height="131" viewBox="0 0 775 131">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M725 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M311.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h221.5"></path>
+</g>
+<path d="M291.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M291.5 40h0"></path>
+<path d="M70 40h20"></path>
+<g class="terminal">
+<path d="M90 40h0"></path>
+<path d="M169.5 40h102"></path>
+<rect x="90" y="29" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="129.75" y="44">"INNER"</text>
+</g>
+<path d="M271.5 40h20"></path>
+<path d="M70 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 70h0"></path>
+<path d="M212 70h59.5"></path>
+<rect x="90" y="59" width="122" height="22" rx="10" ry="10"></rect>
+<text x="151" y="74">"LEFT OUTER"</text>
+</g>
+<path d="M271.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M70 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M90 100h0"></path>
+<path d="M271.5 100h0"></path>
+<rect x="90" y="89" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="180.75" y="104">"LEFT OUTER TO ONE"</text>
+</g>
+<path d="M271.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M291.5 40h20"></path>
+</g>
+<path d="M311.5 40h10"></path>
+<g class="terminal">
+<path d="M321.5 40h0"></path>
+<path d="M392.5 40h0"></path>
+<rect x="321.5" y="29" width="71" height="22" rx="10" ry="10"></rect>
+<text x="357" y="44">"JOIN"</text>
+</g>
+<path d="M392.5 40h10"></path>
+<path d="M402.5 40h10"></path>
+<g class="non-terminal">
+<path d="M412.5 40h0"></path>
+<path d="M509 40h0"></path>
+<rect x="412.5" y="29" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSSource"><text x="460.75" y="44">CDSSource</text>
+</a>
+</g>
+<path d="M509 40h10"></path>
+<path d="M519 40h10"></path>
+<g class="terminal">
+<path d="M529 40h0"></path>
+<path d="M583 40h0"></path>
+<rect x="529" y="29" width="54" height="22" rx="10" ry="10"></rect>
+<text x="556" y="44">"ON"</text>
+</g>
+<path d="M583 40h10"></path>
+<path d="M593 40h10"></path>
+<g class="non-terminal">
+<path d="M603 40h0"></path>
+<path d="M725 40h0"></path>
+<rect x="603" y="29" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="664" y="44">CDSCondition</text>
+</a>
+</g>
+</g>
+<path d="M725 40h10"></path>
+<path d="M 735 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSName.svg b/cds/expression_CDSName.svg
new file mode 100644
index 00000000..e031e0e2
--- /dev/null
+++ b/cds/expression_CDSName.svg
@@ -0,0 +1,114 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="585" height="71" viewBox="0 0 585 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M535 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M135.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h45.5"></path>
+</g>
+<path d="M115.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="92.75" y="44">":"</text>
+</g>
+<path d="M115.5 40h20"></path>
+</g>
+<g>
+<path d="M135.5 40h0"></path>
+<path d="M394.5 40h0"></path>
+<path d="M135.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M155.5 20h219"></path>
+</g>
+<path d="M374.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M135.5 40h20"></path>
+<g>
+<path d="M155.5 40h0"></path>
+<path d="M374.5 40h0"></path>
+<g class="terminal">
+<path d="M155.5 40h0"></path>
+<path d="M201 40h0"></path>
+<rect x="155.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="178.25" y="44">"/"</text>
+</g>
+<path d="M201 40h10"></path>
+<path d="M211 40h10"></path>
+<g class="terminal">
+<path d="M221 40h0"></path>
+<path d="M309 40h0"></path>
+<rect x="221" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="265" y="44">^&#91;\w&#95;&#93;+$</text>
+</g>
+<path d="M309 40h10"></path>
+<path d="M319 40h10"></path>
+<g class="terminal">
+<path d="M329 40h0"></path>
+<path d="M374.5 40h0"></path>
+<rect x="329" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="351.75" y="44">"/"</text>
+</g>
+</g>
+<path d="M374.5 40h20"></path>
+</g>
+<path d="M394.5 40h10"></path>
+<g class="terminal">
+<path d="M404.5 40h0"></path>
+<path d="M535 40h0"></path>
+<rect x="404.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
+<text x="469.75" y="44">^\$?#?&#91;\w&#95;&#93;+$</text>
+</g>
+</g>
+<path d="M535 40h10"></path>
+<path d="M 545 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSParameters.svg b/cds/expression_CDSParameters.svg
new file mode 100644
index 00000000..89971899
--- /dev/null
+++ b/cds/expression_CDSParameters.svg
@@ -0,0 +1,334 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1823.5" height="117" viewBox="0 0 1823.5 117">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1773.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M95.5 48h0"></path>
+<rect x="50" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="52">"&#91;"</text>
+</g>
+<path d="M95.5 48h10"></path>
+<path d="M105.5 48h10"></path>
+<g class="terminal">
+<path d="M115.5 48h0"></path>
+<path d="M161 48h0"></path>
+<rect x="115.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="138.25" y="52">\d+</text>
+</g>
+<path d="M161 48h10"></path>
+<path d="M171 48h10"></path>
+<g class="terminal">
+<path d="M181 48h0"></path>
+<path d="M226.5 48h0"></path>
+<rect x="181" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="203.75" y="52">":"</text>
+</g>
+<path d="M226.5 48h10"></path>
+<path d="M236.5 48h10"></path>
+<g>
+<path d="M246.5 48h0"></path>
+<path d="M521 48h0"></path>
+<g class="non-terminal">
+<path d="M246.5 48h0"></path>
+<path d="M326 48h0"></path>
+<rect x="246.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="286.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M326 48h10"></path>
+<g>
+<path d="M336 48h0"></path>
+<path d="M521 48h0"></path>
+<path d="M336 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M356 28h145"></path>
+</g>
+<path d="M501 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M336 48h20"></path>
+<g>
+<path d="M356 48h0"></path>
+<path d="M501 48h0"></path>
+<g class="terminal">
+<path d="M356 48h0"></path>
+<path d="M401.5 48h0"></path>
+<rect x="356" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="378.75" y="52">"."</text>
+</g>
+<path d="M401.5 48h10"></path>
+<path d="M411.5 48h10"></path>
+<g class="non-terminal">
+<path d="M421.5 48h0"></path>
+<path d="M501 48h0"></path>
+<rect x="421.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="461.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M501 48h20"></path>
+</g>
+</g>
+<path d="M521 48h10"></path>
+<path d="M531 48h10"></path>
+<g class="terminal">
+<path d="M541 48h0"></path>
+<path d="M586.5 48h0"></path>
+<rect x="541" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="563.75" y="52">"="</text>
+</g>
+<path d="M586.5 48h10"></path>
+<g>
+<path d="M596.5 48h0"></path>
+<path d="M911 48h0"></path>
+<path d="M596.5 48h20"></path>
+<g>
+<path d="M616.5 48h0"></path>
+<path d="M891 48h0"></path>
+<g class="non-terminal">
+<path d="M616.5 48h0"></path>
+<path d="M696 48h0"></path>
+<rect x="616.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="656.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M696 48h10"></path>
+<g>
+<path d="M706 48h0"></path>
+<path d="M891 48h0"></path>
+<path d="M706 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M726 28h145"></path>
+</g>
+<path d="M871 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M706 48h20"></path>
+<g>
+<path d="M726 48h0"></path>
+<path d="M871 48h0"></path>
+<g class="terminal">
+<path d="M726 48h0"></path>
+<path d="M771.5 48h0"></path>
+<rect x="726" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="748.75" y="52">"."</text>
+</g>
+<path d="M771.5 48h10"></path>
+<path d="M781.5 48h10"></path>
+<g class="non-terminal">
+<path d="M791.5 48h0"></path>
+<path d="M871 48h0"></path>
+<rect x="791.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="831.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M871 48h20"></path>
+</g>
+</g>
+<path d="M891 48h20"></path>
+<path d="M596.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M616.5 78h0"></path>
+<path d="M713 78h178"></path>
+<rect x="616.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="664.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M891 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<g>
+<path d="M911 48h0"></path>
+<path d="M1718 48h0"></path>
+<path d="M911 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M931 20h767"></path>
+</g>
+<path d="M1698 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M911 48h20"></path>
+<g>
+<path d="M931 48h0"></path>
+<path d="M1698 48h0"></path>
+<path d="M931 48h10"></path>
+<g>
+<path d="M941 48h0"></path>
+<path d="M1688 48h0"></path>
+<g class="terminal">
+<path d="M941 48h0"></path>
+<path d="M1003.5 48h0"></path>
+<rect x="941" y="37" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="972.25" y="52">"AND"</text>
+</g>
+<path d="M1003.5 48h10"></path>
+<path d="M1013.5 48h10"></path>
+<g>
+<path d="M1023.5 48h0"></path>
+<path d="M1298 48h0"></path>
+<g class="non-terminal">
+<path d="M1023.5 48h0"></path>
+<path d="M1103 48h0"></path>
+<rect x="1023.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1063.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1103 48h10"></path>
+<g>
+<path d="M1113 48h0"></path>
+<path d="M1298 48h0"></path>
+<path d="M1113 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1133 28h145"></path>
+</g>
+<path d="M1278 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1113 48h20"></path>
+<g>
+<path d="M1133 48h0"></path>
+<path d="M1278 48h0"></path>
+<g class="terminal">
+<path d="M1133 48h0"></path>
+<path d="M1178.5 48h0"></path>
+<rect x="1133" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1155.75" y="52">"."</text>
+</g>
+<path d="M1178.5 48h10"></path>
+<path d="M1188.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1198.5 48h0"></path>
+<path d="M1278 48h0"></path>
+<rect x="1198.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1238.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1278 48h20"></path>
+</g>
+</g>
+<path d="M1298 48h10"></path>
+<path d="M1308 48h10"></path>
+<g class="terminal">
+<path d="M1318 48h0"></path>
+<path d="M1363.5 48h0"></path>
+<rect x="1318" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1340.75" y="52">"="</text>
+</g>
+<path d="M1363.5 48h10"></path>
+<g>
+<path d="M1373.5 48h0"></path>
+<path d="M1688 48h0"></path>
+<path d="M1373.5 48h20"></path>
+<g>
+<path d="M1393.5 48h0"></path>
+<path d="M1668 48h0"></path>
+<g class="non-terminal">
+<path d="M1393.5 48h0"></path>
+<path d="M1473 48h0"></path>
+<rect x="1393.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1433.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1473 48h10"></path>
+<g>
+<path d="M1483 48h0"></path>
+<path d="M1668 48h0"></path>
+<path d="M1483 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1503 28h145"></path>
+</g>
+<path d="M1648 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1483 48h20"></path>
+<g>
+<path d="M1503 48h0"></path>
+<path d="M1648 48h0"></path>
+<g class="terminal">
+<path d="M1503 48h0"></path>
+<path d="M1548.5 48h0"></path>
+<rect x="1503" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1525.75" y="52">"."</text>
+</g>
+<path d="M1548.5 48h10"></path>
+<path d="M1558.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1568.5 48h0"></path>
+<path d="M1648 48h0"></path>
+<rect x="1568.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1608.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1648 48h20"></path>
+</g>
+</g>
+<path d="M1668 48h20"></path>
+<path d="M1373.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1393.5 78h0"></path>
+<path d="M1490 78h178"></path>
+<rect x="1393.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1441.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M1668 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M1688 48h10"></path>
+<path d="M941 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M941 97h747"></path>
+</g>
+<path d="M1688 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1698 48h20"></path>
+</g>
+<path d="M1718 48h10"></path>
+<g class="terminal">
+<path d="M1728 48h0"></path>
+<path d="M1773.5 48h0"></path>
+<rect x="1728" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1750.75" y="52">"&#93;"</text>
+</g>
+</g>
+<path d="M1773.5 48h10"></path>
+<path d="M 1783.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSParametersSelect.svg b/cds/expression_CDSParametersSelect.svg
new file mode 100644
index 00000000..292f383f
--- /dev/null
+++ b/cds/expression_CDSParametersSelect.svg
@@ -0,0 +1,327 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="1685.5" height="117" viewBox="0 0 1685.5 117">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M1635.5 48h0"></path>
+<g class="terminal">
+<path d="M50 48h0"></path>
+<path d="M95.5 48h0"></path>
+<rect x="50" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="72.75" y="52">"("</text>
+</g>
+<path d="M95.5 48h10"></path>
+<path d="M105.5 48h10"></path>
+<g>
+<path d="M115.5 48h0"></path>
+<path d="M780 48h0"></path>
+<g>
+<path d="M115.5 48h0"></path>
+<path d="M390 48h0"></path>
+<g class="non-terminal">
+<path d="M115.5 48h0"></path>
+<path d="M195 48h0"></path>
+<rect x="115.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="155.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M195 48h10"></path>
+<g>
+<path d="M205 48h0"></path>
+<path d="M390 48h0"></path>
+<path d="M205 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M225 28h145"></path>
+</g>
+<path d="M370 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M205 48h20"></path>
+<g>
+<path d="M225 48h0"></path>
+<path d="M370 48h0"></path>
+<g class="terminal">
+<path d="M225 48h0"></path>
+<path d="M270.5 48h0"></path>
+<rect x="225" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="247.75" y="52">"."</text>
+</g>
+<path d="M270.5 48h10"></path>
+<path d="M280.5 48h10"></path>
+<g class="non-terminal">
+<path d="M290.5 48h0"></path>
+<path d="M370 48h0"></path>
+<rect x="290.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="330.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M370 48h20"></path>
+</g>
+</g>
+<path d="M390 48h10"></path>
+<path d="M400 48h10"></path>
+<g class="terminal">
+<path d="M410 48h0"></path>
+<path d="M455.5 48h0"></path>
+<rect x="410" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="432.75" y="52">":"</text>
+</g>
+<path d="M455.5 48h10"></path>
+<g>
+<path d="M465.5 48h0"></path>
+<path d="M780 48h0"></path>
+<path d="M465.5 48h20"></path>
+<g>
+<path d="M485.5 48h0"></path>
+<path d="M760 48h0"></path>
+<g class="non-terminal">
+<path d="M485.5 48h0"></path>
+<path d="M565 48h0"></path>
+<rect x="485.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="525.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M565 48h10"></path>
+<g>
+<path d="M575 48h0"></path>
+<path d="M760 48h0"></path>
+<path d="M575 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M595 28h145"></path>
+</g>
+<path d="M740 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M575 48h20"></path>
+<g>
+<path d="M595 48h0"></path>
+<path d="M740 48h0"></path>
+<g class="terminal">
+<path d="M595 48h0"></path>
+<path d="M640.5 48h0"></path>
+<rect x="595" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="617.75" y="52">"."</text>
+</g>
+<path d="M640.5 48h10"></path>
+<path d="M650.5 48h10"></path>
+<g class="non-terminal">
+<path d="M660.5 48h0"></path>
+<path d="M740 48h0"></path>
+<rect x="660.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="700.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M740 48h20"></path>
+</g>
+</g>
+<path d="M760 48h20"></path>
+<path d="M465.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M485.5 78h0"></path>
+<path d="M582 78h178"></path>
+<rect x="485.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="533.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M760 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M780 48h10"></path>
+<g>
+<path d="M790 48h0"></path>
+<path d="M1580 48h0"></path>
+<path d="M790 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M810 20h750"></path>
+</g>
+<path d="M1560 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M790 48h20"></path>
+<g>
+<path d="M810 48h0"></path>
+<path d="M1560 48h0"></path>
+<path d="M810 48h10"></path>
+<g>
+<path d="M820 48h0"></path>
+<path d="M1550 48h0"></path>
+<g class="terminal">
+<path d="M820 48h0"></path>
+<path d="M865.5 48h0"></path>
+<rect x="820" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="842.75" y="52">","</text>
+</g>
+<path d="M865.5 48h10"></path>
+<path d="M875.5 48h10"></path>
+<g>
+<path d="M885.5 48h0"></path>
+<path d="M1550 48h0"></path>
+<g>
+<path d="M885.5 48h0"></path>
+<path d="M1160 48h0"></path>
+<g class="non-terminal">
+<path d="M885.5 48h0"></path>
+<path d="M965 48h0"></path>
+<rect x="885.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="925.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M965 48h10"></path>
+<g>
+<path d="M975 48h0"></path>
+<path d="M1160 48h0"></path>
+<path d="M975 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M995 28h145"></path>
+</g>
+<path d="M1140 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M975 48h20"></path>
+<g>
+<path d="M995 48h0"></path>
+<path d="M1140 48h0"></path>
+<g class="terminal">
+<path d="M995 48h0"></path>
+<path d="M1040.5 48h0"></path>
+<rect x="995" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1017.75" y="52">"."</text>
+</g>
+<path d="M1040.5 48h10"></path>
+<path d="M1050.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1060.5 48h0"></path>
+<path d="M1140 48h0"></path>
+<rect x="1060.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1100.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1140 48h20"></path>
+</g>
+</g>
+<path d="M1160 48h10"></path>
+<path d="M1170 48h10"></path>
+<g class="terminal">
+<path d="M1180 48h0"></path>
+<path d="M1225.5 48h0"></path>
+<rect x="1180" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1202.75" y="52">":"</text>
+</g>
+<path d="M1225.5 48h10"></path>
+<g>
+<path d="M1235.5 48h0"></path>
+<path d="M1550 48h0"></path>
+<path d="M1235.5 48h20"></path>
+<g>
+<path d="M1255.5 48h0"></path>
+<path d="M1530 48h0"></path>
+<g class="non-terminal">
+<path d="M1255.5 48h0"></path>
+<path d="M1335 48h0"></path>
+<rect x="1255.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1295.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M1335 48h10"></path>
+<g>
+<path d="M1345 48h0"></path>
+<path d="M1530 48h0"></path>
+<path d="M1345 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1365 28h145"></path>
+</g>
+<path d="M1510 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1345 48h20"></path>
+<g>
+<path d="M1365 48h0"></path>
+<path d="M1510 48h0"></path>
+<g class="terminal">
+<path d="M1365 48h0"></path>
+<path d="M1410.5 48h0"></path>
+<rect x="1365" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1387.75" y="52">"."</text>
+</g>
+<path d="M1410.5 48h10"></path>
+<path d="M1420.5 48h10"></path>
+<g class="non-terminal">
+<path d="M1430.5 48h0"></path>
+<path d="M1510 48h0"></path>
+<rect x="1430.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="1470.25" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M1510 48h20"></path>
+</g>
+</g>
+<path d="M1530 48h20"></path>
+<path d="M1235.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M1255.5 78h0"></path>
+<path d="M1352 78h178"></path>
+<rect x="1255.5" y="67" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSString"><text x="1303.75" y="82">CDSString</text>
+</a>
+</g>
+<path d="M1530 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+</g>
+<path d="M1550 48h10"></path>
+<path d="M820 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M820 97h730"></path>
+</g>
+<path d="M1550 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1560 48h20"></path>
+</g>
+<path d="M1580 48h10"></path>
+<g class="terminal">
+<path d="M1590 48h0"></path>
+<path d="M1635.5 48h0"></path>
+<rect x="1590" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1612.75" y="52">")"</text>
+</g>
+</g>
+<path d="M1635.5 48h10"></path>
+<path d="M 1645.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSPrefixedName.svg b/cds/expression_CDSPrefixedName.svg
new file mode 100644
index 00000000..e8902b9e
--- /dev/null
+++ b/cds/expression_CDSPrefixedName.svg
@@ -0,0 +1,139 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="745.5" height="88" viewBox="0 0 745.5 88">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M695.5 48h0"></path>
+<g class="non-terminal">
+<path d="M50 48h0"></path>
+<path d="M129.5 48h0"></path>
+<rect x="50" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="89.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M129.5 48h10"></path>
+<g>
+<path d="M139.5 48h0"></path>
+<path d="M310 48h0"></path>
+<path d="M139.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 28h130.5"></path>
+</g>
+<path d="M290 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 48h20"></path>
+<g class="non-terminal">
+<path d="M159.5 48h0"></path>
+<path d="M290 48h0"></path>
+<rect x="159.5" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="224.75" y="52">CDSParameters</text>
+</a>
+</g>
+<path d="M290 48h20"></path>
+</g>
+<g>
+<path d="M310 48h0"></path>
+<path d="M695.5 48h0"></path>
+<path d="M310 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M330 20h345.5"></path>
+</g>
+<path d="M675.5 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M310 48h20"></path>
+<g>
+<path d="M330 48h0"></path>
+<path d="M675.5 48h0"></path>
+<path d="M330 48h10"></path>
+<g>
+<path d="M340 48h0"></path>
+<path d="M665.5 48h0"></path>
+<g class="terminal">
+<path d="M340 48h0"></path>
+<path d="M385.5 48h0"></path>
+<rect x="340" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="362.75" y="52">"."</text>
+</g>
+<path d="M385.5 48h10"></path>
+<path d="M395.5 48h10"></path>
+<g class="non-terminal">
+<path d="M405.5 48h0"></path>
+<path d="M485 48h0"></path>
+<rect x="405.5" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="445.25" y="52">CDSName</text>
+</a>
+</g>
+<path d="M485 48h10"></path>
+<g>
+<path d="M495 48h0"></path>
+<path d="M665.5 48h0"></path>
+<path d="M495 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M515 28h130.5"></path>
+</g>
+<path d="M645.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M495 48h20"></path>
+<g class="non-terminal">
+<path d="M515 48h0"></path>
+<path d="M645.5 48h0"></path>
+<rect x="515" y="37" width="130.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParameters"><text x="580.25" y="52">CDSParameters</text>
+</a>
+</g>
+<path d="M645.5 48h20"></path>
+</g>
+</g>
+<path d="M665.5 48h10"></path>
+<path d="M340 48a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M340 68h325.5"></path>
+</g>
+<path d="M665.5 68a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M675.5 48h20"></path>
+</g>
+</g>
+<path d="M695.5 48h10"></path>
+<path d="M 705.5 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSProviderContract.svg b/cds/expression_CDSProviderContract.svg
new file mode 100644
index 00000000..69d45f17
--- /dev/null
+++ b/cds/expression_CDSProviderContract.svg
@@ -0,0 +1,88 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="564" height="122" viewBox="0 0 564 122">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M514 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M231.5 31h0"></path>
+<rect x="50" y="20" width="181.5" height="22" rx="10" ry="10"></rect>
+<text x="140.75" y="35">"PROVIDER CONTRACT"</text>
+</g>
+<path d="M231.5 31h10"></path>
+<g>
+<path d="M241.5 31h0"></path>
+<path d="M514 31h0"></path>
+<path d="M241.5 31h20"></path>
+<g class="terminal">
+<path d="M261.5 31h0"></path>
+<path d="M460 31h34"></path>
+<rect x="261.5" y="20" width="198.5" height="22" rx="10" ry="10"></rect>
+<text x="360.75" y="35">"TRANSACTIONAL&#95;QUERY"</text>
+</g>
+<path d="M494 31h20"></path>
+<path d="M241.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M261.5 61h0"></path>
+<path d="M494 61h0"></path>
+<rect x="261.5" y="50" width="232.5" height="22" rx="10" ry="10"></rect>
+<text x="377.75" y="65">"TRANSACTIONAL&#95;INTERFACE"</text>
+</g>
+<path d="M494 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+<path d="M241.5 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path>
+<g class="terminal">
+<path d="M261.5 91h0"></path>
+<path d="M434.5 91h59.5"></path>
+<rect x="261.5" y="80" width="173" height="22" rx="10" ry="10"></rect>
+<text x="348" y="95">"ANALYTICAL&#95;QUERY"</text>
+</g>
+<path d="M494 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
+</g>
+</g>
+<path d="M514 31h10"></path>
+<path d="M 524 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSRelation.svg b/cds/expression_CDSRelation.svg
new file mode 100644
index 00000000..b9682297
--- /dev/null
+++ b/cds/expression_CDSRelation.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="569.5" height="71" viewBox="0 0 569.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M519.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M309 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h219"></path>
+</g>
+<path d="M289 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g>
+<path d="M70 40h0"></path>
+<path d="M289 40h0"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M115.5 40h0"></path>
+<rect x="70" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="92.75" y="44">"/"</text>
+</g>
+<path d="M115.5 40h10"></path>
+<path d="M125.5 40h10"></path>
+<g class="terminal">
+<path d="M135.5 40h0"></path>
+<path d="M223.5 40h0"></path>
+<rect x="135.5" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="179.5" y="44">^&#91;\w&#95;&#93;+$</text>
+</g>
+<path d="M223.5 40h10"></path>
+<path d="M233.5 40h10"></path>
+<g class="terminal">
+<path d="M243.5 40h0"></path>
+<path d="M289 40h0"></path>
+<rect x="243.5" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="266.25" y="44">"/"</text>
+</g>
+</g>
+<path d="M289 40h20"></path>
+</g>
+<path d="M309 40h10"></path>
+<g class="terminal">
+<path d="M319 40h0"></path>
+<path d="M407 40h0"></path>
+<rect x="319" y="29" width="88" height="22" rx="10" ry="10"></rect>
+<text x="363" y="44">^&#91;\w&#95;&#93;+$</text>
+</g>
+<path d="M407 40h10"></path>
+<g>
+<path d="M417 40h0"></path>
+<path d="M519.5 40h0"></path>
+<path d="M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M437 20h62.5"></path>
+</g>
+<path d="M499.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M417 40h20"></path>
+<g class="non-terminal">
+<path d="M437 40h0"></path>
+<path d="M499.5 40h0"></path>
+<rect x="437" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="468.25" y="44">CDSAs</text>
+</a>
+</g>
+<path d="M499.5 40h20"></path>
+</g>
+</g>
+<path d="M519.5 40h10"></path>
+<path d="M 529.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSSelect.svg b/cds/expression_CDSSelect.svg
new file mode 100644
index 00000000..f7502237
--- /dev/null
+++ b/cds/expression_CDSSelect.svg
@@ -0,0 +1,476 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="2987" height="96" viewBox="0 0 2987 96">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 46v20m0 -10h20"></path>
+</g>
+<path d="M40 56h10"></path>
+<g>
+<path d="M50 56h0"></path>
+<path d="M2937 56h0"></path>
+<g class="terminal">
+<path d="M50 56h0"></path>
+<path d="M138 56h0"></path>
+<rect x="50" y="45" width="88" height="22" rx="10" ry="10"></rect>
+<text x="94" y="60">"SELECT"</text>
+</g>
+<path d="M138 56h10"></path>
+<g>
+<path d="M148 56h0"></path>
+<path d="M293 56h0"></path>
+<path d="M148 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M168 36h105"></path>
+</g>
+<path d="M273 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M148 56h20"></path>
+<g class="terminal">
+<path d="M168 56h0"></path>
+<path d="M273 56h0"></path>
+<rect x="168" y="45" width="105" height="22" rx="10" ry="10"></rect>
+<text x="220.5" y="60">"DISTINCT"</text>
+</g>
+<path d="M273 56h20"></path>
+</g>
+<g>
+<path d="M293 56h0"></path>
+<path d="M718.5 56h0"></path>
+<path d="M293 56a10 10 0 0 0 10 -10v-16a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M313 20h385.5"></path>
+</g>
+<path d="M698.5 20a10 10 0 0 1 10 10v16a10 10 0 0 0 10 10"></path>
+<path d="M293 56h20"></path>
+<g>
+<path d="M313 56h0"></path>
+<path d="M698.5 56h0"></path>
+<path d="M313 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M333 28h345.5"></path>
+</g>
+<path d="M678.5 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M313 56h20"></path>
+<g>
+<path d="M333 56h0"></path>
+<path d="M678.5 56h0"></path>
+<g>
+<path d="M333 56h0"></path>
+<path d="M563.5 56h0"></path>
+<path d="M333 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M353 36h190.5"></path>
+</g>
+<path d="M543.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M333 56h20"></path>
+<g>
+<path d="M353 56h0"></path>
+<path d="M543.5 56h0"></path>
+<path d="M353 56h10"></path>
+<g>
+<path d="M363 56h0"></path>
+<path d="M533.5 56h0"></path>
+<g class="non-terminal">
+<path d="M363 56h0"></path>
+<path d="M468 56h0"></path>
+<rect x="363" y="45" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="415.5" y="60">CDSElement</text>
+</a>
+</g>
+<path d="M468 56h10"></path>
+<path d="M478 56h10"></path>
+<g class="terminal">
+<path d="M488 56h0"></path>
+<path d="M533.5 56h0"></path>
+<rect x="488" y="45" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="510.75" y="60">","</text>
+</g>
+</g>
+<path d="M533.5 56h10"></path>
+<path d="M363 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M363 76h170.5"></path>
+</g>
+<path d="M533.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M543.5 56h20"></path>
+</g>
+<path d="M563.5 56h10"></path>
+<g class="non-terminal">
+<path d="M573.5 56h0"></path>
+<path d="M678.5 56h0"></path>
+<rect x="573.5" y="45" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="626" y="60">CDSElement</text>
+</a>
+</g>
+</g>
+<path d="M678.5 56h20"></path>
+</g>
+<path d="M698.5 56h20"></path>
+</g>
+<path d="M718.5 56h10"></path>
+<g class="terminal">
+<path d="M728.5 56h0"></path>
+<path d="M799.5 56h0"></path>
+<rect x="728.5" y="45" width="71" height="22" rx="10" ry="10"></rect>
+<text x="764" y="60">"FROM"</text>
+</g>
+<path d="M799.5 56h10"></path>
+<path d="M809.5 56h10"></path>
+<g class="non-terminal">
+<path d="M819.5 56h0"></path>
+<path d="M916 56h0"></path>
+<rect x="819.5" y="45" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSSource"><text x="867.75" y="60">CDSSource</text>
+</a>
+</g>
+<path d="M916 56h10"></path>
+<g>
+<path d="M926 56h0"></path>
+<path d="M1065.5 56h0"></path>
+<path d="M926 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M946 36h99.5"></path>
+</g>
+<path d="M1045.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M926 56h20"></path>
+<g>
+<path d="M946 56h0"></path>
+<path d="M1045.5 56h0"></path>
+<path d="M946 56h10"></path>
+<g class="non-terminal">
+<path d="M956 56h0"></path>
+<path d="M1035.5 56h0"></path>
+<rect x="956" y="45" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSJoin"><text x="995.75" y="60">CDSJoin</text>
+</a>
+</g>
+<path d="M1035.5 56h10"></path>
+<path d="M956 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M956 76h79.5"></path>
+</g>
+<path d="M1035.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1045.5 56h20"></path>
+</g>
+<g>
+<path d="M1065.5 56h0"></path>
+<path d="M1264.5 56h0"></path>
+<path d="M1065.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1085.5 36h159"></path>
+</g>
+<path d="M1244.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1065.5 56h20"></path>
+<g>
+<path d="M1085.5 56h0"></path>
+<path d="M1244.5 56h0"></path>
+<path d="M1085.5 56h10"></path>
+<g class="non-terminal">
+<path d="M1095.5 56h0"></path>
+<path d="M1234.5 56h0"></path>
+<rect x="1095.5" y="45" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSComposition"><text x="1165" y="60">CDSComposition</text>
+</a>
+</g>
+<path d="M1234.5 56h10"></path>
+<path d="M1095.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1095.5 76h139"></path>
+</g>
+<path d="M1234.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1244.5 56h20"></path>
+</g>
+<g>
+<path d="M1264.5 56h0"></path>
+<path d="M1463.5 56h0"></path>
+<path d="M1264.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1284.5 36h159"></path>
+</g>
+<path d="M1443.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1264.5 56h20"></path>
+<g>
+<path d="M1284.5 56h0"></path>
+<path d="M1443.5 56h0"></path>
+<path d="M1284.5 56h10"></path>
+<g class="non-terminal">
+<path d="M1294.5 56h0"></path>
+<path d="M1433.5 56h0"></path>
+<rect x="1294.5" y="45" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAssociation"><text x="1364" y="60">CDSAssociation</text>
+</a>
+</g>
+<path d="M1433.5 56h10"></path>
+<path d="M1294.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1294.5 76h139"></path>
+</g>
+<path d="M1433.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1443.5 56h20"></path>
+</g>
+<g>
+<path d="M1463.5 56h0"></path>
+<path d="M1662.5 56h0"></path>
+<path d="M1463.5 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1483.5 36h159"></path>
+</g>
+<path d="M1642.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1463.5 56h20"></path>
+<g>
+<path d="M1483.5 56h0"></path>
+<path d="M1642.5 56h0"></path>
+<path d="M1483.5 56h10"></path>
+<g class="non-terminal">
+<path d="M1493.5 56h0"></path>
+<path d="M1632.5 56h0"></path>
+<rect x="1493.5" y="45" width="139" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSComposition"><text x="1563" y="60">CDSComposition</text>
+</a>
+</g>
+<path d="M1632.5 56h10"></path>
+<path d="M1493.5 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1493.5 76h139"></path>
+</g>
+<path d="M1632.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1642.5 56h20"></path>
+</g>
+<g>
+<path d="M1662.5 56h0"></path>
+<path d="M2189 56h0"></path>
+<path d="M1662.5 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1682.5 28h486.5"></path>
+</g>
+<path d="M2169 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M1662.5 56h20"></path>
+<g>
+<path d="M1682.5 56h0"></path>
+<path d="M2169 56h0"></path>
+<g class="terminal">
+<path d="M1682.5 56h0"></path>
+<path d="M1728 56h0"></path>
+<rect x="1682.5" y="45" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1705.25" y="60">"{"</text>
+</g>
+<path d="M1728 56h10"></path>
+<path d="M1738 56h10"></path>
+<g>
+<path d="M1748 56h0"></path>
+<path d="M1873 56h0"></path>
+<path d="M1748 56h10"></path>
+<g class="non-terminal">
+<path d="M1758 56h0"></path>
+<path d="M1863 56h0"></path>
+<rect x="1758" y="45" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="1810.5" y="60">CDSElement</text>
+</a>
+</g>
+<path d="M1863 56h10"></path>
+<path d="M1758 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1758 76h105"></path>
+</g>
+<path d="M1863 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M1873 56h10"></path>
+<g>
+<path d="M1883 56h0"></path>
+<path d="M2113.5 56h0"></path>
+<path d="M1883 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M1903 36h190.5"></path>
+</g>
+<path d="M2093.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M1883 56h20"></path>
+<g>
+<path d="M1903 56h0"></path>
+<path d="M2093.5 56h0"></path>
+<path d="M1903 56h10"></path>
+<g>
+<path d="M1913 56h0"></path>
+<path d="M2083.5 56h0"></path>
+<g class="terminal">
+<path d="M1913 56h0"></path>
+<path d="M1958.5 56h0"></path>
+<rect x="1913" y="45" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="1935.75" y="60">","</text>
+</g>
+<path d="M1958.5 56h10"></path>
+<path d="M1968.5 56h10"></path>
+<g class="non-terminal">
+<path d="M1978.5 56h0"></path>
+<path d="M2083.5 56h0"></path>
+<rect x="1978.5" y="45" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSElement"><text x="2031" y="60">CDSElement</text>
+</a>
+</g>
+</g>
+<path d="M2083.5 56h10"></path>
+<path d="M1913 56a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M1913 76h170.5"></path>
+</g>
+<path d="M2083.5 76a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M2093.5 56h20"></path>
+</g>
+<path d="M2113.5 56h10"></path>
+<g class="terminal">
+<path d="M2123.5 56h0"></path>
+<path d="M2169 56h0"></path>
+<rect x="2123.5" y="45" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="2146.25" y="60">"}"</text>
+</g>
+</g>
+<path d="M2169 56h20"></path>
+</g>
+<g>
+<path d="M2189 56h0"></path>
+<path d="M2317 56h0"></path>
+<path d="M2189 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2209 36h88"></path>
+</g>
+<path d="M2297 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2189 56h20"></path>
+<g class="non-terminal">
+<path d="M2209 56h0"></path>
+<path d="M2297 56h0"></path>
+<rect x="2209" y="45" width="88" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSWhere"><text x="2253" y="60">CDSWhere</text>
+</a>
+</g>
+<path d="M2297 56h20"></path>
+</g>
+<g>
+<path d="M2317 56h0"></path>
+<path d="M2462 56h0"></path>
+<path d="M2317 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2337 36h105"></path>
+</g>
+<path d="M2442 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2317 56h20"></path>
+<g class="non-terminal">
+<path d="M2337 56h0"></path>
+<path d="M2442 56h0"></path>
+<rect x="2337" y="45" width="105" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSGroupBy"><text x="2389.5" y="60">CDSGroupBy</text>
+</a>
+</g>
+<path d="M2442 56h20"></path>
+</g>
+<g>
+<path d="M2462 56h0"></path>
+<path d="M2598.5 56h0"></path>
+<path d="M2462 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2482 36h96.5"></path>
+</g>
+<path d="M2578.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2462 56h20"></path>
+<g class="non-terminal">
+<path d="M2482 56h0"></path>
+<path d="M2578.5 56h0"></path>
+<rect x="2482" y="45" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSHaving"><text x="2530.25" y="60">CDSHaving</text>
+</a>
+</g>
+<path d="M2578.5 56h20"></path>
+</g>
+<g>
+<path d="M2598.5 56h0"></path>
+<path d="M2937 56h0"></path>
+<path d="M2598.5 56a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2618.5 28h298.5"></path>
+</g>
+<path d="M2917 28a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M2598.5 56h20"></path>
+<g>
+<path d="M2618.5 56h0"></path>
+<path d="M2917 56h0"></path>
+<g class="terminal">
+<path d="M2618.5 56h0"></path>
+<path d="M2698 56h0"></path>
+<rect x="2618.5" y="45" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="2658.25" y="60">"UNION"</text>
+</g>
+<path d="M2698 56h10"></path>
+<g>
+<path d="M2708 56h0"></path>
+<path d="M2810.5 56h0"></path>
+<path d="M2708 56a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M2728 36h62.5"></path>
+</g>
+<path d="M2790.5 36a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M2708 56h20"></path>
+<g class="terminal">
+<path d="M2728 56h0"></path>
+<path d="M2790.5 56h0"></path>
+<rect x="2728" y="45" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="2759.25" y="60">"ALL"</text>
+</g>
+<path d="M2790.5 56h20"></path>
+</g>
+<path d="M2810.5 56h10"></path>
+<g class="non-terminal">
+<path d="M2820.5 56h0"></path>
+<path d="M2917 56h0"></path>
+<rect x="2820.5" y="45" width="96.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSSelect"><text x="2868.75" y="60">CDSSelect</text>
+</a>
+</g>
+</g>
+<path d="M2917 56h20"></path>
+</g>
+</g>
+<path d="M2937 56h10"></path>
+<path d="M 2947 56 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSSource.svg b/cds/expression_CDSSource.svg
new file mode 100644
index 00000000..a1a03977
--- /dev/null
+++ b/cds/expression_CDSSource.svg
@@ -0,0 +1,97 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="513.5" height="71" viewBox="0 0 513.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M463.5 40h0"></path>
+<g class="non-terminal">
+<path d="M50 40h0"></path>
+<path d="M129.5 40h0"></path>
+<rect x="50" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="89.75" y="44">CDSName</text>
+</a>
+</g>
+<path d="M129.5 40h10"></path>
+<g>
+<path d="M139.5 40h0"></path>
+<path d="M361 40h0"></path>
+<path d="M139.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 20h181.5"></path>
+</g>
+<path d="M341 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 40h20"></path>
+<g class="non-terminal">
+<path d="M159.5 40h0"></path>
+<path d="M341 40h0"></path>
+<rect x="159.5" y="29" width="181.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSParametersSelect"><text x="250.25" y="44">CDSParametersSelect</text>
+</a>
+</g>
+<path d="M341 40h20"></path>
+</g>
+<g>
+<path d="M361 40h0"></path>
+<path d="M463.5 40h0"></path>
+<path d="M361 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M381 20h62.5"></path>
+</g>
+<path d="M443.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M361 40h20"></path>
+<g class="non-terminal">
+<path d="M381 40h0"></path>
+<path d="M443.5 40h0"></path>
+<rect x="381" y="29" width="62.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSAs"><text x="412.25" y="44">CDSAs</text>
+</a>
+</g>
+<path d="M443.5 40h20"></path>
+</g>
+</g>
+<path d="M463.5 40h10"></path>
+<path d="M 473.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSString.svg b/cds/expression_CDSString.svg
new file mode 100644
index 00000000..4703572f
--- /dev/null
+++ b/cds/expression_CDSString.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="511" height="62" viewBox="0 0 511 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M461 31h0"></path>
+<rect x="50" y="20" width="411" height="22" rx="10" ry="10"></rect>
+<text x="255.5" y="35">^'&#91;A-Za-zÀ-ž\u0370-\u03FF\u0400-\u04FF: -&#95;&#93;&#42;'$</text>
+</g>
+<path d="M461 31h10"></path>
+<path d="M 471 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSType.svg b/cds/expression_CDSType.svg
new file mode 100644
index 00000000..65e66211
--- /dev/null
+++ b/cds/expression_CDSType.svg
@@ -0,0 +1,157 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="742" height="79" viewBox="0 0 742 79">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 38v20m0 -10h20"></path>
+</g>
+<path d="M40 48h10"></path>
+<g>
+<path d="M50 48h0"></path>
+<path d="M692 48h0"></path>
+<g class="non-terminal">
+<path d="M50 48h0"></path>
+<path d="M129.5 48h0"></path>
+<rect x="50" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="89.75" y="52">CDSName</text>
+</a>
+</g>
+<path d="M129.5 48h10"></path>
+<g>
+<path d="M139.5 48h0"></path>
+<path d="M324.5 48h0"></path>
+<path d="M139.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M159.5 28h145"></path>
+</g>
+<path d="M304.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M139.5 48h20"></path>
+<g>
+<path d="M159.5 48h0"></path>
+<path d="M304.5 48h0"></path>
+<g class="terminal">
+<path d="M159.5 48h0"></path>
+<path d="M205 48h0"></path>
+<rect x="159.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="182.25" y="52">"."</text>
+</g>
+<path d="M205 48h10"></path>
+<path d="M215 48h10"></path>
+<g class="non-terminal">
+<path d="M225 48h0"></path>
+<path d="M304.5 48h0"></path>
+<rect x="225" y="37" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="264.75" y="52">CDSName</text>
+</a>
+</g>
+</g>
+<path d="M304.5 48h20"></path>
+</g>
+<g>
+<path d="M324.5 48h0"></path>
+<path d="M692 48h0"></path>
+<path d="M324.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M344.5 20h327.5"></path>
+</g>
+<path d="M672 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+<path d="M324.5 48h20"></path>
+<g>
+<path d="M344.5 48h0"></path>
+<path d="M672 48h0"></path>
+<g class="terminal">
+<path d="M344.5 48h0"></path>
+<path d="M390 48h0"></path>
+<rect x="344.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="367.25" y="52">"("</text>
+</g>
+<path d="M390 48h10"></path>
+<path d="M400 48h10"></path>
+<g class="terminal">
+<path d="M410 48h0"></path>
+<path d="M455.5 48h0"></path>
+<rect x="410" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="432.75" y="52">\d+</text>
+</g>
+<path d="M455.5 48h10"></path>
+<g>
+<path d="M465.5 48h0"></path>
+<path d="M616.5 48h0"></path>
+<path d="M465.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M485.5 28h111"></path>
+</g>
+<path d="M596.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M465.5 48h20"></path>
+<g>
+<path d="M485.5 48h0"></path>
+<path d="M596.5 48h0"></path>
+<g class="terminal">
+<path d="M485.5 48h0"></path>
+<path d="M531 48h0"></path>
+<rect x="485.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="508.25" y="52">","</text>
+</g>
+<path d="M531 48h10"></path>
+<path d="M541 48h10"></path>
+<g class="terminal">
+<path d="M551 48h0"></path>
+<path d="M596.5 48h0"></path>
+<rect x="551" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="573.75" y="52">\d+</text>
+</g>
+</g>
+<path d="M596.5 48h20"></path>
+</g>
+<path d="M616.5 48h10"></path>
+<g class="terminal">
+<path d="M626.5 48h0"></path>
+<path d="M672 48h0"></path>
+<rect x="626.5" y="37" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="649.25" y="52">")"</text>
+</g>
+</g>
+<path d="M672 48h20"></path>
+</g>
+</g>
+<path d="M692 48h10"></path>
+<path d="M 702 48 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSWhere.svg b/cds/expression_CDSWhere.svg
new file mode 100644
index 00000000..080fcde8
--- /dev/null
+++ b/cds/expression_CDSWhere.svg
@@ -0,0 +1,68 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="321.5" height="62" viewBox="0 0 321.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M271.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22" rx="10" ry="10"></rect>
+<text x="89.75" y="35">"WHERE"</text>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="non-terminal">
+<path d="M149.5 31h0"></path>
+<path d="M271.5 31h0"></path>
+<rect x="149.5" y="20" width="122" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSCondition"><text x="210.5" y="35">CDSCondition</text>
+</a>
+</g>
+</g>
+<path d="M271.5 31h10"></path>
+<path d="M 281.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/cds/expression_CDSWithParameters.svg b/cds/expression_CDSWithParameters.svg
new file mode 100644
index 00000000..27aeb051
--- /dev/null
+++ b/cds/expression_CDSWithParameters.svg
@@ -0,0 +1,152 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="909" height="80" viewBox="0 0 909 80">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M859 40h0"></path>
+<g class="terminal">
+<path d="M50 40h0"></path>
+<path d="M214.5 40h0"></path>
+<rect x="50" y="29" width="164.5" height="22" rx="10" ry="10"></rect>
+<text x="132.25" y="44">"WITH PARAMETERS"</text>
+</g>
+<path d="M214.5 40h10"></path>
+<path d="M224.5 40h10"></path>
+<g>
+<path d="M234.5 40h0"></path>
+<path d="M479 40h0"></path>
+<g class="non-terminal">
+<path d="M234.5 40h0"></path>
+<path d="M314 40h0"></path>
+<rect x="234.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="274.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M314 40h10"></path>
+<path d="M324 40h10"></path>
+<g class="terminal">
+<path d="M334 40h0"></path>
+<path d="M379.5 40h0"></path>
+<rect x="334" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="356.75" y="44">":"</text>
+</g>
+<path d="M379.5 40h10"></path>
+<path d="M389.5 40h10"></path>
+<g class="non-terminal">
+<path d="M399.5 40h0"></path>
+<path d="M479 40h0"></path>
+<rect x="399.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSType"><text x="439.25" y="44">CDSType</text>
+</a>
+</g>
+</g>
+<path d="M479 40h10"></path>
+<g>
+<path d="M489 40h0"></path>
+<path d="M859 40h0"></path>
+<path d="M489 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M509 20h330"></path>
+</g>
+<path d="M839 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M489 40h20"></path>
+<g>
+<path d="M509 40h0"></path>
+<path d="M839 40h0"></path>
+<path d="M509 40h10"></path>
+<g>
+<path d="M519 40h0"></path>
+<path d="M829 40h0"></path>
+<g class="terminal">
+<path d="M519 40h0"></path>
+<path d="M564.5 40h0"></path>
+<rect x="519" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="541.75" y="44">","</text>
+</g>
+<path d="M564.5 40h10"></path>
+<path d="M574.5 40h10"></path>
+<g>
+<path d="M584.5 40h0"></path>
+<path d="M829 40h0"></path>
+<g class="non-terminal">
+<path d="M584.5 40h0"></path>
+<path d="M664 40h0"></path>
+<rect x="584.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSName"><text x="624.25" y="44">CDSName</text>
+</a>
+</g>
+<path d="M664 40h10"></path>
+<path d="M674 40h10"></path>
+<g class="terminal">
+<path d="M684 40h0"></path>
+<path d="M729.5 40h0"></path>
+<rect x="684" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="706.75" y="44">":"</text>
+</g>
+<path d="M729.5 40h10"></path>
+<path d="M739.5 40h10"></path>
+<g class="non-terminal">
+<path d="M749.5 40h0"></path>
+<path d="M829 40h0"></path>
+<rect x="749.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/cds/expression/CDSType"><text x="789.25" y="44">CDSType</text>
+</a>
+</g>
+</g>
+</g>
+<path d="M829 40h10"></path>
+<path d="M519 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M519 60h310"></path>
+</g>
+<path d="M829 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M839 40h20"></path>
+</g>
+</g>
+<path d="M859 40h10"></path>
+<path d="M 869 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl.json.js b/ddl.json.js
new file mode 100644
index 00000000..1448ae88
--- /dev/null
+++ b/ddl.json.js
@@ -0,0 +1,101 @@
+ddlData = {
+  "expressions": [
+    {
+      "name": "DDLInclude",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"INCLUDE\"'),Railroad.NonTerminal('DDLName', {href: '#/expression/DDLName'}),Railroad.Terminal('\";\"'))).toString();",
+      "using": [
+        "expression/DDLName"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"361.5\" height=\"62\" viewBox=\"0 0 361.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M311.5 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M146.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"96.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"98.25\" y=\"35\">\"INCLUDE\"</text>\n</g>\n<path d=\"M146.5 31h10\"></path>\n<path d=\"M156.5 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M166.5 31h0\"></path>\n<path d=\"M246 31h0\"></path>\n<rect x=\"166.5\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLName\"><text x=\"206.25\" y=\"35\">DDLName</text>\n</a>\n</g>\n<path d=\"M246 31h10\"></path>\n<path d=\"M256 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M266 31h0\"></path>\n<path d=\"M311.5 31h0\"></path>\n<rect x=\"266\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"288.75\" y=\"35\">\";\"</text>\n</g>\n</g>\n<path d=\"M311.5 31h10\"></path>\n<path d=\"M 321.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DDLStructure",
+        "expression/DDLTable"
+      ],
+      "filename": "d_dl_include.ts"
+    },
+    {
+      "name": "DDLName",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^\\\\w+$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"162.5\" height=\"62\" viewBox=\"0 0 162.5 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M112.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"81.25\" y=\"35\">^\\w+$</text>\n</g>\n<path d=\"M112.5 31h10\"></path>\n<path d=\"M 122.5 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DDLInclude",
+        "expression/DDLStructure",
+        "expression/DDLStructureField",
+        "expression/DDLTable",
+        "expression/DDLTableField"
+      ],
+      "filename": "d_dl_name.ts"
+    },
+    {
+      "name": "DDLStructure",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"DEFINE STRUCTURE\"'),Railroad.NonTerminal('DDLName', {href: '#/expression/DDLName'}),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('DDLStructureField', {href: '#/expression/DDLStructureField'}),Railroad.NonTerminal('DDLInclude', {href: '#/expression/DDLInclude'}))),Railroad.Terminal('\"}\"'))).toString();",
+      "using": [
+        "expression/DDLInclude",
+        "expression/DDLName",
+        "expression/DDLStructureField"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"748\" height=\"100\" viewBox=\"0 0 748 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M698 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M223 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"173\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"136.5\" y=\"35\">\"DEFINE STRUCTURE\"</text>\n</g>\n<path d=\"M223 31h10\"></path>\n<path d=\"M233 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M243 31h0\"></path>\n<path d=\"M322.5 31h0\"></path>\n<rect x=\"243\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLName\"><text x=\"282.75\" y=\"35\">DDLName</text>\n</a>\n</g>\n<path d=\"M322.5 31h10\"></path>\n<path d=\"M332.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M342.5 31h0\"></path>\n<path d=\"M388 31h0\"></path>\n<rect x=\"342.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"365.25\" y=\"35\">\"{\"</text>\n</g>\n<path d=\"M388 31h10\"></path>\n<path d=\"M398 31h10\"></path>\n<g>\n<path d=\"M408 31h0\"></path>\n<path d=\"M632.5 31h0\"></path>\n<path d=\"M408 31h10\"></path>\n<g>\n<path d=\"M418 31h0\"></path>\n<path d=\"M622.5 31h0\"></path>\n<path d=\"M418 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M438 31h0\"></path>\n<path d=\"M602.5 31h0\"></path>\n<rect x=\"438\" y=\"20\" width=\"164.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLStructureField\"><text x=\"520.25\" y=\"35\">DDLStructureField</text>\n</a>\n</g>\n<path d=\"M602.5 31h20\"></path>\n<path d=\"M418 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M438 61h0\"></path>\n<path d=\"M543 61h59.5\"></path>\n<rect x=\"438\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLInclude\"><text x=\"490.5\" y=\"65\">DDLInclude</text>\n</a>\n</g>\n<path d=\"M602.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M622.5 31h10\"></path>\n<path d=\"M418 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M418 80h204.5\"></path>\n</g>\n<path d=\"M622.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M632.5 31h10\"></path>\n<path d=\"M642.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M652.5 31h0\"></path>\n<path d=\"M698 31h0\"></path>\n<rect x=\"652.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"675.25\" y=\"35\">\"}\"</text>\n</g>\n</g>\n<path d=\"M698 31h10\"></path>\n<path d=\"M 708 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "d_dl_structure.ts"
+    },
+    {
+      "name": "DDLStructureField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.NonTerminal('DDLName', {href: '#/expression/DDLName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('DDLType', {href: '#/expression/DDLType'}),Railroad.Terminal('\";\"'))).toString();",
+      "using": [
+        "expression/DDLName",
+        "expression/DDLType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"410\" height=\"62\" viewBox=\"0 0 410 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M360 31h0\"></path>\n<g class=\"non-terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M129.5 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLName\"><text x=\"89.75\" y=\"35\">DDLName</text>\n</a>\n</g>\n<path d=\"M129.5 31h10\"></path>\n<path d=\"M139.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M149.5 31h0\"></path>\n<path d=\"M195 31h0\"></path>\n<rect x=\"149.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"172.25\" y=\"35\">\":\"</text>\n</g>\n<path d=\"M195 31h10\"></path>\n<path d=\"M205 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M215 31h0\"></path>\n<path d=\"M294.5 31h0\"></path>\n<rect x=\"215\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLType\"><text x=\"254.75\" y=\"35\">DDLType</text>\n</a>\n</g>\n<path d=\"M294.5 31h10\"></path>\n<path d=\"M304.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M314.5 31h0\"></path>\n<path d=\"M360 31h0\"></path>\n<rect x=\"314.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"337.25\" y=\"35\">\";\"</text>\n</g>\n</g>\n<path d=\"M360 31h10\"></path>\n<path d=\"M 370 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DDLStructure"
+      ],
+      "filename": "d_dl_structure_field.ts"
+    },
+    {
+      "name": "DDLTable",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Terminal('\"DEFINE TABLE\"'),Railroad.NonTerminal('DDLName', {href: '#/expression/DDLName'}),Railroad.Terminal('\"{\"'),Railroad.OneOrMore(Railroad.Choice(0, Railroad.NonTerminal('DDLTableField', {href: '#/expression/DDLTableField'}),Railroad.NonTerminal('DDLInclude', {href: '#/expression/DDLInclude'}))),Railroad.Terminal('\"}\"'))).toString();",
+      "using": [
+        "expression/DDLInclude",
+        "expression/DDLName",
+        "expression/DDLTableField"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"680\" height=\"100\" viewBox=\"0 0 680 100\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g>\n<path d=\"M50 31h0\"></path>\n<path d=\"M630 31h0\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M189 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"139\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"119.5\" y=\"35\">\"DEFINE TABLE\"</text>\n</g>\n<path d=\"M189 31h10\"></path>\n<path d=\"M199 31h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M209 31h0\"></path>\n<path d=\"M288.5 31h0\"></path>\n<rect x=\"209\" y=\"20\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLName\"><text x=\"248.75\" y=\"35\">DDLName</text>\n</a>\n</g>\n<path d=\"M288.5 31h10\"></path>\n<path d=\"M298.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M308.5 31h0\"></path>\n<path d=\"M354 31h0\"></path>\n<rect x=\"308.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"331.25\" y=\"35\">\"{\"</text>\n</g>\n<path d=\"M354 31h10\"></path>\n<path d=\"M364 31h10\"></path>\n<g>\n<path d=\"M374 31h0\"></path>\n<path d=\"M564.5 31h0\"></path>\n<path d=\"M374 31h10\"></path>\n<g>\n<path d=\"M384 31h0\"></path>\n<path d=\"M554.5 31h0\"></path>\n<path d=\"M384 31h20\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 31h0\"></path>\n<path d=\"M534.5 31h0\"></path>\n<rect x=\"404\" y=\"20\" width=\"130.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLTableField\"><text x=\"469.25\" y=\"35\">DDLTableField</text>\n</a>\n</g>\n<path d=\"M534.5 31h20\"></path>\n<path d=\"M384 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M404 61h0\"></path>\n<path d=\"M509 61h25.5\"></path>\n<rect x=\"404\" y=\"50\" width=\"105\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLInclude\"><text x=\"456.5\" y=\"65\">DDLInclude</text>\n</a>\n</g>\n<path d=\"M534.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10\"></path>\n</g>\n<path d=\"M554.5 31h10\"></path>\n<path d=\"M384 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10\"></path>\n<g>\n<path d=\"M384 80h170.5\"></path>\n</g>\n<path d=\"M554.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10\"></path>\n</g>\n<path d=\"M564.5 31h10\"></path>\n<path d=\"M574.5 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M584.5 31h0\"></path>\n<path d=\"M630 31h0\"></path>\n<rect x=\"584.5\" y=\"20\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"607.25\" y=\"35\">\"}\"</text>\n</g>\n</g>\n<path d=\"M630 31h10\"></path>\n<path d=\"M 640 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [],
+      "filename": "d_dl_table.ts"
+    },
+    {
+      "name": "DDLTableField",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Sequence(Railroad.Optional(Railroad.Terminal('\"KEY\"')),Railroad.NonTerminal('DDLName', {href: '#/expression/DDLName'}),Railroad.Terminal('\":\"'),Railroad.NonTerminal('DDLType', {href: '#/expression/DDLType'}),Railroad.Optional(Railroad.Terminal('\"NOT NULL\"')),Railroad.Terminal('\";\"'))).toString();",
+      "using": [
+        "expression/DDLName",
+        "expression/DDLType"
+      ],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"667.5\" height=\"71\" viewBox=\"0 0 667.5 71\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 30v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 40h10\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M617.5 40h0\"></path>\n<g>\n<path d=\"M50 40h0\"></path>\n<path d=\"M152.5 40h0\"></path>\n<path d=\"M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M70 20h62.5\"></path>\n</g>\n<path d=\"M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M50 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M70 40h0\"></path>\n<path d=\"M132.5 40h0\"></path>\n<rect x=\"70\" y=\"29\" width=\"62.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"101.25\" y=\"44\">\"KEY\"</text>\n</g>\n<path d=\"M132.5 40h20\"></path>\n</g>\n<path d=\"M152.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M162.5 40h0\"></path>\n<path d=\"M242 40h0\"></path>\n<rect x=\"162.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLName\"><text x=\"202.25\" y=\"44\">DDLName</text>\n</a>\n</g>\n<path d=\"M242 40h10\"></path>\n<path d=\"M252 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M262 40h0\"></path>\n<path d=\"M307.5 40h0\"></path>\n<rect x=\"262\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"284.75\" y=\"44\">\":\"</text>\n</g>\n<path d=\"M307.5 40h10\"></path>\n<path d=\"M317.5 40h10\"></path>\n<g class=\"non-terminal\">\n<path d=\"M327.5 40h0\"></path>\n<path d=\"M407 40h0\"></path>\n<rect x=\"327.5\" y=\"29\" width=\"79.5\" height=\"22\"></rect>\n<a xlink:href=\"#/ddl/expression/DDLType\"><text x=\"367.25\" y=\"44\">DDLType</text>\n</a>\n</g>\n<path d=\"M407 40h10\"></path>\n<g>\n<path d=\"M417 40h0\"></path>\n<path d=\"M562 40h0\"></path>\n<path d=\"M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10\"></path>\n<g>\n<path d=\"M437 20h105\"></path>\n</g>\n<path d=\"M542 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10\"></path>\n<path d=\"M417 40h20\"></path>\n<g class=\"terminal\">\n<path d=\"M437 40h0\"></path>\n<path d=\"M542 40h0\"></path>\n<rect x=\"437\" y=\"29\" width=\"105\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"489.5\" y=\"44\">\"NOT NULL\"</text>\n</g>\n<path d=\"M542 40h20\"></path>\n</g>\n<path d=\"M562 40h10\"></path>\n<g class=\"terminal\">\n<path d=\"M572 40h0\"></path>\n<path d=\"M617.5 40h0\"></path>\n<rect x=\"572\" y=\"29\" width=\"45.5\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"594.75\" y=\"44\">\";\"</text>\n</g>\n</g>\n<path d=\"M617.5 40h10\"></path>\n<path d=\"M 627.5 40 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DDLTable"
+      ],
+      "filename": "d_dl_table_field.ts"
+    },
+    {
+      "name": "DDLType",
+      "type": "expression",
+      "railroad": "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\nRailroad.ComplexDiagram(Railroad.Terminal(\"^(abap\\\\.)?\\\\w+(\\\\(\\\\d+\\\\))?$\")).toString();",
+      "using": [],
+      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"railroad-diagram\" width=\"324\" height=\"62\" viewBox=\"0 0 324 62\">\n<defs>\n<style type=\"text/css\"><![CDATA[\npath {\nstroke-width: 3;\nstroke: black;\nfill: rgba(0,0,0,0);\n}\ntext {\nfont: bold 14px monospace;\ntext-anchor: middle;\n}\ntext.diagram-text {\nfont-size: 12px;\n}\na {\nfill: blue;\n}\ntext.diagram-arrow {\nfont-size: 16px;\n}\ntext.label {\ntext-anchor: start;\n}\ntext.comment {\nfont: italic 12px monospace;\n}\nrect {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\n}\npath.diagram-text {\nstroke-width: 3;\nstroke: black;\nfill: #BCBCBC;\ncursor: help;\n}\n]]></style>\n</defs>\n<g transform=\"translate(.5 .5)\">\n<g>\n<path d=\"M20 21v20m0 -10h20\"></path>\n</g>\n<path d=\"M40 31h10\"></path>\n<g class=\"terminal\">\n<path d=\"M50 31h0\"></path>\n<path d=\"M274 31h0\"></path>\n<rect x=\"50\" y=\"20\" width=\"224\" height=\"22\" rx=\"10\" ry=\"10\"></rect>\n<text x=\"162\" y=\"35\">^(abap\\.)?\\w+(\\(\\d+\\))?$</text>\n</g>\n<path d=\"M274 31h10\"></path>\n<path d=\"M 284 31 h 20 m 0 -10 v 20\"></path>\n</g>\n</svg>\n",
+      "used_by": [
+        "expression/DDLStructureField",
+        "expression/DDLTableField"
+      ],
+      "filename": "d_dl_type.ts"
+    }
+  ],
+  "statements": [],
+  "structures": []
+};
\ No newline at end of file
diff --git a/ddl/expression_DDLInclude.svg b/ddl/expression_DDLInclude.svg
new file mode 100644
index 00000000..fd556eed
--- /dev/null
+++ b/ddl/expression_DDLInclude.svg
@@ -0,0 +1,76 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="361.5" height="62" viewBox="0 0 361.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M311.5 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M146.5 31h0"></path>
+<rect x="50" y="20" width="96.5" height="22" rx="10" ry="10"></rect>
+<text x="98.25" y="35">"INCLUDE"</text>
+</g>
+<path d="M146.5 31h10"></path>
+<path d="M156.5 31h10"></path>
+<g class="non-terminal">
+<path d="M166.5 31h0"></path>
+<path d="M246 31h0"></path>
+<rect x="166.5" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLName"><text x="206.25" y="35">DDLName</text>
+</a>
+</g>
+<path d="M246 31h10"></path>
+<path d="M256 31h10"></path>
+<g class="terminal">
+<path d="M266 31h0"></path>
+<path d="M311.5 31h0"></path>
+<rect x="266" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="288.75" y="35">";"</text>
+</g>
+</g>
+<path d="M311.5 31h10"></path>
+<path d="M 321.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLName.svg b/ddl/expression_DDLName.svg
new file mode 100644
index 00000000..28379d06
--- /dev/null
+++ b/ddl/expression_DDLName.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="162.5" height="62" viewBox="0 0 162.5 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M112.5 31h0"></path>
+<rect x="50" y="20" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="81.25" y="35">^\w+$</text>
+</g>
+<path d="M112.5 31h10"></path>
+<path d="M 122.5 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLStructure.svg b/ddl/expression_DDLStructure.svg
new file mode 100644
index 00000000..0d4fdb78
--- /dev/null
+++ b/ddl/expression_DDLStructure.svg
@@ -0,0 +1,119 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="748" height="100" viewBox="0 0 748 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M698 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M223 31h0"></path>
+<rect x="50" y="20" width="173" height="22" rx="10" ry="10"></rect>
+<text x="136.5" y="35">"DEFINE STRUCTURE"</text>
+</g>
+<path d="M223 31h10"></path>
+<path d="M233 31h10"></path>
+<g class="non-terminal">
+<path d="M243 31h0"></path>
+<path d="M322.5 31h0"></path>
+<rect x="243" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLName"><text x="282.75" y="35">DDLName</text>
+</a>
+</g>
+<path d="M322.5 31h10"></path>
+<path d="M332.5 31h10"></path>
+<g class="terminal">
+<path d="M342.5 31h0"></path>
+<path d="M388 31h0"></path>
+<rect x="342.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="365.25" y="35">"{"</text>
+</g>
+<path d="M388 31h10"></path>
+<path d="M398 31h10"></path>
+<g>
+<path d="M408 31h0"></path>
+<path d="M632.5 31h0"></path>
+<path d="M408 31h10"></path>
+<g>
+<path d="M418 31h0"></path>
+<path d="M622.5 31h0"></path>
+<path d="M418 31h20"></path>
+<g class="non-terminal">
+<path d="M438 31h0"></path>
+<path d="M602.5 31h0"></path>
+<rect x="438" y="20" width="164.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLStructureField"><text x="520.25" y="35">DDLStructureField</text>
+</a>
+</g>
+<path d="M602.5 31h20"></path>
+<path d="M418 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M438 61h0"></path>
+<path d="M543 61h59.5"></path>
+<rect x="438" y="50" width="105" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLInclude"><text x="490.5" y="65">DDLInclude</text>
+</a>
+</g>
+<path d="M602.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M622.5 31h10"></path>
+<path d="M418 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M418 80h204.5"></path>
+</g>
+<path d="M622.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M632.5 31h10"></path>
+<path d="M642.5 31h10"></path>
+<g class="terminal">
+<path d="M652.5 31h0"></path>
+<path d="M698 31h0"></path>
+<rect x="652.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="675.25" y="35">"}"</text>
+</g>
+</g>
+<path d="M698 31h10"></path>
+<path d="M 708 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLStructureField.svg b/ddl/expression_DDLStructureField.svg
new file mode 100644
index 00000000..2fea5b97
--- /dev/null
+++ b/ddl/expression_DDLStructureField.svg
@@ -0,0 +1,85 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="410" height="62" viewBox="0 0 410 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M360 31h0"></path>
+<g class="non-terminal">
+<path d="M50 31h0"></path>
+<path d="M129.5 31h0"></path>
+<rect x="50" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLName"><text x="89.75" y="35">DDLName</text>
+</a>
+</g>
+<path d="M129.5 31h10"></path>
+<path d="M139.5 31h10"></path>
+<g class="terminal">
+<path d="M149.5 31h0"></path>
+<path d="M195 31h0"></path>
+<rect x="149.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="172.25" y="35">":"</text>
+</g>
+<path d="M195 31h10"></path>
+<path d="M205 31h10"></path>
+<g class="non-terminal">
+<path d="M215 31h0"></path>
+<path d="M294.5 31h0"></path>
+<rect x="215" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLType"><text x="254.75" y="35">DDLType</text>
+</a>
+</g>
+<path d="M294.5 31h10"></path>
+<path d="M304.5 31h10"></path>
+<g class="terminal">
+<path d="M314.5 31h0"></path>
+<path d="M360 31h0"></path>
+<rect x="314.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="337.25" y="35">";"</text>
+</g>
+</g>
+<path d="M360 31h10"></path>
+<path d="M 370 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLTable.svg b/ddl/expression_DDLTable.svg
new file mode 100644
index 00000000..aa688101
--- /dev/null
+++ b/ddl/expression_DDLTable.svg
@@ -0,0 +1,119 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="680" height="100" viewBox="0 0 680 100">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g>
+<path d="M50 31h0"></path>
+<path d="M630 31h0"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M189 31h0"></path>
+<rect x="50" y="20" width="139" height="22" rx="10" ry="10"></rect>
+<text x="119.5" y="35">"DEFINE TABLE"</text>
+</g>
+<path d="M189 31h10"></path>
+<path d="M199 31h10"></path>
+<g class="non-terminal">
+<path d="M209 31h0"></path>
+<path d="M288.5 31h0"></path>
+<rect x="209" y="20" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLName"><text x="248.75" y="35">DDLName</text>
+</a>
+</g>
+<path d="M288.5 31h10"></path>
+<path d="M298.5 31h10"></path>
+<g class="terminal">
+<path d="M308.5 31h0"></path>
+<path d="M354 31h0"></path>
+<rect x="308.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="331.25" y="35">"{"</text>
+</g>
+<path d="M354 31h10"></path>
+<path d="M364 31h10"></path>
+<g>
+<path d="M374 31h0"></path>
+<path d="M564.5 31h0"></path>
+<path d="M374 31h10"></path>
+<g>
+<path d="M384 31h0"></path>
+<path d="M554.5 31h0"></path>
+<path d="M384 31h20"></path>
+<g class="non-terminal">
+<path d="M404 31h0"></path>
+<path d="M534.5 31h0"></path>
+<rect x="404" y="20" width="130.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLTableField"><text x="469.25" y="35">DDLTableField</text>
+</a>
+</g>
+<path d="M534.5 31h20"></path>
+<path d="M384 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+<g class="non-terminal">
+<path d="M404 61h0"></path>
+<path d="M509 61h25.5"></path>
+<rect x="404" y="50" width="105" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLInclude"><text x="456.5" y="65">DDLInclude</text>
+</a>
+</g>
+<path d="M534.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+</g>
+<path d="M554.5 31h10"></path>
+<path d="M384 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path>
+<g>
+<path d="M384 80h170.5"></path>
+</g>
+<path d="M554.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path>
+</g>
+<path d="M564.5 31h10"></path>
+<path d="M574.5 31h10"></path>
+<g class="terminal">
+<path d="M584.5 31h0"></path>
+<path d="M630 31h0"></path>
+<rect x="584.5" y="20" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="607.25" y="35">"}"</text>
+</g>
+</g>
+<path d="M630 31h10"></path>
+<path d="M 640 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLTableField.svg b/ddl/expression_DDLTableField.svg
new file mode 100644
index 00000000..31c275bd
--- /dev/null
+++ b/ddl/expression_DDLTableField.svg
@@ -0,0 +1,120 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="667.5" height="71" viewBox="0 0 667.5 71">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 30v20m0 -10h20"></path>
+</g>
+<path d="M40 40h10"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M617.5 40h0"></path>
+<g>
+<path d="M50 40h0"></path>
+<path d="M152.5 40h0"></path>
+<path d="M50 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M70 20h62.5"></path>
+</g>
+<path d="M132.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M50 40h20"></path>
+<g class="terminal">
+<path d="M70 40h0"></path>
+<path d="M132.5 40h0"></path>
+<rect x="70" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
+<text x="101.25" y="44">"KEY"</text>
+</g>
+<path d="M132.5 40h20"></path>
+</g>
+<path d="M152.5 40h10"></path>
+<g class="non-terminal">
+<path d="M162.5 40h0"></path>
+<path d="M242 40h0"></path>
+<rect x="162.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLName"><text x="202.25" y="44">DDLName</text>
+</a>
+</g>
+<path d="M242 40h10"></path>
+<path d="M252 40h10"></path>
+<g class="terminal">
+<path d="M262 40h0"></path>
+<path d="M307.5 40h0"></path>
+<rect x="262" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="284.75" y="44">":"</text>
+</g>
+<path d="M307.5 40h10"></path>
+<path d="M317.5 40h10"></path>
+<g class="non-terminal">
+<path d="M327.5 40h0"></path>
+<path d="M407 40h0"></path>
+<rect x="327.5" y="29" width="79.5" height="22"></rect>
+<a xlink:href="#/ddl/expression/DDLType"><text x="367.25" y="44">DDLType</text>
+</a>
+</g>
+<path d="M407 40h10"></path>
+<g>
+<path d="M417 40h0"></path>
+<path d="M562 40h0"></path>
+<path d="M417 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+<g>
+<path d="M437 20h105"></path>
+</g>
+<path d="M542 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+<path d="M417 40h20"></path>
+<g class="terminal">
+<path d="M437 40h0"></path>
+<path d="M542 40h0"></path>
+<rect x="437" y="29" width="105" height="22" rx="10" ry="10"></rect>
+<text x="489.5" y="44">"NOT NULL"</text>
+</g>
+<path d="M542 40h20"></path>
+</g>
+<path d="M562 40h10"></path>
+<g class="terminal">
+<path d="M572 40h0"></path>
+<path d="M617.5 40h0"></path>
+<rect x="572" y="29" width="45.5" height="22" rx="10" ry="10"></rect>
+<text x="594.75" y="44">";"</text>
+</g>
+</g>
+<path d="M617.5 40h10"></path>
+<path d="M 627.5 40 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/ddl/expression_DDLType.svg b/ddl/expression_DDLType.svg
new file mode 100644
index 00000000..8fc6bceb
--- /dev/null
+++ b/ddl/expression_DDLType.svg
@@ -0,0 +1,55 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="railroad-diagram" width="324" height="62" viewBox="0 0 324 62">
+<defs>
+<style type="text/css"><![CDATA[
+path {
+stroke-width: 3;
+stroke: black;
+fill: rgba(0,0,0,0);
+}
+text {
+font: bold 14px monospace;
+text-anchor: middle;
+}
+text.diagram-text {
+font-size: 12px;
+}
+a {
+fill: blue;
+}
+text.diagram-arrow {
+font-size: 16px;
+}
+text.label {
+text-anchor: start;
+}
+text.comment {
+font: italic 12px monospace;
+}
+rect {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+}
+path.diagram-text {
+stroke-width: 3;
+stroke: black;
+fill: #BCBCBC;
+cursor: help;
+}
+]]></style>
+</defs>
+<g transform="translate(.5 .5)">
+<g>
+<path d="M20 21v20m0 -10h20"></path>
+</g>
+<path d="M40 31h10"></path>
+<g class="terminal">
+<path d="M50 31h0"></path>
+<path d="M274 31h0"></path>
+<rect x="50" y="20" width="224" height="22" rx="10" ry="10"></rect>
+<text x="162" y="35">^(abap\.)?\w+(\(\d+\))?$</text>
+</g>
+<path d="M274 31h10"></path>
+<path d="M 284 31 h 20 m 0 -10 v 20"></path>
+</g>
+</svg>
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..94699f86
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<title>syntax.abaplint.org</title>
+<link rel="stylesheet" type="text/css" href="style.css">
+</head>
+<body>
+<div id="body">Loading</div>
+<script src="abap.json.js" language="javascript"></script>
+<script src="ddl.json.js" language="javascript"></script>
+<script src="cds.json.js" language="javascript"></script>
+<script src="script.js" language="javascript"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 00000000..716107c6
--- /dev/null
+++ b/script.js
@@ -0,0 +1,193 @@
+/* eslint-disable @typescript-eslint/explicit-member-accessibility */
+const languages = {};
+let currentLanguage = "abap";
+
+function focusFilter() {
+  document.getElementById("filter").select();
+}
+
+function searchChanged() {
+  const v = document.getElementById("filter").value;
+  renderRight(v);
+  let newUrl = window.location.pathname;
+  if (v !== "") {
+    newUrl = newUrl + "?filter=" + v;
+  }
+  window.history.replaceState(null, document.title, newUrl);
+}
+
+function languageChanged(v) {
+  currentLanguage = v;
+  renderRight();
+  renderLeft();
+}
+
+function setFilter(filter) {
+  document.getElementById("filter").value = filter;
+  renderRight(filter);
+}
+
+function renderSidenavList(list) {
+  let html = "";
+  for(const i of list) {
+    html = html + "<a href=\"javascript:setFilter('" + i.name + "');\">" + i.name + "</a><br>";
+  }
+  return html;
+}
+
+function renderLeft() {
+  let html = ``;
+
+  if (languages[currentLanguage].statements.length > 0) {
+    html += "<b>Statements</b><br>\n";
+    html += renderSidenavList(languages[currentLanguage].statements);
+  }
+  if (languages[currentLanguage].expressions.length > 0) {
+    html += "<br><br><b>Expressions</b><br>\n";
+    html += renderSidenavList(languages[currentLanguage].expressions);
+  }
+  if (languages[currentLanguage].structures.length > 0) {
+    html += "<br><br><b>Structures</b><br>\n";
+    html += renderSidenavList(languages[currentLanguage].structures);
+  }
+
+  document.getElementById("sidenav").innerHTML = html;
+}
+
+function renderList(filter, list) {
+  let ret = "";
+  for(const i of list) {
+    if (!filter || i.name.toLowerCase().includes(filter.toLowerCase())) {
+      ret = ret + "<div style=\"page-break-inside:avoid;\">" +
+        "<u>" + i.name + "</u><br>" +
+        "<a href=\"#/" + currentLanguage + "/" + i.type + "/" + i.name + "\"><img src=\"" + currentLanguage + "/" + i.type + "_" + i.name + ".svg\"></a></div><br>";
+    }
+  }
+  return ret;
+}
+
+function renderRight(filter) {
+  let html = "";
+
+  const statements = renderList(filter, languages[currentLanguage].statements);
+  if (statements !== "") {
+    html = "<div style=\"page-break-before: always;\"><h1>Statements</h1>" + statements + "</div>";
+  }
+
+  const expressions = renderList(filter, languages[currentLanguage].expressions);
+  if (expressions !== "") {
+    html = html + "<div style=\"page-break-before: always;\"><h1>Expressions</h1>" + expressions + "</div>";
+  }
+
+  const structures = renderList(filter, languages[currentLanguage].structures);
+  if (structures !== "") {
+    html = html + "<div style=\"page-break-before: always;\"><h1>Structures</h1>" + structures + "</div>";
+  }
+
+  document.getElementById("main").innerHTML = html;
+}
+
+function renderSyntax(type, name) {
+  // lookup
+  let found = {};
+  let prev = {};
+  let next = {};
+  const list = languages[currentLanguage][type + "s"];
+  for(let index = 0; index < list.length; index++) {
+    if (list[index].name === name) {
+      found = list[index];
+      prev = list[index - 1];
+      next = list[index + 1];
+      break;
+    }
+  }
+  if (found.using === undefined) {
+    document.getElementById("body").innerHTML = "404";
+    return;
+  }
+
+  let html = "<h1>" + type + ": " + name + "</h1>\n";
+
+  html = html + "<a href=\"#\">Home</a><br>\n";
+  if (prev) {
+    html = html + "<b>Prev</b>: <a href=\"#/" + currentLanguage + "/" + type + "/" + prev.name + "\">" + prev.name + "</a><br>\n";
+  }
+  if (next) {
+    html = html + "<b>Next</b>: <a href=\"#/" + currentLanguage + "/" + type + "/" + next.name + "\">" + next.name + "</a><br>\n";
+  }
+
+// html = html + "<a href=\"https://github.com/abaplint/abaplint/blob/master/src/packages/core/abap/" +
+// found.type + "s/" + found.filename + "\">Source</a><br>";
+
+  const use = found.using.map((e) => { return "<a href=\"#/" + currentLanguage + "/" + e + "\">" + e + "</a>"; });
+  const by = found.used_by.map((e) => { return "<a href=\"#/" + currentLanguage + "/" + e + "\">" + e + "</a>"; });
+
+  html = html + found.svg + "<br>\n" +
+    "<b>Using</b>: " + use.join(", ") + "<br>\n" +
+    "<b>Used by</b>: " + by.join(", ") + "<br>\n" +
+    "<b>Filename</b>: <a href=\"https://github.com/abaplint/abaplint/tree/main/packages/core/src/abap/2_statements/" + type + "s/" + found.filename + "\">" + found.filename + "</a><br>\n";
+
+  document.getElementById("body").innerHTML = html;
+}
+
+class Router {
+  static popstate() {
+    if(window.location.hash === "") {
+      renderMain();
+    } else {
+      const split = window.location.hash.split("/");
+      if (split.length === 3) {
+        // backwards compatibility, default to abap language
+        currentLanguage = "abap";
+        renderSyntax(split[1], split[2]);
+      } else {
+        currentLanguage = split[1];
+        renderSyntax(split[2], split[3]);
+      }
+    }
+  }
+}
+
+function onRightClick() {
+  document.getElementById("filter").value = "";
+  searchChanged();
+  window.event.returnValue = false;
+}
+
+function renderMain() {
+  let filter = new URL(window.location).searchParams.get("filter");
+  if (filter === null) {
+    filter = "";
+  }
+
+  document.getElementById("body").innerHTML =
+    "<div>\n" +
+    "<div class=\"sidenav sidenav-print\">\n" +
+    "<h3>abaplint syntax diagrams</h3>\n" +
+    `Language:
+    <select id="language" oninput=\"javascript:languageChanged(this.value);\">
+    <option value="abap"${currentLanguage === "abap" ? " selected" : ""}>abap</option>
+    <option value="ddl"${currentLanguage === "ddl" ? " selected" : ""}>ddl</option>
+    <option value="cds"${currentLanguage === "cds" ? " selected" : ""}>cds</option>
+    </select>
+    ` +
+    "<input type=\"text\" id=\"filter\" oninput=\"javascript:searchChanged();\" onfocus=\"javascript:focusFilter()\" oncontextmenu=\"javascript:onRightClick();\" value=\"" + filter + "\"></input><br>\n" +
+    "<br>\n" +
+    "<div id=\"sidenav\">Loading</div>\n" +
+    "</div>\n" +
+    "<div id=\"main\" class=\"main main-print\">Loading</div>";
+
+  document.getElementById("filter").focus();
+  renderLeft();
+  searchChanged();
+}
+
+function run() {
+  window.onpopstate = Router.popstate;
+  languages["abap"] = abapData;
+  languages["ddl"] = ddlData;
+  languages["cds"] = cdsData;
+  Router.popstate();
+}
+
+run();
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 00000000..7d9f1b6d
--- /dev/null
+++ b/style.css
@@ -0,0 +1,60 @@
+body {
+  font-family: Arial,Helvetica,sans-serif;
+}
+
+a:link {
+  color: #808BA0;
+}
+
+a:visited {
+  color: #808BA0;
+}
+
+@media print
+{
+  .sidenav-print {
+    display: none !important;
+    width: 0px !important;
+  }
+  .main-print {
+    margin-left: 0px !important;
+  }
+}
+
+.sidenav {
+  width: 260px;
+  height: 100%;
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  overflow: scroll;
+  background-color: #333;
+  color: #808BA0;
+  padding-top: 0px;
+  padding-left: 5px;
+}
+.main {
+  margin-left: 260px;
+}
+
+::-webkit-scrollbar {
+  -webkit-appearance:none;
+  width:12px;
+  height:12px;
+}
+::-webkit-scrollbar-thumb {
+  border-radius:12px;
+  border:4px solid rgba(255,255,255,0);
+  background-clip:content-box;
+  background-color: #A0A0A0;
+}
+::-webkit-scrollbar-thumb:hover {
+  border-radius:12px;
+  border:4px solid rgba(255,255,255,0);
+  background-clip:content-box;
+  background-color:#A0A0A0;
+}
+::-webkit-scrollbar-corner {
+  background-color: transparent;
+}
\ No newline at end of file